DE112016001596T5 - Systeme und verfahren für die automatische verwaltung der platzierung von content-slots in einer informationsressource - Google Patents

Systeme und verfahren für die automatische verwaltung der platzierung von content-slots in einer informationsressource Download PDF

Info

Publication number
DE112016001596T5
DE112016001596T5 DE112016001596.8T DE112016001596T DE112016001596T5 DE 112016001596 T5 DE112016001596 T5 DE 112016001596T5 DE 112016001596 T DE112016001596 T DE 112016001596T DE 112016001596 T5 DE112016001596 T5 DE 112016001596T5
Authority
DE
Germany
Prior art keywords
party content
content
placement
party
information resource
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
DE112016001596.8T
Other languages
English (en)
Inventor
Matthew Strecker Burriesci
Willa Angel Chen
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
Priority claimed from US14/856,181 external-priority patent/US12002072B1/en
Application filed by Google LLC filed Critical Google LLC
Publication of DE112016001596T5 publication Critical patent/DE112016001596T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • 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/0273Determination of fees for advertising
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Mindestens ein Aspekt gilt für ein Verfahren der automatischen Verwaltung der Platzierung von Content-Slots in einer Informationsressource. Das Verfahren schließt ein Datenverarbeitungssystem ein, das, von einem Computergerät, eine Inhaltsabfrage empfängt und, als Reaktion darauf, ein Content-Slot-Einfügungsscript an das Computergerät überträgt. Das Content-Slot-Einfügungsscript kann, wenn es ausgeführt wird, das Computergerät dazu veranlassen, ein oder mehrere Document Object Model(DOM)-Elemente zu identifizieren, die in der DOM-Baumstruktur der Informationsressource enthalten sind, und einen oder mehrere Kandidaten für die Platzierungspositionen des Inhalts Dritter, gemäß einer Platzierungsrichtlinie zum Inhalt Dritter, zu bestimmen. Die zweite Vielzahl der computerausführbaren Anweisungen, wenn sie auf dem Computergerät ausgeführt wird, kann das Computergerät ebenfalls veranlassen, aus den Kandidaten für die Platzierungspositionen des Inhalts Dritter eine Platzierungsposition des Inhalts Dritter in der DOM-Baumstruktur auszuwählen und ein Inhaltselement Dritter an der ausgewählten Platzierungsposition anzuzeigen.

