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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 78
- 230000004044 response Effects 0.000 claims abstract description 41
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000013515 script Methods 0.000 abstract description 93
- 238000003780 insertion Methods 0.000 abstract description 80
- 230000037431 insertion Effects 0.000 abstract description 80
- 238000004891 communication Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 14
- 230000009471 action Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 230000000670 limiting effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000001953 sensory effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0273—Determination of fees for advertising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
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
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 Umgebung100 schließt mindestens ein Datenverarbeitungssystem110 ein. Das Datenverwaltungssystem110 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 Datenverarbeitungssystem110 kann eines oder mehrere Computergeräte oder einen oder mehrere Server beinhalten, die verschiedene Funktionen ausführen können. In einigen Implementierungen kann das Datenverarbeitungssystem110 ein Werbeauktionssystem beinhalten, das konfiguriert ist, um Auktionen zu hosten. In einigen Implementierungen beinhaltet das Datenverarbeitungssystem110 kein Werbeauktionssystem, ist jedoch konfiguriert, um mit dem Werbeauktionssystem über das Netzwerk105 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 Datenverarbeitungssystem110 der Umgebung100 kann über das Netzwerk105 kommunizieren, zum Beispiel mit mindestens einem Content-Provider-Computergerät115 , mindestens einem Content-Publisher-Computergerät120 oder mindestens einem Client-Gerät125 . Das Netzwerk105 kann jede Form von Computernetzwerk annehmen, das Informationen zwischen dem Client-Gerät125 , dem Datenverarbeitungssystem110 und der einen oder den mehreren Inhaltsquellen, wie zum Beispiel Webserver, Werbeserver, um nur einige zu nennen, wiedergibt. Das Netzwerk105 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 Netzwerk105 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 Netzwerk105 empfangen und/oder übertragen können. Das Netzwerk105 kann darüber hinaus jede beliebige Anzahl an festverdrahteten und/oder drahtlosen Verbindungen beinhalten. Das Client-Gerät125 kann zum Beispiel drahtlos (z. B. über WLAN, Mobilfunk, Funk usw.) mit einem Sendeempfänger kommunizieren, der mit anderen Computergeräten im Netzwerk105 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ät125 bereitzustellen. Die Inhalte, die vom Content-Provider-Computergerät115 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ät120 bereitgestellt werden. Die Inhaltselemente können zudem auf einer Suchergebnis-Webseite angezeigt werden. Das Content-Provider-Computergerät115 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ät115 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ät125 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 Netzwerk105 bereitzustellen. Das Content-Publishing-Computergerät120 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ät120 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äten115 konfiguriert sind. Das Content-Publisher-Computergerät120 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äts115 , konfiguriert sind. In einigen Implementierungen beinhaltet das Content-Publisher-Computergerät120 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ät115 . In einigen Implementierungen kann das Content-Publisher-Computergerät120 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 Netzwerk105 kommunizieren, um Daten anzuzeigen, wie etwa die Inhalte, die vom Content-Publisher-Computergerät120 bereitgestellt wurden (z. B. primäre Webseiteninhalte oder sonstige Informationsressourcen) und die Inhalte, die vom Content-Provider-Computergerät115 bereitgestellt wurden (z. B. Inhaltselemente Dritter, wie Werbung, die für die Anzeige in einem Content-Slot einer Webseite konfiguriert sind). Das Client-Gerät125 , das Content-Provider-Computergerät115 und das Content-Publisher-Computergerät120 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 Netzwerk105 zu kommunizieren. Die Client-Geräte125 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ät120 und die Client-Geräte125 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äte120 und die Client-Geräte125 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äte115 , des Content-Publisher-Computergeräts120 und des Client-Geräts125 befinden (z. B. eine eingebaute Anzeige, ein Mikrofon usw.) oder im äußeren Bereich des Gehäuses der Content-Provider-Computergeräte115 , des Content-Publisher-Computergeräts120 und der Client-Geräte125 (z. B. ein Monitor, der mit dem Nutzer-Computergerät115 verbunden ist, ein Lautsprecher, der mit dem Nutzer-Computergerät115 verbunden ist, usw.). Die Content-Provider-Computergeräte115 , das Content-Publisher-Computergerät120 und die Client-Geräte125 können zum Beispiel eine elektronische Anzeige beinhalten, die Webseiten auf visuelle Art und Weise unter Verwendung von Webseitendaten anzeigt, die über das Netzwerk105 von einer oder mehreren Inhaltsquellen und/oder vom Datenverarbeitungssystem110 empfangen werden. In einigen Implementierungen kann ein Kampagnenmanager der Inhaltsplatzierung oder ein externer Content-Provider, z. B. ein Werbeanbieter, über die Content-Provider-Computergeräte115 mit dem Datenverarbeitungssystem110 kommunizieren. In einigen Implementierungen kann der Werbeanbieter über eine Benutzeroberfläche, die auf den Benutzeroberflächengeräten der Content-Provider-Computergeräte115 angezeigt wird, mit dem Datenverarbeitungssystem110 kommunizieren. - Das Datenverarbeitungssystem
110 kann mindestens einen Server beinhalten. Beispielsweise kann das Datenverarbeitungssystem110 eine Vielzahl von Servern einschließen, die in mindestens einem Datenzentrum oder einer Serverfarm untergebracht sind In einigen Implementierungen kann das Datenverarbeitungssystem110 ein Platzierungssystem für Inhalte Dritter einschließen, z. B. ein Werbeserver- oder ein Werbeplatzierungssystem. Das Datenverarbeitungssystem110 kann mindestens ein Inhaltsabfrage-Modul130 , mindestens ein Inhaltsauswahl-Modul135 , mindestens ein Script-Provider-Modul140 und mindestens eine Datenbank145 einschließen. Das Inhaltsabfrage-Modul130 , das Inhaltsauswahl-Modul135 und das Script-Provider-Modul140 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 Datenbank145 und mit sonstigen Computergeräten (z. B. dem Content-Provider-Computergerät115 , dem Content-Publisher-Computergerät120 oder dem Client-Gerät125 ) über das Netzwerk105 kommunizieren können. - Das Inhaltsabfrage-Modul
130 , das Inhaltsauswahl-Modul135 und das Script-Provider-Modul140 können mindestens ein Computerprogramm oder mindestens ein Script beinhalten oder ausführen. Bei dem Inhaltsabfrage-Modul130 , dem Inhaltsauswahl-Modul135 , dem Script-Provider-Modul140 kann es sich um separate Komponenten, eine einzelne Komponente oder einen Teil des Datenverarbeitungssystems110 handeln. Das Inhaltsabfrage-Modul130 , das Inhaltsauswahl-Modul135 und das Script-Provider-Modul140 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 Datenbanken145 beinhalten. Die Datenbanken145 können sich lokal auf dem Datenverarbeitungssystem110 befinden. In einigen Implementierungen können die Datenbanken145 vom Datenverarbeitungssystem110 entfernt gelegen sein, jedoch über das Netzwerk105 mit dem Datenverarbeitungssystem110 kommunizieren. Die Datenbanken145 können, unter anderem, Webseiten, Teile von Webseiten, Inhaltselemente Dritter (z. B. Werbung) und Content-Slot-Einfügungsscripte enthalten, die ein Client-Gerät125 versorgen. - Das Inhaltsabfrage-Modul
130 kann eine Inhaltsabfrage vom Client-Gerät125 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 Datenverarbeitungssystem110 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-Modul135 oder an das Script-Provider-Modul140 weiterzuleiten. Wenn beispielsweise für ein Content-Slot-Einfügungsscript bestimmt wird, dass es als Reaktion auf die empfangene Inhaltsabfrage an das Client-Gerät125 gesendet werden soll, kann das Inhaltsabfrage-Modul130 die Inhaltsabfrage an das Script-Provider-Modul140 weiterleiten. Ansonsten kann das Abfrage-Modul130 die Inhaltsabfrage an das Inhaltsauswahl-Modul135 weiterleiten. In einigen Implementierungen kann das Inhaltsabfrage-Modul130 bestimmen, die Inhaltsabfrage sowohl an das Inhaltsauswahl-Modul135 als auch an das Script-Provider-Modul140 weiterzuleiten. Das Inhaltsabfrage-Modul130 kann bestimmen, ob ein Script an das Client-Gerät125 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-Modul130 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ät125 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-Modul130 automatisch die Inhaltsabfrage an das Inhaltsauswahl-Modul135 weiterleiten, ohne prüfen zu müssen, ob ein Script an das Client-Gerät125 geschickt werden muss oder nicht. - Das Inhaltsauswahl-Modul
135 kann konfiguriert sein, um Inhalte zu bestimmen, die an das Client-Gerät125 als Reaktion auf eine empfangene Inhaltsabfrage übertragen werden sollen. Das Inhaltsauswahl-Modul135 kann die Inhalte bestimmen, die an das Client-Gerät125 , auf der Grundlage der Informationen, die in der Inhaltsabfrage enthalten sind, geschickt werden sollen. Beispielsweise kann das Inhaltsauswahl-Modul135 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-Modul135 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-Modul135 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-Modul135 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-Modul135 auf die Datenbank145 zugreifen und die Inhalte abrufen, um sie an das Client-Gerät125 zu senden. - In einigen Implementierungen kann das Inhaltsauswahl-Modul
135 konfiguriert sein, um zu bestimmen ob ein Script an das Client-Gerät125 , als Reaktion auf eine Inhaltsabfrage, geschickt werden soll oder nicht. Das Inhaltsabfrage-Modul135 kann bestimmen, ob ein Script an das Client-Gerät125 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-Modul135 bestimmen, ob ein Script an das Client-Gerät125 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ät125 geschickt werden soll, kann das Inhaltsauswahl-Modul135 die Inhaltsabfrage oder eine Angabe dazu an das Script-Provider-Modul140 weiterleiten. In einigen Implementierungen kann das Inhaltsauswahl-Modul135 immer noch ein Inhaltselement Dritter auswählen, um es mit einem Script, wie beispielsweise dem Content-Slot-Einfügungsscript, an das Client-Gerät125 zu schicken. - Das Script-Provider-Modul
140 kann konfiguriert sein, um ein Content-Slot-Einfügungsscript aus der Datenbank145 abrufen und das abgerufene Script an das Client-Gerät125 zu übertragen (oder an eine andere Einheit, die es an das Client-Gerät125 sendet). In einigen Implementierungen kann das Content-Slot-Einfügungsscript separat oder mit einem Inhaltselement Dritter an das Client-Gerät125 übertragen werden. In einigen Implementierungen kann das Script-Provider-Modul140 , das Inhaltsauswahl-Modul135 oder eine andere Einheit des Datenverarbeitungssystems110 das Content-Slot-Einfügungsscript, zusammen mit einer abgefragten Informationsressource, an das Client-Gerät125 senden. Beispielsweise kann das Script-Provider-Modul140 , das Inhaltsauswahl-Modul135 oder eine andere Einheit des Datenverarbeitungssystems110 das Content-Slot-Einfügungsscript in die Informationsressource einfügen, bevor die Informationsressource an das Client-Gerät125 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-Modul130 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äts125 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 auf2 ,3 und4 bereitgestellt. - Mit Bezugnahme auf
2 ist2 ein Blockdiagramm, das eine Implementierung eines Content-Slot-Einfügungssystems200 für die automatische Verwaltung der Platzierung von Content-Slots in einer Informationsressource, gemäß einer erläuternden Implementierung, darstellt. Das Content-Slot-Einfügungssystem200 kann eine Anwendung205 , eine Informationsressource210 , ein Ressourcenanalyse-Modul222 , ein Platzierungspositions-Modul225 , ein Positionsauswahl-Modul228 und ein Inhaltsanzeige-Modul230 einschließen. In einigen Implementierungen können das Ressourcenanalyse-Modul222 , das Platzierungspositions-Modul225 , das Positionsauswahl-Modul228 und das Inhaltsanzeige-Modul230 Module in einem Content-Slot-Einfügungsscript220 sein. Das Content-Slot-Einfügungssystem200 kann von einem oder mehreren Prozessoren eines Computergeräts, wie solchen, die unten in5 beschrieben sind, betrieben oder auf sonstige Weise ausgeführt werden. In einigen Implementierungen kann ein beliebiges Ressourcenanalyse-Modul222 , das Platzierungspositions-Modul225 , das Positionsauswahl-Modul228 und das Inhaltsanzeige-Modul230 Teil der Anwendung205 , der Informationsressource210 oder dem Content-Slot-Einfügungsscript220 sein. Die Anwendung205 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 Informationsressource210 , dem Ressourcenanalyse-Modul222 , dem Platzierungspositions-Modul225 , dem Positionsauswahl-Modul228 und dem Inhaltsanzeige-Modul230 enthalten sind. Die Informationsressource210 kann einen oder mehrere Inhaltsteile (oder Inhaltselemente) einschließen. Die Informationsressource210 kann die Positionen des einen oder der mehreren Inhaltselemente festlegen. In einigen Implementierungen kann die Informationsressource210 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 Informationsressource210 von einem Server eines Content-Publishers der Informationsressource oder einem Server erhalten oder empfangen, der die Informationsressource hostet. Beispielsweise kann die Anwendung205 eine Abfrage an den Server senden, die eine Adresse oder einen Identifier der Informationsressource210 enthält, und als Reaktion darauf die Informationsressource210 empfangen. In einigen Implementierungen, in denen der Server das Datenverarbeitungssystem110 von1 ist, kann die Anwendung205 das Content-Slot-Einfügungsscript230 , zusammen mit der Informationsressource210 , empfangen. Beispielsweise kann die Anwendung205 das Content-Slot-Einfügungsscript220 , das in die Informationsressource210 eingefügt ist, empfangen. - In einigen Implementierungen kann die Anwendung
205 , bei Empfang der Informationsressource210 , eine Inhaltsabfrage an das Datenverarbeitungssystem110 senden. Die Inhaltsabfrage kann eine Abfrage zu einem Inhaltselement Dritter sein. Beispielsweise kann die Informationsressource210 einen Content-Slot Dritter einschließen, der computerausführbare Anweisungen enthalten kann, um die Anwendung205 zu veranlassen, eine Inhaltsabfrage zu stellen und an das Datenverarbeitungssystem110 zu übertragen. Wenn die computerausführbaren Anweisungen des Content-Slots Dritter als Teil der Informationsressource110 ausgeführt werden, veranlassen die computerausführbaren Anweisungen die Anwendung205 (über das Client-Gerät125 ), eine Inhaltsabfrage zu senden und ein Inhaltselement Dritter vom Datenverarbeitungssystem110 abzufragen. Die Inhaltsabfrage kann eine Adresse oder einen Identifier der Informationsressource210 , 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ügungsscript220 einschließen. In einigen Implementierungen kann die Inhaltsabfrage eine Abfrage zu einem Content-Slot-Einfügungsscript220 einschließen. - Als Reaktion auf die Inhaltsabfrage kann die Anwendung
205 das Content-Slot-Einfügungsscript220 vom Datenverarbeitungssystem110 oder einem anderen Server empfangen. Beispielsweise kann die Anwendung205 das Content-Slot-Einfügungsscript220 , 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 Datenverarbeitungssystem110 zu senden. In einigen Implementierungen kann die Anwendung205 das Content-Slot-Einfügungsscript220 ohne Inhaltselement Dritter empfangen. In einigen Implementierungen kann die Anwendung205 das Content-Slot-Einfügungsscript220 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 Anwendung205 (oder ein Prozessor des Client-Geräts125 ) kann das Content-Slot-Einfügungsscript220 ausführen. In einigen Implementierungen schließt die Ausführung des Content-Slot-Einfügungsscripts220 die Ausführung des Ressourcenanalyse-Moduls222 , des Platzierungspositions-Moduls225 , des Positionsauswahl-Moduls228 , des Inhaltsanzeige-Moduls230 oder eine Kombination daraus ein. - Das Ressourcenanalyse-Modul
222 kann eine oder mehrere computerausführbare Anweisungen enthalten, die auf dem Client-Gerät125 ausgeführt werden können. Das Ressourcenanalyse-Modul222 kann das Computergerät dazu veranlassen, die Document Object Model(DOM)-Baumstruktur der Informationsressource210 zu identifizieren. Das Ressourcenanalyse-Modul222 kann das Client-Gerät125 dazu veranlassen, die DOM-Baumstruktur der Informationsressource für die Untersuchung durch das Ressourcenanalyse-Modul222 zu identifizieren. In einigen Implementierungen kann die Identifizierung der DOM-Baumstruktur der Informationsressource210 den Zugriff auf die DOM-Baumstruktur der Informationsressource210 einschließen. In einigen Implementierungen kann das Ressourcenanalyse-Modul222 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 Anwendung205 computerausführbare Anweisungen enthalten, um die DOM-Baumstruktur der Informationsressource210 zu erzeugen. - Das Ressourcenanalyse-Modul
222 kann das Client-Gerät125 dazu veranlassen, ein oder mehrere DOM-Elemente zu identifizieren, die in der DOM-Baumstruktur der Informationsressource210 enthalten sind, indem es die DOM-Baumstruktur der Informationsressource210 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-Modul222 den obersten Knoten in der DOM-Baumstruktur identifizieren, der die gesamte Informationsressource210 repräsentiert. Das Ressourcenanalyse-Modul222 kann einen Vorgängerknoten eines Unterbaumes der DOM-Baumstruktur identifizieren, der einen Bereich der Informationsressource210 repräsentiert. Das Ressourcenanalyse-Modul222 kann dann sichtbare Inhaltselemente bestimmen, die mit dem/den identifizierten Knoten in der DOM-Baumstruktur verbunden sind. In einigen Implementierungen kann das Ressourcenanalyse-Modul222 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-Modul222 sichtbare Inhaltselemente innerhalb der Informationsressource210 , 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 Informationsressource210 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ät125 angezeigt wird. - Das Ressourcenanalyse-Modul
222 kann auch die Grenzen der identifizierten Elemente, die die sichtbaren Inhaltselemente repräsentieren, bestimmen. Beispielsweise kann das Ressourcenanalyse-Modul222 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ät125 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-Modul225 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-Modul225 kann diese Elemente auf der Grundlage entsprechender Größen (oder Begrenzungsinformationen) auswählen. Beispielsweise kann das Platzierungspositions-Modul225 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-Modul225 kann dann den Kandidaten für die Platzierungspositionen des Inhalts Dritter neben den ausgewählten Elementen bestimmen. In einigen Implementierungen kann das Platzierungspositions-Modul225 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-Modul225 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 ist3 ist ein Blockdiagramm, das ein Layout einer Informationsressource300 darstellt, das einen Kandidaten für die Platzierungspositionen des Inhalts Dritter einschließt, die vom Platzierungspositions-Modul225 identifiziert wurden. Die Informationsressource (z. B. eine Webseite)300 schließt ein Main Frame-Teil302 und ein Side Frame-Teil304 ein. Das Main Frame-Teil302 schließt einen Kopfzeilenbereich310 , einen Bildbereich312 , einen ersten Textbereich314 und einen zweiten Textbereich316 ein. Der Kopfzeilenbereich310 erstreckt sich über einen wesentlichen Teil des Main Frame-Teils302 . Das Side Frame-Teil schließt einen Bildbereich306 und einen Textbereich308 ein. Jeder dieser Bereiche kann mit entsprechenden Grenzen in der DOM-Baumstruktur verbunden sein. - Das Platzierungspositions-Modul
225 identifiziert die Bereiche311 und313 im Main Frame-Teil302 und den Bereich309 im Side Frame-Teil304 als Kandidaten für die Platzierungspositionen des Inhalts Dritter auf der Grundlage der Abmessungen der DOM-Elemente, die ursprünglich in der Informationsressource300 enthalten sind. Die Kandidaten-Platzierungsposition311 ist definiert als horizontal verlängertes Rechteck, das zwischen dem Kopfzeilenbereich310 und dem ersten Textbereich314 angeordnet ist. Die Kandidaten-Platzierungsposition313 ist definiert als horizontal verlängertes Rechteck, das zwischen dem ersten Textbereich314 und dem zweiten Textbereich316 angeordnet ist. Die Kandidaten-Platzierungsposition309 ist definiert als vertikal verlängertes Rechteck, das innerhalb des Side Frame-Teils304 neben (z. B. unter) dem Textbereich308 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-Modul225 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-Modul225 den Prozess der Identifizierung von Kandidaten für die Platzierungspositionen beenden, sobald das Platzierungspositions-Modul225 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-Modul225 so gestaltet sein, dass es die Kandidaten-Platzierungspositionen nicht über dem Kopfzeilenbereich310 , rechts neben dem Side Frame-Teil304 , 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 Bildteil306 und dem Textteil308 ). 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-Modul225 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-Modul225 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-Modul225 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-Modul225 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-Modul225 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-Modul225 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 Informationsressource210 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-Modul225 (oder das Inhalt-Einfügungsscript220 ) 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-Modul228 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 Informationsressource210 liegen. Wenn man das Beispiel in3 betrachtet, ist die Kandidaten-Platzierungsposition311 zwischen dem Kopfzeilenbereich310 und dem ersten Textbereich314 angeordnet. Wenn der vorbestimmte Grenzwert bei 30% der Breite der Informationsressource liegt, hat sowohl der Kopfzeilenbereich310 als auch der erste Textbereich314 eine entsprechende Breite, die 30% der Breite der Informationsressource310 überschreitet. Dementsprechend kann das Positionsauswahl-Modul228 den Kandidaten für die Platzierungsposition311 auswählen. Aus ähnlichen Gründen und durch Vergleich der Breiten des ersten Textbereichs314 und des zweiten Textbereichs316 , kann das Positionsauswahl-Modul228 das Client-Gerät dazu veranlassen, die Kandidaten-Platzierungsposition313 auszuwählen. In einigen Implementierungen kann das Positionsauswahl-Modul228 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-Modul230 ) 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ät125 ausgeführt werden, das Client-Gerät125 dazu veranlassen, eine Abfrage zu einem Inhaltselement Dritter (wie einer Werbung) aus dem Datenverarbeitungssystem110 zu starten. Das Client-Gerät125 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 Datenverarbeitungssystem110 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ät125 dazu veranlassen, das empfangene Inhaltselement Dritter am eingefügten Content-Slot Dritter anzuzeigen. In einigen Implementierungen kann das Inhaltsanzeige-Modul230 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-Modul230 das Client-Gerät125 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 Informationsressource210 durch das Positionsauswahl-Modul228 eingefügt wurden, zugeordnet sind. Das Inhaltsanzeige-Modul230 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 in3 drei Content-Slots Dritter vom Positionsauswahl-Modul228 an den Platzierungspositionen311 ,313 und309 eingefügt werden. Das Inhaltsanzeige-Modul230 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 Positionen311 und313 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-Modul230 das Client-Gerät125 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-Modul230 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ät125 dazu veranlassen, eine Anzahl bestehender Platzierungspositionen des Inhalts Dritter zu identifizieren (wie den Bildbereich306 und den Textbereich308 in3 ), die in der Informationsressource210 angezeigt werden sollen. Beispielsweise kann das Inhaltsanzeige-Modul230 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-Modul230 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 Informationsressource210 zu ermitteln. Das Inhaltsanzeige-Modul230 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 Informationsressource210 enthalten sein können. In einigen Implementierungen kann das Inhaltsanzeige-Modul230 das Client-Gerät dazu veranlassen, die vorbestimmte Anzahl der Platzierungspositionen des Inhalts Dritter aus der Informationsressource210 oder der Anwendung205 zu erhalten. Basierend auf den Vergleich, kann das Inhaltsanzeige-Modul230 das Client-Gerät125 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ät125 das empfangene Inhaltselement Dritter anzeigen. In einigen Implementierungen kann das Client-Gerät125 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 Verfahren400 für die Einfügung von zusätzlichen Content-Slots Dritter in eine Webseite, gemäß einer veranschaulichenden Implementierung darstellt. Kurz gesagt kann das Verfahren400 ein Client-Gerät einschließen, das eine Informationsressource empfängt, die mit einem entsprechenden Publisher verbunden ist (BLOCK405 ), und eine Abfrage zu einem Inhalt Dritter an ein Datenverarbeitungssystem überträgt (BLOCK410 ). Das Verfahren400 kann das Datenverarbeitungssystem enthalten, das die Abfrage zu Inhalten Dritter empfängt (BLOCK415 ) und als Reaktion ein Content-Slot-Einfügungsscript an das Client-Gerät überträgt (BLOCK420 ). Das Verfahren400 kann auch das Client-Gerät einschließen, das das Content-Slot-Einfügungsscript vom Datenverarbeitungssystem empfängt (BLOCK425 ). Das Verfahren400 kann auch, bei Ausführung des Content-Slot-Einfügungsscripts, einschließen, dass das Client-Gerät die DOM-Baumstruktur der Informationsressource identifiziert (BLOCK430 ), ein oder mehrere Elemente in der DOM-Baumstruktur identifiziert (BLOCK435 ), einen oder mehrere Kandidaten für die Platzierungspositionen zur Anzeige Inhalte Dritter identifiziert (BLOCK440 ), eine Platzierungsposition unter den Kandidaten für die Platzierungspositionen auswählt (BLOCK445 ) und ein Inhaltselement Dritter an den ausgewählten Platzierungspositionen anzeigt (BLOCK450 ). - 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 (BLOCK405 ). 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 (BLOCK410 ). 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 (BLOCK415 ) und, als Reaktion, einen Content-Slot an das Client-Gerät überträgt (BLOCK420 ). Wie oben in Bezug auf1 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 (BLOCK430 ). 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 (BLOCK435 ). 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 (BLOCK440 ). 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ät125 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 Bereiche311 und313 im Main Frame-Teil302 und den Bereich309 im Side Frame-Teil304 als Kandidaten für die Platzierungspositionen des Inhalts Dritter auf der Grundlage der Abmessungen der DOM-Elemente, die ursprünglich in der Informationsressource300 enthalten sind, identifizieren. Beispielsweise kann der Bereich311 auf der Grundlage der Breite des Kopfzeilen-Teils310 identifiziert werden, während der Bereich313 auf der Grundlage der Breite des zweiten Text-Teils316 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 Kopfzeilenbereich310 oder rechts neben dem Side Frame-Teil304 , 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 Textteil308 ). 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 (BLOCK445 ) 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 in3 betrachtet, ist die Kandidaten-Platzierungsposition311 zwischen dem Kopfzeilenbereich310 und dem ersten Textbereich314 angeordnet. Wenn der vorbestimmte Grenzwert bei 30% der Breite der Informationsressource liegt, hat sowohl der Kopfzeilenbereich310 als auch der erste Textbereich314 eine entsprechende Breite, die 30% der Breite der Informationsressource310 überschreitet. Dementsprechend kann das Client-Gerät den Kandidaten für die Platzierungsposition311 auswählen. Aus ähnlichen Gründen und durch Vergleich der Breiten des ersten Textbereichs314 und des zweiten Textbereichs316 , kann das Client-Gerät die Kandidaten-Platzierungsposition313 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 (BLOCK450 ). 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 in3 drei Content-Slots Dritter durch das Client-Gerät an den Platzierungspositionen311 ,313 und309 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 Positionen311 und313 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 Textbereich308 in3 ), 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 Computersystems500 , das für die Implementierung eines beliebigen der Computersysteme, die hierin erörtert werden (einschließlich des Systems110 und dessen Komponenten, wie z. B. das Inhaltsabfrage-Modul130 , das Inhaltsauswahl-Modul135 und das Script-Provider-Modul140 ), in Übereinstimmung mit einigen Implementierungen genutzt werden kann. Das Computersystem500 kann verwendet werden, um Informationen über das Netzwerk105 zur Anzeige bereitzustellen. Das Computersystem500 in5 weist einen oder mehrere Prozessoren520 auf, die mit Speicher525 kommunikativ gekoppelt sind, eine oder mehrere Kommunikationsschnittstellen505 und ein oder mehrere Ausgabegeräte510 (z. B. ein oder mehrere Anzeigegeräte) und ein oder mehrere Eingabegeräte515 . Die Prozessoren520 können im Datenverarbeitungssystem110 oder den anderen Komponenten des Systems110 , zum Beispiel dem Inhaltsabfrage-Modul130 und dem Inhaltsauswahl-Modul135 , enthalten sein. - Im Computersystem
500 in5 kann der Speicher525 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 System110 in1 ersichtlich, kann das Datenverarbeitungssystem110 den Speicher525 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 Speicher525 kann die Datenbank145 beinhalten. Der/die Prozessor(en) in5 kann/können verwendet werden, um die im Speicher525 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 Computersystems500 , das in5 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 Computersystem500 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 in1 gezeigt ist, können eine oder mehrere Kommunikationsschnittstellen einen Informationsfluss zwischen den Komponenten des Systems50 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 Computersystems500 bereitstellen. Beispiele der Kommunikationsschnittstellen505 beinhalten Benutzerschnittstellen (z. B. Webseiten), über die der Nutzer mit dem Datenverarbeitungssystem50 kommunizieren kann. - Die Ausgabegeräte
510 von Computersystem500 , die in5 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-Modul135 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 System110 , kann Clients und Server beinhalten. Zum Beispiel kann das Datenverarbeitungssystem110 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-Modul135 Teil des Datenverarbeitungssystems110 , 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)
- 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. - 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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. - 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.
- 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.
- 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.
- 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.
- 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.
- 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.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/856,181 | 2015-09-16 | ||
US14/856,181 US12002072B1 (en) | 2015-09-16 | 2015-09-16 | Systems and methods for automatically managing placement of content slots in an information resource |
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 (2) | US12002072B1 (de) |
EP (1) | EP3274950B1 (de) |
JP (1) | JP6851317B2 (de) |
KR (1) | KR102001193B1 (de) |
CN (2) | CN108140195B (de) |
DE (1) | DE112016001596T5 (de) |
GB (1) | GB2554248A (de) |
WO (1) | WO2017048496A1 (de) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6921647B2 (ja) * | 2017-06-27 | 2021-08-18 | キヤノン株式会社 | クライアントデバイス、画像処理システム、画像の表示方法および、プログラム |
US10878019B2 (en) | 2017-10-20 | 2020-12-29 | Dropbox, Inc. | Hosted storage for third-party services |
US11113411B2 (en) | 2017-10-20 | 2021-09-07 | Dropbox, Inc. | Authentication security model for a content management system |
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 |
US11379604B2 (en) | 2020-04-01 | 2022-07-05 | Google Llc | Systems and methods for encryption of content request data |
WO2024065690A1 (zh) * | 2022-09-30 | 2024-04-04 | 华为技术有限公司 | 一种音频广告投放的方法、设备及系统 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6907566B1 (en) | 1999-04-02 | 2005-06-14 | Overture Services, Inc. | Method and system for optimum placement of advertisements on a webpage |
WO2001027800A2 (en) * | 1999-10-13 | 2001-04-19 | Bluestreak.Com | Method of delivering information over a network |
US6496803B1 (en) | 2000-10-12 | 2002-12-17 | E-Book Systems Pte Ltd | Method and system for advertisement using internet browser with book-like interface |
US7213200B2 (en) | 2002-04-23 | 2007-05-01 | International Business Machines Corporation | Selectable methods for generating robust XPath expressions |
KR101159788B1 (ko) | 2005-03-12 | 2012-06-26 | 주진용 | 웹페이지를 이용한 인터넷 광고방법과 광고시스템 |
US8176414B1 (en) * | 2005-09-30 | 2012-05-08 | Google Inc. | Document division method and system |
US20090007171A1 (en) | 2005-11-30 | 2009-01-01 | Qwest Communications International Inc. | Dynamic interactive advertisement insertion into content stream delivered through ip network |
KR20080042051A (ko) | 2008-04-14 | 2008-05-14 | 주식회사 이사칠리얼미디어 | 광고 제공 시스템 |
JP5183384B2 (ja) | 2008-09-18 | 2013-04-17 | キヤノン株式会社 | レイアウト処理方法、レイアウト処理装置、レイアウト制御プログラム |
US20100332328A1 (en) | 2008-10-29 | 2010-12-30 | Srinivasa Dharmaji | Browser Cache Based Ad Insertion |
JP2010134854A (ja) | 2008-12-08 | 2010-06-17 | Ntt Docomo Inc | 情報提供システム、情報閲覧支援システム及び情報提供方法 |
US20100241497A1 (en) | 2009-03-18 | 2010-09-23 | Dan Rittman | Method, system and computer software for advertisement, using symbols as characters interface |
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 |
JP5366720B2 (ja) | 2009-08-31 | 2013-12-11 | 三菱電機株式会社 | 映像蓄積再生装置、再生権引渡システム、及び再生権引渡方法 |
JP2011108146A (ja) | 2009-11-20 | 2011-06-02 | Sony Corp | 情報処理装置、情報処理方法、プログラムおよび情報処理システム |
CA2783355C (en) | 2009-12-08 | 2016-07-12 | Comscore, Inc. | Systems and methods for identification and reporting of ad delivery hierarchy |
US8543452B2 (en) | 2009-12-15 | 2013-09-24 | EarDish Corporation | Monetary distribution of behavioral demographics and fan-supported distribution of commercial content |
JP5597249B2 (ja) | 2010-03-09 | 2014-10-01 | ヤフー株式会社 | 情報配信方法、情報配信システム及び情報配信プログラム |
US8375305B1 (en) | 2010-05-14 | 2013-02-12 | Amazon Technologies, Inc. | Placement of user interface elements based on a window entry or exit point |
US20110295678A1 (en) * | 2010-05-28 | 2011-12-01 | Google Inc. | Expanding Ad Group Themes Using Aggregated Sequential Search Queries |
WO2012012916A1 (en) | 2010-07-30 | 2012-02-02 | Hewlett-Packard Development Company, L.P. | Selection of main content in web pages |
US20130212498A1 (en) | 2010-07-30 | 2013-08-15 | Suk Hwan Lim | Selecting Content Within a Web Page |
CN102012937A (zh) * | 2010-12-08 | 2011-04-13 | 萨·约翰尼 | 用于将广告发布在超文本文档中的图像上的方法和系统 |
CN102102937A (zh) | 2011-03-17 | 2011-06-22 | 安徽尊贵电器集团有限公司 | 一种冷柜及其冷柜箱体 |
US8539338B2 (en) | 2011-04-11 | 2013-09-17 | Microsoft Corporation | Cooperative rendering cache for mobile browser |
US20130339139A1 (en) | 2012-01-18 | 2013-12-19 | High Impact Media Llc | System and method for nonstandard creative content auctioning |
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 | 阿里巴巴集团控股有限公司 | 网页投放内容的分析方法和装置及自动投放方法和装置 |
US9535887B2 (en) * | 2013-02-26 | 2017-01-03 | Google Inc. | Creation of a content display area on a web page |
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 |
US10430827B2 (en) * | 2014-08-15 | 2019-10-01 | Facebook, Inc. | Maintaining information describing a group of online system users specified by a third-party system |
-
2015
- 2015-09-16 US US14/856,181 patent/US12002072B1/en active Active
-
2016
- 2016-08-29 DE DE112016001596.8T patent/DE112016001596T5/de active Pending
- 2016-08-29 KR KR1020177031465A patent/KR102001193B1/ko active IP Right Grant
- 2016-08-29 EP EP16763646.3A patent/EP3274950B1/de active Active
- 2016-08-29 CN CN201680027514.3A patent/CN108140195B/zh active Active
- 2016-08-29 JP JP2017551269A patent/JP6851317B2/ja active Active
- 2016-08-29 WO PCT/US2016/049240 patent/WO2017048496A1/en active Application Filing
- 2016-08-29 GB GB1717422.8A patent/GB2554248A/en not_active Withdrawn
- 2016-08-29 CN CN202210128275.8A patent/CN114663126A/zh active Pending
-
2021
- 2021-01-12 US US17/147,101 patent/US20210133823A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN108140195B (zh) | 2022-02-25 |
JP6851317B2 (ja) | 2021-03-31 |
GB2554248A (en) | 2018-03-28 |
WO2017048496A1 (en) | 2017-03-23 |
US20210133823A1 (en) | 2021-05-06 |
GB201717422D0 (en) | 2017-12-06 |
US12002072B1 (en) | 2024-06-04 |
KR20170131683A (ko) | 2017-11-29 |
JP2018527632A (ja) | 2018-09-20 |
EP3274950B1 (de) | 2024-01-03 |
CN108140195A (zh) | 2018-06-08 |
KR102001193B1 (ko) | 2019-07-17 |
EP3274950A1 (de) | 2018-01-31 |
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 | |
DE112014007077T5 (de) | Erzeugung von inhaltselementen mit beliebiger grösse | |
DE102014008038A1 (de) | Anordnen von unaufdringlichen Oberlagerungen in einem Videocontent | |
DE102013222290A1 (de) | System und Verfahren zur gemeinsamen Nutzung von Ermittlungsergebnisdaten | |
DE112015005186T5 (de) | Strukturierte Entitätsinformationsseite | |
DE112016001103T5 (de) | Interaktive werbeanzeige-wiedergabeanwendung für kommunikationsumgebungen geringer bandbreite | |
DE112009002469T5 (de) | Werbung für eine mobile Vorrichtung | |
DE112016002226T5 (de) | Systeme und verfahren zur verwendung von webseitenskripten zu segmenten von kundensitzungen auf einer webseite | |
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 | |
DE112018005087T5 (de) | Verbesserung von suchabfragen durch kontextanalyse | |
DE112016004178T5 (de) | Ereignis-basierte Inhaltsverteilung | |
DE112013002259T5 (de) | Integration von Informationen dritter Parteien | |
DE202014010951U1 (de) | Entfernungsabhängige Herabstufung von Suchrankings | |
US20140033228A1 (en) | Configuring content display dimensions | |
DE112020004312T5 (de) | Übersetzung von eingebetteten mehrformatdateien | |
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 | |
DE112016001601T5 (de) | Anzeige von inhaltselementen basierend auf dem benutzerinteresse zum erhalt von inhalt | |
DE112016002207T5 (de) | Erstellung und verwaltung von ladenbesuchsdaten |
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 |