Description

  • VERWANDTE ANMELDUNG
  • Diese Anmeldung beansprucht den Vorteil einer Priorität gegenüber US-Anmeldung Nr. 14/856181 mit dem Titel „SYSTEME UND VERFAHREN FÜR DIE AUTOMATISCHE VERWALTUNG DER PLATZIERUNG VON CONTENT-SLOTS IN EINER INFORMATIONSRESSOURCE“, die am 16. September 2015 eingereicht wurde und hier als Referenz in vollem Umfang aufgeführt ist.
  • ALLGEMEINER STAND DER TECHNIK
  • In einer Computernetzwerkumgebung wie dem Internet stellen externe Content-Provider Inhaltselemente Dritter zur Anzeige auf Endbenutzer-Computergeräten bereit. Diese Inhaltselemente Dritter, beispielsweise Werbeanzeigen, können auf einer Webseite in Verbindung mit einem entsprechenden Publisher angezeigt werden. Diese Inhaltselemente Dritter können Inhalte haben, die den externen Content-Provider, der das Inhaltselement bereitgestellt hat, identifizieren.
  • KURZDARSTELLUNG DER OFFENBARUNG
  • Mindestens ein Aspekt gilt für ein Verfahren der automatischen Verwaltung der Platzierung von Content-Slots in einer Informationsressource. Das Verfahren schließt ein Datenverarbeitungssystem ein, das einen oder mehrere Prozessoren enthält, die von einem Computergerät eine Abfrage zu einem Inhalt empfangen, als Reaktion auf den Empfang durch das Computergerät einer Informationsressource, die eine erste Vielzahl von computerausführbaren Anweisungen von einem Content-Publisher einschließt. Die erste Vielzahl computerausführbarer Anweisungen identifiziert einen Server des Datenverarbeitungssystems. Das Verfahren schließt dabei auch ein, dass das Datenverarbeitungssystem eine zweite Vielzahl von computerausführbaren Anweisungen an das Computergerät überträgt. Die zweite Vielzahl computerausführbarer Anweisungen kann, wenn sie auf dem Computergerät ausgeführt wird, das Computergerät dazu veranlassen, eine Document Object Model(DOM)-Baumstruktur der Informationsressource zu ermitteln, ein oder mehrere DOM-Elemente zu ermitteln, die in der DOM-Baumstruktur eingeschlossen sind, und einen oder mehrere Kandidaten für Platzierungspositionen des Inhalts Dritter, gemäß einer Platzierungsrichtlinie zum Inhalt Dritter, bestimmen. Die zweite Vielzahl der computerausführbaren Anweisungen kann, wenn sie auf dem Computergerät ausgeführt wird, das Computergerät ebenfalls veranlassen, aus den Kandidaten für die Platzierungspositionen des Inhalts Dritter eine Platzierungsposition des Inhalts Dritter in der DOM-Baumstruktur auszuwählen und ein Inhaltselement Dritter an der ausgewählten Platzierungsposition des Inhalts Dritter anzuzeigen.
  • In einigen Ausführungsformen schließt die Platzierungsrichtlinie zum Inhalt Dritter eine oder mehrere Regeln für die Ermittlung der Kandidaten für die Platzierungspositionen des Inhalts Dritter ein. Die Regeln können auf den Abmessungen der ermittelten DOM-Elemente basieren. In einigen Implementierungen schließt die Bestimmung eines oder mehrerer Kandidaten für die Platzierungspositionen des Inhalts Dritter gemäß einer Platzierungsrichtlinie zum Inhalt Dritter die Bestimmung einer vorher festgelegten Anzahl von Platzierungspositionen des Inhalts Dritter ein und als Reaktion auf die Bestimmung der vorher festgelegten Anzahl von Kandidaten für die Platzierungspositionen des Inhalts Dritter, die Beendigung der Anweisungen zur Bestimmung der Kandidaten für die Platzierungspositionen des Inhalts Dritter. In einigen Implementierungen schließt die Auswahl einer Platzierungsposition des Inhalts Dritter in der DOM-Baumstruktur die Auswahl einer Platzierungsposition des Inhalts Dritter ein, die zwischen zwei benachbarten DOM-Elementen liegt, die eine Breite aufweisen, die größer ist als ein vorbestimmter Grenzwert einer Breite der Informationsressource.
  • In einigen Implementierungen schließt die Anzeige eines Inhaltselements Dritter an der ausgewählten Platzierungsposition des Inhalts Dritter die Ermittlung eines Umsatzerlöses ein, der zur Anzeige des Inhaltselements Dritter gehört, die Bestimmung, dass der Umsatzerlös einen vorbestimmten Grenzwert überschreitet und die Auswahl des Inhaltselements Dritter für die Anzeige als Reaktion auf die Bestimmung, dass der Umsatzerlös den vorbestimmten Grenzwert überschreitet. In einigen Implementierungen schließt die zweite Vielzahl computerausführbarer Anweisungen computerausführbare Anweisungen ein, die, wenn sie auf dem Computergerät ausgeführt werden, darüber hinaus das Computergerät veranlassen können, eine Anzahl bestehender Platzierungen des Inhalts Dritter zu ermitteln, die in der Informationsressource angezeigt werden sollen, die Bestimmung, dass die Anzahl der bestehenden Platzierungen des Inhalts Dritter geringer ist als eine vorbestimmte Anzahl an Platzierungen des Inhalts Dritter und die Anzeige des Inhaltselements Dritter an der ausgewählten Platzierungsposition des Inhalts Dritter als Reaktion auf die Bestimmung, dass die Anzahl der bestehenden Platzierungen des Inhalts Dritter geringer ist als eine vorbestimmte Anzahl der Platzierungen des Inhalts Dritter.
  • In einigen Implementierungen kann die zweite Vielzahl computerausführbarer Anweisungen, wenn sie auf dem Computergerät ausgeführt werden, das Computergerät darüber hinaus veranlassen, einen Content-Slot Dritter an der ausgewählten Platzierungsposition des Inhalts Dritter einzusetzen. Der Content-Slot Dritter schließt computerausführbare Anweisungen ein, die, wenn sie auf dem Computergerät ausgeführt werden, das Computergerät veranlassen können, eine Abfrage zu einem Inhaltselement Dritter aus dem Datenverarbeitungssystem zu stellen. In einigen Implementierungen kann die zweite Vielzahl der computerausführbaren Anweisungen, wenn sie auf dem Computergerät ausgeführt werden, darüber hinaus das Computergerät veranlassen, ein Inhaltselement Dritter aus dem Datenverarbeitungssystem zu empfangen und zu bestimmen, dass das Inhaltselement Dritter angezeigt wird, als Reaktion auf die Bestimmung, dass ein Umsatzerlös, der mit dem empfangenen Inhaltselement Dritter verbunden ist, einen Grenzwert überschreitet.
  • Mindestens ein Aspekt gilt für ein Verfahren der automatischen Verwaltung der Platzierung von Content-Slots in einer Informationsressource in Echtzeit. Das Verfahren schließt ein Datenverarbeitungssystem ein, das einen oder mehrere Prozessoren enthält, die von einem Computergerät eine Abfrage zu einer Informationsressource empfangen und die Informationsressource, die ein Content-Slot-Einfügungsscript enthält, an das Computergerät übertragen. Das Content-Slot-Einfügungsscript, wenn es auf dem Computergerät ausgeführt wird, kann das Computergerät dazu veranlassen, eine Document Object Model(DOM)-Baumstruktur der Informationsressource zu ermitteln, ein oder mehrere DOM-Elemente zu ermitteln, die in der DOM-Baumstruktur enthalten sind, und einen oder mehrere Kandidaten für Platzierungspositionen des Inhalts Dritter, gemäß einer Platzierungsrichtlinie zum Inhalt Dritter, zu bestimmen. Das Content-Slot-Einfügungsscript, wenn es auf dem Computergerät ausgeführt wird, kann das Computergerät ebenfalls veranlassen, aus den Kandidaten für die Platzierungspositionen des Inhalts Dritter eine Platzierungsposition des Inhalts Dritter in der DOM-Baumstruktur auszuwählen und ein Inhaltselement Dritter an der ausgewählten Platzierungsposition des Inhalts Dritter anzuzeigen.
  • In einigen Implementierungen schließt die Platzierungsrichtlinie zum Inhalt Dritter eine oder mehrere Regeln für die Ermittlung der Kandidaten für die Platzierungspositionen des Inhalts Dritter ein. Die Regeln können auf den Abmessungen der ermittelten DOM-Elemente basieren. In einigen Implementierungen schließt die Bestimmung eines oder mehrerer Kandidaten für die Platzierungspositionen des Inhalts Dritter gemäß einer Platzierungsrichtlinie zum Inhalt Dritter die Bestimmung einer vorher festgelegten Anzahl von Platzierungspositionen des Inhalts Dritter ein und als Reaktion auf die Bestimmung der vorher festgelegten Anzahl von Kandidaten für die Platzierungspositionen des Inhalts Dritter, die Beendigung der Anweisungen zur Bestimmung der Kandidaten für die Platzierungspositionen des Inhalts Dritter. In einigen Implementierungen schließt die Auswahl einer Platzierungsposition des Inhalts Dritter in der DOM-Baumstruktur die Auswahl einer Platzierungsposition des Inhalts Dritter ein, die zwischen zwei benachbarten DOM-Elementen liegt, die eine Breite aufweisen, die größer ist als ein vorbestimmter Grenzwert einer Breite der Informationsressource.
  • In einigen Implementierungen schließt die Anzeige eines Inhaltselements Dritter an der ausgewählten Platzierungsposition des Inhalts Dritter die Ermittlung eines Umsatzerlöses ein, der der Anzeige des Inhaltselements Dritter entspricht, die Bestimmung, dass der Umsatzerlös einen vorbestimmten Grenzwert überschreitet und die Auswahl des Inhaltselements Dritter für die Anzeige, als Reaktion auf die Bestimmung, dass der Umsatzerlös den vorbestimmten Grenzwert überschreitet. In einigen Implementierungen schließt das Content-Slot-Einfügungsscript computerausführbare Anweisungen ein, die, wenn sie auf dem Computergerät ausgeführt werden, darüber hinaus das Computergerät veranlassen können, eine Anzahl bestehender Platzierungen des Inhalts Dritter zu ermitteln, die in der Informationsressource angezeigt werden sollen, die Bestimmung, dass die Anzahl der bestehenden Platzierungen des Inhalts Dritter geringer ist als eine vorbestimmte Anzahl an Platzierungen des Inhalts Dritter und die Anzeige der Inhaltselemente Dritter an der ausgewählten Platzierungsposition des Inhalts Dritter als Reaktion auf die Feststellung, dass die Anzahl der bestehenden Werbeplatzierungen geringer ist als die vorbestimmte Anzahl der Werbeplatzierungen.
  • In einigen Implementierungen kann das Content-Slot-Einfügungsscript, wenn es auf dem Computergerät ausgeführt wird, das Computergerät darüber hinaus veranlassen, einen Content-Slot Dritter an der ausgewählten Platzierungsposition des Inhalts Dritter einzufügen. Der Content-Slot Dritter schließt computerausführbare Anweisungen ein, die, wenn sie auf dem Computergerät ausgeführt werden, das Computergerät veranlassen, eine Abfrage zu einem Inhaltselement Dritter in einem Datenverarbeitungssystem zu stellen. In einigen Implementierungen kann das Content-Slot-Einfügungsscript, wenn es auf dem Computergerät ausgeführt wird, darüber hinaus das Computergerät veranlassen, ein Inhaltselement Dritter aus dem Datenverarbeitungssystem zu empfangen und zu bestimmen, dass das Inhaltselement Dritter angezeigt wird, als Reaktion auf die Feststellung, dass ein Umsatzerlös, der mit dem empfangenen Inhaltselement Dritter verbunden ist, einen Grenzwert überschreitet.
  • Mindestens ein Aspekt gilt für ein System der automatischen Verwaltung der Platzierung von Content-Slots in einer Informationsressource. Das System kann ein Ressourcenanalyse-Modul einschließen, das auf einem Computergerät ausgeführt wird und so gestaltet ist, dass es eines oder mehrere Document Object Model(DOM)-Elemente identifiziert, die in einer DOM-Baumstruktur einer Informationsressource enthalten sind, als Reaktion auf eine Inhaltsabfrage für die Anzeige mit der Informationsressource. Das System schließt auch ein Platzierungspositions-Modul ein, das auf dem Computergerät ausgeführt wird und so gestaltet ist, dass es eine Platzierungsrichtlinie zum Inhalt Dritter anwendet, um eine Vielzahl von Kandidaten für Platzierungspositionen des Inhalts Dritter in der DOM-Baumstruktur zu bestimmen, in die ein Inhaltselement Dritter eingefügt wird. Das System kann auch ein Positionsauswahl-Modul einschließen, das auf dem Computergerät ausgeführt wird und so gestaltet ist, dass es einen der bestimmten Vielzahl von Kandidaten für die Platzierungspositionen des Inhalts Dritter auswählt. Das System kann auch ein Inhaltsanzeige-Modul einschließen, das auf dem Computergerät ausgeführt wird und so gestaltet ist, dass es ein Inhaltselement Dritter dazu veranlasst, an der ausgewählten Platzierungsposition des Inhalts Dritter angezeigt zu werden.
  • In einigen Implementierungen schließt die Platzierungsrichtlinie zum Inhalt Dritter eine oder mehrere Regeln für die Ermittlung der Kandidaten für die Platzierungspositionen des Inhalts Dritter ein. Die Regeln können auf den Abmessungen der ermittelten DOM-Elemente basieren. In einigen Implementierungen kann die Bestimmung eines oder mehrerer Kandidaten für die Platzierungspositionen des Inhalts Dritter gemäß einer Platzierungsrichtlinie zum Inhalt Dritter die Bestimmung einer vorher festgelegten Anzahl von Platzierungspositionen des Inhalts Dritter und als Reaktion auf die Bestimmung der vorher festgelegten Anzahl von Kandidaten für die Platzierungspositionen des Inhalts Dritter, die Beendigung der Anweisungen zur Bestimmung der Kandidaten für die Platzierungspositionen des Inhalts Dritter einschließen. In einigen Implementierungen kann die Auswahl einer Platzierungsposition des Inhalts Dritter in der DOM-Baumstruktur die Auswahl einer Platzierungsposition des Inhalts Dritter einschließen, die zwischen zwei benachbarten DOM-Elementen liegt, die eine Breite aufweisen, die größer ist als ein vorbestimmter Grenzwert einer Breite der Informationsressource.
  • In einigen Implementierungen schließt die Veranlassung einer Anzeige eines Inhaltselements Dritter an der ausgewählten Platzierungsposition des Inhalts Dritter die Ermittlung eines Umsatzerlöses ein, der der Anzeige des Inhaltselements Dritter entspricht, die Bestimmung, dass der Umsatzerlös einen vorbestimmten Grenzwert überschreitet und die Auswahl des Inhaltselements Dritter für die Anzeige als Reaktion auf die Bestimmung, dass der Umsatzerlös den vorbestimmten Grenzwert überschreitet. In einigen Implementierungen kann das Inhaltsanzeige-Modul eine Anzahl bestehender Platzierungen des Inhalts Dritter ermitteln, die in der Informationsressource angezeigt werden sollen, die Bestimmung, dass die Anzahl der bestehenden Platzierungen des Inhalts Dritter geringer ist als eine vorbestimmte Anzahl an Platzierungen des Inhalts Dritter und die Anzeige des Inhaltselements Dritter an der ausgewählten Platzierungsposition des Inhalts Dritter als Reaktion auf die Bestimmung, dass die Anzahl der bestehenden Platzierungen des Inhalts Dritter geringer ist als die vorbestimmte Anzahl der Platzierungen des Inhalts Dritter.
  • In einigen Implementierungen kann das Positionsauswahl-Modul einen Content-Slot Dritter an der ausgewählten Platzierungsposition des Inhalts Dritter einfügen. Der Content-Slot Dritter schließt computerausführbare Anweisungen ein, die, wenn sie auf dem Computergerät ausgeführt werden, das Computergerät dazu veranlassen können, eine Abfrage zu einem Inhaltselement Dritter aus dem Datenverarbeitungssystem zu starten. In einigen Implementierungen kann das Inhaltsanzeige-Modul ein Inhaltselement Dritter vom Datenverarbeitungssystem empfangen und bestimmen, ob das Inhaltselement Dritter angezeigt werden soll, als Reaktion auf die Bestimmung, dass ein Umsatzerlös, der mit dem empfangenen Inhaltselement Dritter verbunden ist, einen Grenzwert überschreitet.
  • Diese und andere Aspekte und Ausführungsformen werden nachstehend näher erörtert. Die vorstehenden Informationen und die folgende ausführliche Beschreibung beinhalten veranschaulichende Beispiele verschiedener Aspekte und Implementierungen und stellen einen Überblick oder einen Rahmen für das Verständnis des Wesens und Charakters der beanspruchten Aspekte und Implementierungen bereit. Die Zeichnungen bieten eine Veranschaulichung und ein weiteres Verständnis der verschiedenen Aspekte und Implementierungen und sind in diese Spezifikation einbezogen und stellen einen Teil derselben dar.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die begleitenden Zeichnungen dürfen nicht als maßstabsgetreu betrachtet werden. In den unterschiedlichen Zeichnungen werden gleiche Bezugszeichen und Bezeichnungen für gleiche Elemente verwendet. Aus Gründen der Übersichtlichkeit ist möglicherweise nicht jede Komponente in jeder Zeichnung beschriftet. In den Zeichnungen:
  • 1 ist ein Blockdiagramm, das eine Implementierung einer Umgebung für die Bereitstellung eines Inhalts Dritter für die Anzeige mit Informationsressourcen auf Client-Geräten darstellt.
  • 2 ist ein Blockdiagramm, das eine Implementierung eines Content-Slot-Einfügungssystems für die Verwaltung der Platzierung von Content-Slots Dritter in einer Informationsressource, gemäß einer veranschaulichenden Implementierung, darstellt.
  • 3 ist ein Blockdiagramm, das eine Struktur einer Informationsressource und zusätzliche darin identifizierte Platzierungspositionen des Inhalts Dritter darstellt.
  • 4 ist ein Flussdiagramm, das ein Verfahren für die Einfügung zusätzlicher Content-Slots Dritter in eine Informationsressource, gemäß einer veranschaulichenden Implementierung, darstellt.
  • 5 ist ein Blockdiagramm, das eine veranschaulichende Implementierung einer allgemeinen Architektur für ein Computersystem darstellt, das zur Implementierung von Elementen der hierin beschriebenen und veranschaulichten Systeme und Verfahren eingesetzt werden kann.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Nachfolgend finden sich ausführlichere Beschreibungen der verschiedenen Konzepte und Implementierungen, die Verfahren, Vorrichtungen und Systeme zur Steuerung der Anzeige von Inhalt in einer Informationsressource in einer Computernetzwerk-Umgebung betreffen. Die verschiedenen Konzepte, die vorstehend vorgestellt wurden und nachstehend ausführlicher erörtert werden, können in vielfältiger Weise implementiert werden, da die beschriebenen Konzepte nicht auf eine bestimmte Art und Weise der Implementierung beschränkt sind.
  • In vielen Informationsressourcen, wie beispielsweise Seiten, maximieren die entsprechenden Layouts der Seiten den Seiten-Nutzwert für Nutzer, Publisher oder Dritte, wie Anzeigenkunden oder ein Werbenetzwerk, nicht. Beispielsweise kann ein Nutzer eine Webseite besuchen, die nur einen Content-Slot Dritter enthält. In diesem Fall wollen viele externe Content-Provider (wie Wiedervermarkter oder eine große aber kurze Markenkampagne) den Nutzer zu dem Zeitpunkt erreichen, zu dem er die Webseite besucht oder darauf zugreift. Die externen Content-Provider sind dabei möglicherweise bereit, mehr zu bezahlen als das, was der Publisher der Webseite für einen durchschnittlichen Content-Slot Dritter einnimmt, damit ihr Inhalt dem Nutzer, der die Webseite besucht, präsentiert wird. Da die Webseite eine geringere Anzahl von Content-Slots Dritter enthalten kann als die Anzahl der Anbieter von Inhalten Dritter bereit ist, dem Nutzer bezüglich der Inhaltselemente Dritter zu präsentieren, möchte der Content-Publisher eventuell zusätzliche Content-Slots Dritter in die Webseite einfügen, um die Anbieter des Inhalts Dritter unterzubringen, und gleichzeitig die Umsatzerlöse zu erhöhen, die aus dem Webseiten-Besuch des Nutzers generiert werden. Zusätzlich kann es sein, dass der Publisher keine angemessenen Ressourcen hat, um dynamisch Content-Slots Dritter, als Reaktion auf eine Erhöhung der Abfrage für das Posten von Inhaltselementen Dritter in der Informationsressource des Publishers, hinzuzufügen.
  • Ein Content-Publisher kann die Anzahl der Content-Slots Dritter erhöhen, die in eine entsprechende Webseite durch manuelle Veränderung des Scripts der Webseite aufgenommen werden, um zusätzliche Content-Slots Dritter einzuschließen. Die manuelle Einfügung von Content-Slots Dritter würde es jedoch dem Content-Publisher nicht erlauben, die Anzahl der Content-Slots Dritter, die einem Nutzer in Echtzeit angezeigt werden, zu steuern (zu dem Zeitpunkt, zu dem die Informationsressource für die Anzeige auf dem Computergerät vorgelegt wird). Beispielsweise kann es sein, dass die manuelle Einfügung von Content-Slots für den Fall nicht ausreichend ist, dass der Content-Publisher nur zusätzliche Content-Slots Dritter einfügen möchte, wenn die aus den zusätzlichen Content-Slots generierten Umsatzerlöse größer sind als ein vorbestimmter Grenzwert. Darüber hinaus könnte durch die Variation der Anzahl von Content-Slots Dritter, die auf einer Webseite auf der Grundlage des Nutzers angezeigt werden, die Umsatzdifferenz, unter anderen Parametern, nicht in Echtzeit erreicht werden, wenn eine manuelle Einfügung der Content-Slots durchgeführt wird. Darüber hinaus kann es sein, dass ein Content-Publisher einer großen Anzahl von Webseiten jede Webseite manuell aktualisieren muss, um zusätzliche Content-Slots einschließen zu können, was äußerst zeitaufwendig sein kann.
  • Die vorliegende Offenbarung bezieht sich auf Systeme und Verfahren für die automatische Verwaltung der Platzierung von Content-Slots auf einer Webseite in Echtzeit auf der Client-Seite mit minimaler Publisher-Beteiligung. Durch die Fähigkeit, die Platzierung von Content-Slots auf der Client-Seite zu verwalten, kann ein System die Platzierung von Content-Slots, auf der Grundlage verschiedener Ziele eines Nutzers, Publishers oder Content-Providers, wie einem Anzeigenkunden, optimieren. Darüber hinaus kann das System Signale aus historischen Webseiten-Interaktionen identifizieren und die Platzierung von Content-Slots anpassen, um die Bindung zu erhöhen. Darüber hinaus kann das System intelligente Entscheidungen, hinsichtlich Platzierung, Größe und Format des einzufügenden Content-Slots, treffen. Signale können das Webseiten-Format, den Gerätetyp, auf dem die Webseite angezeigt wird, und andere Elemente auf der Webseite enthalten, die Bilder, Videos, Textblöcke, Titel/Kopfzeilen und so weiter einschließen. Zusätzlich kann das System Calls-to-Action oder sonstige Inhaltsobjekte in die Webseite einfügen, um die Nutzerbindung zu erhöhen.
  • In der vorliegenden Offenbarung kann ein Datenverarbeitungssystem automatische und dynamische Einstellungen der Anzahl der Content-Slots Dritter, die in eine Webseite eingefügt sind, vornehmen. Als Reaktion auf eine Abfrage, von einem Client-Gerät, zu einem Inhalt Dritter, der auf der Webseite angezeigt werden soll, kann das Datenverarbeitungssystem ein Content-Slot-Einfügungsscript an das Client-Gerät senden. Das Content-Slot-Einfügungsscript, wenn es auf dem Computergerät ausgeführt wird, kann eine Document Object Model(DOM)-Baumstruktur der Informationsressource ermitteln, ein oder mehrere DOM-Elemente ermitteln, die in die DOM-Baumstruktur eingeschlossen sind, und einen oder mehrere Kandidaten für eine Werbeplatzierungsposition, gemäß einer Werbeplatzierungsrichtlinie, bestimmen. Das Content-Slot-Einfügungsscript kann das Computergerät auch veranlassen, aus den Kandidaten der Werbeplatzierungspositionen eine Werbeplatzierungsposition in der DOM-Baumstruktur auszuwählen und eine Werbeanzeige an der ausgewählten Werbeplatzierungsposition anzuzeigen. Durch die Nutzung des Content-Slot-Einfügungsscripts kann das Datenverarbeitungssystem automatisch und dynamisch die Anzahl der Content-Slots Dritter einstellen (z. B. erhöhen oder verringern), die in eine Webseite eingefügt werden sollen, um sie auf einem Client-Gerät anzuzeigen, als Reaktion auf eine Abfrage des Client-Geräts, auf die Webseite zugreifen zu können. Auf diese Weise kann, auf der Grundlage eines oder mehrerer Parameter, dieselbe Webseite mit einer unterschiedlichen Anzahl von Content-Slots Dritter auf verschiedenen Client-Geräten versorgt werden, ohne Einbeziehung des Content-Publishers.
  • 1 ist ein Blockdiagramm, das eine Ausführungsform einer Umgebung für die automatische Platzierung von Content-Slots in einer Informationsressource darstellt. Die Umgebung 100 schließt mindestens ein Datenverarbeitungssystem 110 ein. Das Datenverwaltungssystem 110 kann mindestens einen Prozessor (oder eine Verarbeitungsschaltung) und einen Speicher beinhalten. Der Speicher speichert prozessorausführbare Anweisungen, die bei Ausführung durch einen Prozessor den Prozessor veranlassen, einen oder mehrere hierin beschriebene Vorgänge durchzuführen. Der Prozessor kann einen Mikroprozessor, eine anwendungsspezifische integrierte Schaltung (ASIC) einen feldprogrammierbaren Universalschaltkreis (FPGA) usw. oder Kombinationen daraus beinhalten. Der Speicher kann u. a. elektronische, optische, magnetische oder andere Speicher- oder Übertragungsgeräte beinhalten, die in der Lage sind, dem Prozessor Programmanweisungen zu liefern, ist aber nicht beschränkt darauf. Der Speicher kann ferner eine Diskette, CD-ROM, DVD, einen magnetischen Datenträger, einen Speicherchip, eine ASIC, einen FPGA, einen schreibgeschützten Speicher (ROM), Direktzugriffsspeicher (RAM), einen elektrisch löschbaren ROM (EEPROM), einen löschbaren-programmierbaren ROM (EPROM), einen Flash-Speicher, optische Medien oder jedweden geeigneten Speicher beinhalten, aus dem der Prozessor Anweisungen lesen kann. Die Anweisungen können einen Code jeder geeigneten Computerprogrammiersprache beinhalten. Das Datenverarbeitungssystem 110 kann eines oder mehrere Computergeräte oder einen oder mehrere Server beinhalten, die verschiedene Funktionen ausführen können. In einigen Implementierungen kann das Datenverarbeitungssystem 110 ein Werbeauktionssystem beinhalten, das konfiguriert ist, um Auktionen zu hosten. In einigen Implementierungen beinhaltet das Datenverarbeitungssystem 110 kein Werbeauktionssystem, ist jedoch konfiguriert, um mit dem Werbeauktionssystem über das Netzwerk 105 zu kommunizieren.
  • Das Netzwerk 105 kann Computernetzwerke, wie etwa das Internet, lokale Netzwerke, Metropolregionsnetzwerke und Großraumnetzwerke oder sonstige Bereichsnetzwerke, Intranets, Satellitennetzwerke oder sonstige Computernetzwerke, wie z. B. sprach- oder datenbezogene Mobiltelefonkommunikationsnetzwerke und Kombinationen daraus, beinhalten. Das Datenverarbeitungssystem 110 der Umgebung 100 kann über das Netzwerk 105 kommunizieren, zum Beispiel mit mindestens einem Content-Provider-Computergerät 115, mindestens einem Content-Publisher-Computergerät 120 oder mindestens einem Client-Gerät 125. Das Netzwerk 105 kann jede Form von Computernetzwerk annehmen, das Informationen zwischen dem Client-Gerät 125, dem Datenverarbeitungssystem 110 und der einen oder den mehreren Inhaltsquellen, wie zum Beispiel Webserver, Werbeserver, um nur einige zu nennen, wiedergibt. Das Netzwerk 105 kann zum Beispiel das Internet und/oder andere Arten von Datennetzwerken, wie z. B. ein lokales Netzwerk (LAN), ein Großraumnetzwerk (WAN), ein Mobilfunknetz, Satellitennetzwerk oder andere Arten von Datennetzwerken, beinhalten. Das Netzwerk 105 kann zudem jede beliebige Anzahl von Computergeräten (z. B. Computer, Server, Router, Netzwerk-Switches usw.) beinhalten, die so gestaltet sind, dass sie Daten im Netzwerk 105 empfangen und/oder übertragen können. Das Netzwerk 105 kann darüber hinaus jede beliebige Anzahl an festverdrahteten und/oder drahtlosen Verbindungen beinhalten. Das Client-Gerät 125 kann zum Beispiel drahtlos (z. B. über WLAN, Mobilfunk, Funk usw.) mit einem Sendeempfänger kommunizieren, der mit anderen Computergeräten im Netzwerk 105 festverdrahtet ist (z. B. über ein Glasfaserkabel, ein CATS-Kabel, usw.).
  • Die Content-Provider-Computergeräte 115 können Server oder andere Computergeräte beinhalten, die von einer Content-Provider-Entität betrieben werden, um Inhaltselemente, wie Werbung, zur Anzeige auf Informationsressourcen am Client-Gerät 125 bereitzustellen. Die Inhalte, die vom Content-Provider-Computergerät 115 bereitgestellt werden, können Inhaltselemente Dritter oder kreative Elemente (z. B. Werbung) zur Anzeige in Informationsressourcen, wie etwa einer Webseite oder Internetseite, beinhalten, die primäre Inhalte einschließt, z. B. Inhalte, die vom Content-Publisher-Computergerät 120 bereitgestellt werden. Die Inhaltselemente können zudem auf einer Suchergebnis-Webseite angezeigt werden. Das Content-Provider-Computergerät 115 kann zum Beispiel Werbung (Ads) oder andere Inhaltselemente zur Anzeige in Content-Slots der Inhaltswebseiten bereitstellen oder als Quelle dienen, z. B. als eine Webseite eines Unternehmens, auf der der primäre Inhalt der Webseite durch das Unternehmen bereitgestellt wird, oder zur Anzeige auf einer Suchergebnis-Landingpage, die durch eine Suchmaschine bereitgestellt wird. Die Inhaltselemente, die dem Content-Provider-Computergerät 115 zugeordnet sind, können auf Informationsressourcen, zu denen Webseiten nicht gehören, angezeigt werden, wie etwa Inhalte, die als Teil der Ausführung einer Anwendung (z. B. als Spieleanwendung, globales Positionierungssystem (GPS) oder eine Kartenanwendung oder andere Anwendungsarten) auf einem Smartphone oder einem anderen Client-Gerät 125 angezeigt werden.
  • Die Content-Publisher-Computergeräte 120 können Server oder andere Computergeräte beinhalten, die von einer Content-Publishing-Entität betrieben werden, um primäre Inhalte zur Anzeige über das Netzwerk 105 bereitzustellen. Das Content-Publishing-Computergerät 120 kann zum Beispiel einen Webseitenbetreiber beinhalten, der primäre Inhalte zur Darstellung auf der Webseite bereitstellt. Die primären Inhalte können Inhalte einschließen, zu denen Inhalte, die vom Content-Publisher-Computergerät 120 bereitgestellt werden, nicht gehören und die Webseite kann Content-Slots beinhalten, die zur Darstellung von Inhaltselementen Dritter (z. B. Werbung) von den Content-Provider-Computergeräten 115 konfiguriert sind. Das Content-Publisher-Computergerät 120 kann zum Beispiel die Webseite eines Unternehmens betreiben und Inhalte über dieses Unternehmen zur Darstellung auf Webseiten der Internetseite bereitstellen. Die Webseiten können Content-Slots beinhalten, die für die Anzeige von Inhaltselementen Dritter, wie zum Beispiel Werbung des Content-Provider-Computergeräts 115, konfiguriert sind. In einigen Implementierungen beinhaltet das Content-Publisher-Computergerät 120 ein Suchmaschinen-Computergerät (z. B. Server) eines Suchmaschinenbetreibers, der eine Suchmaschinen-Webseite betreibt. Die primären Inhalte der Suchmaschinen-Webseiten (z. B. eine Ergebnis- oder Landingpage-Webseite) können sowohl Suchergebnisse als auch Inhaltselemente Dritter beinhalten, die in Content-Slots angezeigt werden, wie z. B. Inhaltselemente vom Content-Provider-Computergerät 115. In einigen Implementierungen kann das Content-Publisher-Computergerät 120 einen Server zum Anbieten von videobezogenen Inhalten einschließen.
  • Die Client-Geräte 125 können Computergeräte beinhalten, die so gestaltet sind, dass sie über das Netzwerk 105 kommunizieren, um Daten anzuzeigen, wie etwa die Inhalte, die vom Content-Publisher-Computergerät 120 bereitgestellt wurden (z. B. primäre Webseiteninhalte oder sonstige Informationsressourcen) und die Inhalte, die vom Content-Provider-Computergerät 115 bereitgestellt wurden (z. B. Inhaltselemente Dritter, wie Werbung, die für die Anzeige in einem Content-Slot einer Webseite konfiguriert sind). Das Client-Gerät 125, das Content-Provider-Computergerät 115 und das Content-Publisher-Computergerät 120 können Desktop-Computer, Laptop-Computer, Tablet-Computer, Smartphones, persönliche digitale Assistenten, mobile Geräte, Verbraucher-Computergeräte, Server, Clients, digitale Videoaufnahmegeräte, eine Set-Top-Box für einen Fernseher, eine Videospielkonsole und sonstige andere Computergeräte beinhalten, die konfiguriert sind, um über das Netzwerk 105 zu kommunizieren. Die Client-Geräte 125 können Kommunikationsgeräte sein, durch die ein Endbenutzer Abfragen senden kann, um Inhalte zu erhalten. Bei den Abfragen kann es sich um Abfragen an eine Suchmaschine handeln, wobei die Abfragen Suchabfragen beinhalten können. In einigen Implementierungen können die Abfragen eine Abfrage für den Zugriff auf eine Webseite beinhalten.
  • Die Content-Provider-Computergeräte 115, das Content-Publisher-Computergerät 120 und die Client-Geräte 125 können einen Prozessor und einen Speicher, d. h. eine Verarbeitungsschaltung, beinhalten. Der Speicher speichert Maschinenanweisungen, die bei Ausführung durch einen Prozessor den Prozessor veranlassen, einen oder mehrere hier beschriebene Vorgänge durchzuführen. Der Prozessor kann einen Mikroprozessor, eine anwendungsspezifische integrierte Schaltung (ASIC) einen feldprogrammierbaren Universalschaltkreis (FPGA) usw. oder Kombinationen daraus beinhalten. Der Speicher kann u. a. elektronische, optische, magnetische oder andere Speicher- oder Übertragungsgeräte beinhalten, die in der Lage sind, dem Prozessor Programmanweisungen zu liefern, ohne aber darauf beschränkt zu sein. Der Speicher kann ferner eine Diskette, CD-ROM, DVD, einen magnetischen Datenträger, einen Speicherchip, eine ASIC, einen FPGA, einen schreibgeschützten Speicher (ROM), Direktzugriffsspeicher (RAM), einen elektrisch löschbaren ROM (EEPROM), einen löschbaren-programmierbaren ROM (EPROM), einen Flash-Speicher, optische Medien oder jedweden geeigneten Speicher beinhalten, aus dem der Prozessor Anweisungen lesen kann. Die Anweisungen können einen Code jeder geeigneten Computerprogrammiersprache beinhalten.
  • Die Content-Provider-Computergeräte 115, die Content-Publisher-Computergeräte 120 und die Client-Geräte 125 können auch ein oder mehrere Benutzerschnittstellengeräte beinhalten. Ein Benutzerschnittstellengerät bezieht sich im Allgemeinen auf jedes elektronische Gerät, das Daten durch Erzeugen von sensorischen Informationen (wie z. B. durch Visualisierung auf einer Anzeige, ein oder mehrere Töne usw.) an einen Nutzer übermittelt und/oder empfangene sensorische Informationen von einem Nutzer (z. B. durch eine Tastatur, eine Maus, eine Zeigevorrichtung, eine Touchscreen-Anzeige, ein Mikrofon usw.) in elektronische Signale konvertiert. Das eine oder die mehreren Benutzerschnittstellengeräte können sich im Inneren eines Gehäuses der Content-Provider-Computergeräte 115, des Content-Publisher-Computergeräts 120 und des Client-Geräts 125 befinden (z. B. eine eingebaute Anzeige, ein Mikrofon usw.) oder im äußeren Bereich des Gehäuses der Content-Provider-Computergeräte 115, des Content-Publisher-Computergeräts 120 und der Client-Geräte 125 (z. B. ein Monitor, der mit dem Nutzer-Computergerät 115 verbunden ist, ein Lautsprecher, der mit dem Nutzer-Computergerät 115 verbunden ist, usw.). Die Content-Provider-Computergeräte 115, das Content-Publisher-Computergerät 120 und die Client-Geräte 125 können zum Beispiel eine elektronische Anzeige beinhalten, die Webseiten auf visuelle Art und Weise unter Verwendung von Webseitendaten anzeigt, die über das Netzwerk 105 von einer oder mehreren Inhaltsquellen und/oder vom Datenverarbeitungssystem 110 empfangen werden. In einigen Implementierungen kann ein Kampagnenmanager der Inhaltsplatzierung oder ein externer Content-Provider, z. B. ein Werbeanbieter, über die Content-Provider-Computergeräte 115 mit dem Datenverarbeitungssystem 110 kommunizieren. In einigen Implementierungen kann der Werbeanbieter über eine Benutzeroberfläche, die auf den Benutzeroberflächengeräten der Content-Provider-Computergeräte 115 angezeigt wird, mit dem Datenverarbeitungssystem 110 kommunizieren.
  • Das Datenverarbeitungssystem 110 kann mindestens einen Server beinhalten. Beispielsweise kann das Datenverarbeitungssystem 110 eine Vielzahl von Servern einschließen, die in mindestens einem Datenzentrum oder einer Serverfarm untergebracht sind In einigen Implementierungen kann das Datenverarbeitungssystem 110 ein Platzierungssystem für Inhalte Dritter einschließen, z. B. ein Werbeserver- oder ein Werbeplatzierungssystem. Das Datenverarbeitungssystem 110 kann mindestens ein Inhaltsabfrage-Modul 130, mindestens ein Inhaltsauswahl-Modul 135, mindestens ein Script-Provider-Modul 140 und mindestens eine Datenbank 145 einschließen. Das Inhaltsabfrage-Modul 130, das Inhaltsauswahl-Modul 135 und das Script-Provider-Modul 140 können jeweils mindestens eine Verarbeitungseinheit, einen Server, einen virtuellen Server, eine Schaltung, eine Maschine, einen Agenten, eine Vorrichtung oder ein sonstiges Logik-Gerät, wie etwa die programmierbaren Logikanordnungen, enthalten, die so gestaltet sind, dass sie mit der Datenbank 145 und mit sonstigen Computergeräten (z. B. dem Content-Provider-Computergerät 115, dem Content-Publisher-Computergerät 120 oder dem Client-Gerät 125) über das Netzwerk 105 kommunizieren können.
  • Das Inhaltsabfrage-Modul 130, das Inhaltsauswahl-Modul 135 und das Script-Provider-Modul 140 können mindestens ein Computerprogramm oder mindestens ein Script beinhalten oder ausführen. Bei dem Inhaltsabfrage-Modul 130, dem Inhaltsauswahl-Modul 135, dem Script-Provider-Modul 140 kann es sich um separate Komponenten, eine einzelne Komponente oder einen Teil des Datenverarbeitungssystems 110 handeln. Das Inhaltsabfrage-Modul 130, das Inhaltsauswahl-Modul 135 und das Script-Provider-Modul 140 können Kombinationen von Software und Hardware, wie etwa einen oder mehrere Prozessoren einschließen, die so gestaltet sind, dass sie ein oder mehrere Scripts ausführen können.
  • Das Datenverarbeitungssystem 110 kann zudem ein oder mehrere Inhaltsrepositorien oder Datenbanken 145 beinhalten. Die Datenbanken 145 können sich lokal auf dem Datenverarbeitungssystem 110 befinden. In einigen Implementierungen können die Datenbanken 145 vom Datenverarbeitungssystem 110 entfernt gelegen sein, jedoch über das Netzwerk 105 mit dem Datenverarbeitungssystem 110 kommunizieren. Die Datenbanken 145 können, unter anderem, Webseiten, Teile von Webseiten, Inhaltselemente Dritter (z. B. Werbung) und Content-Slot-Einfügungsscripte enthalten, die ein Client-Gerät 125 versorgen.
  • Das Inhaltsabfrage-Modul 130 kann eine Inhaltsabfrage vom Client-Gerät 125 erhalten. Die Inhaltsabfrage kann eine Abfrage zu einer Informationsressource, eine Abfrage zu einem oder mehreren Inhaltselementen Dritter, eine Abfrage zu einem Content-Slot-Einfügungsscript oder eine Kombination daraus einschließen. In einigen Implementierungen kann die Inhaltsabfrage eine Abfrage zu einem Inhalt Dritter einschließen. In einigen Implementierungen kann die Abfrage zu einem Inhalt Dritter eine Adresse oder einen Identifier einer Informationsressource einschließen, in der der Inhalt Dritter angezeigt werden soll. Die Abfrage zum Inhalt Dritter kann auch einen oder mehrere Parameter einschließen oder ermitteln, die vom Datenverarbeitungssystem 110 verwendet werden können, um die Inhalte, die als Reaktion auf die Inhaltsabfrage bereitgestellt werden sollen, zu bestimmen. Die Parameter können eine Größe eines Content-Slots identifizieren, in den der abgefragte Inhalt eingefügt werden soll. Die Parameter können einen Inhaltstyp ermitteln, der der Informationsressource, einem Typ des abgefragten Inhalts Dritter (z. B. Text, Bild, Video, usw.), Client-Geräte-Informationen, die Größen-Informationen für das abgefragte Inhaltselement Dritter oder einer Kombination daraus zugeordnet ist In einigen Implementierungen kann die Abfrage ein Content-Slot-Einfügungsscript identifizieren. In einigen Implementierungen kann die Inhaltsabfrage einen Identifier einschließen, der anzeigt, dass der Content-Publisher der Ressourceninformation bei einem Content-Slot-Einfügungsservice eingeschrieben ist oder sich auf andere Weise angemeldet hat.
  • In einigen Implementierungen kann die Inhaltsabfrage eine Abfrage zu einer Informationsressource einschließen. Die Abfrage zu einer Informationsressource kann eine Adresse oder einen Identifier der Informationsressource einschließen. Beispielsweise kann die Abfrage zu einer Informationsressource einen Uniform Resource Locator (einheitlichen Ressourcenanzeiger – URL) einer spezifischen Ressource, wie einer Webseite, einschließen (z. B. „http://www.example.com“). Die Abfrage zu einer Informationsressource kann auch Client-Geräte-Informationen einschließen (wie Gerätetyp, Geräte-Identifier oder eine Kombination daraus).
  • In einigen Implementierungen kann die Inhaltsabfrage eine Abfrage zu einem Content-Slot-Einfügungsscript einschließen. In einigen Implementierungen kann die Abfrage zu einem Content-Slot-Einfügungsscript eine Angabe zu dem abgefragten Script, eine Adresse oder einen Identifier einer Ressourceninformation oder eine Kombination daraus einschließen. In einigen Implementierungen kann die Abfrage zum Content-Slot-Einfügungsscript ein Content-Slot-Einfügungsscript identifizieren. In einigen Implementierungen kann die Abfrage zum Content-Slot-Einfügungsscript einen Identifier einschließen, der anzeigt, dass der Content-Publisher der Ressourceninformation bei einem Content-Slot-Einfügungsservice eingeschrieben oder sich dort auf andere Weise angemeldet hat. In einigen Implementierungen kann das Inhaltsabfrage-Modul 130 so gestaltet sein, dass es die Inhaltsabfrage parsen und bestimmen kann, die Inhaltsabfrage an das Inhaltsauswahl-Modul 135 oder an das Script-Provider-Modul 140 weiterzuleiten. Wenn beispielsweise für ein Content-Slot-Einfügungsscript bestimmt wird, dass es als Reaktion auf die empfangene Inhaltsabfrage an das Client-Gerät 125 gesendet werden soll, kann das Inhaltsabfrage-Modul 130 die Inhaltsabfrage an das Script-Provider-Modul 140 weiterleiten. Ansonsten kann das Abfrage-Modul 130 die Inhaltsabfrage an das Inhaltsauswahl-Modul 135 weiterleiten. In einigen Implementierungen kann das Inhaltsabfrage-Modul 130 bestimmen, die Inhaltsabfrage sowohl an das Inhaltsauswahl-Modul 135 als auch an das Script-Provider-Modul 140 weiterzuleiten. Das Inhaltsabfrage-Modul 130 kann bestimmen, ob ein Script an das Client-Gerät 125 geschickt werden soll oder nicht, basierend auf den Typ der Inhaltsabfrage (z. B. einer Abfrage zu einer Informationsressource, eine Abfrage zu einem Inhalt Dritter oder einer Abfrage zu einem Content-Slot-Einfügungsscript), einen Indikators in der Inhaltsabfrage (z. B. ein Indikator, der ein Content-Slot-Einfügungsscript angibt, oder ein Indikator, der angibt, dass eine Informationsressource für die Einfügung in den Content-Slot geeignet ist), einen Informationsressourcen-Identifier in der Inhaltsabfrage oder einer Kombination daraus. In einigen Implementierungen kann das Inhaltsabfrage-Modul 130 bestimmen, ob ein Script anhand des Vergleichs einer Identifizierung der Informationsressource mit einer Liste von Informationsressourcen-Identifiern (z. B. Ressourceninformations-Identifiern, die für den Empfang eines Content-Slot-Einfügungsscripts geeignet sind) an das Client-Gerät 125 geschickt werden soll oder nicht. In einigen Implementierungen kann der Informationsressourcen-Identifier eine URL sein. In einigen Implementierungen kann der Informationsressourcen-Identifier eine Domain sein, zu der die Informationsressource gehört. In einigen Implementierungen kann der Informationsressourcen-Identifier eine IP-Adresse sein, die zu einem Server gehört, der die Informationsressource hostet. In einigen Implementierungen kann das Inhaltsabfrage-Modul 130 automatisch die Inhaltsabfrage an das Inhaltsauswahl-Modul 135 weiterleiten, ohne prüfen zu müssen, ob ein Script an das Client-Gerät 125 geschickt werden muss oder nicht.
  • Das Inhaltsauswahl-Modul 135 kann konfiguriert sein, um Inhalte zu bestimmen, die an das Client-Gerät 125 als Reaktion auf eine empfangene Inhaltsabfrage übertragen werden sollen. Das Inhaltsauswahl-Modul 135 kann die Inhalte bestimmen, die an das Client-Gerät 125, auf der Grundlage der Informationen, die in der Inhaltsabfrage enthalten sind, geschickt werden sollen. Beispielsweise kann das Inhaltsauswahl-Modul 135 bei Empfang einer Abfrage zu einer Informationsressource die Adresse oder den Identifier der Informationsressource für die Inhaltsabfrage verwenden, um die Inhalte zu bestimmen, die an das Client-Gerät geschickt werden sollen. Im Falle des Empfangs einer Abfrage zu einem oder mehreren Inhaltselementen Dritter kann das Inhaltsauswahl-Modul 135 das/die Inhaltselement(e) Dritter basierend auf einer Adresse oder einen Identifier für die Informationsressource, auf der das Inhaltselement Dritter präsentiert werden soll, Inhaltstyp-Informationen (z. B. Sport, Nachrichten, Musik, Kino, Reise, usw.) für die Informationsressource, Größen-Informationen des/der Slots, in denen das/die Inhaltselement(e) Dritter angezeigt werden soll(en), Client-Geräte-Informationen (z. B. Gerätetyp, Geräte-Identifier, Geräte-Standort, usw.) auswählen. In einigen Implementierungen kann die Abfrage zu Inhalten Dritter auch einen Mindest-Umsatzerlös (oder Mindest-Angebotswert) für die Anzeige eines Inhaltselements Dritter in der Informationsressource einschließen. In einigen Implementierungen kann das Inhaltsauswahl-Modul 135 mit einem Werbeauktionssystem kommunizieren und die Informationen des Werbeauktionssystems bereitstellen, die in der Abfrage zum Inhalt Dritter, die vom Client-Gerät empfangen wurde, enthalten ist. Das Inhaltsauswahl-Modul 135 kann auch ein oder mehrere Inhaltselemente Dritter vom Werbeauktionssystem empfangen, als Reaktion auf die Bereitstellung der Informationen, die in der Abfrage zu den Inhalten Dritter enthalten sind. In einigen Implementierungen kann das Inhaltsauswahl-Modul 135 auf die Datenbank 145 zugreifen und die Inhalte abrufen, um sie an das Client-Gerät 125 zu senden.
  • In einigen Implementierungen kann das Inhaltsauswahl-Modul 135 konfiguriert sein, um zu bestimmen ob ein Script an das Client-Gerät 125, als Reaktion auf eine Inhaltsabfrage, geschickt werden soll oder nicht. Das Inhaltsabfrage-Modul 135 kann bestimmen, ob ein Script an das Client-Gerät 125 geschickt werden soll oder nicht, auf der Grundlage des Typs der Inhaltsabfrage (z. B. einer Abfrage zu einer Informationsressource, eine Abfrage zu einem Inhalt Dritter oder eine Abfrage zu einem Content-Slot-Einfügungsscript), eines Indikators in der Inhaltsabfrage (z. B. ein Indikator, der ein Content-Slot-Einfügungsscript angibt, oder ein Indikator, der angibt, dass eine Informationsressource für die Einfügung in den Content-Slot geeignet ist), eines Informationsressourcen-Identifiers in der Inhaltsabfrage oder einer Kombination daraus. In einigen Implementierungen kann das Inhaltsauswahl-Modul 135 bestimmen, ob ein Script an das Client-Gerät 125 geschickt werden soll oder nicht, anhand des Vergleichs einer Identifizierung der Informationsressource mit einer Liste von Informationsressourcen-Identifiern (z. B. Informationsressourcen-Identifiern, die für den Empfang des Content-Slot-Einfügungsscripts geeignet sind). Bei der Bestimmung, dass ein Script an das Client-Gerät 125 geschickt werden soll, kann das Inhaltsauswahl-Modul 135 die Inhaltsabfrage oder eine Angabe dazu an das Script-Provider-Modul 140 weiterleiten. In einigen Implementierungen kann das Inhaltsauswahl-Modul 135 immer noch ein Inhaltselement Dritter auswählen, um es mit einem Script, wie beispielsweise dem Content-Slot-Einfügungsscript, an das Client-Gerät 125 zu schicken.
  • Das Script-Provider-Modul 140 kann konfiguriert sein, um ein Content-Slot-Einfügungsscript aus der Datenbank 145 abrufen und das abgerufene Script an das Client-Gerät 125 zu übertragen (oder an eine andere Einheit, die es an das Client-Gerät 125 sendet). In einigen Implementierungen kann das Content-Slot-Einfügungsscript separat oder mit einem Inhaltselement Dritter an das Client-Gerät 125 übertragen werden. In einigen Implementierungen kann das Script-Provider-Modul 140, das Inhaltsauswahl-Modul 135 oder eine andere Einheit des Datenverarbeitungssystems 110 das Content-Slot-Einfügungsscript, zusammen mit einer abgefragten Informationsressource, an das Client-Gerät 125 senden. Beispielsweise kann das Script-Provider-Modul 140, das Inhaltsauswahl-Modul 135 oder eine andere Einheit des Datenverarbeitungssystems 110 das Content-Slot-Einfügungsscript in die Informationsressource einfügen, bevor die Informationsressource an das Client-Gerät 125 geschickt wird.
  • Das Content-Slot-Einfügungsscript kann computerausführbare Anweisungen enthalten. Die computerausführbaren Anweisungen können ein Script, wie etwa Hypertext Markup Language (HTML), Extensible HyperText Markup Language (XHTML), Extensible Markup Language (XML), Cascading Style Sheets (CSS) und JavaScript um nur einige zu nennen, beinhalten. Die computerausführbaren Anweisungen können von einer Anwendung des Client-Geräts 125 ausgeführt werden, zum Beispiel der Anwendung, die das Client-Gerät dazu veranlasst, die Inhaltsabfrage, die vom Inhaltsabfrage-Modul 130 empfangen wird, zu übermitteln. Die Anwendung kann zum Beispiel einen Internet Browser, eine mobile Anwendung, eine Spieleanwendung, eine GPS-Anwendung oder jedes andere Computerprogramm beinhalten, das in der Lage ist, die computerausführbaren Anweisungen zu lesen und auszuführen. In kurzer Übersicht können die computerausführbaren Anweisungen, wenn sie von einem oder mehreren Prozessoren des Client-Geräts 125 ausgeführt werden, eine Anwendung des Client-Geräts zu Folgendem veranlassen: (a) eine Document Object Model(DOM)-Baumstruktur der Informationsressource zu identifizieren, (b) ein oder mehrere DOM-Elemente zu identifizieren, die in der DOM-Baumstruktur enthalten sind, (c) einen oder mehrere Kandidaten für die Werbeplatzierungspositionen gemäß einer Werbeplatzierungsrichtlinie zu bestimmen, (d) aus den Kandidaten für die Werbeplatzierungspositionen eine Werbeplatzierungsposition in der DOM-Baumstruktur auszuwählen, und (e) eine Werbung an der ausgewählten Werbeplatzierungsposition anzuzeigen. Zusätzliche Einzelheiten in Bezug auf die Funktionen des Content-Slot-Einfügungsscripts werden hier mit Bezugnahme auf 2, 3 und 4 bereitgestellt.
  • Mit Bezugnahme auf 2 ist 2 ein Blockdiagramm, das eine Implementierung eines Content-Slot-Einfügungssystems 200 für die automatische Verwaltung der Platzierung von Content-Slots in einer Informationsressource, gemäß einer erläuternden Implementierung, darstellt. Das Content-Slot-Einfügungssystem 200 kann eine Anwendung 205, eine Informationsressource 210, ein Ressourcenanalyse-Modul 222, ein Platzierungspositions-Modul 225, ein Positionsauswahl-Modul 228 und ein Inhaltsanzeige-Modul 230 einschließen. In einigen Implementierungen können das Ressourcenanalyse-Modul 222, das Platzierungspositions-Modul 225, das Positionsauswahl-Modul 228 und das Inhaltsanzeige-Modul 230 Module in einem Content-Slot-Einfügungsscript 220 sein. Das Content-Slot-Einfügungssystem 200 kann von einem oder mehreren Prozessoren eines Computergeräts, wie solchen, die unten in 5 beschrieben sind, betrieben oder auf sonstige Weise ausgeführt werden. In einigen Implementierungen kann ein beliebiges Ressourcenanalyse-Modul 222, das Platzierungspositions-Modul 225, das Positionsauswahl-Modul 228 und das Inhaltsanzeige-Modul 230 Teil der Anwendung 205, der Informationsressource 210 oder dem Content-Slot-Einfügungsscript 220 sein. Die Anwendung 205 kann beispielsweise einen Internetbrowser, eine mobile Anwendung, eine Spieleanwendung, GPS-Anwendung oder jedes andere Computerprogramm einschließen, das computerausführbare Anweisungen ausführen oder auf andere Weise aktivieren kann, wie beispielsweise die computerausführbaren Anweisungen, die in der Informationsressource 210, dem Ressourcenanalyse-Modul 222, dem Platzierungspositions-Modul 225, dem Positionsauswahl-Modul 228 und dem Inhaltsanzeige-Modul 230 enthalten sind. Die Informationsressource 210 kann einen oder mehrere Inhaltsteile (oder Inhaltselemente) einschließen. Die Informationsressource 210 kann die Positionen des einen oder der mehreren Inhaltselemente festlegen. In einigen Implementierungen kann die Informationsressource 210 eine Document Object Model(DOM)-Baumstruktur einschließen, die die Form, Größe, Positionen und/oder andere Attribute des einen oder der mehreren Inhaltselemente festlegt. In einigen Implementierungen können die Inhaltselemente den DOM-Elementen entsprechen, die in der DOM-Baumstruktur enthalten sind.
  • Die Anwendung 205 kann die Informationsressource 210 von einem Server eines Content-Publishers der Informationsressource oder einem Server erhalten oder empfangen, der die Informationsressource hostet. Beispielsweise kann die Anwendung 205 eine Abfrage an den Server senden, die eine Adresse oder einen Identifier der Informationsressource 210 enthält, und als Reaktion darauf die Informationsressource 210 empfangen. In einigen Implementierungen, in denen der Server das Datenverarbeitungssystem 110 von 1 ist, kann die Anwendung 205 das Content-Slot-Einfügungsscript 230, zusammen mit der Informationsressource 210, empfangen. Beispielsweise kann die Anwendung 205 das Content-Slot-Einfügungsscript 220, das in die Informationsressource 210 eingefügt ist, empfangen.
  • In einigen Implementierungen kann die Anwendung 205, bei Empfang der Informationsressource 210, eine Inhaltsabfrage an das Datenverarbeitungssystem 110 senden. Die Inhaltsabfrage kann eine Abfrage zu einem Inhaltselement Dritter sein. Beispielsweise kann die Informationsressource 210 einen Content-Slot Dritter einschließen, der computerausführbare Anweisungen enthalten kann, um die Anwendung 205 zu veranlassen, eine Inhaltsabfrage zu stellen und an das Datenverarbeitungssystem 110 zu übertragen. Wenn die computerausführbaren Anweisungen des Content-Slots Dritter als Teil der Informationsressource 110 ausgeführt werden, veranlassen die computerausführbaren Anweisungen die Anwendung 205 (über das Client-Gerät 125), eine Inhaltsabfrage zu senden und ein Inhaltselement Dritter vom Datenverarbeitungssystem 110 abzufragen. Die Inhaltsabfrage kann eine Adresse oder einen Identifier der Informationsressource 210, eine Angabe zum Inhaltstyp der Informationsressource, die Größen-Information zum Content-Slot Dritter, die Client-Geräte-Information, einen Mindest-Umsatzwert des Publishers oder eine Kombination daraus enthalten. In einigen Implementierungen kann die Inhaltsabfrage eine Angabe zu einem Content-Slot-Einfügungsscript 220 einschließen. In einigen Implementierungen kann die Inhaltsabfrage eine Abfrage zu einem Content-Slot-Einfügungsscript 220 einschließen.
  • Als Reaktion auf die Inhaltsabfrage kann die Anwendung 205 das Content-Slot-Einfügungsscript 220 vom Datenverarbeitungssystem 110 oder einem anderen Server empfangen. Beispielsweise kann die Anwendung 205 das Content-Slot-Einfügungsscript 220, zusammen mit einem Inhaltselement Dritter, für die Einfügung in den Content-Slot Dritter empfangen, das die Anweisungen enthält, die Inhaltsabfrage an das Datenverarbeitungssystem 110 zu senden. In einigen Implementierungen kann die Anwendung 205 das Content-Slot-Einfügungsscript 220 ohne Inhaltselement Dritter empfangen. In einigen Implementierungen kann die Anwendung 205 das Content-Slot-Einfügungsscript 220 mit einer Vielzahl an Inhaltselementen Dritter für die Einfügung in einen oder mehrere Content-Slots empfangen, die in die Informationsressource eingefügt werden können. Die Anwendung 205 (oder ein Prozessor des Client-Geräts 125) kann das Content-Slot-Einfügungsscript 220 ausführen. In einigen Implementierungen schließt die Ausführung des Content-Slot-Einfügungsscripts 220 die Ausführung des Ressourcenanalyse-Moduls 222, des Platzierungspositions-Moduls 225, des Positionsauswahl-Moduls 228, des Inhaltsanzeige-Moduls 230 oder eine Kombination daraus ein.
  • Das Ressourcenanalyse-Modul 222 kann eine oder mehrere computerausführbare Anweisungen enthalten, die auf dem Client-Gerät 125 ausgeführt werden können. Das Ressourcenanalyse-Modul 222 kann das Computergerät dazu veranlassen, die Document Object Model(DOM)-Baumstruktur der Informationsressource 210 zu identifizieren. Das Ressourcenanalyse-Modul 222 kann das Client-Gerät 125 dazu veranlassen, die DOM-Baumstruktur der Informationsressource für die Untersuchung durch das Ressourcenanalyse-Modul 222 zu identifizieren. In einigen Implementierungen kann die Identifizierung der DOM-Baumstruktur der Informationsressource 210 den Zugriff auf die DOM-Baumstruktur der Informationsressource 210 einschließen. In einigen Implementierungen kann das Ressourcenanalyse-Modul 222 das Computergerät dazu veranlassen, eine DOM-Baumstruktur aus den Anweisungen zu erstellen, die in der Informationsressource enthalten sind, die vom Server des Content-Publishers der Informationsressource empfangen wurde. In einigen Implementierungen kann die Anwendung 205 computerausführbare Anweisungen enthalten, um die DOM-Baumstruktur der Informationsressource 210 zu erzeugen.
  • Das Ressourcenanalyse-Modul 222 kann das Client-Gerät 125 dazu veranlassen, ein oder mehrere DOM-Elemente zu identifizieren, die in der DOM-Baumstruktur der Informationsressource 210 enthalten sind, indem es die DOM-Baumstruktur der Informationsressource 210 untersucht. In einigen Implementierungen kann die Identifizierung eines oder mehrerer Elemente der DOM-Baumstruktur die Identifizierung eines oder mehrerer Vorgängerknoten der DOM-Baumstruktur und die Identifizierung von Elementen einschließen, die sichtbare Inhaltselemente in Verbindung mit dem/den identifizierten Vorgängerknoten darstellen. Beispielsweise kann das Ressourcenanalyse-Modul 222 den obersten Knoten in der DOM-Baumstruktur identifizieren, der die gesamte Informationsressource 210 repräsentiert. Das Ressourcenanalyse-Modul 222 kann einen Vorgängerknoten eines Unterbaumes der DOM-Baumstruktur identifizieren, der einen Bereich der Informationsressource 210 repräsentiert. Das Ressourcenanalyse-Modul 222 kann dann sichtbare Inhaltselemente bestimmen, die mit dem/den identifizierten Knoten in der DOM-Baumstruktur verbunden sind. In einigen Implementierungen kann das Ressourcenanalyse-Modul 222 die Elemente der DOM-Baumstruktur bestimmen, die die sichtbaren Inhaltselemente repräsentieren, indem die gesamte oder ein Teil der DOM-Baumstruktur geparst wird (beispielsweise ohne notwendigerweise die Vorgängerknoten der DOM-Baumstruktur oder der darin enthaltenen Unterbäume zu ermitteln).
  • Das Ressourcenanalyse-Modul 222 kann ein oder mehrere Elemente der DOM-Baumstruktur bestimmen, die sichtbare Inhaltselemente repräsentieren, beispielsweise durch Parsen oder Untersuchen der DOM-Baumstruktur oder eines Teils davon. In einigen Implementierungen kann das Ressourcenanalyse-Modul 222 sichtbare Inhaltselemente innerhalb der Informationsressource 210, anhand der Überprüfung des Typs, Namens oder anderer Attribute von Elementen in der DOM-Baumstruktur identifizieren. Beispiele für Elemente, die sichtbare Inhaltselemente repräsentieren, schließen einen Textknoten ein, der, unter anderem, ein Nicht-Zwischenraumzeichen, ein Bild, ein <HR> Tag, ein <!FRAME> Tag und <EMBED> Tag, ein <OBJECT> Tag, ein <VIDEO> Tag enthält. In einigen Implementierungen kann das Ressourcenanalyse-Modul, durch Überprüfung der Stil-Attribute eines Elements oder eines Vorgängers davon, ermitteln, dass ein Element ein sichtbares Inhaltselement repräsentiert. Beispielsweise, wenn ein „Sichtbarkeits“-Attribut oder ein „Überlauf“-Attribut, das mit einem gegebenen Element oder einem Vorgänger davon verbunden ist, verborgen wird, wäre dieses Element (oder ein damit verbundenes Element) nicht sichtbar, wenn die Informationsressource 210 angezeigt wird. Ein „Anzeige“-Attribut, das auf „none (keines)“ gesetzt ist, oder ein „Clip“-Attribut, das definiert wird, können dazu führen, dass das Element (oder das damit verbundene Element) nicht sichtbar ist, wenn die Informationsressource auf dem Client-Gerät 125 angezeigt wird.
  • Das Ressourcenanalyse-Modul 222 kann auch die Grenzen der identifizierten Elemente, die die sichtbaren Inhaltselemente repräsentieren, bestimmen. Beispielsweise kann das Ressourcenanalyse-Modul 222 die Grenzen jedes der identifizierten Elemente, die sichtbare Inhaltselemente aus der DOM-Baumstruktur repräsentieren, ermitteln. Diese Grenzen können beispielsweise von zwei oder mehr Ecken eines Rechtecks (oder Quadrats) und/oder den Koordinaten der linken, rechten, oberen und unteren Grenze definiert werden. Die Grenzen eines Elements, das ein sichtbares Inhaltselement repräsentiert, können definiert sein als Rechteck, das den gesamten sichtbaren Inhalt einschließt, wenn es auf dem Client-Gerät angezeigt wird. In einigen Implementierungen können die Koordinaten dieser Grenzen in Form absoluter Pixel von der oberen linken Ecke eines Browserfensters ausgedrückt werden. Die Identifizierung der Elemente der DOM-Baumstruktur, die sichtbare Inhaltselemente repräsentieren, und die Festlegung entsprechender Grenzen erlaubt die Bestimmung geeigneter Kandidaten für die Platzierungen des Inhalts Dritter (oder die Streichung nicht-geeigneter Kandidaten für die Platzierungen des Inhalts Dritter) bezüglich der Grenzen (oder Größen) der bestehenden sichtbaren Inhaltselemente. Beispielsweise können sichtbare Inhaltselemente mit einem Abmessungsparameter, der einen Mindestwert überschreitet, für die Einbindung zusätzlicher Platzierungspositionen des Inhalts Dritter ausgewählt werden.
  • Bei der Identifizierung eines oder mehrerer Elemente in der DOM-Baumstruktur kann das Platzierungspositions-Modul 225, wenn es auf dem Client-Gerät 125 ausgeführt wird, eine Vielzahl von Kandidaten für die Platzierungspositionen des Inhalts Dritter, auf der Grundlage einer Platzierungsrichtlinie zum Inhalt Dritter, bestimmen. In einigen Implementierungen kann die Platzierungsrichtlinie zum Inhalt Dritter Regeln auf der Grundlage der Abmessungen der identifizierten DOM-Elemente enthalten. In einigen Implementierungen kann das Platzierungspositions-Modul 225 eines oder mehrere identifizierte DOM-Elemente einschließen, die sichtbare Inhaltselemente repräsentieren, um die herum ein Kandidat für eine Platzierungsposition des Inhalts Dritter definiert werden kann. Das Platzierungspositions-Modul 225 kann diese Elemente auf der Grundlage entsprechender Größen (oder Begrenzungsinformationen) auswählen. Beispielsweise kann das Platzierungspositions-Modul 225 Elemente auswählen, die sichtbare Inhaltselemente mit entsprechenden Breiten oder Höhen repräsentieren, die größer (oder gleich) den typischen Breiten oder Höhen von Inhaltselementen Dritter sind. Das Platzierungspositions-Modul 225 kann dann den Kandidaten für die Platzierungspositionen des Inhalts Dritter neben den ausgewählten Elementen bestimmen. In einigen Implementierungen kann das Platzierungspositions-Modul 225 den Kandidaten für die Platzierungspositionen des Inhalts Dritter für die Einfügung der Inhaltselemente Dritter durch Analyse der Begrenzungsinformationen (wie Koordinaten) der identifizierten DOM-Elemente, die sichtbare Inhaltselemente repräsentieren, bestimmen. In einigen Implementierungen kann das Platzierungspositions-Modul 225 vordefinierte Mindestgrößen oder Abmessungswerte für Positionen oder Bereiche verwenden, die geeignet sind, um Inhaltselemente Dritter (wie Werbung) zu platzieren.
  • Nun auch bezugnehmend auf 3 ist 3 ist ein Blockdiagramm, das ein Layout einer Informationsressource 300 darstellt, das einen Kandidaten für die Platzierungspositionen des Inhalts Dritter einschließt, die vom Platzierungspositions-Modul 225 identifiziert wurden. Die Informationsressource (z. B. eine Webseite) 300 schließt ein Main Frame-Teil 302 und ein Side Frame-Teil 304 ein. Das Main Frame-Teil 302 schließt einen Kopfzeilenbereich 310, einen Bildbereich 312, einen ersten Textbereich 314 und einen zweiten Textbereich 316 ein. Der Kopfzeilenbereich 310 erstreckt sich über einen wesentlichen Teil des Main Frame-Teils 302. Das Side Frame-Teil schließt einen Bildbereich 306 und einen Textbereich 308 ein. Jeder dieser Bereiche kann mit entsprechenden Grenzen in der DOM-Baumstruktur verbunden sein.
  • Das Platzierungspositions-Modul 225 identifiziert die Bereiche 311 und 313 im Main Frame-Teil 302 und den Bereich 309 im Side Frame-Teil 304 als Kandidaten für die Platzierungspositionen des Inhalts Dritter auf der Grundlage der Abmessungen der DOM-Elemente, die ursprünglich in der Informationsressource 300 enthalten sind. Die Kandidaten-Platzierungsposition 311 ist definiert als horizontal verlängertes Rechteck, das zwischen dem Kopfzeilenbereich 310 und dem ersten Textbereich 314 angeordnet ist. Die Kandidaten-Platzierungsposition 313 ist definiert als horizontal verlängertes Rechteck, das zwischen dem ersten Textbereich 314 und dem zweiten Textbereich 316 angeordnet ist. Die Kandidaten-Platzierungsposition 309 ist definiert als vertikal verlängertes Rechteck, das innerhalb des Side Frame-Teils 304 neben (z. B. unter) dem Textbereich 308 angeordnet ist.
  • In einigen Implementierungen kann die Platzierungsrichtlinie zum Inhalt Dritter eine Regel oder Bedingung einschließen, die eine maximale Anzahl der zu bestimmenden Kandidaten für die Platzierungspositionen einschließt. Das Platzierungspositions-Modul 225 kann eine vorbestimmte Anzahl von Platzierungspositionen des Inhalts Dritter bestimmen und als Reaktion auf die Bestimmung, dass die vorbestimmte Anzahl der zu bestimmenden Kandidaten für die Platzierungspositionen überschritten wird, kann das Platzierungspositions-Modul 225 die Anweisungen zur Bestimmung der Kandidaten für die Platzierungspositionen des Inhalts Dritter beenden. Beispielsweise, wenn die vorbestimmte Anzahl von Platzierungspositionen des Inhalts Dritter gleich drei ist, kann das Platzierungspositions-Modul 225 den Prozess der Identifizierung von Kandidaten für die Platzierungspositionen beenden, sobald das Platzierungspositions-Modul 225 die ersten drei Kandidaten für die Platzierungspositionen des Inhalts Dritter identifiziert hat.
  • In einigen Implementierungen kann die Platzierungsrichtlinie zum Inhalt Dritter weitere Regeln oder Bedingungen für die Kandidaten-Platzierungspositionen einschließen. Beispielsweise kann unter Berücksichtigung des Beispiels in 3 das Platzierungspositions-Modul 225 so gestaltet sein, dass es die Kandidaten-Platzierungspositionen nicht über dem Kopfzeilenbereich 310, rechts neben dem Side Frame-Teil 304, definiert. In einigen Implementierungen kann die Platzierungsrichtlinie Regeln einschließen, um eine Verwechslung von Positionen zu verhindern, wie beispielsweise zwischen einem Bild und einem entsprechenden Bildtext (wie zwischen dem Bildteil 306 und dem Textteil 308). In einigen Implementierungen kann die Platzierungsrichtlinie Regeln für die Auswahl von Platzierungspositionen des Inhalts Dritter auf der Grundlage der Eigenschaften oder Informationen, die mit einer Webseite der Informationsressource verbunden sind, einschließen. Beispielsweise, wenn die Platzierungspositionen des Inhalts Dritter ermittelt werden, kann das Platzierungspositions-Modul 225 das Client-Gerät dazu veranlassen, das Webseiten-Format, den Webseiten-Inhalt zu berücksichtigen und/oder ob die Webseite als mobile Anwendung optimiert ist oder nicht. Beispielsweise kann das Platzierungspositions-Modul 225 das Client-Gerät dazu veranlassen, die Größe(n) und die Anzahl der Kandidaten für die Platzierungspositionen des Inhalts Dritter einzustellen, die auf der Grundlage der Anzahl von Bildern oder Videos in der Informationsressource identifiziert werden sollen. Das Platzierungspositions-Modul 225 kann das Client-Gerät auch dazu veranlassen, die Größe(n) und/oder die Anzahl der zu identifizierenden Platzierungspositionen zu reduzieren, wenn die Webseite für mobile Anwendungen optimiert ist. Das Platzierungspositions-Modul 225 kann das Client-Gerät auch veranlassen, zu bestimmen, ob die Webseite ein responsives Webdesign hat oder nicht, wenn die Platzierungspositionen des Inhalts Dritter identifiziert werden. In einigen Implementierungen kann das Platzierungspositions-Modul 225 das Client-Gerät dazu veranlassen, die Identifizierung von Positionen neben Richtungspfeilen, „Next“-Schaltflächen oder anderen Symbolen zu verhindern, die eingesetzt werden, um durch verschiedene Webseiten (oder Folien) der Internetpräsenz zu navigieren und die Anzahl der unbeabsichtigten Interaktionen mit den Werbeanzeigen an diesen Positionen zu reduzieren.
  • In einigen Implementierungen kann das Platzierungspositions-Modul 225 historische Leistungsdaten (wie Daten zu Klickraten) für bestehende oder früher verwendete Platzierungspositionen auf der Publisher-Webseite oder anderen Webseiten anwenden, um die Platzierungspositionen des Inhalts Dritter zu bestimmen. Beispielsweise kann das Platzierungspositions-Modul 225 die Auswahl von Positionen verhindern, von denen bekannt ist, dass sie zu niedrigen Klickraten führen, oder von Positionen, die eine hohe Anzahl an Klickraten niedriger Qualität haben. In einigen Implementierungen kann die Informationsressource 210 kontextuelle Hinweise (wie verborgenen Text, der die mögliche Einfügung einer Werbeanzeige an einer gegebenen Position anzeigt) auf Stellen enthalten, die als Platzierungspositionen des Inhalts Dritter eingesetzt werden können. Das Platzierungspositions-Modul 225 (oder das Inhalt-Einfügungsscript 220) kann so gestaltet sein, dass es diese kontextuellen Hinweise bei der Identifizierung der Kandidaten für die Platzierungspositionen anwendet.
  • Das Positionsauswahl-Modul 228 kann, wenn es auf dem Client-Gerät ausgeführt wird, das Client-Gerät dazu veranlassen, einen der bestimmten Vielzahl von Kandidaten der Platzierungspositionen des Inhalts Dritter für die Einfügung eines Content-Slots Dritter (wie einen Werbe-Slot) auszuwählen. Beispielsweise kann das Positionsauswahl-Modul 228 das Client-Gerät dazu veranlassen, eine Platzierungsposition des Inhalts Dritter unter den bestimmten Kandidaten-Platzierungspositionen auszuwählen, das heißt zwischen zwei benachbarten DOM-Elementen, die eine Breite aufweisen, die größer ist als ein vorbestimmter Grenzwert einer Breite der Informationsressource. Beispielsweise kann der vorbestimmte Grenzwert bei 80%, 85%, 90% oder einer anderen Prozentzahl der Breite der Informationsressource 210 liegen. Wenn man das Beispiel in 3 betrachtet, ist die Kandidaten-Platzierungsposition 311 zwischen dem Kopfzeilenbereich 310 und dem ersten Textbereich 314 angeordnet. Wenn der vorbestimmte Grenzwert bei 30% der Breite der Informationsressource liegt, hat sowohl der Kopfzeilenbereich 310 als auch der erste Textbereich 314 eine entsprechende Breite, die 30% der Breite der Informationsressource 310 überschreitet. Dementsprechend kann das Positionsauswahl-Modul 228 den Kandidaten für die Platzierungsposition 311 auswählen. Aus ähnlichen Gründen und durch Vergleich der Breiten des ersten Textbereichs 314 und des zweiten Textbereichs 316, kann das Positionsauswahl-Modul 228 das Client-Gerät dazu veranlassen, die Kandidaten-Platzierungsposition 313 auszuwählen. In einigen Implementierungen kann das Positionsauswahl-Modul 228 das Client-Gerät dazu veranlassen, die bestimmten Kandidaten für die Platzierungspositionen, auf der Grundlage eines oder mehrerer Kriterien, zu klassifizieren und eine Platzierungsposition des Inhalts Dritter, auf der Grundlage der Klassifizierung der bestimmten Kandidaten für die Platzierungspositionen des Inhalts Dritter, auszuwählen.
  • Bei der Auswahl einer Platzierungsposition des Inhalts Dritter, kann das Positionsauswahl-Modul 228 (oder das Inhaltsanzeige-Modul 230) das Client-Gerät dazu veranlassen, einen Content-Slot Dritter (z. B. einen Werbe-Slot) an der ausgewählten Platzierungsposition des Inhalts Dritter einzufügen. Der Content-Slot Dritter kann computerausführbare Anweisungen einschließen, die, wenn sie auf dem Client-Gerät 125 ausgeführt werden, das Client-Gerät 125 dazu veranlassen, eine Abfrage zu einem Inhaltselement Dritter (wie einer Werbung) aus dem Datenverarbeitungssystem 110 zu starten. Das Client-Gerät 125 kann eine Inhaltsabfrage Dritter senden, die beispielsweise eine Adresse oder einen Identifier der Informationsressource, die Angabe des Inhaltstyps, der mit der Informationsressource verbunden ist, die Größen-Information zum Content-Slot Dritter, die Client-Geräte-Information oder eine Kombination daraus enthält. Als Reaktion auf die Abfrage zu Inhalten Dritter, die an das Datenverarbeitungssystem 110 gesendet wurde, kann das Client-Gerät ein Inhaltselement Dritter für die Anzeige am eingefügten Content-Slot Dritter empfangen.
  • Bei Empfang eines Inhaltselements Dritter aus dem Datenverarbeitungssystem, kann das Inhaltsanzeige-Modul 230 das Client-Gerät 125 dazu veranlassen, das empfangene Inhaltselement Dritter am eingefügten Content-Slot Dritter anzuzeigen. In einigen Implementierungen kann das Inhaltsanzeige-Modul 230 das Client-Gerät dazu veranlassen, einen Umsatzerlös, der der Anzeige des empfangenen Inhaltselements Dritter entspricht, zu ermitteln und den Umsatzerlös mit einem vorbestimmten Grenzwert zu vergleichen. Bei der Feststellung, dass der Umsatzerlös den vorbestimmten Grenzwert überschreitet, kann das Inhaltsanzeige-Modul 230 das Client-Gerät 125 dazu veranlassen, das Inhaltselement Dritter für die Anzeige in der Informationsressource auszuwählen.
  • In einigen Implementierungen kann das Inhaltsanzeige-Modul 230 das Client-Gerät dazu veranlassen, (eine) Angabe(n) zu den Umsatzerlösen zu empfangen, die einer Vielzahl von Inhaltselementen Dritter für die Anzeige in einer Vielzahl von Content-Slots Dritter, die in die Informationsressource 210 durch das Positionsauswahl-Modul 228 eingefügt wurden, zugeordnet sind. Das Inhaltsanzeige-Modul 230 kann so gestaltet sein, dass es das Client-Gerät dazu veranlasst, eine Untermenge der Inhaltselemente Dritter, auf der Grundlage der Umsatzerlöse für die Anzeige in der Untermenge der Content-Slots Dritter, auszuwählen. Beispielsweise können im Webseiten-Layout in 3 drei Content-Slots Dritter vom Positionsauswahl-Modul 228 an den Platzierungspositionen 311, 313 und 309 eingefügt werden. Das Inhaltsanzeige-Modul 230 kann das Client-Gerät dazu veranlassen, Inhaltselemente Dritter mit Angaben zu den entsprechenden Umsatzerlösen zu empfangen und nur die beiden Inhaltselemente Dritter mit den höchsten Umsatzerlösen für die Anzeige in den an den Positionen 311 und 313 eingefügten Slots auszuwählen.
  • In einigen Implementierungen kann das Inhaltsanzeige-Modul 230 das Client-Gerät dazu veranlassen, zu bestimmen, ob das empfangene Inhaltselement Dritter angezeigt werden soll oder nicht, auch wenn festgestellt wird, dass der Umsatzerlös einen Grenzwert überschreitet. Beispielsweise kann das Inhaltsanzeige-Modul 230 das Client-Gerät 125 dazu veranlassen, eine Entscheidung hinsichtlich der Frage zu treffen, ob das Inhaltselement Dritter angezeigt werden soll oder nicht (wenn der Umsatzerlös den Grenzwert überschreitet), basierend auf den Inhaltstyp, der dem empfangenen Inhaltselement Dritter zugeordnet ist, dem Typ des Inhaltselements Dritter (z. B. Text, Bild oder Video), einer Klickrate, die mit dem Inhaltselement Dritter verbunden ist, oder anderen Kriterien. In einigen Implementierungen kann das Inhaltsanzeige-Modul 230 so gestaltet sein, dass das Client-Gerät die empfangenen Inhaltselemente Dritter auf der Grundlage entsprechender Klickraten filtert.
  • In einigen Implementierungen kann das Inhaltsanzeige-Modul 230 das Client-Gerät 125 dazu veranlassen, eine Anzahl bestehender Platzierungspositionen des Inhalts Dritter zu identifizieren (wie den Bildbereich 306 und den Textbereich 308 in 3), die in der Informationsressource 210 angezeigt werden sollen. Beispielsweise kann das Inhaltsanzeige-Modul 230 so gestaltet sein, dass es das Client-Gerät dazu veranlasst, die Anzahl der Werbe-Slots, die es in der Informationsressource gibt, zu prüfen, bevor zusätzliche Ressourcen eingefügt werden. Das Inhaltsanzeige-Modul 230 kann das Client-Gerät dazu veranlassen, die Anzahl der bestehenden Platzierungspositionen des Inhalts Dritter durch Überprüfung der DOM-Baumstruktur oder eines Quellcodes der Informationsressource 210 zu ermitteln. Das Inhaltsanzeige-Modul 230 kann das Client-Gerät dazu veranlassen, die Anzahl der bestehenden Platzierungspositionen des Inhalts Dritter mit einer vorbestimmten Anzahl von Platzierungspositionen des Inhalts Dritter zu vergleichen. Die vorbestimmte Anzahl von Platzierungspositionen des Inhalts Dritter kann repräsentativ für eine spezifische Anzahl oder eine maximale Anzahl von Platzierungspositionen des Inhalts Dritter sein, die in der Informationsressource 210 enthalten sein können. In einigen Implementierungen kann das Inhaltsanzeige-Modul 230 das Client-Gerät dazu veranlassen, die vorbestimmte Anzahl der Platzierungspositionen des Inhalts Dritter aus der Informationsressource 210 oder der Anwendung 205 zu erhalten. Basierend auf den Vergleich, kann das Inhaltsanzeige-Modul 230 das Client-Gerät 125 dazu veranlassen, zu bestimmen, ob das Inhaltselement Dritter angezeigt werden soll oder nicht. Beispielsweise bei der Feststellung, dass die Anzahl der bestehenden Platzierungspositionen des Inhalts Dritter geringer ist als die vorbestimmte Anzahl der Platzierungspositionen des Inhalts Dritter, kann das Client-Gerät 125 das empfangene Inhaltselement Dritter anzeigen. In einigen Implementierungen kann das Client-Gerät 125 bestimmen, das Inhaltselement Dritter bei der Feststellung, dass die Anzahl der bestehenden Platzierungspositionen des Inhalts Dritter größer oder gleich ist als die vorbestimmte Anzahl von Platzierungspositionen des Inhalts Dritter, nicht anzuzeigen.
  • 4 ist ein Flussdiagramm, das ein Verfahren 400 für die Einfügung von zusätzlichen Content-Slots Dritter in eine Webseite, gemäß einer veranschaulichenden Implementierung darstellt. Kurz gesagt kann das Verfahren 400 ein Client-Gerät einschließen, das eine Informationsressource empfängt, die mit einem entsprechenden Publisher verbunden ist (BLOCK 405), und eine Abfrage zu einem Inhalt Dritter an ein Datenverarbeitungssystem überträgt (BLOCK 410). Das Verfahren 400 kann das Datenverarbeitungssystem enthalten, das die Abfrage zu Inhalten Dritter empfängt (BLOCK 415) und als Reaktion ein Content-Slot-Einfügungsscript an das Client-Gerät überträgt (BLOCK 420). Das Verfahren 400 kann auch das Client-Gerät einschließen, das das Content-Slot-Einfügungsscript vom Datenverarbeitungssystem empfängt (BLOCK 425). Das Verfahren 400 kann auch, bei Ausführung des Content-Slot-Einfügungsscripts, einschließen, dass das Client-Gerät die DOM-Baumstruktur der Informationsressource identifiziert (BLOCK 430), ein oder mehrere Elemente in der DOM-Baumstruktur identifiziert (BLOCK 435), einen oder mehrere Kandidaten für die Platzierungspositionen zur Anzeige Inhalte Dritter identifiziert (BLOCK 440), eine Platzierungsposition unter den Kandidaten für die Platzierungspositionen auswählt (BLOCK 445) und ein Inhaltselement Dritter an den ausgewählten Platzierungspositionen anzeigt (BLOCK 450).
  • Das Verfahren 400 kann einschließen, dass das Client-Gerät eine Informationsressource von einem Server eines Content-Publishers der Informationsressource oder einem Server empfängt, der die Informationsressource hostet (BLOCK 405). Beispielsweise kann das Client-Gerät oder eine Anwendung darauf eine Abfrage an den Server senden, die eine Adresse oder einen Identifier der Informationsressource enthält, und als Reaktion darauf die Informationsressource empfangen. In einigen Implementierungen, in denen der Server das Datenverarbeitungssystem ist, kann das Client-Gerät das Content-Slot-Einfügungsscript, zusammen mit der Informationsressource, empfangen. Beispielsweise kann das Client-Gerät das Content-Slot-Einfügungsscript, das in die Informationsressource eingefügt ist, empfangen.
  • Das Verfahren 400 kann einschließen, dass das Client-Gerät bei Empfang der Informationsressource eine Inhaltsabfrage an ein Datenverarbeitungssystem sendet (BLOCK 410). Die Inhaltsabfrage kann eine Abfrage zu einem Inhaltselement Dritter sein. Beispielsweise kann die Informationsressource einen Content-Slot Dritter enthalten, der computerausführbare Anweisungen einschließen kann, um das Client-Gerät dazu zu veranlassen, eine Inhaltsabfrage zu erzeugen und an das Datenverarbeitungssystem zu übertragen. Wenn die computerausführbaren Anweisungen des Content-Slots Dritter als Teil der Informationsressource ausgeführt werden, können die computerausführbaren Anweisungen das Client-Gerät dazu veranlassen, eine Inhaltsabfrage zu senden, die eine Abfrage zu einem Inhaltselement Dritter an das Datenverarbeitungssystem stellt. Die Inhaltsabfrage kann eine Adresse oder einen Identifier der Informationsressource, eine Angabe zum Inhaltstyp der Informationsressource, eine Größen-Information zum Content-Slot Dritter, Client-Geräte-Informationen, einen Mindest-Umsatzerlös des Publishers oder eine Kombination daraus einschließen. In einigen Implementierungen kann die Inhaltsabfrage eine Angabe zum Content-Slot-Einfügungsscript einschließen. In einigen Implementierungen kann die Inhaltsabfrage eine Abfrage zu einem Content-Slot-Einfügungsscript einschließen.
  • Das Verfahren 400 kann das Datenverarbeitungssystem enthalten, das die Inhaltsabfrage empfängt (BLOCK 415) und, als Reaktion, einen Content-Slot an das Client-Gerät überträgt (BLOCK 420). Wie oben in Bezug auf 1 angesprochen, kann das Datenverarbeitungssystem auf der Grundlage der Informationen, die im Content-Slot-Einfügungsscript enthalten sind, bestimmen, dass das Content-Slot-Einfügungsscript an das Client-Gerät gesendet werden soll. In einigen Implementierungen kann das Datenverarbeitungssystem das Content-Slot-Einfügungsscript, zusammen mit einem oder mehreren Inhaltselementen Dritter, an das Client-Gerät senden. In einigen Implementierungen kann das Datenverarbeitungssystem auf die Inhaltsabfrage antworten, indem es das Content-Slot-Einfügungsscript an das Client-Gerät sendet, ohne ein drittes Inhaltselement Dritter zu senden
  • Das Verfahren 400 kann einschließen, dass das Client-Gerät das Content-Slot-Einfügungsscript vom Datenverarbeitungssystem oder einem anderen Server empfängt. Beispielsweise kann das Client-Gerät das Content-Slot-Einfügungsscript, zusammen mit einem Inhaltselement Dritter, für die Einfügung in den Content-Slot Dritter empfangen, der die Anweisungen enthielt, die Inhaltsabfrage an das Datenverarbeitungssystem zu senden. In einigen Implementierungen kann das Client-Gerät das Content-Slot-Einfügungsscript ohne Inhaltselement Dritter empfangen. In einigen Implementierungen kann das Client-Gerät das Content-Slot-Einfügungsscript mit einer Vielzahl von Inhaltselementen Dritter für die Einfügung in einen oder mehrere Content-Slots empfangen, die in die Informationsressource eingefügt werden können. Das Client-Gerät (oder ein Prozessor darin) kann das Content-Slot-Einfügungsscript ausführen.
  • Das Verfahren 400 kann einschließen, dass das Client-Gerät die DOM-Baumstruktur der Informationsressource identifiziert (BLOCK 430). In einigen Implementierungen kann die Identifizierung der DOM-Baumstruktur der Informationsressource die Identifizierung des Namens oder der Adresse einer Datei, die in der DOM-Baumstruktur enthalten ist, und das Öffnen der Datei einschließen. In einigen Implementierungen kann die Identifizierung der DOM-Baumstruktur der Informationsressource die Bewertung oder das Parsen der DOM-Baumstruktur der Informationsressource einschließen. In einigen Implementierungen kann das Client-Gerät eine DOM-Baumstruktur aus den Anweisungen erstellen, die in der Informationsressource enthalten sind, die vom Server des Content-Publishers der Informationsressource empfangen wurde. In einigen Implementierungen kann eine Anwendung des Client-Geräts computerausführbare Anweisungen enthalten, um die DOM-Baumstruktur der Informationsressource zu erzeugen.
  • Das Verfahren 400 kann einschließen, dass das Client-Gerät ein oder mehrere DOM-Elemente identifiziert, die in der DOM-Baumstruktur der Informationsressource enthalten sind, indem es die DOM-Baumstruktur der Informationsressource untersucht (BLOCK 435). Das Client-Gerät kann ein oder mehrere Elemente der DOM-Baumstruktur bestimmen, die sichtbare Inhaltselemente repräsentieren, beispielsweise durch Parsen oder Untersuchen der DOM-Baumstruktur oder eines Teils davon. In einigen Implementierungen kann das Client-Gerät sichtbare Inhaltselemente innerhalb der Informationsressource, anhand der Überprüfung des Typs, Namens oder anderer Attribute von Elementen in der DOM-Baumstruktur, identifizieren. Beispiele für Elemente, die sichtbare Inhaltselemente repräsentieren, schließen einen Textknoten ein, der, unter anderem, ein Nicht-Zwischenraumzeichen, ein Bild, ein <HR> Tag, ein <!FRAME> Tag und <EMBED> Tag, ein <OBJECT> Tag, ein <VIDEO> Tag enthält. In einigen Implementierungen kann das Ressourcenanalyse-Modul, durch Überprüfung der Stil-Attribute eines Elements oder eines Vorgängers davon, ermitteln, dass ein Element ein sichtbares Inhaltselement repräsentiert. Beispielsweise, wenn ein „Sichtbarkeits“-Attribut oder ein „Überlauf“-Attribut, das einem gegebenen Element oder einem Vorgänger davon zugeordnet ist, verborgen wird, wäre dieses Element (oder ein damit verbundenes Element) nicht sichtbar, wenn die Informationsressource angezeigt wird. Ein „Anzeige“-Attribut, das auf „none (keines)“ gesetzt ist, oder ein „Clip“-Attribut, das definiert wird, können dazu führen, dass das Element (oder das damit verbundene Element) nicht sichtbar ist, wenn die Informationsressource auf dem Client-Gerät angezeigt wird.
  • Das Client-Gerät kann auch die Grenzen der identifizierten Elemente, die die sichtbaren Inhaltselemente repräsentieren, bestimmen. Beispielsweise kann das Client-Gerät die Grenzen jedes der identifizierten Elemente, die sichtbare Inhaltselemente aus der DOM-Baumstruktur repräsentieren, ermitteln. Diese Grenzen können beispielsweise von zwei oder mehr Ecken eines Rechtecks (oder Quadrats) und/oder den Koordinaten der linken, rechten, oberen und unteren Grenze definiert werden. Die Grenzen eines Elements, das ein sichtbares Inhaltselement repräsentiert, können definiert sein als Rechteck, das den gesamten sichtbaren Inhalt einschließt, wenn es auf dem Client-Gerät angezeigt wird. In einigen Implementierungen können die Koordinaten dieser Grenzen in Form absoluter Pixel von der oberen linken Ecke eines Browserfensters ausgedrückt werden. Die Identifizierung von Elementen der DOM-Baumstruktur, die sichtbare Inhaltselemente repräsentieren, und die Bestimmung entsprechender Grenzen erlauben die Bestimmung von Bereichen der Informationsressource, die nicht überlappt werden dürfen, wenn zusätzliche Platzierungspositionen des Inhalts Dritter eingefügt werden.
  • Das Verfahren 400 kann einschließen, dass das Client-Gerät eine Vielzahl von Kandidaten für die Platzierungspositionen des Inhalts Dritter in der DOM-Baumstruktur auf der Grundlage einer Platzierungsrichtlinie zum Inhalt Dritter bestimmt (BLOCK 440). In einigen Implementierungen kann die Platzierungsrichtlinie zum Inhalt Dritter Regeln auf der Grundlage der Abmessungen der identifizierten DOM-Elemente enthalten. In einigen Implementierungen kann das Client-Gerät ein oder mehrere identifizierte DOM-Elemente einschließen, die sichtbare Inhaltselemente repräsentieren, um die herum ein Kandidat für eine Platzierungsposition des Inhalts Dritter definiert werden kann. Das Client-Gerät kann diese Elemente auf der Grundlage entsprechender Größen (oder Begrenzungsinformationen) auswählen. Beispielsweise kann das Client-Gerät Elemente auswählen, die sichtbare Inhaltselemente mit entsprechenden Breiten oder Höhen repräsentieren, die größer (oder gleich) den typischen Breiten oder Höhen von Inhaltselementen Dritter sind. Das Client-Gerät kann dann den Kandidaten für die Platzierungspositionen des Inhalts Dritter neben den ausgewählten Elementen bestimmen. In einigen Implementierungen kann das Client-Gerät den Kandidaten für die Platzierungspositionen des Inhalts Dritter für die Einfügung der Inhaltselemente Dritter durch Analyse der Begrenzungsinformationen (wie Koordinaten, Breite oder Höhe) der identifizierten DOM-Elemente, die sichtbare Inhaltselemente repräsentieren, bestimmen. In einigen Implementierungen kann das Client-Gerät 125 vordefinierte Mindestgrößen oder Abmessungswerte für Positionen oder Bereiche verwenden, die geeignet sind, um Inhaltselemente Dritter (wie Werbung) zu platzieren.
  • Wie oben in Bezug auf 3 angesprochen wurde, kann das Client-Gerät die Bereiche 311 und 313 im Main Frame-Teil 302 und den Bereich 309 im Side Frame-Teil 304 als Kandidaten für die Platzierungspositionen des Inhalts Dritter auf der Grundlage der Abmessungen der DOM-Elemente, die ursprünglich in der Informationsressource 300 enthalten sind, identifizieren. Beispielsweise kann der Bereich 311 auf der Grundlage der Breite des Kopfzeilen-Teils 310 identifiziert werden, während der Bereich 313 auf der Grundlage der Breite des zweiten Text-Teils 316 identifiziert werden kann.
  • In einigen Implementierungen kann die Platzierungsrichtlinie zum Inhalt Dritter eine Regel oder Bedingung einschließen, die eine maximale Anzahl der zu bestimmenden Kandidaten für die Platzierungspositionen einschließt. Das Client-Gerät kann eine vorbestimmte Anzahl von Platzierungspositionen des Inhalts Dritter bestimmen, und als Reaktion auf die Bestimmung, dass die vorbestimmte Anzahl der Kandidaten für die Platzierungspositionen des Inhalts Dritter überschritten wird, kann das Client-Gerät die Anweisungen zur Bestimmung der Kandidaten für die Platzierungspositionen des Inhalts Dritter beenden. Beispielsweise, wenn die vorbestimmte Anzahl von Platzierungspositionen des Inhalts Dritter gleich drei ist, kann das Client-Gerät den Prozess der Identifizierung von Kandidaten für die Platzierungspositionen beenden, sobald das Client-Gerät die ersten drei Kandidaten für die Platzierungspositionen des Inhalts Dritter identifiziert hat.
  • In einigen Implementierungen kann die Platzierungsrichtlinie zum Inhalt Dritter weitere Regeln einschließen, die den Kandidaten-Platzierungspositionen Bedingungen auferlegen. Beispielsweise kann unter Berücksichtigung des Beispiels in 3 das Client-Gerät so gestaltet sein, dass es die Kandidaten-Platzierungspositionen nicht über dem Kopfzeilenbereich 310 oder rechts neben dem Side Frame-Teil 304, definiert.
  • In einigen Implementierungen kann die Platzierungsrichtlinie Regeln einschließen, um eine Verwechslung von Positionen zu verhindern, wie beispielsweise zwischen einem Bild und einem entsprechenden Bildtext (wie zwischen dem Bildteil 306 und dem Textteil 308). In einigen Implementierungen kann die Platzierungsrichtlinie Regeln für die Auswahl von Platzierungspositionen des Inhalts Dritter auf der Grundlage der Eigenschaften oder Informationen, die mit einer Webseite der Informationsressource verbunden sind, einschließen. Beispielsweise, wenn die Platzierungspositionen des Inhalts Dritter ermittelt werden, kann das Client-Gerät das Webseiten-Format, den Webseiten-Inhalt berücksichtigen und/oder ob die Webseite als mobile Anwendung optimiert ist oder nicht. Beispielsweise kann das Client-Gerät die Größe(n) und die Anzahl der Kandidaten für die Platzierungspositionen des Inhalts Dritter einstellen, die auf der Grundlage der Anzahl von Bildern oder Videos in der Informationsressource identifiziert werden sollen. Das Client-Gerät kann auch die Größe(n) und/oder die Anzahl der zu identifizierenden Platzierungspositionen reduzieren, wenn die Webseite für mobile Anwendungen optimiert ist. Das Client-Gerät kann auch bestimmen, ob die Webseite ein responsives Webdesign hat oder nicht, wenn die Platzierungspositionen des Inhalts Dritter identifiziert werden. Beispielsweise kann das Client-Gerät Positionen neben Richtungspfeilen, „Next“-Schaltflächen oder anderen Symbolen verhindern, die eingesetzt werden, um durch verschiedene Webseiten (oder Folien) der Internetpräsenz zu navigieren. In einigen Implementierungen kann das Client-Gerät historische Leistungsdaten (wie Daten zu Klickraten) für bestehende oder früher verwendete Platzierungspositionen auf der Publisher-Webseite oder anderen Webseiten anwenden, um die Platzierungspositionen des Inhalts Dritter zu bestimmen. Beispielsweise kann das Client-Gerät die Auswahl von Positionen verhindern, von denen bekannt ist, dass sie zu
    geringen Klickraten führen. In einigen Implementierungen kann die Informationsressource kontextuelle Hinweise (wie verborgenen Text, der die mögliche Einfügung einer Werbeanzeige an einer gegebenen Position anzeigt) auf Stellen enthalten, die als Platzierungspositionen des Inhalts Dritter eingesetzt werden können. Das Inhalts-Einfügungsscript kann so gestaltet sein, dass es das Client-Gerät dazu veranlasst, diese kontextuellen Hinweise zu lesen und zu nutzen, wenn Kandidaten-Platzierungspositionen identifiziert werden.
  • Das Verfahren 400 kann einschließen, dass das Client-Gerät einen der bestimmten Vielzahl von Kandidaten für die Platzierungspositionen des Inhalts Dritter für die Einfügung eines Content-Slots Dritter (BLOCK 445) auswählt. Beispielsweise kann das Client-Gerät eine Platzierungsposition des Inhalts Dritter unter den bestimmten Kandidaten-Platzierungspositionen auswählen, die zwischen zwei benachbarten DOM-Elementen liegt, die eine Breite aufweisen, die größer ist als ein vorbestimmter Grenzwert einer Breite der Informationsressource. Beispielsweise kann der vorbestimmte Grenzwert bei 30%, 40%, 50% oder einer anderen Prozentzahl der Breite der Informationsressource liegen. Wenn man das Webseiten-Layout in 3 betrachtet, ist die Kandidaten-Platzierungsposition 311 zwischen dem Kopfzeilenbereich 310 und dem ersten Textbereich 314 angeordnet. Wenn der vorbestimmte Grenzwert bei 30% der Breite der Informationsressource liegt, hat sowohl der Kopfzeilenbereich 310 als auch der erste Textbereich 314 eine entsprechende Breite, die 30% der Breite der Informationsressource 310 überschreitet. Dementsprechend kann das Client-Gerät den Kandidaten für die Platzierungsposition 311 auswählen. Aus ähnlichen Gründen und durch Vergleich der Breiten des ersten Textbereichs 314 und des zweiten Textbereichs 316, kann das Client-Gerät die Kandidaten-Platzierungsposition 313 auswählen. In einigen Implementierungen kann das Client-Gerät die bestimmten Kandidaten für die Platzierungspositionen des Inhalts Dritter, auf der Grundlage eines oder mehrerer Kriterien, klassifizieren und eine Platzierungsposition des Inhalts Dritter, auf der Grundlage der Klassifizierung der bestimmten Kandidaten für die Platzierungspositionen des Inhalts Dritter, auswählen.
  • Bei der Auswahl einer Platzierungsposition des Inhalts Dritter, kann das Client-Gerät 125 einen Content-Slot Dritter (z. B. einen Werbe-Slot) an der ausgewählten Platzierungsposition des Inhalts Dritter einfügen. Der Content-Slot Dritter kann computerausführbare Anweisungen einschließen, die, wenn sie auf dem Client-Gerät ausgeführt werden, das Client-Gerät dazu veranlassen, eine Abfrage zu einem Inhaltselement Dritter (wie einer Werbung) aus dem Datenverarbeitungssystem zu stellen. Das Client-Gerät kann eine Abfrage zu Inhalten Dritter senden, die beispielsweise eine Adresse oder einen Identifier der Informationsressource, eine Angabe zum Inhaltstyp, der mit der Informationsressource verbunden ist, die Größen-Information zum Content-Slot Dritter, die Client-Geräte-Information oder eine Kombination daraus einschließt. Als Reaktion auf die Abfrage zu Inhalten Dritter, die an das Datenverarbeitungssystem gesendet wurde, kann das Client-Gerät ein Inhaltselement Dritter für die Anzeige am eingefügten Content-Slot Dritter empfangen.
  • Das Verfahren 400 kann einschließen, dass das Client-Gerät ein Inhaltselement Dritter aus dem Datenverarbeitungssystem empfängt und das empfangene Inhaltselement Dritter im eingefügten Content-Slot Dritter anzeigt (BLOCK 450). In einigen Implementierungen kann das Client-Gerät einen Umsatzerlös ermitteln, der zu der Anzeige des empfangenen Inhaltselements Dritter gehört, und den Umsatzerlös mit einem vorbestimmten Grenzwert vergleichen. Bei der Bestimmung, dass der Umsatzerlös den vorbestimmten Grenzwert überschreitet, kann das Client-Gerät das Inhaltselement Dritter für die Anzeige in der Informationsressource auswählen. In einigen Implementierungen kann das Client-Gerät (eine) Angabe(n) zu den Umsatzerlösen empfangen, die mit einer Vielzahl von Inhaltselementen Dritter für die Anzeige in einer Vielzahl von Content-Slots Dritter, die in die Informationsressource eingefügt wurden, verbunden sind. Das Client-Gerät kann so gestaltet sein, dass es eine Untermenge der Inhaltselemente Dritter, auf der Grundlage der Umsatzerlöse für die Anzeige in einer Untermenge der Content-Slots Dritter, auswählen kann. Beispielsweise können im Webseiten-Layout in 3 drei Content-Slots Dritter durch das Client-Gerät an den Platzierungspositionen 311, 313 und 309 eingefügt werden. Das Client-Gerät kann drei Inhaltselemente Dritter mit Angaben zu den entsprechenden Umsatzerlösen empfangen und nur die beiden Inhaltselemente Dritter mit den höchsten Umsatzerlösen für die Anzeige in den an den Positionen 311 und 313 eingefügten Slots auswählen.
  • In einigen Implementierungen kann das Client-Gerät noch bestimmen, ob das empfangene Inhaltselement Dritter angezeigt werden soll oder nicht, auch wenn festgestellt wird, dass der Umsatzerlös den Grenzwert überschreitet. Beispielsweise kann das Client-Gerät eine Entscheidung hinsichtlich der Frage treffen, ob das Inhaltselement Dritter angezeigt werden soll oder nicht (wenn der Umsatzerlös den Grenzwert überschreitet), auf der Grundlage des Inhaltstyps, der dem empfangenen Inhaltselement Dritter zugeordnet ist, des Typs des Inhaltselements Dritter (z. B. Text, Bild oder Video), einer Klickrate, die mit dem Inhaltselement Dritter verbunden ist, oder anderer Kriterien. In einigen Implementierungen kann das Client-Gerät so gestaltet sein, dass es die empfangenen Inhaltselemente Dritter auf der Grundlage entsprechender Klickraten filtert.
  • In einigen Implementierungen kann das Client-Gerät eine Anzahl bestehender Platzierungspositionen des Inhalts Dritter identifizieren (wie den Bildbereich 306 und den Textbereich 308 in 3), die in der Informationsressource angezeigt werden sollen. Beispielsweise kann das Client-Gerät so gestaltet sein, dass es die Anzahl der Werbe-Slots, die es in der Informationsressource gibt, prüft, bevor zusätzliche Ressourcen eingefügt werden. Das Client-Gerät kann die Anzahl der bestehenden Platzierungspositionen des Inhalts Dritter durch Überprüfung der DOM-Baumstruktur oder eines Quellcodes der Informationsressource ermitteln. Das Client-Gerät kann die Anzahl der bestehenden Platzierungspositionen des Inhalts Dritter mit einer vorbestimmten Anzahl von Platzierungspositionen des Inhalts Dritter vergleichen. Die vorbestimmte Anzahl von Platzierungspositionen des Inhalts Dritter kann repräsentativ für eine spezifische Anzahl oder eine maximale Anzahl von Platzierungspositionen des Inhalts Dritter sein, die in der Informationsressource enthalten sein können. In einigen Implementierungen kann das Client-Gerät die vorbestimmte Anzahl an Platzierungspositionen des Inhalts Dritter von der Informationsressource oder einer Anwendung für die Ausführung der Informationsressource erhalten. Auf der Grundlage des Vergleichs kann das Client-Gerät bestimmen, ob das empfangene Inhaltselement Dritter angezeigt werden soll oder nicht. Beispielsweise kann das Client-Gerät bei der Feststellung, dass die Anzahl der bestehenden Platzierungspositionen des Inhalts Dritter geringer ist als die vorbestimmte Anzahl der Platzierungspositionen des Inhalts Dritter, das empfangene Inhaltselement Dritter anzeigen. In einigen Implementierungen kann das Client-Gerät bestimmen, das Inhaltselement Dritter nicht anzuzeigen, wenn festgestellt wird, dass die Anzahl der bestehenden Platzierungspositionen des Inhalts Dritter größer oder gleich hoch ist wie die vorbestimmte Anzahl von Platzierungspositionen des Inhalts Dritter.
  • 5 zeigt die allgemeine Architektur eines veranschaulichenden Computersystems 500, das für die Implementierung eines beliebigen der Computersysteme, die hierin erörtert werden (einschließlich des Systems 110 und dessen Komponenten, wie z. B. das Inhaltsabfrage-Modul 130, das Inhaltsauswahl-Modul 135 und das Script-Provider-Modul 140), in Übereinstimmung mit einigen Implementierungen genutzt werden kann. Das Computersystem 500 kann verwendet werden, um Informationen über das Netzwerk 105 zur Anzeige bereitzustellen. Das Computersystem 500 in 5 weist einen oder mehrere Prozessoren 520 auf, die mit Speicher 525 kommunikativ gekoppelt sind, eine oder mehrere Kommunikationsschnittstellen 505 und ein oder mehrere Ausgabegeräte 510 (z. B. ein oder mehrere Anzeigegeräte) und ein oder mehrere Eingabegeräte 515. Die Prozessoren 520 können im Datenverarbeitungssystem 110 oder den anderen Komponenten des Systems 110, zum Beispiel dem Inhaltsabfrage-Modul 130 und dem Inhaltsauswahl-Modul 135, enthalten sein.
  • Im Computersystem 500 in 5 kann der Speicher 525 jedes beliebige computerlesbare Speichermedium aufweisen und kann Computeranweisungen, wie zum Beispiel prozessorausführbare Anweisungen für das Implementieren der verschiedenen Funktionen, die hier für die jeweiligen Systeme beschrieben sind, sowie auch jegliche sich darauf beziehende oder dadurch erzeugte Daten speichern, die über eine oder mehrere Kommunikationsschnittstelle(n) oder ein oder mehrere Eingabegerät(e) (sofern vorhanden) empfangen werden. Wie unter erneuter Bezugnahme auf das System 110 in 1 ersichtlich, kann das Datenverarbeitungssystem 110 den Speicher 525 beinhalten, um Informationen zu speichern, die sich u. a. auf die Verfügbarkeit des Bestands der einen oder mehreren Inhaltseinheiten, Reservierungen von einer oder mehreren Inhaltseinheiten beziehen. Der Speicher 525 kann die Datenbank 145 beinhalten. Der/die Prozessor(en) in 5 kann/können verwendet werden, um die im Speicher 525 gespeicherten Anweisungen auszuführen. Dabei können sie auch verschiedene Informationen, die in Übereinstimmung mit der Ausführung der Anweisungen verarbeitet und/oder generiert wurden, vom Speicher lesen oder darauf schreiben.
  • Der Prozessor 520 des Computersystems 500, das in 5 dargestellt ist, kann zudem mit der/den Kommunikationsschnittstelle(n) 505 kommunikativ gekoppelt sein, um verschiedene Informationen in Übereinstimmung mit der Ausführung der Anweisungen zu senden oder zu empfangen. Die Kommunikationsschnittstelle(n) 505 können zum Beispiel mit einem drahtgebundenen oder drahtlosen Netzwerk, Bus oder mit anderen Kommunikationsmitteln gekoppelt sein und es dem Computersystem 500 somit ermöglichen, Informationen an andere Geräte (z. B. andere Computersysteme) zu senden oder Informationen von diesen zu empfangen. Während dies nicht explizit im System in 1 gezeigt ist, können eine oder mehrere Kommunikationsschnittstellen einen Informationsfluss zwischen den Komponenten des Systems 50 erleichtern. In einigen Implementierungen können die Kommunikationsschnittstelle(n) so gestaltet sein (z. B. über verschiedene Hardwarekomponenten oder Softwarekomponenten), dass sie eine Webseite als Zugangsportal an mindestens einigen Aspekten des Computersystems 500 bereitstellen. Beispiele der Kommunikationsschnittstellen 505 beinhalten Benutzerschnittstellen (z. B. Webseiten), über die der Nutzer mit dem Datenverarbeitungssystem 50 kommunizieren kann.
  • Die Ausgabegeräte 510 von Computersystem 500, die in 5 dargestellt sind, können beispielsweise bereitgestellt werden, um zu ermöglichen, dass verschiedene Informationen in Verbindung mit der Ausführung der Anweisungen angezeigt oder anderweitig wahrgenommen werden können. Das/die Eingabegerät(e) 515 kann/können zum Beispiel bereitgestellt werden, um es einem Nutzer zu ermöglichen, manuelle Anpassungen vorzunehmen, eine Auswahl zu treffen, Daten einzugeben oder mit dem Prozessor während der Ausführung der Anweisungen in vielfältiger Weise zu interagieren. Zusätzliche Informationen hinsichtlich einer allgemeinen Computersystemarchitektur, die für verschiedene hierin erörterte Systeme angewendet werden kann, werden ferner hierin bereitgestellt.
  • Implementierungen des in dieser Spezifikation beschriebenen Gegenstands und der Vorgänge können in digitale elektronische Schaltungen oder in Computersoftware implementiert sein, die in einem physischen Speichermedium, einer Firmware oder Hardware, einschließlich der Strukturen, die in dieser Spezifikation offengelegt werden, und in ihren strukturellen Entsprechungen, oder in Kombinationen aus einem oder mehreren davon enthalten sind. Implementierungen des in dieser Spezifikation beschriebenen Gegenstands können als ein oder mehrere Computerprogramme implementiert sein, d. h. in einem oder mehreren Modulen der Computerprogramm-Anweisungen, codiert auf einem Computer-Speichermedium für die Ausführung durch die Datenverarbeitungsvorrichtung, oder die Steuerung der Vorgänge darin. Die Programmanweisungen können auf einem künstlich erzeugten, sich ausbreitendem Signal, z. B. einem maschinenerzeugten elektrischen, optischen oder elektromagnetischen Signal, codiert werden, welches erzeugt wird, um Informationen zur Übertragung an ein geeignetes Empfängergerät zu codieren, welche dann von einem Datenverarbeitungsgerät ausgeführt werden. Ein Computer-Speichermedium 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 enthalten sein. Darüber hinaus ist ein Computer-Speichermedium zwar kein sich verbreitendes Signal, ein Computer-Speichermedium kann jedoch eine Quelle oder ein Ziel von Computerprogramm-Anweisungen sein, die in einem künstlich erzeugten verbreiteten Signal codiert sind. Bei dem Computerspeichermedium kann es sich auch um eine oder mehrere unterschiedliche physische Komponenten oder Medien (z. B. mehrere CDs, Disks oder andere Speichergeräte) handeln, bzw. das Speichermedium kann darin enthalten sein.
  • Die hierin offengelegten Merkmale können in einem Smart TV-Modul (oder einem angeschlossenen Fernsehmodul, Hybridfernsehmodul usw.) implementiert sein, das ein Verarbeitungsmodul beinhalten kann, das so gestaltet ist, dass es eine Internetkonnektivität mit herkömmlicheren Fernsehprogrammquellen (z. B. die über Kabel, Satellit, über Funk oder andere Signale empfangen werden) integriert. Das Smart TV-Modul kann physisch in ein Fernsehgerät integriert sein oder ein getrenntes Gerät, wie z. B. eine Set-Top-Box, einen Blu-Ray- oder ein anderes digitales Medienabspielgerät, eine Spielekonsole, ein Hotelfernsehsystem und andere Begleitgeräte, beinhalten. Ein Smart TV-Modul kann so gestaltet sein, dass es Betrachtern ermöglicht, Videos, Filme, Fotos und andere Inhalte im Web, die auf einem lokalen Kabelfernsehkanal, auf einem Satellitenfernsehkanal oder auf einer lokalen Festplatte gespeichert sind, zu suchen und ausfindig zu machen. Eine Set-Top-Box (STB) oder eine Set-Top-Einheit (STU) kann ein Informationsanwendungsgerät beinhalten, das einen Tuner enthalten kann und das an ein Fernsehgerät und eine externe Signalquelle angeschlossen sein kann, wodurch das Signal in Inhalt verwandelt wird, der dann auf dem Fernsehbildschirm oder einem anderen Anzeigegerät angezeigt wird. Ein Smart TV-Modul kann zum Bereitstellen einer Startseite oder eines Bildschirms höchster Ebene mit Symbolen für eine Vielzahl unterschiedlicher Anwendungen, wie z. B. einen Webbrowser und eine Vielzahl von Streaming-Mediendiensten, ein angeschlossenes Kabel oder eine Satellitenmedienquelle, andere Web-„Kanäle“ usw., konfiguriert sein. Das Smart TV-Modul kann darüber hinaus zum Bereitstellen einer elektronischen Programmführung für den Nutzer konfiguriert sein. Eine Begleitanwendung für das Smart TV-Modul kann auf einem mobilen Computergerät verwendbar sein, um zusätzliche Informationen über verfügbare Programme für einen Nutzer bereitzustellen, um dem Nutzer zu ermöglichen, das Smart TV-Modul zu steuern usw. In alternativen Implementierungen können die Merkmale auf einem Laptop-Computer oder anderem PC, einem Smartphone, einem anderen Mobiltelefon, einem Handcomputergerät, einem Tablet-PC oder einem anderen Computergerät implementiert sein.
  • Die in dieser Spezifikation beschriebenen Vorgänge können als Vorgänge implementiert sein, die durch eine Datenverarbeitungsvorrichtung an Daten ausgeführt werden, die auf einem oder mehreren computerlesbaren Speichergerät(en) gespeichert, oder von anderen Quellen empfangen werden.
  • Die Begriffe „Datenverarbeitungsvorrichtung“, „Datenverarbeitungssystem“, „Benutzergerät“ oder „Computergerät“ umfassen alle Arten von Vorrichtungen, Geräten und Maschinen zur Verarbeitung von Daten und beinhalten auf exemplarische Weise einen programmierbaren Prozessor, einen Computer, ein System auf einem Chip, oder mehrere oder Kombinationen der vorstehend genannten. Das Gerät kann eine logische Schaltung für spezielle Zwecke wie z. B. eine FPGA (feldprogrammierbares Gate-Array) oder eine ASIC (anwendungsspezifische integrierte Schaltung) beinhalten. Das Gerät kann zusätzlich zur Hardware auch einen Code beinhalten, der eine Ausführungsumgebung für das entsprechende Computerprogramm erzeugt, wie z. B. Code, der die 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 Computermodell-Infrastrukturen, wie z. B. Webdienste, sowie Distributed-Computing- und Grid-Computing-Infrastrukturen realisieren. Das Inhaltsabfrage-Modul 130 und das Inhaltsauswahl-Modul 135 können eine oder mehrere Datenverarbeitungsvorrichtungen, Computergeräte oder Prozessoren beinhalten oder miteinander teilen.
  • Ein Computerprogramm (auch als Programm, Software, Softwareanwendung, Script oder Code bezeichnet) kann in einer beliebigen Form von Programmiersprache geschrieben sein, darunter auch in kompilierten oder interpretierten Sprachen, deklarativen oder verfahrensorientierten Sprachen, wobei das Programm in jeder beliebigen Form eingesetzt werden kann, darunter auch als unabhängiges Programm oder als Modul, Komponente, Subroutine, Objekt oder andere Einheit, die zur Verwendung in einer Rechenumgebung geeignet ist. Ein Programm kann, muss aber nicht einer Datei in einem Dateisystem entsprechen. Ein Programm kann in einem Teil einer Datei, das andere Programme oder Daten enthält (z. B. ein oder mehrere Scripts, die in einem Dokument in Markup-Sprache gespeichert sind), in einer einzelnen Datei speziell für das betreffende Programm oder in mehreren koordinierten Dateien (z. B. Dateien, die ein oder mehrere Module, Unterprogramme oder Teile von Codes speichern) gespeichert sein. Ein Computerprogramm kann auf einem Computer oder auf mehreren Computern bereitgestellt und ausgeführt werden, die sich an einem Standort oder an mehreren Standorten verteilt befinden und über ein Kommunikationsnetzwerk miteinander verbunden sind.
  • Die in dieser Spezifikation beschriebenen Prozesse und Logikabläufe können von einem oder mehreren programmierbaren Prozessoren ausgeführt werden, die ein oder mehrere Computerprogramme betreiben, um Aktionen durch das Bearbeiten von Eingabedaten und das Erzeugen von Ausgaben auszuführen. Die Prozesse und Logikabläufe können zudem durch eine logische Sonderzweckschaltung, wie z. B. einen feldprogrammierbaren Universalschaltkreis (FPGA) oder eine anwendungsspezifische integrierte Schaltung (ASIC) ausgeführt und Vorrichtungen in Form derselben implementiert werden.
  • Prozessoren, die für die Ausführung eines Computerprogramms geeignet sind, beinhalten beispielsweise sowohl allgemeine als auch spezielle Mikroprozessoren sowie jegliche Arten eines oder mehrerer Prozessoren einer beliebigen Art von digitalen Computern. In der Regel empfängt ein Prozessor Anweisungen und Daten von einem Nur-Lese-Speicher oder einem Direktzugriffsspeicher oder auch von beiden. 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 enthält ein Computer ein oder mehrere Massenspeichergeräte zum Speichern von Daten, wie z. B.: magnetische, magneto-optische oder optische Festplatten, bzw. er wird operativ gekoppelt, um Daten von denselben zu empfangen oder auf dieselben zu übertragen. Ein Computer muss jedoch nicht über diese Geräte verfügen. Darüber hinaus kann ein Computer zum Beispiel in einem anderen Gerät, wie beispielsweise einem Mobiltelefon, einem persönlichen digitalen Assistenten (PDA), einem mobilen Audio- oder Videoplayer, einer Spielkonsole, einem globalen Positionsbestimmungssystem(GPS)-Empfänger oder einem tragbaren Speichergerät, wie z. B. einem Universal-Serial-Bus(USB)-Flash-Laufwerk integriert sein. Zu den zum Speichern von Computerprogrammanweisungen und Daten geeigneten Medien gehören sämtliche Arten von Festspeichern, Medien und Speichergeräten, darunter auch Halbleiterspeicherelemente, wie beispielsweise EPROM, EEPROM und Flash-Speichergeräte; magnetische Festplatten, wie z. B. interne Festplatten oder Wechselplatten; magneto-optische Festplatten; und CD-ROM- und DVD-ROM-Laufwerke. Der Prozessor und der Speicher können durch eine Spezial-Logikschaltung ergänzt oder in dieselbe integriert werden.
  • Um für eine Interaktion mit einem Nutzer zu sorgen, können Implementierungen des in dieser Spezifikation beschriebenen Gegenstands auf einem Computer mit einem Anzeigegerät, z. B. einem Kathodenstrahlröhren-(CRT)- oder Flüssigkristallanzeige-(LCD)-Monitor zum Anzeigen von Informationen für den Nutzer und einer Tastatur und einem Zeigegerät, z. B. einer Maus oder einem Trackball, über die der Nutzer dem Computer Eingaben bereitstellen kann, implementiert werden. Es können auch andere Arten von Geräten verwendet werden, um für eine Interaktion mit einem Nutzer zu sorgen; beispielsweise kann eine dem Nutzer gelieferte Rückmeldung eine beliebige Form von sensorischer Rückmeldung beinhalten, z. B. eine visuelle Rückmeldung, akustische Rückmeldung oder taktile Rückmeldung; und die Eingabe vom Nutzer kann in beliebiger Form empfangen werden, einschließlich einer akustischen, Sprach- oder taktilen Eingabe. Außerdem kann ein Computer durch das Senden von Dokumenten an und das Empfangen von Dokumenten von einem Gerät, das vom Nutzer verwendet wird, mit einem Nutzer interagieren, beispielsweise durch das Senden von Webseiten an einen Webbrowser auf dem Client-Gerät des Nutzers als Reaktion auf die vom Webbrowser empfangenen Anfragen.
  • Implementierungen des in dieser Spezifikation beschriebenen Gegenstands können in ein Computersystem implementiert werden, das eine Backend-Komponente, z. B. einen Datenserver, beinhaltet oder das eine Middleware-Komponente, z. B. einen Anwendungsserver, beinhaltet oder das eine Frontend-Komponente, z. B. einen Client-Computer mit einer grafischen Benutzeroberfläche oder einen Webbrowser, beinhaltet, worüber der Nutzer mit einer Implementierung des in dieser Spezifikation beschriebenen Gegenstands oder einer beliebigen Kombination aus den genannten Backend-, Middleware- oder Frontend-Komponenten interagieren kann. Die Komponenten des Systems können durch eine beliebige Form oder ein beliebiges Medium digitaler Datenkommunikation, wie z. B. ein Kommunikationsnetzwerk, miteinander verbunden sein. Beispiele für Kommunikationsnetzwerke beinhalten ein lokales Netzwerk („LAN“) und ein Großraumnetzwerk („WAN“), ein Inter-Netzwerk (z. B. das Internet) und Peer-to-Peer-Netzwerke (z. B. ad hoc Peer-to-Peer-Netzwerke).
  • Das Computersystem, wie etwa System 500 oder System 110, kann Clients und Server beinhalten. Zum Beispiel kann das Datenverarbeitungssystem 110 einen oder mehrere Server in einem oder mehreren Datenzentren oder auf einer oder mehreren Serverfarmen beinhalten. Ein Client und ein Server befinden sich im Allgemeinen entfernt voneinander und interagieren typischerweise über ein Kommunikationsnetzwerk. Die Beziehung zwischen Client und Server entsteht aufgrund von Computerprogrammen, die auf den jeweiligen Computern laufen und die eine Client-Server-Beziehung zueinander aufweisen. Bei einigen Implementierungen sendet ein Server Daten (z. B. eine HTML-Seite) an eine Client-Einheit (z. B. zu Zwecken des Anzeigens von Daten und Empfangens von Benutzereingaben von einem Nutzer, der mit der Client-Einheit interagiert). Daten, die am Client-Gerät erzeugt werden (z. B. ein Ergebnis der Nutzerinteraktion), können vom Client-Gerät auf dem Server empfangen werden.
  • Auch wenn diese Spezifikation viele spezifische Implementierungsdetails enthält, dürfen diese nicht als Einschränkung des Umfangs der Erfindungen oder Ansprüche ausgelegt werden, sondern als Beschreibung der Merkmale, die für bestimmte Ausführungsformen der hierin beschriebenen Systeme und Verfahren spezifisch sind. Bestimmte Merkmale, die in dieser Spezifikation im Zusammenhang mit separaten Ausführungsformen beschrieben werden, können darüber hinaus in Kombination in einer einzelnen Ausführungsform implementiert werden. Umgekehrt können verschiedene Merkmale, die im Kontext einer einzelnen Implementierung beschrieben sind, auch in mehreren Implementierungen getrennt oder in einer geeigneten Teilkombination implementiert werden. Außerdem können, auch wenn die Merkmale vorstehend 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.
  • Ebenso werden Vorgänge in den Zeichnungen zwar in einer bestimmten Reihenfolge dargestellt, dies darf jedoch nicht als Anforderung verstanden werden, dass die besagten Vorgänge in der bestimmten dargestellten Reihenfolge oder in einer aufeinanderfolgenden Reihenfolge ausgeführt werden müssen, oder dass alle dargestellten Vorgänge ausgeführt werden müssen, um die erwünschten Ergebnisse zu erzielen. 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.
  • 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 in allen Implementierungen erforderlich ausgelegt werden, zudem sollte davon ausgegangen werden, dass die beschriebenen Programmkomponenten und Systeme im Allgemeinen in einem einzelnen Software-Produkt oder in mehreren Software-Produkten gebündelt integriert sein können. Zum Beispiel kann das Inhaltsabfrage-Modul 130, das Inhaltsauswahl-Modul 135 Teil des Datenverarbeitungssystems 110, eines einzelnen Moduls, eines Logikgeräts, das über ein oder mehrere Verarbeitungsmodule verfügt, eines oder mehrerer Server, oder Teil einer Suchmaschine sein.
  • Nachdem nunmehr einige veranschaulichende Implementierungen und Implementierungen beschrieben wurden, ist es offensichtlich, dass das Vorstehende veranschaulichenden und nicht einschränkenden Zwecken dient, und lediglich auf exemplarische Art und Weise präsentiert wurde. Insbesondere können, obgleich viele der hierin präsentierten Beispiele spezifische Kombinationen von Verfahrensvorgängen oder Systemelementen beinhalten, diese Vorgänge und Elemente auf andere Weisen kombiniert werden, um dieselben Ziele zu erreichen. Aktionen, Elemente und Merkmale, die lediglich im Zusammenhang mit einer Implementierung erörtert werden, sollen nicht von einer ähnlichen Rolle in anderen Implementierungen oder Implementierungen ausgeschlossen sein.
  • Die hier verwendete Ausdrucksweise und Terminologie dient dem Zweck der Beschreibung und darf nicht als beschränkend betrachtet werden. Die Verwendung der Wörter „einschließlich“, „umfassend“, „aufweisend“, „enthaltend“, „einbeziehend“, „gekennzeichnet durch“, „dadurch gekennzeichnet, dass“ und Variationen derselben, soll hier bedeuten, dass die danach aufgelisteten Gegenstände, Äquivalente derselben und zusätzliche Gegenstände sowie alternative Implementierungen, die ausschließlich aus den danach aufgelisteten Gegenständen bestehen, enthalten sind. In einer Implementierung bestehen die hierin beschriebenen Systeme und Verfahren aus einem, aus jeder Kombination von mehr als einem oder aus allen der hierin beschriebenen Elemente, Wirkungsweisen oder Komponenten.
  • Jegliche Bezugnahmen auf Implementierungen oder Elemente oder Wirkungsweisen der Systeme und Verfahren, auf die hierin im Singular verwiesen wird, können auch Implementierungen umfassen, die eine Vielzahl dieser Elemente einschließen, während jegliche Bezugnahmen auf eine Implementierung oder ein Element oder eine Wirkungsweise beliebiger Art, auf die hierin im Plural verwiesen wird, auch Implementierungen umfassen können, die nur ein einzelnes Element einschließen. Bezugnahmen auf die Singular- oder die Pluralform sind nicht dazu gedacht, um die vorliegend offengelegten Systeme und Verfahren, ihre Komponenten, ihre Wirkungsweisen oder Elemente auf einzelne oder mehrfache Konfigurationen einzuschränken. Bezugnahmen auf eine Wirkungsweise oder ein Element jeglicher Art, auf Basis von Informationen, Wirkungsweisen oder Elementen einer beliebigen Art können Implementierungen beinhalten, deren Wirkungsweise oder deren Element zumindest teilweise auf Informationen, Wirkungsweisen oder Elementen jeglicher Art basiert.
  • Jegliche der hierin offengelegten Implementierungen können mit beliebigen anderen Implementierungen kombiniert werden, wobei die Bezugnahmen auf „eine Implementierung“, „einige Implementierungen“, „eine alternative Implementierung“, „verschiedene Implementierungen“, „die Implementierung“ oder dergleichen einander nicht zwangsläufig ausschließen und angeben sollen, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Charakteristik, die im Zusammenhang mit der Implementierung beschrieben wird, in mindestens einer Implementierung enthalten sein kann. Derartige Begriffe in der hierin verwendeten Form beziehen sich nicht notwendigerweise auf dieselbe Implementierung. Jede Implementierung kann einschließlich oder ausschließlich und auf jede Weise, die mit den hierin offengelegten Aspekten und Implementierungen im Einklang steht, mit jeder anderen Implementierung kombiniert werden.
  • Verweise auf „oder“ können als einschließend ausgelegt werden, sodass alle Begriffe, die mithilfe von „oder“ beschrieben werden, einen beliebigen einzelnen, mehr als einen oder alle beschriebenen Begriffe angeben können.
  • Wenn technische Merkmale in den Zeichnungen, der ausführlichen Beschreibung oder in irgendeinem Anspruch von Bezugszeichen gefolgt werden, so wurden die Bezugszeichen ausschließlich zu dem Zweck eingesetzt, die Lesbarkeit der Zeichnungen, der ausführlichen Beschreibung und der Ansprüche zu verbessern. Dementsprechend haben weder solche Bezugszeichen noch deren Abwesenheit eine einschränkende Wirkung auf den Umfang der Anspruchselemente.
  • Die hierin beschriebenen Systeme und Verfahren können zudem durch andere Ausführungsformen realisiert werden, ohne von deren wesentlichen Merkmalen abzuweichen. Obwohl sich die hier bereitgestellten Beispiele auf die Steuerung der Anzeige des Inhalts von Informationsressourcen beziehen, können die hier beschriebenen Systeme und Verfahren auch auf andere Umgebungen angewendet werden. Die vorhergehenden Implementierungen werden eher als veranschaulichend denn als einschränkend für die hierin beschriebenen Systeme und Verfahren betrachtet. Der Geltungsbereich der hierin beschriebenen Systeme und Verfahren wird daher eher durch die beigefügten Ansprüche als durch die vorangehende Beschreibung angegeben, wobei Änderungen, welche innerhalb der Bedeutungen und des Bereichs der Äquivalenz der Ansprüche fallen, daher hierin eingeschlossen sind.

Claims (15)

  1. Ein Verfahren für die automatische Verwaltung der Platzierung von Content-Slots in einer Informationsressource, das Folgendes aufweist: Empfang (415), durch ein Datenverarbeitungssystem (110), das einen oder mehrere Prozessoren enthält, von einem Computergerät (125), einer Inhaltsabfrage als Reaktion darauf, dass das Computergerät die Informationsressource empfängt (405), die eine erste Vielzahl von computerausführbaren Anweisungen von einem Content-Publisher enthält, wobei die erste Vielzahl von computerausführbaren Anweisungen einen Server des Datenverarbeitungssystems identifiziert; Übertragung (420), durch das Datenverarbeitungssystem (110), einer zweiten Vielzahl computerausführbarer Anweisungen an das Computergerät (125), wobei die zweite Vielzahl computerausführbarer Anweisungen, wenn sie (425) auf dem Computergerät ausgeführt wird, das Computergerät zu Folgendem veranlasst: Identifizierung (430) einer Document Object Model(DOM)-Baumstruktur der Informationsressource; Identifizierung (435) eines oder mehrerer DOM-Elemente, die in der DOM-Baumstruktur eingeschlossen sind; Bestimmung (440), auf der Grundlage der identifizierten DOM-Elemente, eines oder mehrerer Kandidaten für die Platzierungspositionen des Inhalts Dritter in Übereinstimmung mit einer Platzierungsrichtlinie zum Inhalt Dritter; Auswahl (445), aus den Kandidaten für die Platzierungspositionen des Inhalts Dritter, einer Platzierungsposition des Inhalts Dritter in der DOM-Baumstruktur; und Anzeige (450) eines Inhaltselements Dritter an der ausgewählten Platzierungsposition des Inhalts Dritter.
  2. Verfahren nach Anspruch 1, wobei die Platzierungsrichtlinie zum Inhalt Dritter eine oder mehrere Regeln für die Identifizierung von Kandidaten für die Platzierungspositionen des Inhalts Dritter einschließt, wobei die Regeln auf den Abmessungen der identifizierten DOM-Elemente basieren.
  3. Verfahren nach Anspruch 1, wobei die Auswahl, aus den Kandidaten für die Platzierungspositionen des Inhalts Dritter, einer Platzierungsposition des Inhalts Dritter in der DOM-Baumstruktur die Auswahl einer Platzierungsposition des Inhalts Dritter einschließt, die zwischen zwei benachbarten DOM-Elementen liegt, die eine Breite aufweisen, die größer ist als ein vorbestimmter Grenzwert einer Breite der Informationsressource.
  4. Verfahren nach Anspruch 1, wobei die Anzeige eines Inhaltselements Dritter an der ausgewählten Platzierungsposition des Inhalts Dritter Folgendes einschließt: Identifizierung eines Umsatzerlöses, der zu der Anzeige des Inhaltselements Dritter gehört; Bestimmung, dass der Umsatzerlös einen vorbestimmten Grenzwert überschreitet; und als Reaktion auf die Feststellung, dass der Umsatzerlös einen vorbestimmten Grenzwert überschreitet, Auswahl des Inhaltselements Dritter, um es anzuzeigen.
  5. Verfahren nach Anspruch 1, wobei die Bestimmung eines oder mehrerer Kandidaten für die Platzierungspositionen des Inhalts Dritter gemäß einer Platzierungsrichtlinie zum Inhalt Dritter die Bestimmung einer vorher festgelegten Anzahl von Platzierungspositionen des Inhalts Dritter einschließt und als Reaktion auf die Bestimmung der vorbestimmten Anzahl von Kandidaten für die Platzierungspositionen des Inhalts Dritter, die Beendigung der Anweisungen zur Bestimmung der Kandidaten für die Platzierungspositionen des Inhalts Dritter.
  6. Verfahren nach Anspruch 1, wobei die zweite Vielzahl von computerausführbaren Anweisungen computerausführbare Anweisungen einschließt, die, wenn sie auf dem Computergerät ausgeführt werden, das Computergerät darüber hinaus zu Folgendem veranlassen: zur Identifizierung einer Anzahl von bestehenden Platzierungen des Inhalts Dritter, die in der Informationsressource angezeigt werden sollen; zur Bestimmung, dass die Anzahl der bestehenden Platzierungen des Inhalts Dritter geringer ist als die vorbestimmte Anzahl von Platzierungen des Inhalts Dritter; und als Reaktion auf die Bestimmung, dass die Anzahl der bestehenden Platzierungen des Inhalts Dritter geringer ist als die vorbestimmte Anzahl der Platzierungen des Inhalts Dritter, zur Anzeige des Inhaltselements Dritter an der ausgewählten Platzierungsposition des Inhalts Dritter.
  7. Verfahren nach Anspruch 1, wobei die zweite Vielzahl computerausführbarer Anweisungen, wenn sie auf dem Computergerät ausgeführt wird, das Computergerät darüber hinaus dazu veranlassen, einen Content-Slot Dritter an der ausgewählten Platzierungsposition des Inhalts Dritter einzufügen, wobei der Content-Slot Dritter computerausführbare Anweisungen einschließt, die, wenn sie auf dem Computergerät ausgeführt werden, das Computergerät dazu veranlassen, eine Abfrage zu einem Inhalt Dritter aus dem Datenverarbeitungssystem zu stellen.
  8. Verfahren nach Anspruch 1, wobei die zweite Vielzahl der computerausführbaren Anweisungen, wenn sie auf dem Computergerät ausgeführt wird, das Computergerät darüber hinaus zu Folgendem veranlassen: zum Empfang eines Inhalts Dritter vom Datenverarbeitungssystem; und zur Bestimmung, den Inhalt Dritter anzuzeigen, als Reaktion auf die Feststellung, dass ein Umsatzerlös in Verbindung mit dem empfangenen Inhalt Dritter einen Grenzwert überschreitet.
  9. System für die automatische Verwaltung der Platzierung von Content-Slots in einer Informationsressource, das Folgendes aufweist: ein Ressourcenanalyse-Modul (222), das auf einem Computergerät (125) ausgeführt wird, wobei das Ressourcenanalyse-Modul (222) identifiziert ein oder mehrere Document Object Model(DOM)-Elemente identifiziert, die in einer DOM-Baumstruktur der Informationsressource enthalten sind; ein Platzierungspositions-Modul (225), das auf dem Computergerät (125) ausgeführt wird, wobei das Platzierungspositions-Modul (225) eine Platzierungsrichtlinie zum Inhalt Dritter anwendet, um eine Vielzahl von Kandidaten für die Positionen des Inhalts Dritter in der DOM-Baumstruktur zu bestimmen, in der ein Inhaltselement Dritter auf der Grundlage der identifizierten DOM-Elemente eingefügt werden soll; ein Positionsauswahl-Modul (228), das auf dem Computergerät (125) ausgeführt wird, wobei das Positionsauswahl-Modul (228) einen der Vielzahl von Kandidaten für die Platzierungspositionen des Inhalts Dritter auswählt; ein Anzeige-Modul (230), das auf dem Computergerät (125) ausgeführt wird, wobei das Anzeige-Modul (230) veranlasst, dass ein Inhaltselement Dritter an der ausgewählten Platzierungsposition des Inhalts Dritter angezeigt wird.
  10. System nach Anspruch 9, wobei die Platzierungsrichtlinie zum Inhalt Dritter eine oder mehrere Regeln für die Identifizierung von Kandidaten für die Platzierungspositionen des Inhalts Dritter einschließt, wobei die Regeln auf den Abmessungen der identifizierten DOM-Elemente basieren.
  11. System nach Anspruch 9, wobei die Auswahl, aus den Kandidaten für die Platzierungspositionen des Inhalts Dritter, einer Platzierungsposition des Inhalts Dritter in der DOM-Baumstruktur die Auswahl einer Platzierungsposition des Inhalts Dritter einschließt, die zwischen zwei benachbarten DOM-Elementen liegt, die eine Breite aufweisen, die größer ist als ein vorbestimmter Grenzwert einer Breite der Informationsressource.
  12. System nach Anspruch 9, wobei das Anzeige-Modul durch die Anzeige eines Inhaltselements Dritter an der ausgewählten Platzierungsposition des Inhalts Dritter für Folgendes konfiguriert ist: Identifizierung eines Umsatzerlöses, der zu der Anzeige des Inhaltselements Dritter gehört; Bestimmung, dass der Umsatzerlös einen vorbestimmten Grenzwert überschreitet; und als Reaktion auf die Feststellung, dass der Umsatzerlös einen vorbestimmten Grenzwert überschreitet, die Auswahl des Inhaltselements Dritter, um es anzuzeigen.
  13. System nach Anspruch 9, wobei das Anzeige-Modul für Folgendes konfiguriert ist: Identifizierung einer Anzahl von bestehenden Platzierungen des Inhalts Dritter, die in der Informationsressource angezeigt werden sollen; Bestimmung, dass die Anzahl der bestehenden Platzierungen des Inhalts Dritter geringer ist als die vorbestimmte Anzahl von Platzierungen des Inhalts Dritter; und a ls Reaktion auf die Bestimmung, dass die Anzahl der bestehenden Platzierungen des Inhalts Dritter geringer ist als die vorbestimmte Anzahl der Platzierungen des Inhalts Dritter, die Anzeige des Inhaltselements Dritter an der ausgewählten Platzierungsposition des Inhalts Dritter.
  14. System nach Anspruch 9, wobei das Anzeige-Modul für Folgendes konfiguriert ist: Empfang eines Inhaltselements Dritter vom Datenverarbeitungssystem; und Bestimmung, das Inhaltselement Dritter anzuzeigen, als Reaktion auf die Feststellung, dass ein Umsatzerlös in Verbindung mit dem empfangenen Inhaltselement Dritter einen Grenzwert überschreitet.
  15. System nach Anspruch 9, wobei das Positionsauswahl-Modul so gestaltet ist, dass es einen Content-Slot Dritter an der ausgewählten Platzierungsposition des Inhalts Dritter einfügt, wobei der Content-Slot Dritter computerausführbare Anweisungen einschließt, die, wenn sie auf dem Computergerät ausgeführt werden, das Computergerät dazu veranlassen, eine Abfrage zu einem Inhalt Dritter aus dem Datenverarbeitungssystem zu stellen.
DE112016001596.8T 2015-09-16 2016-08-29 Systeme und verfahren für die automatische verwaltung der platzierung von content-slots in einer informationsressource Pending DE112016001596T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/856,181 US12002072B1 (en) 2015-09-16 Systems and methods for automatically managing placement of content slots in an information resource
US14/856,181 2015-09-16
PCT/US2016/049240 WO2017048496A1 (en) 2015-09-16 2016-08-29 Systems and methods for automatically managing placement of content slots in an information resource

Publications (1)

Publication Number Publication Date
DE112016001596T5 true DE112016001596T5 (de) 2017-12-28

Family

ID=56896793

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016001596.8T Pending DE112016001596T5 (de) 2015-09-16 2016-08-29 Systeme und verfahren für die automatische verwaltung der platzierung von content-slots in einer informationsressource

Country Status (8)

Country Link
US (1) US20210133823A1 (de)
EP (1) EP3274950B1 (de)
JP (1) JP6851317B2 (de)
KR (1) KR102001193B1 (de)
CN (2) CN114663126A (de)
DE (1) DE112016001596T5 (de)
GB (1) GB2554248A (de)
WO (1) WO2017048496A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6921647B2 (ja) * 2017-06-27 2021-08-18 キヤノン株式会社 クライアントデバイス、画像処理システム、画像の表示方法および、プログラム
US11113411B2 (en) 2017-10-20 2021-09-07 Dropbox, Inc. Authentication security model for a content management system
US10878019B2 (en) 2017-10-20 2020-12-29 Dropbox, Inc. Hosted storage for third-party services
US10979235B2 (en) 2017-10-20 2021-04-13 Dropbox, Inc. Content management system supporting third-party code
US10671798B2 (en) 2018-02-01 2020-06-02 Google Llc Digital component backdrop rendering
US11210710B2 (en) 2019-01-15 2021-12-28 Wp Company Llc Techniques for inserting advertising content into digital content
KR102324802B1 (ko) 2020-04-01 2021-11-10 구글 엘엘씨 컨텐츠 요청 데이터의 암호화를 위한 시스템 및 방법
WO2024065690A1 (zh) * 2022-09-30 2024-04-04 华为技术有限公司 一种音频广告投放的方法、设备及系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2386739A1 (en) * 1999-10-13 2001-04-19 Bluestreak. Com Method of delivering information over a network
JP5183384B2 (ja) * 2008-09-18 2013-04-17 キヤノン株式会社 レイアウト処理方法、レイアウト処理装置、レイアウト制御プログラム
US20100332319A1 (en) * 2009-06-24 2010-12-30 Craig Stephen Etchegoyen Methods and Systems for Dynamic Serving of Advertisements in a Game or Virtual Reality Environment
US8543452B2 (en) * 2009-12-15 2013-09-24 EarDish Corporation Monetary distribution of behavioral demographics and fan-supported distribution of commercial content
US20110295678A1 (en) * 2010-05-28 2011-12-01 Google Inc. Expanding Ad Group Themes Using Aggregated Sequential Search Queries
CN102012937A (zh) * 2010-12-08 2011-04-13 萨·约翰尼 用于将广告发布在超文本文档中的图像上的方法和系统
US8738448B2 (en) * 2012-02-08 2014-05-27 Google Inc. Web page ad slot identification
WO2013181671A1 (en) * 2012-06-01 2013-12-05 Airpush, Inc. Method, system and format for providing dynamic single full-page mobile ads
CN103778125B (zh) * 2012-10-17 2017-04-19 阿里巴巴集团控股有限公司 网页投放内容的分析方法和装置及自动投放方法和装置
US10354294B2 (en) * 2013-08-28 2019-07-16 Google Llc Methods and systems for providing third-party content on a web page
US20150254219A1 (en) * 2014-03-05 2015-09-10 Adincon Networks LTD Method and system for injecting content into existing computerized data

Also Published As

Publication number Publication date
KR102001193B1 (ko) 2019-07-17
EP3274950A1 (de) 2018-01-31
US20210133823A1 (en) 2021-05-06
JP2018527632A (ja) 2018-09-20
GB2554248A (en) 2018-03-28
JP6851317B2 (ja) 2021-03-31
CN108140195B (zh) 2022-02-25
KR20170131683A (ko) 2017-11-29
GB201717422D0 (en) 2017-12-06
EP3274950B1 (de) 2024-01-03
WO2017048496A1 (en) 2017-03-23
CN108140195A (zh) 2018-06-08
CN114663126A (zh) 2022-06-24

Similar Documents

Publication Publication Date Title
DE112016001596T5 (de) Systeme und verfahren für die automatische verwaltung der platzierung von content-slots in einer informationsressource
DE212017000015U1 (de) Systeme zum Detektieren einer unzweckmässigen Implementierung einer Präsentation von Inhaltselementen durch Anwendungen, die auf Client-Geräten ablaufen
DE112016001594T5 (de) Verfahren, systeme und medien zum aggregieren und präsentieren von relevantem inhalt für ein bestimmtes videospiel
DE112016002579T5 (de) Systeme und verfahren für das zuordnen eine scrollereignisses in einer grafischen benutzeroberfläche für unenendliches scrollen
US10354294B2 (en) Methods and systems for providing third-party content on a web page
DE112016002395T5 (de) Zugriffskontrolle für Datenressourcen
DE112014007077T5 (de) Erzeugung von inhaltselementen mit beliebiger grösse
DE102013222290A1 (de) System und Verfahren zur gemeinsamen Nutzung von Ermittlungsergebnisdaten
DE112016002226T5 (de) Systeme und verfahren zur verwendung von webseitenskripten zu segmenten von kundensitzungen auf einer webseite
DE112015005186T5 (de) Strukturierte Entitätsinformationsseite
DE112009002469T5 (de) Werbung für eine mobile Vorrichtung
DE112018005087T5 (de) Verbesserung von suchabfragen durch kontextanalyse
DE102016226335A1 (de) Zuordnungsmodell für Inhaltselementumwandlungen
DE202017107339U1 (de) Bereitstellen eines Auto-Play-Medieninhaltselements von Cross-Origin Ressourcen
DE112017000071T5 (de) Organisation von Inhalten auf Basis der Batterienutzung durch die Anzeige der Inhalte auf Geräten
DE112016004178T5 (de) Ereignis-basierte Inhaltsverteilung
DE112013002259T5 (de) Integration von Informationen dritter Parteien
DE202014010951U1 (de) Entfernungsabhängige Herabstufung von Suchrankings
DE212011100098U1 (de) Präsentieren von Suchergebnissen für Galerie-Webseiten
DE112015006537T5 (de) Gerätebasierte filterung von inhaltselementen, die mit mobilen anwendungen verbunden sind
DE112016000962T5 (de) System und verfahren zur strukturierung von bewertungen mit automatisch erzeugten tags
DE112016002207T5 (de) Erstellung und verwaltung von ladenbesuchsdaten
DE112013000393T5 (de) Zuordnung von Webanwendungsinhalten
DE112020004312T5 (de) Übersetzung von eingebetteten mehrformatdateien
DE112016002223T5 (de) Konvertieren von Flash-Inhalten zu HTML-Inhalten durch Erzeugen einer Instruktionen-Liste

Legal Events

Date Code Title Description
R012 Request for examination validly filed
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