-
GEBIET DER ERFINDUNG
-
Die Erfindung betrifft Systeme und
Verfahren zum Überwachen
und Messen der Interessen eines Benutzers, der einen Inhalt auf
einem Computernetz betrachtet, insbesondere auf mehreren Servern
in einem Enterprise-Netz, während
die Privatsphäre
des Benutzers geschützt
wird.
-
HINTERGRUND
DER ERFINDUNG
-
Für
Verkäufer,
die Waren über
das Internet verkaufen, ist es nützlich
ausgefeilte Vermarktungsdaten zusammenzustellen, die das Interesse
von Benutzern an den Web-Seiten von Verkäufern anzeigen. Ein Interesse
an einer bestimmten Seite kann dadurch bestimmt werden, dass die
Anzahl von "Treffern" auf dieser Seite (d. h. wie oft auf die Seite
zugegriffen wird) gezählt
wird oder ein Zählwert
der Anzahl von Treffern mit Daten, die den Zeitbetrag anzeigen,
den die Benutzer beim Betrachten der Seite verbrauchen, kombiniert
wird. Die Anzahl von Treffern für
eine Seite und der Zeitbetrag, der von Benutzern beim Betrachten
einer Seite verbraucht wird, sind beide unter Verwendung von herkömmlichen
Techniken bestimmbar.
-
Obwohl eine Messung des Interesses
von Benutzern an jeder Seite eines Verkäufers nützlich ist, kann zusätzliche
nützliche
Information erhalten werden, indem diese Messungen auf einer Einzelbenutzerbasis
korreliert werden. Somit kann ein Verkäufer lernen, dass ein erster
Typ von Benutzer, der an der Seite A interessiert ist, gewöhnlicher
weise auch an der Seite B interessiert ist, während ein zweiter Typ von Benutzer,
der sich für
die Seite C interessiert, gewöhnlicher
weise auch an der Seite D interessiert ist. Eine derartige Information
erlaubt dem Verkäufer
seine Web-Seiten im Betrieb für
jeden Benutzer kundenspezifisch zuzuschneiden, so dass einem Benutzer,
der anfänglich
bestimmte Seiten wählt,
die Gelegenheit gegeben wird eine größere Anzahl des Typs von Seiten
zu wählen,
von denen erwartet wird, dass sich der Benutzer dafür interessiert.
-
Das Einrichten von Maßen für das Interesse
von Benutzern an Information und die Ermittlung von derartiger Information
von einem Verkäufer
ohne die Identität
von Benutzern anderen Verkäufern
zu enthüllen,
ist in dem technischen Gebiet bekannt. Z. B. offenbart die US-A
5 245 656 ein Verfahren zum Betreiben von privaten Filtern in einem öffentlichen
Kommunikationsnetz, um eine Endbenutzer-Privatsphäre in Netzen zu schützen, die
kundenspezifisch zugeschnittene Informationslieferungsdienste bereitstellen.
Die Privatsphäre eines
Profiles, welches für
jeden Endbenutzer an einer zentralen Filterstelle geführt wird,
wird geschützt,
indem Verschlüsslungstechniken
verwendet werden, um sicherzustellen, dass keine logische Einheit
Kenntnis über die
Identität
des Endbenutzers hat und auch Kenntnis über das Endbenutzerprofil und
den Inhalt der Information, die der Endbenutzer empfängt, hat.
Ugendeine Einheit weist maximal eine Kenntnis entweder über die Identität des Endbenutzers
oder die Inhalte des Endbenutzerprofils und die Inhalte der gelieferten
Information auf.
-
Der Artikel von Schreiber et al.,
mit dem Titel "Dynamic User Profiles and Flexible Queries in Office Document
Retrieval Systems" Decision Support Systems, Vol., 5, Nr. 1, 1 Januar
1989, Seiten 13–28
diskutiert die Verwendung von dynamischen Benutzerprofilen (Dynamit
User Profiles, DUP), um automatisch die Information zu aktualisieren,
die von Suchstrategien verwendet wird. Die Suchstrategien weisen
eine besondere Anwendung für
eine Dokumentenzurückgewinnung
auf. Das beschriebene System kann sich selbst dynamisch rekonfigurieren,
indem die Benutzerprofile auf Grundlage einer Relevanzanalyse und
einer historischen Datei modifiziert werden. Die Information, die
in DUP eingebettet ist, umfasst Information über die gebräuchlichsten Klassen
von Dokumenttypen, auf die jüngst
zugegriffen worden ist, Information über den Erfolg der unterschiedlichen
Strategien in vergangenen Befragungen, eine Information über die
Ausdrücke,
die der Benutzer oft in seinen Anfragen spezifiziert, und eine Information
darüber
ist ein subjektives Kontextende der gegenwärtigen organisatorischen Position
der Zuhörerschaft.
-
Die WO 97/26729 ist darauf gerichtet
Werbung an Benutzern eines interaktiven Kommunikationsmediums anzuzeigen.
Insbesondere offenbart diese Literaturstelle Techniken zum Bestimmen
einer Gemeinde eines Benutzers und zum Bestimmen, welche Werbungen
dem Benutzer gezeigt werden sollen, auf Grundlage von Charakteristiken
der Gemeinde des Benutzers. Ein Benutzer wird in einer Gemeinde
auf Grundlage der Aktivitäten
des Benutzers in dem interaktiven Medium, wie Web-Seiten, die besucht
werden, der Häufigkeit
von derartigen Besuchen, der Art der Inhalte auch von diesen Seiten,
etc., eingebaut. Diese Information wird verwendet, um ein Maß einer Ähnlichkeit
zwischen Benutzern zu berechnen.
-
Jedoch springt in vielen Fällen ein
Benutzer, der auf das Internet zugreift, von Server zu Server. Außer wenn
verschiedene Verkäufer
auf verschiedenen Servern einer Zusammenarbeit zustimmen, ist es
extrem schwierig, wenn nicht sogar unmöglich, dass ein erster Verkäufer auf
einem ersten Server Kenntnis darüber hat,
dass ein Benutzer, der auf eine bestimmte der Seiten des ersten
Verkäufers
zugegriffen hat, auch auf eine bestimmte Seite eines zweiten Verkäufers auf
einem zweiten Server zugegriffen hat. Zusätzlich gibt es keinen eingebauten
Mechanismus auf dem Internet zum globalen Identifizieren von Benutzern,
so dass Verkäufer
für verschiedene
Server eine derartige Information gemeinsam verwenden können. Sogar
in Fällen,
bei denen eine Gruppe von zusammenarbeitenden Verkäufern ein
Quer-Server-Benutzer-Identifikationsverfahren
angewendet haben, welches global die Benutzer an den Verkäufern identifiziert,
ist es fraglich, ob derartige Verfahren die Privatsphäre von Benutzern
verletzen, da jeder der teilnehmenden Verkäufer Information über Benutzer
austauscht, von der die Benutzer nicht möchten, dass sie gemeinsam verwendet
werden. Ferner verwenden derartige begrenzte zusammenwirkende Anstrengungen
bei einer Quer-Server-Identifikation allgemein einen einzelnen Identifizierer
für jeden
Benutzer. Quer-Server-Identifikationsverfahren, die einen einzelnen
Identifizierer verwenden, weisen jedoch Nachteile auf. Sollte z.
B. einer der Verkäufer
eine Zusammenarbeit mit den anderen stoppen, beispielsweise aufgrund
einer organisatiorischen oder geschäftsmäßigen Änderung, dann können sich
Fragen der Eigentümerschaft
und des Zugriffs auf Information, die an den gemeinsam verwendeten
Identifizierer gebunden ist, ergeben.
-
Dementsprechend ist es eine Aufgabe
der Erfindung ein verteiltes Identifikationsverfahren bereitzustellen,
welches individuellen Servern erlaubt ihr eigenes lokales Identifikationsverfahren
zu steuern und mit anderen Servern bei Erlaubnis von ihrem Manager
zusammenzuarbeiten. Es ist noch eine andere Aufgabe der Erfindung
Seitenverwendungsinformation über
Benutzer, die auf mehrere Server in einem Enterprise-Netz zugreifen,
zusammenzustellen, ohne potenziell die Privatsphäre der Benutzer zu verletzen.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Ein verteilter Benutzeridentifikationsprozess
wird bereitgestellt, der individuellen lokalen Servern oder Domänen erlaubt
ihr eigenes Benutzeridentifikationsverfahren zu steuern und mit
anderen lokalen Server oder Domänen
bei Erlaubnis eines Enterprise-Servers zusammenzuarbeiten. Der Enterprise-Server
korreliert das lokale Benutzeridentifikationsverfahren mit einem
globalen Benutzeridentifizierer und kann interessierten äußeren Parteien,
wie Werbenden, nur den globalen Benutzeridentifizierer offenbaren,
ohne die Identität
eines Benutzer zu enthüllen,
der mit einem lokalen Server in Wechselwirkung steht.
-
Ferner ist ein Prozess zum anonymen
Zusammenstellen eines globalen Benutzerprofils aus lokalen Benutzerprofilen,
die von den lokalen Server erzeugt werden, vorgesehen.
-
Im Allgemeinen umfasst ein Computernetz,
in Übereinstimmung
mit einem Aspekt der Erfindung, wenigstens einen lokalen Server
und einen Enterprise-Server in Kommunikation mit dem lokalen Server.
Der lokale Server richtet eine lokale ID für den Benutzer ein und teilt
dem Enterprise-Server die lokale ID des Benutzers und ein lokales
Benutzerprofil auf Grundlage einer Benutzerinteraktion mit dem lokalen
Server mit. Der Enterprise-Server verbindet die lokale ID mit einer
globalen ID, die dem Benutzer von dem Enterprise-Server zugewiesen
wird, und zeichnet in einer Datenbank die Information über die
lokalen Benutzerprofile auf, um das globale Interessenprofil des
Benutzers zu bilden.
-
Bevorzugte Ausführungsformen können ein
oder mehrere der folgenden Merkmale umfassen. Die globale ID kann
nur dem Enterprise-Server bekannt sein und kann von dem lokalen
Server geheim gehalten werden. Benutzerinformation, die in der Enterprise-Datenbank
aufgezeichnet ist, kann die lokale ID des Benutzers umfassen. Die
lokale Benutzer-ID, die von einem lokalen Server zugewiesen wird,
kann vor den anderen lokalen Servern versteckt werden. Das lokale
Benutzerprofil kann an den Enterprise-Server zu vorgegebenen Zeiten
und/oder wenn eine Anzahl von Änderungen,
die an den lokalen Profilen durchgeführt werden, größer als eine
vorgegebene Anzahl von Änderungen
sind, mitgeteilt werden. Die globale ID wird dem Benutzer direkt von
dem Enterprise-Server zugewiesen, wenn der Benutzer zum ersten Mal
auf den Enterprise-Server zugreift. Alternativ kann die globale
ID dem Benutzer zugewiesen werden, wenn der Benutzer auf einen der
lokalen Server zugreift und der lokale Server die lokale des ID
Benutzers und möglicherweise
auch ein lokales Benutzerprofil dem Enterprise-Server mitteilt bzw.
diese an den Enterprise-Server, kommuniziert. Die lokale ID und
die globale ID können
ausdauernd sein und Zustandsinformation einschließen. Die
Zustandsinformation kann zwischen dem Benutzer und dem lokalen Server
und dem Enterprise-Server mit der Hilfe von Cookies kommuniziert
werden. Der lokale Server kann die lokale Benutzer-ID an den Enterprise-Server
kommnunizieren, indem auf einer HTML-Seite eine URL übertragen
wird, die ein graphisches Symbol einer Null-Breite und Höhe einschließen kann,
oder indem vorübergehend
die URL, die von dem Benutzer gewählt wird, an eine lokale URL
umgeleitet wird. Eine Übertragung
der URL kann für
den Benutzer transparent sein.
-
Ein globales Interessenprofil kann
für jeden
Benutzer für
wenigstens einen Untersatz von Benutzern eingerichtet werden und
die globalen Interessenprofile zwischen untersch0iedlichen Benutzern
können
verglichen werden. Wenigstens eine Bewertung kann für einen
Benutzer berechnet werden und die Bewertung des Benutzers kann mit
einer entsprechenden Bewertung eines anderen Benutzer verglichen
werden. Die Bewertungen können
eine Absolutzahl-Bewertung darstellen. Das lokale Benutzerprofil
kann inkremental eingerichtet werden, indem Information über eine
jüngste
Benutzerinteraktion zu einem Vermächtnis-Benutzerprofil hinzugefügt wird,
das an dem lokalen Server gespeichert wird. Das Benutzerprofil kann
in Echtzeit verarbeitet und in Übereinstimmung
mit dem jüngsten
Auftreten der Benutzerinteraktion mit dem lokalen Server gewichtet
werden. Das globale Benutzerprofil für eine Vielzahl von Benutzern
kann in einem einzelnen Durchlauf aktualisiert werden.
-
In einem anderen Aspekt der Erfindung
umfasst eine Computervorrichtung zum Einrichten eines globalen Interessenprofiles
eines Benutzers wenigstens einen lokalen Server in Kommunikation
mit dem Benutzer über
einen Kommunikationskanal, wobei der lokale Server eine lokale ID
für den
Benutzer während
des ersten Zugriffs durch den Benutzer an dem lokalen Server zuweist.
Ein Enterprise-Server kommuniziert mit dem Benutzer und dem lokalen
Server über
den Kommunikationskanal und weist eine globale ID für den Benutzer
zu. Der lokale Server kommuniziert an den Enterprise-Server, die
lokale ID des Benutzers und möglicherweise
auch ein lokales Benutzerprofil auf Grundlage einer Benutzerinteraktion
mit dem lokalen Server. Der Enterprise-Server verbindet die lokale
ID mit der globalen ID und zeichnet in einer Datenbank Information über die
lokale ID und, wenn gewünscht,
auch das lokale Benutzerprofil auf, um ein globales Interessenprofl
des Benutzer zu bilden.
-
In noch einem anderen Aspekt der
Erfindung überwacht
ein Verfahren Interaktionen (Wechselwirkungen) zwischen einem Clienten
und einer Vielzahl von Servern, die miteinander in einem Computernetz
kommunizieren, indem einer der Server als ein Enterprise-Server
und die übrigen
Server als lokale Server bestimmt werden. Auf eine Interaktion mit
dem Client hin richtet der lokale Server eine lokale ID für den Client
ein und kommuniziert wenigstens die lokale ID des Clients an den
Enterprise-Server. Wenn der Enterprise-Server von dem lokalen Server
die lokale ID des Clients empfängt
oder wenn der Client direkt mit dem Enterprise-Server interagiert,
dann weist der Enterprise-Server eine einzigartige globale ID dem
Client zu und verbindet die lokale ID mit der globalen ID.
-
Bevorzugte Ausführungsformen können ein
oder mehrere der folgenden Merkmale umfassen. Der Enterprise-Server
und die lokalen Server können
eine Enterprise-Gruppe bilden. Der Client kann eine Zustandsinformation
von dem Server auf eine Interaktion mit dem Server hin empfangen
und kann die Zustandsinformation während einer nachfolgenden Interaktion
mit dem Server übertragen.
Genauso kann der lokale Server von dem Enterprise-Server Zustandsinformation
empfangen, die sich auf den Client bezieht, und kann die Zustandsinformation
während
einer nachfolgenden Interaktion mit dem Enterprise-Server übertragen,
der sich auf den gleichen Client bezieht. Die Zustandsinformation
kann ausdauernd sein und kann in der Form eines Cookie gespeichert
werden.
-
In noch einem anderen Aspekt der
Erfindung umfasst ein Computerprogramm, das auf einem Medium resident
ist, das von einem Computer lesbar ist, Befehle, um einen Enterprise-Server
zu veranlassen eine einzigartige globale ID für einen Client einzurichten
und die globale ID mit einer lokalen ID zu verbinden, die zu dem
Client auf einem lokalen Server gehört. Das Programm kann auch
ein globales Interessenprofil des Client auf Grundlage von lokalen
Interessenprofilen, die von dem lokalen Server zusammengestellt
werden, bilden.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
Die voranstehenden und anderen Merkmale
und Vorteile der vorliegenden Erfindung ergeben sich näher aus
der folgenden weiteren Beschreibung davon, unter Bezugnahme auf
die beiliegenden Zeichnungen. In den Zeichnungen zeigen:
-
1 ein
funktionales Blockdiagramm eines Computernetzes;
-
2 ein
Flussdiagramm eines Prozesses, der auf einem lokalen Server zum
Einrichten eines lokalen Benutzerprofils arbeitet;
-
3 ein
Flussdiagramm eines Prozesses, der auf einem Enterprise-Server zum
Verbinden einer lokalen Benutzer-ID mit einer globalen Benutzer-ID
arbeitet;
-
4 ein
Flussdiagramm eines Prozesses zum Aufbauen eines globalen Benutzerprofils
auf dem Enterprise-Server;
-
5 ein
Beispiel einer Sessionaufzeichnung eines Benutzers;
-
6 ein
Flussdiagramm eines Prozesses, der auf dem Enterprise-Server zum
Erzeugen eines Mehrfach-Benutzerprofils arbeitet; und
-
7 ein
Blockdiagramm einer Client-Interaktion mit den Servern.
-
AUSFÜHRLICHE
BESCHREIBUNG DER DARGESTELLTEN AUSFÜHRUNGSFORMEN
-
Um ein vollständiges Verständnis der
Erfindung bereitzustellen werden nun bestimmte illustrative Ausführungsformen
beschrieben. Jedoch werden Durchschnittsfachleute in dem technischen
Gebiet verstehen, dass die hier beschriebenen Systeme adaptiert
und modifiziert werden können,
um Systeme für
andere geeignete Anwendungen bereitzustellen, und dass andere Hinzufügungen und
Modifikationen an der Erfindung durchgeführt werden können, ohne
von dem Umfang davon abzuweichen.
-
Bezug nehmend nun auf 1 und 7 umfasst ein Teil 10 des Internet-Computernetzes
einen Client 12 und eine Gruppe von Servern 14–18.
Bei dem Client (dem Klienten) 12 kann es sich um irgendeine
einer Vielzahl von herkömmlichen,
kommerziell verfügbaren
Hardware- und Software-Kombinationen handeln, die konfiguriert sind,
um auf Internet-Server durch irgendeine einer Vielzahl von geeigneten
Einrichtungen zuzugreifen. In ähnlicher
Weise kann es sich auch bei den Servern 14–18 um irgendeinen einer
Vielzahl von herkömmlichen,
kommerziell erhältlichen,
Hardware- und Software-Kombinationen handeln, die konfiguriert sind,
um herkömmliche
Internet-Dienste für
Benutzer bereitzustellen. Herkömmlicherweise
ist die bestimmte Hardware- und Software-Kombination, die von irgendeinem
der Server 14–18 verwendet
wird, unabhängig
von der bestimmten Hardware- und Software-Kombination, die von irgendeinem
anderen der Server 14–18 verwendet wird.
In einigen Fällen,
wie denjenigen, die nachstehend beschrieben werden, wird die herkömmliche
Server-Software ergänzt,
um die hier diskutierte Funktionalität bereitzustellen. Die Server 14–18 und
der Client 12 kommunizieren miteinander über Kommunikationsstrecken 24, 25 und 29,
die alle mit einem Kommunikationskanal 28 verbunden sind.
-
Für
das hier beschriebene System bildet ein Untersatz der Server 15–17 eine
Enterprise-Gruppe 22, die eine Seitenverwendung von Benutzern
unter sämtlichen
lokalen Servern 15–17 der
Gruppe 22 überwacht und
misst. Einer der Server 16 ist als "Enterprise-Server"
für die
Gruppe 22 bestimmt, während
die anderen Server 15 und 17, die ein Teil der
Gruppe 22 sind, als "lokale Server" bestimmt sind. Kommunikationsstrecken 26,
die in 7 zwischen den
lokalen Servern 15 und 17 und dem Enterprise-Server 16 der
Enterprise-Gruppe 22 gezeigt sind, sind nicht physikalische
Kommunikationsstrecken, sondern sie sollen den Informmtionsaustausch,
beispielsweise Information über
die Seitenverwendung von Benutzern, zwischen den Servern 15 und 17 und
dem Enterprise-Server 16 darstellen. Der Client 12 kann
auch direkt mit dem Enterprise-Server 16 kommunizieren,
wie in 7 mit der Kommunikationsstrecke 27 angezeigt.
Kommunikationsstrecken 26 und 27 können auch
verwendet werden, um Zustandsinformationen auszutauschen, wie nachstehend
diskutiert. In der beispielhaften Ausführungsform der 1 sind die Server 14 und 18 nicht
ein Teil der Enterprise-Gruppe 22 und tauschen deshalb
Verwendungsinformationen mit den Enterprise-Servern 16 nicht
aus. Auf die Server 14 und 18 kann jedoch von
dem Client 12 zugegriffen werden.
-
Es sei darauf hingewiesen, dass der
Ausdruck "lokal" dafür
vorgesehen ist, um die Beziehung der Server 15 und 17 innerhalb
der Enterprise-Gruppe 22 mitzuteilen. Auf die lokalen Server 15 und 17 kann
von Benutzern in der gleichen Weise wie derjenigen, mit der andere
herkömmliche
Internet-Server allgemein zugänglich
sind, zugegriffen werden. Die folgende Diskussion wird auf die Server 15–17 beschränkt sein,
die ein Teil der Enterprise-Gruppe 22 sind.
-
Wie in 7 angedeutet,
kann der Client 12 auf irgendeinen der Server 15–17 zugreifen
durch: (1) Einrichten einer Verbindung zu dem Server, z. B. in einer
Internet-Verbindung, durch Eingeben der URL (Uniform Resowce Locator)
Adresse www.server#.com des Servers; (2) Verwenden der eingerichteten
Verbindung, um den Server mit einer Anforderung für spezifische
Daten zu versehen; und (3) Empfangen der angeforderten Daten von
dem Server über
die Verbindung. Der Internet-Ort kann auch den Server-Ort der Daten, die
Datei (die Dateien) auf dem Server, die die Daten enthält (enthalten),
und den Typ der Daten (d. h. ein graphisches Bild, eine HTML Seite
etc.) einschließen,
z. B. an die URL angehängt.
-
Der Client 12 fordert HTML
Seiten von den Servern 15–17 an,
die dann , wenn sie angezeigt werden, vom Benutzer aktivierbare
Verbindungen zu anderen HTML Seiten einschließen können. Die anderen HTML Seiten
können
auf dem gleichen Server wie die angezeigte HTML Seite sein oder
können
auf einem anderen Server sein. In vielen Fällen veranlasst die Aktivierung
einer Verbindung zu einer HTML Seite den Benutzer sich von einem
Server an einen anderen in einer Weise zu transferieren, die in
vielerlei Hinsicht für
den Benutzer transparent ist.
-
Die lokalen Server 15 und 17 laden
Information über
Seitenzugriffe von Benutzern an den Enterprise-Server 16 herauf.
Der Enterprise-Server 16 kombiniert die Information für jeden
Benutzer, so dass es z. B. möglich
ist Zugriffe durch einen bestimmten Benutzer auf Web-Seiten auf
dem lokalen Server 15 mit Zugriffen durch den gleichen
Benutzer auf Web-Seiten auf dem lokalen Server 17 zu korrelieren.
Wie jedoch in 7 ersichtlich
und mit näheren
Einzelheiten nachstehend beschrieben ist es der Enterprise-Server 16 und
nicht die lokalen Server 15 und 17, der die Quer-Server-Information
auf einer Einzelbenutzerbasis korreliert. Jeder der lokalen Server 15 und 17 verwendet
eine "lokale" ID für
jeden Benutzer, der auf die lokalen Server 15 und 17 direkt
zugreift. Die lokalen IDs (die lokalen Identifizierer) unterscheiden
sich für
jeden der Server 15 und 17, so dass die lokalen
Server 15 und 17 davon abgehalten werden Information über einen
bestimmten Benutzer ohne Unterstützung
von dem Enterprise-Server 16 direkt gemeinsam zu verwenden
oder zu korrelieren.
-
Da das HTTP Protokoll zustandslos
ist haben die Server und irgendein Gateway-Programm auf den Servern
keinerlei Kenntnis über
irgendeine vorangehende Transaktion. Ohne eine ausdauernde Zustandsinformation
wird der Server nicht in der Lage sein den Client zu identifizieren
und/oder Information über
den Client zu erhalten. Genauso werden die lokalen Server 15 und 17 ohne
eine Zustandsinformation nicht in der Lage sein lokale Information über den
Clienten an den Enterprise-Server 16 zu kommunizieren.
Das hier beschriebene beispielhafte System verwendet Cookies, um
eine Zustandsinformation zu erhalten. Jedoch kann irgendein anderer
Mechanismus, der eine Zustandsinformation beibehält, verwendet werden.
-
Die Merkmale bzw. Funktionen von
Cookies sind z. B. in Die HTML Sourcebook, dritte Ausgabe, von Ian
S. Graham, veröffentlicht
von Wiley & Sons,
Inc., 1997 beschrieben. Als Hintergrundinformation, Cookies stellen
einen möglichen
Mechanismus zum Speichern von Zustands- und/oder Identifikationsinformation
auf einem lokalen Server 12 eines Benutzers dar. Der Server,
auf den der Benutzer zugreift, sendet die Cookie-Information an
den Benutzer über
einen herkömmlichen
Befehl, der in der Lage ist, Cookie-Information von dem Server an
den Benutzer zu transferieren. Immer dann, wenn der Benutzer danach
Daten von dem Server anfordert, der das Cookie gesetzt hat, umfasst
die Benutzeranforderung auch das Cookie, welches vorher von Server
an den Benutzer gesendet wurde. Der Befehl, der das Cookie setzt,
bewirkt, dass die Cookie-Information den Server richtig identifiziert,
der den Befehl ausführt.
Zusätzlich
wird allgemein ein Cookie nur an einen Server gesendet, der das
Cookie gesetzt hat. Wenn ein bestimmter Server ein Cookie setzt
umfasst das Cookie somit Information, die anzeigt, dass es von dem
bestimmten Server gesetzt wurde. Mechanismen sind auferlegt worden,
um zu verhindern, dass ein Cookie an einen anderen Server gesendet
wird.
-
In der beispielhaften Ausführungsform
weist jeder der lokalen Server 15 und 17 seine
eigene einzigartige ausdauernde Zustandsinformation an den Client 12 in
Form einer lokalen ID (Identität).
Der Enterprise-Server 16 weist eine geheime ausdauernde
Zustandsinformation an den Client 12 in Form einer "globalen" ID
zu und korreliert die globale ID mit jeder der einzigartigen lokalen
IDs, die von jedem der lokalen Server 15 und 17 zugewiesen
werden. Sämtliche
IDs werden unter Verwendung von Cookies ausdauernd gemacht. Der lokale
Server 15 setzt ein Cookie, das eine einzigartige lokale
ID für
den Client 12 enthält,
die von dem lokalen Server 15 zugewiesen wird. Der Client 12 stellt
danach die zugewiesene lokale ID an dem lokalen Server 15 jedes
Mal dann bereit, wenn der Client 12 Daten (z. B. eine HTML
Seite) von dem lokalen Server 15 anfordert. Somit wird
der lokale Server 15 mit einer Grundlage für eine Kenntnis
der Identität
des Clients 12 jedes Mal versehen, wenn der Client 12 Daten
von dem lokalen Server 15 anfordert. In ähnlicher
Weise setzt der lokale Server 17 ein Cookie, das eine einzigartige
lokale ID für
den Client 12 enthält
(ohne Bezug zu der lokalen ID, die von dem lokalen Server 15 zugewiesen
wird), die der Client 12 danach an dem lokalen Server 17 jedes
Mal dann bereitstellt, wenn der Client 12 Daten von dem
lokalen Server 17 anfordert.
-
Information bezüglich der Datenanforderungen
und der zugehörigen
lokalen IDs wird von den lokalen Servern 15 und 17 an
dem Enterprise-Server 16 bereitgestellt. Die lokalen Server
enthüllen
jedoch nicht die echte Identität
des Benutzers an dem Enterprise-Server 16. Der Enterprise-Server 16 kann
unterschiedliche lokale IDs für
den gleichen Benutzer mit der einzelnen geheimen globalen ID abgleichen.
Somit ist der Enterprise-Server 16 in einer einzigartigen
Position, um Quer-Server-Information über Benutzer zu korrelieren,
während
die lokalen Server 15 und 17 eine Quer-Server-Information
nicht direkt korrelieren können,
weil keiner der lokalen Server 15 und 17 den geheimen
globalen Identifizierer besitzt, der von dem Enterprise-Server 16 zugewiesen
wird.
-
Bezug nehmend nun auf 2 illustriert ein Flussdiagramm 30 eine
Ausführungsform
des Prozesses der Erfindung auf Grundlage einer Software, die auf
den lokalen Servern 15 und 17 läuft. Der
Prozess 30 beginnt mit einem Testschritt 32, nachdem
eine Datenanforderung von dem Client hervorgebracht worden ist.
In dem Testschritt 32 wird bestimmt, ob der Client 12 jemals
Daten von dem bestimmten lokalen Server vor der gegenwärtigen Anforderung
angefordert hat. Es sei darauf hingewiesen, wie voranstehend diskutiert,
dass der Client 12 eine Cookie haben wurde, welches von
dem bestimmten lokalen Server vorher gesetzt worden ist, wenn der
Client 12 jemals auf den bestimmten lokalen Server zugegriffen
hat. Wenn der Client 12 ein Cookie mit der Datenanforderung
nicht bereitstellt, dann wird somit in dem Testschritt 32 bestimmt,
dass der Client 12 niemals auf den lokalen Server zugegriffen
hat und eine Steuerung geht von Schritt 32 zum Schritt 34, wo der lokale
Server eine einzigartige lokale ID für den Client 12 erzeugt.
Der lokale Server kann einzigartige lokale IDs in einer Vielzahl
von herkömmlichen
Vorgehensweisen erzeugen, die dem Durchschnittfachmann vertraut sind,
einschließlich,
aber nicht beschränkt
auf das Inkrementieren eines gespeicherten Werts und dann das Bereitstellen
einer alphanummerischen Version dieses Werts als die lokale ID.
-
Nach dem Schritt 34 erfolgt ein Schritt
36, wo der lokale Server einen Transfer an den Enterprise-Server 16 erzwingt
(d. h. der Client wird an den Enterprise-Server 16 transferiert).
Im Allgemeinen existieren eine Vielzahl von herkömmlichen Techniken, um einen
Transfer an einen anderen Server zu erzwingen. Z. B. kann der lokale
Server herkömmliche
Techniken verwenden, um eine spezielle URL in die HTML Seite einzufügen, die
von dem Client 12 angefordert wird. Die spezielle URL verweist
auf den Enterprise-Server 16 und wartet auf eine Einfügung eines
Grafikbilds mit einer Null-Breite und -Höhe. Die spezielle URL kann
auch zusätzliche Information
enthalten, wie Information, die den lokalen Server identifiziert,
und Information, die die lokale ID des Benutzer anzeigt. Die zusätzliche
Information kann an das Ende der URL in der Form von http://enterprise_server_id/go?local_server_id&client_ information
angehängt
werden. Dieser Prozess kann für
den Benutzer transparent sein.
-
Alternativ kann eine Umleitung verwendet
werden, um den Benutzer an den Enterprise-Server 16 zu transferieren.
Eine Umleitung beinhaltet das Bereitstellen einer HTTP Antwortnachricht
an den Browser, was den Browser zwingt nach einer anderen URL zu
sehen. Der lokale Server leitet den Client an den Enterprise-Server 16z.
B. daduch um, dass der Ort des Enterprise-Servers 16 in
der folgenden Form zurückgegeben wird:
location:server_url_comments
-
Browser, die das Ortsfeld verstehen,
werden sich automatisch mit der URL des Enterprise-Servers 16 verbinden.
-
Der erzwungene Transfer dient dazu,
die lokale ID des Clients 12 effektiv mit dem Enterprise-Server 16 zu
"registrieren". Wie voranstehend erwähnt kann der erzwungene Transfer
für die
Client 12 transparent sein. Eine Verarbeitung an dem Enterprise-Server 16 im
Ansprechen auf einen erzwungenen Aufruf wird mit näheren Einzelheiten
nachstehend beschrieben. Es sei jedoch darauf hingewiesen, dass
der Client 12 an den lokalen Server zurückgegeben wird, sobald der
Enterprise-Server 16 die Verarbeitung beendet hat. Für den Fall
einer Verwendung einer Umleitung leitet der Enterprise-Server 16 den
Client 12 einfach an den lokalen Server zurück, auf
den der Client 12 gerade zugegriffen hat, bevor er an den
Enterprise-Server 16 transferiert wurde. Nach dem Schritt
36 folgt ein Schritt 38, in dem der lokale Server ein lokales Cookie
für den
Client 12 ersetzt. Die Schritte 34, 36, 38 werden nur einmal
ausgeführt,
d. h. beim ersten Mal, wenn der Client 12 auf den lokalen
Server zugreift. Danach wird der Client 12 an den lokalen
Server das von dem jeweiligen lokalen Server gesetzte Cookie jedes
Mal dann ersetzen, wenn der Client 12 auf den jeweiligen
lokalen Server zugreift.
-
Nach dem Schritt 38 oder dem Schritt
32 folgend, wenn der lokale Server ein Cookie von dem Client 12 empfängt, folgt
ein Schritt 42, in dem der lokale Server Information auf Grundlage
beispielsweise einer Häufigkeit
und einer Dauer von Seitenzugriffen durch den Client 12 zusammenstellt.
Diese Information kann z. B. dadurch zusammengestellt werden, dass
ein Plug-in an dem lokale Server bereitgestellt wird, das einen
herkömmlichen
Server HPI-Aufruf an das Plug-in jedes Mal dann einschließt, wenn
ein Benutzer eine Seite anfordert. Z. B. kann die Zeitdauer, die
ein Benutzer beim Betrachten der Seite A verbraucht, dadurch bestimmt
werden, dass die Zeit registriert wird, wenn ein Benutzer eine Seite
A anfordert, die Zeit registriert wird, wenn der Benutzer eine nachfolgende
Seite B anfordert, und die Differenz zwischen den zwei Zeiten berechnet
wird, um die Dauer zu bestimmen. Nach dem Schritt 42 ist die Verarbeitung
für den
lokale Server, der die Seitenanforderung des Clients 12 behandelt,
abgeschlossen. Wie mit näheren
Einzelheiten nachstehend beschrieben kombiniert der Enterprise-Server 16 unter
Verwendung einer geheimen globalen ID, die nur dem Enterprise-Server 16 bekannt
ist, die Information, die von dem lokale Server bereitgestellt wird,
mit Information bezüglich
des gleichen Benutzers von anderen lokalen Servern, die mit den
verschiedenen lokalen IDs abgeglichen wird, die einem Benutzer durch
die unterschiedlichen lokalen Server zugewiesen werden.
-
Damit der Enterprise-Server 16 in
der Lage ist Information über
die Benutzer zusammenzustellen ist es erforderlich, dass die lokalen
Server an den Enterprise-Server 16 periodisch die gesammelte
Information zusammen mit der lokalen ID für jeden Benutzer und Information,
die den lokalen Server identifiziert, weiterleiten. Dies kann unter
Verwendung irgendeiner einer Vielzahl von herkömmlichen Techniken erreicht
werden. In einer bevorzugten Ausführungsform formatiert der lokale
Server die Information als eine Vielzahl von NTML Seiten, die an
dem Enterprise-Server 16 in einer herkömmlichen Weise unter Verwendung
von herkömmlichen HTTP
Austausch-Techniken heraufgeladen werden. Der lokale Server initiiert
den Transfer entweder dann, wenn ein lokaler Puffer des lokalen
Servers eine vorgegebene Größe überschreitet,
oder nachdem ein vorgegebener Zeitbetrag abgelaufen ist seit einer
vorangehenden Aktualisierung des Enterprise-Servers 16 durch den
lokalen Server. Die vorgegebene Größe und der vorgegebene Zeitbetrag
werden auf Grundlage einer Vielzahl von funktionalen Faktoren, die
Durchschnittsfachleuten in dem technischen Gebiet vertraut sind,
einschließlich
eines Speicherbetrags, der an dem lokalen Server verfügbar ist,
und einer Treffenate des lokalen Servers, gewählt.
-
Bezug nehmend nun auf 3 illustriert ein Flussdiagramm 50 die
Schritte, die von dem Enterprise-Server 16 im Ansprechen
auf einen erzwungenen Transfer durch einen lokalen Server, wie demjenigen,
der mit dem Schritt 36 in 2 dargestellt
ist, ausgeführt
werden. Die Verarbeitung beginnt im Schritt 52, wo der Enterprise-Server 16 die
neu zugewiesene lokale ID sowie die Server-Identifikation von dem
aufrufenden lokalen Server empfängt.
Wie voranstehend diskutiert kann diese Information in der speziellen
URL kodiert sein, die von dem lokalen Server bereitgestellt wird.
Jedoch existieren andere herkömmliche
Techniken zum Weiterleiten dieser Information, einschließlich, aber
nicht beschränkt
auf übergebene
Argumente, Umgebungsvariablen, und Cookie, die zwischen dem lokalen
Server und dem Enterprise-Server 16 übergeben werden.
-
Nach dem Schritt 52 folgt ein Testschritt 54,
der bestimmt, ob der Client jemals auf den Enterprise-Server 16 zugegriffen
hat (d. h. der Testschritt 54 bestimmt, ob der Client 12 jemals
auf irgendeinen der Server 15-17 der Gruppe 22 zugegriffen
hat). Dies kann unter Verwendung von Cookies bestimmt werden, wenn
der Enterprise-Server 16 ein Cookie setzt und dieses an
dem Client 12 bereitstellt. Wenn der Enterprise-Server 16 ein
Cookie von dem Client 12 nicht empfängt, dann wird somit im Testschritt 54 bestimmt,
dass der Client 12 niemals auf den Enterprise-Server 16 zugegriffen
hat und die Steuerung geht von dem Testschritt 54 zu einem Schritt
56, wo eine neue globale ID für
den Client 12 erzeugt wird. Es sei darauf hingewiesen,
dass das System so ausgelegt ist, dass nun eine globale ID für jeden
Benutzer erzeugt wird. Nach dem Schritt 56 folgt ein Schritt 58,
wo die globale ID an den Client in der Form eines Cookies weitergeleitet
wird. Die globale ID kann in irgendeiner einer Vielzahl von herkömmlichen
Weisen erzeugt werden, die einem Durchschnittsfachmann in dem technischen
Gebiet vertraut sind, einschließlich,
aber nicht beschränkt
auf ein Inkrementieren eines gespeicherten Werts und dann Bereitstellen
einer alphanummerischen Version von diesen Wert als die globale ID.
-
Wenn in dem Schritt 54 bestimmt wird,
dass der Enterprise-Server 16 ein Cookie von dem Client 12 empfangen
hat, dann geht die Steuerung von dem Testschritt 54 zu
einem Schritt 62, wo die globale ID, die über das Cookie übergeben
wird, mit der neuen lokalen ID abgeglichen wird, die von dem lokalen
Server bereitgestellt wird. Es sei darauf hingewiesen, dass der
Schritt 62 auch den Schritten 56, 58 folgt, wo die globale ID erzeugt
wird und an den Client 12 übergeben wird. Die Abgleichung
in dem Schritt 62 kann in einer Vielzahl von herkömmlichen
Vorgehensweisen ausgeführt
werden, einschließlich
einer Verwendung eines Felds bzw. einer Matrix, die in Übereinstimmung
mit dem lokalen Server und der lokalen ID indiziert wird und Einträge entsprechend
zu der globalen ID enthält.
Alternativ kann die Abgleichung unter Verwendung einer geeigneten
Datenstruktur bereitgestellt werden, beispielsweise eine verbundene
Liste mit Knoten, die den lokalen Server, die lokale ID, die von
dem lokalen Server bereitgestellt wird, und die entsprechende globale
ID anzeigen. Noch alternativ kann die Abgleichung in einer Datenbank
mit einer Vielzahl von Aufzeichnungen gespeichert werden, die jeweils
die globale ID, die lokale ID und den Site-Identifizierer (Seiten-Identifizierer)
für den
lokalen Server, der die lokale ID zugewiesen hat, enthalten. In
dieser Weise kann eine einzelne globale ID auf mehrere lokale IDs,
die von mehreren lokalen Servern zugewiesen werden, abgeglichen
bzw. abgebildet werden.
-
Nach dem Schritt 62 ist die Verarbeitung
zum Registrieren der neuen lokalen ID des Clients 12 an
dem Enterprise-Server 16 angeschlossen. Nach diesem Registrierungsprozess
erzwingt der lokale Server nicht einen Transfer an den Enterprise-Server 16,
wenn der Client 12 auf den lokalen Server zugreift. Anstelle
davon, wie voranstehend diskutiert, stellt der lokale Server Daten
zusammen, die danach an den Enterprise-Server 16 transferiert
werden. Es ist der Enterprise-Server 16, der sämtliche
Daten von sämtlichen
lokalen Servern auf einer Einzelbenutzerbasis kombiniert und die
so zusammengestellte Information in einer Weise verfügbar macht,
die nicht notwendigerweise den Client 12 identifiziert.
-
Der Prozess, der in den 2 und 3 dargestellt ist, kann verwendet werden,
um ein globales Benutzerprofil aufzubauen, das aus einer Benutzerinteraktion
mit den lokalen Servern 15 und 17 unter Verwendung der
lokalen Benutzer-IDs und möglicherweise
auch mit dem Enterprise-Server 16 zusammengestellt wird.
Typischerweise überwacht
der Prozess mehrere Charakteristiken des Besuchs des Benutzers,
wie beispielsweise den Gegenstand der besuchten Web-Seiten und die
Dauer dieser Besuche. Diese gesammelte Information kann verwendet
werden, um das Interesse des Benutzers an einer gegebenen Interessenkategorie
zu charakterisieren und zu bestimmen, welcher verfügbare Inhalt
für den
Benutzer von Interesse sein würde.
Das erzeugte globale Benutzerprofil wird von dem Enterprise-Server 16 verwaltet
und durch die globale ID des Benutzers identifiziert, ohne dass
notwendigerweise die Identität
des Clients 12 enthüllt
wird.
-
Ein Interessenverhalten eines Benutzers
kann über
eine Geschichte von Internet-Sessions verfolgt werden, so dass eine
zusammengesetzte Übersicht über die
Interessen des Benutzers erzeugt werden kann. Zusätzlich können die
beschriebenen Prozesse das Alter der gesammelten Verhaltensinformation
berücksichtigen,
so dass ältere
Verhaltensinformation eine geringere Auswirkung auf eine Interessenbewertung
als eine jüngere
Verhaltensinformation aufweist. Die Prozesse können für die Dauer empfindlich sein, über die
jede Seite betrachtet wird, und die erzeugten Interessenbewertungen
werden in einer absoluten Interessensskala bereitgestellt, im Gegensatz
zu einer relativen Interessensskala. Dies erleichtert bedeutungsvolle
Vergleiche von Interessenniveaus zwischen verschiedenen Benutzern
und bietet ein leistungsfähiges
Werkzeug zum Identifizieren von verwandten Interessen für Benutzer,
die gewählte
demographische Charakteristiken aufweisen. Die hier beschriebenen
Prozesse können
auch inkremental angewendet und auf einen Satz von parallelen Operationen
reduziert werden, um die Geschwindigkeit zum Analysieren der gesammelten
Verhaltensinformation stark zu erhöhen. Es sei darauf hingewiesen,
dass der Prozess auch als ein allein stehender Prozess auf einer einzelnen
Web-Site arbeiten kann und ferner die Verwendung von lokalen und
globalen IDs nicht benötigen kann.
-
Der Prozess zum Aufbauen eines Benutzerprofils
beginnt mit dem Schritt zum Sammeln von nützlicher Information über das
Interessenverhalten eines Benutzers 12, der sich unterschiedlichen
Inhalt ansieht, der an einem beispielhaften lokalen Server 15 gespeichert
ist (1). Dieser Datensammlungsschritt
ist als Schritt 42 in 2 gezeigt.
Der Prozess 70, der in 4 gezeigt
ist, beginnt mit dem Schritt 72, in dem der Server 15 bestmmt,
dass eine Session mit einem bestimmten Benutzer 12 begonnen
hat. Wie voranstehend beschrieben kann der Server 15 diese
Bestimmung dadurch ausführen,
dass ein Cookie identifiziert wird, das von dem Client 12 gesendet
wird. Wenn der Prozess 70 ein Cookie findet, dann bestimmt
der Prozess 70, dass der Benutzer dem Server 15 bekannt
ist, und beginnt eine Sammlung von Daten über die Session des Benutzers.
Der Prozess 70 erzeugt dann eine lokale Session-ID, die
ein einfaches Signal sein kann, die eine Serie von verwandten Interaktionen
zwischen dem Benutzer und dem Server 15 identifiziert.
Beim ersten Mal, wenn der Benutzer den Server 15 kontaktiert,
kann der Prozess z. B. die lokale Session-ID auf 000001 setzen.
Für nachfolgende
Besuche kann der Prozess die lokale Session-ID inkrementieren. Der
Prozess verfolgt die letzte lokale Session-ID, die erzeugt wird,
um sicherzustellen, dass neue lokale Session-IDs für jede Session
erzeugt werden. Andere Beispiele von Verfahren zum Erzeugen von
Session-IDs sind in dem technischen Gebiet bekannt und irgendein
geeignetes Verfahren kann mit dem Prozess umgesetzt werden.
-
In einem nachfolgenden Schritt 76
baut der Prozess eine lokale Session-Aufzeichnung. Dies wird typischerweise
dadurch ausgeführt,
dass der Anklick-Strom analysiert wird, der von dem Benutzer erzeugt
wird, wenn der Benutzer sich den Inhalt ansieht, der auf der Web-Seite
oder den Web-Seiten angezeigt wird, der/die an dem Server 15 angezeigt
wird/werden. Ein Beispiel von einem Typ von Sessionaufzeichnung
ist in 5 gezeigt. Spezifisch
zeigt 5 eine Sessionaufzeichnung 90,
die in einer Datenbank gespeichert ist, die von dem Server 15 gehalten
wird. Die dargestellte Sessionaufzeichnung 90 gehört zu einer
lokalen Benutzer-ID, da der Prozess in diesem Beispiel eine Aufzeichnung
von jeder der Sessions hält,
die der Benutzer mit dem jeweiligen Server gehabt hat, seitdem Information über den
Benutzer zuletzt an den Enterprise-Server 16 heraufgeladen
wurde. Durchschnittsfachleute in dem technischen Gebiet werden erkennen,
dass 5 ein Beispiel
einer Session-Aufzeichnung bereitstellt, dass aber andere Formate
mit dem hier beschriebenen Prozess verwendet werden können.
-
5 zeigt
ferner, dass jede Session-Aufzeichnung eine Liste der Web-Seiten,
die von dem Benutzer betrachtet werden, während der Server 15 besucht
wird, und andere Informationen über
den Inhalt dieser Web-Seiten speichern kann. Ferner kann der Prozess
z. B. für
jede betrachtete Seite eine Information des in dem Seitenblock 96 gezeigten
Typs speichern, die eine Liste von Interessenkategorien, Int_Cat,
in Verbindung mit der Seite und eine Liste von Inhaltsinteressen-Bewertungen,
C, die darstellt, wie stark sich der Inhalt der betrachteten Seite
auf die Interessenkategorien beziehen; einen Datumszeitstempel,
t, der eine Angabe über die
Zeit und das Datum gibt, an dem von dem Benutzer auf die Seite zugegriffen
wurde; und d, ein Maß für die Dauer, über die
die Seite von dem Benutzer betrachtet wurde, einschließt. Der
Seitenblock 96 zeigt, dass jede Seite mit ein oder mehreren
Interessenkategorien assoziiert sein kann, wie Int_Cat1, Int_Cat2,
und Int_Cat3, etc. Ferner kann eine unterschiedliche Inhaltsinteressen-Bewertung
für jede
Interessen-Kategorie, die der Seite zugeordnet ist, gegeben werden.
Der Prozess kann einen Seitenblock für jede Seite speichern, die
während einer
Session betrachtet wird. Zwei Seitenblöcke, 96 und 98,
erscheinen in 5, jedoch
kann irgendeine Anzahl von Seitenblöcken in Abhängigkeit von der Anzahl von
Seiten gespeichert werden, die von dem Benutzer betrachtet werden.
-
Obwohl eine Datensammlung für Aktivitäten eines
Benutzers auf einer Web-Site beschrieben worden ist, sei darauf
hingewiesen, dass der Datensammlungsprozess 70 auf einer
Anzahl von unterschiedlichen Web-Sites auftreten kann. Dies bedeutet,
dass eine Web-Site, die speziell zum Bereitstellen von Sportinformation
vorgesehen ist, Information über
den bevorzugten Sport und die bevorzugten Teams des Benutzers sammeln
kann, während
eine andere Web-Site, die Bücher
zum Verkauf anbietet, Information über die bevorzugten Bücherkategorien
des Benutzers sammeln kann. Demzufolge kann ein breiter Bereich
der Benutzerinteressen eingefangen werden.
-
Bezug nehmend auf 4 geht der Schritt 70 vom Schritt
76 zum Schritt 78, wenn ein "Ende einer Session" erfasst wird. Dies
kann z. B. auftreten, wenn der Benutzer 12 nicht auf eine
Seite auf dem Server 15 innerhalb einer voreingestellten
Zeit, z. B. dreißig
Minuten, zugreift. Jedoch wird ersichtlich sein, dass andere Techniken
zum Bestimmen des Endes einer Session verwendet werden können. Im
Schritt 80 speichert der Prozess die Session-Aufzeichnung in einer
lokalen Datenbank von Session-Aufzeichnungen. Dann wird zu einer
gewählten
Zeit, beispielsweise einmal am Tag, der Prozess 70 im Schritt
82 die Inhalte der lokalen Datenbank des Servers 15 an
eine globale Datenbank des Enterprise-Servers 16 heraufladen.
Dies versieht den Enterprise-Server 16 mit einer Anklick-Strom-Information,
die die Interessen des Benutzers 12 während der Benutzersession auf
dem Server 15 darstellt. Die Information kann verarbeitet
und zusammengesetzt werden, um ein globales Interessenprofil für diesen
Benutzer zu erzeugen. Wie voranstehend diskutiert, kann die Interesseninformation
mit der demographischen, geographischen und anderer geeigneter Information
des Benutzers kombiniert werden, um ein Benutzerprofil des Benutzers
aufzubauen. Genauso kann dieser Typ von Anklick-Strom auch von dem
anderen Server 17 der Enterprise-Gruppe 22 heraufgeladen werden.
-
Bezug nehmend nun auf 6 und die Tabellen 1 und 2 kann
der Enterprise-Prozess 120, der auf dem Enterprise-Server 16 läuft, die
Information analysieren, um Interessenprofile für den Benutzer, zu erzeugen
und zu aktualisieren, sobald die auf dem Server 15 gesammelte
Information den Enterprise-Server 16 erreicht. Die Tabelle
1 zeigt die Variablen und den Pseudocode des Enterprise-Prozesses 120;
die Tabelle 2 listet die Gleichungen auf, die in dem Enterprise-Prozess 120 verwendet
und in Tabelle 6 aufgeführt
sind. Der Pseudocode der Tabelle 1 umfasst Kommentare (Comments),
die die Variablen beschreiben, die in dem Code auftreten.
-
-
Die Funktionen, auf die voranstehend
Bezug genommen wurde, sind nachstehend in den Gleichungen 1 bis
9 aufgeführt.
-
-
Der in Tabelle 1 aufgelistete Pseudocode
kann Information verarbeiten, insbesondere Anklick-Strom-Daten, die
für eine
Vielzahl von Benutzern 12 gesammelt werden, die eine Vielzahl
von Web-Seiten besucht haben, die auf den Servern 15, 16, 17 angeordnet
sind. In dem Enterprise-Prozess, der in der Tabelle 1 aufgelistet
ist, erzeugt der Prozess für
jeden Benutzer 12 ein Feld A von Interessenverhaltensvektoren I,
wobei jeder Verhaltensvektor zu einer gegebenen Interessenkategorie
gehört.
Jeder der Vektoren I kann ein mehrdimensionaler Vektor sein, beispielsweise
der vierdimensionale Vektor (e, t, d, s), wobei e, t, d und s die Parameter
sind, die von den Anklick-Strom-Daten bereitgestellt werden, die
an einer Web-Site für
einen gegebenen Benutzer erzeugt werden. Wie unter Bezugnahme auf 5 diskutiert, ist e stellvertretend
für die
Inhaltsinteressen-Bewertung für
eine Seite, die an dem Server gespeichert ist; t ist stellvernetend
für das
Datum/die Zeit, ausgedrückt
in Sekunden, als die Seite zuletzt von dem Benutzer besucht wurde,
gemessen von einem/einer Referenz-Datum/Zeit, z. B. 1/1/1996; d
ist stellvertretend für
die Zeitdauer, über
der die Seite betrachtet wurde, und ist typischerweise in Einheiten
von Sekunden bereitgestellt; und s ist stellvertretend für die Session-ID.
-
Zurückkehrend zur 6 arbeitet der Enterprise-Prozess 120 mit
einer Interessenkategorie-nach-Interessenkategorie-
und einer Benutzer-nach-Benutzer-Basis und diesbezüglich geht
er in eine Schleife 122 über, die Interessenkategorien
einmal zu einer Zeit wählt
und beginnt, um das Interessenprofil des Benutzers für diese
Interessenkategorie zu bestimmen.
-
Sobald eine Interessenkategorie für einen
spezifischen Benutzer gewählt
ist, z. B. für
den "Benutzer 1'' der 6,
bestimmt ein erster Schritt 126, ob für die gewählte Interessenkategorie eine
vorher bestimmte Interessenbewertung i vorhanden gewesen ist. Wenn
keine derartige historische Bewertung für die Interessenkategorie des
Benutzers existiert, dann wird der Prozess 120 im Schritt
128 eine anfängliche
Interessenbewertung für
die gewählte
Kategorie I berechnen.
-
Die anfängliche Interessenbewertung
kann z. B. aus Information, e, d, t und s berechnet werden, die von
den Anklick-Strom-Daten bereitgestellt wird. Die Gleichung 5 stellt
eine Technik zum Verarbeiten der Anklick-Strom-Daten bereit.
-
Die Gleichung 5 wird im Schritt 128
angewendet, um eine Rohinteressenbewertung r zu berechnen, indem über sämtliche
Sessions s summiert wird, wobei die Inhaltsinteressen-Bewertung
c, ein Dauerkoeffizientenparameter β, und die Dauer d, in der die
gewählte
Inhaltskategorie dem Benutzer während
einer Session angezeigt wurde, berücksichtigt werden. Der Dauerkoeffizientenparameter β bezieht
sich auf die Zeit einer Beobachtung über der Zeit der Berechnung. β steigt an,
wenn während
der Betrachtung weniger Berechnungen stattfinden. Die Gleichung
5 trifft auch auf eine Skalierungsfunktion fi,
definiert mit Gleichung 2, zu, die bestimmte Werte in der Gleichung
5, wie βd,
auf eine Zahl zwischen null und eins skaliert oder normalisiert. Schließlich summiert
die Gleichung 5 auch das Benutzerinteresse über sämtliche beobachteten Sessions
auf und normalisiert dieses und multipliziert die Session-Aufzeichnung
mit einer exponentiellen Funktion, die die Relevanz der älteren Daten
berücksichtigt.
Das Ergebnis der Gleichung 5 ist ein Maß für das Rohinteresse des Benutzers
an der gewählten
Kategorie.
-
Wenn im Schritt 126 bestimmt wird,
dass eine Interessenbewertung bereits für den spezifizierten Benutzer
existiert, dann geht der Schritt 120 zum Schritt 130, um das Ausmaß zu bestimmen,
mit dem die vorher bestimmte historische Interessenbewertung die
neue Interessenbewertung beeinflussen sollte. In einer praktischen
Vorgehensweise wird der historische Beitrag i, aus der Gleichung
7 bestimmt. Wie sich der Gleichung 7 entnehmen lässt, wird die historische Interessenbewertung
i durch die inverse Interessenskalierungsfunktion fi
–1 multipliziert,
um den Effekt des voranstehend angewendeten Skalierungsprozesses
zu entfernen, und um den Effekt der exponentiellen Zeitabfallfunktion
der Gleichung 5, die während
der vorangehenden Session angewendet wurde, zu entfernen. Nachdem
das Interessenprofil für
die gegenwärtigen
Sessions unter Verwendung der Gleichung 5 bestimmt ist, in Schritt
132, werden der historische Beitrag i1,
der im Schritt 130 bestimmt wird, und die gegenwärtige Rohinteressenbewertung,
die im Schritt 132 bestimmt wird, addiert (Gleichung 8) und normalisiert
(Gleichung 9), um eine kombinierte aktualisierte Interessenbewertung
i zu bilden, Schritt 134.
-
Die neue Interessenbewertung kann
für den
Benutzer gespeichert werden und der Prozess wird sich zu einer anderen
Interessenkategorie für
den Benutzer bewegen, Schritte 136 und 142. Sobald die Information für sämtliche
angeforderten Interessenkategorien für die Benutzer verarbeitet
worden ist, wird die Zeit der letzten Ausführung, tc auf
die gegenwärtige
Zeit tc aktualisiert und gespeichert, Schritt
138. Der Prozess kann dann für
einen anderen Benutzer wiederholt werden, Schritt 140.
-
Wie voranstehend diskutiert, kann
jeder der Interessenverhaltensvektoren I mit einer gegebenen Interessenkategorie
assoziiert werden. Eine Interessenkategorie kann irgendein Gegenstand,
ein Thema, ein konkretes oder abstraktes Konzept, z. B. Sport, Musik,
Politik, allgemeine Nachrichten oder Geschichte, sein. Ein oder
mehrere Kategorien können
einer Seite zugeordnet werden, die an einer Server-Site gespeichert
wird und einem Benutzer zur Verfügung
gestellt wird. In der Praxis kann jede Seite, die an einer Site
gespeichert ist, manuell oder automatisch einer gegebenen Kategorie
oder einer Vielzahl von gegebenen Kategorien zugewiesen werden,
wobei jede von diesen zu einer Seite gehört. Z. B. kann eine HTML-Seite,
die an einem Server gespeichert ist, Information über einen
Film enthalten, der den Bürgerkrieg
beschreibt. In diesem Beispiel kann diese Seite mit einer Interessenkategorie
assoziiert werden, die sich auf Filme bezieht, sowie mit einer Interessenkategorie,
die sich auf die Geschichte bezieht, oder auf den Bürgerkrieg.
Die Inhaltsinteressenbewertung kann normalisiert werden, so dass
sie in einem Wertebereich zwischen 0,00 und 1,00 liegt. Der Prozess 120 kann
verwendet werden, um einer Seite eine Bewertung zuzuweisen. Demzufolge
kann eine Seite, die mit der Interessenkategorie assoziiert wird,
auch mit einer Inhaltsinteressenbewertung assoziiert werden, die
darstellt, wie eng die gewählte
Seite für
eine bestimmte Kategorie oder Kategorien assoziiert ist.
-
In einer anderen Praxis kann das
Benutzerprofil, das von den hier beschriebenen Systemen erzeugt wird,
auch demographische oder geographische Information einschließen, die
durch herkömmliche
Mittel gesammelt werden, typischerweise mittels eines Formblatts,
welches der Benutzer ausfüllt,
wenn er die Web-Site besucht. Das Benutzerprofil umfasst sowohl
demographische Information als auch eine Interessenverhaltensinformation.
Es sei darauf hingewiesen, dass die Kombination von diesen zwei
Typen von Daten bestimmte Typen einer Analyse erlauben kann, wie
der Interessenniveaus von bestimmten demographischen Gruppen an
bestimmten Gegenständen,
um eine detaillierte Marktanalyse bereitzustellen und ein Verbindungsinteresse zwischen
anscheinend getrennten Gegenständen
zu identifizieren. Andere Vorteile der Systemprozesse, die hier
beschrieben sind, werden sich einem Durchschnittsfachmann in dem
technischen Gebiet ergeben.
-
Wie in 6 ersichtlich,
erzeugt der Enterprise-Prozess 120, der voranstehend beschrieben
wurde, ein Benutzerprofil und/oder aktualisiert ein existierendes
Benutzerprofil für
eine spezifizierte Interessenkategorie in einem einzelnen Durchlauf.
Das Benutzerprofil kann in Echtzeit inkrementiert werden und neue
Interessenkategorien können
leicht hinzugefügt
werden. Ferner können
die Interessenmaßnahmen
als absolute Bewertungen bereitgestellt werden, was Vergleiche zwischen
den Interessenbewertungen von unterschiedlichen Benutzern erlaubt.
Zusätzlich
wird die Information in einer vom Menschen lesbaren Form bereitgestellt,
die einen einfachen Zugriff auf die Daten erlaubt, die von einem
Interessenverhalten eines Benutzers abgeleitet werden.
-
Die Erfindung kann in einer digitalen
elektronischen Schaltungsanordnung oder in einer Computer-Hardware,
Firmware, Software, oder in Kombinationen davon implementiert werden.
Eine Vorrichtung der Erfindung kann in einem Computer-Programmprodukt
implementiert werden, welches greifbar in einer maschinenlesbaren
Speichereinrichtung zur Ausführung
durch einen programmierbaren Prozessor verkörpert ist; und Verfahrensschritte
der Erfindung können
durch einen programmierbaren Prozessor ausgeführt werden, der ein Programm
von Befehlen ausführt,
um Funktionen der Erfindung durch Verarbeiten von Eingangsdaten
und durch Erzeugen eines Ausgangs auszuführen. Die Erfindung kann in vorteilhafter
Weise in ein oder mehreren Computer-Programmen implementiert werden,
die auf einem programmierbaren System ausführbar sind, welches wenigstens
einen programmierbaren Prozessor, der gekoppelt ist, um Daten und
Befehle von einem Datenspeichersystem zu empfangen und Daten und
Befehle an dieses zu übertragen,
wenigstens eine Eingabeeinrichtung, und wenigstens eine Ausgabeeinrichtung
einschließt.
Jedes Computer-Programm kann in einer Hochebenenprozess- oder objektorientierten
Programmiersprache (High-Level-Prozess-oder object-oriented Programmiersprache)
oder in Assembler oder einer Maschinensprache, wenn gewünscht, implementiert
werden; und in jedem Fall kann die Sprache eine kompilierte oder
interpretierte Sprache sein. Geeignete Prozessoren umfassen beispielsweise
sowohl allgemeine als auch Spezialzweck-Mikroprozessoren. Allgemein
wird ein Prozessor Befehle und Daten von einem Nur-Lese-Speicher
und/oder einem Speicher mit wahlfreiem Zugriff empfangen. Speichereinrichtungen,
die zum grefbaren Verkörpern
von Computer-Programmbefehlen und Daten geeignet sind, umfassen
sämtliche
Formen eines nicht flüchtigen
Speichers, einschließlich
beispielsweise Halbleiterspeichereinrichtungen wie EPROM, EEPROM,
und Flash-Speichereinrichtungen; magnetische Disks, wie interne
Festplattenlaufwerke und entfernbare Disks; magneto-optische Disks;
und CD-ROM-Disks. Irgendeine
der vorangehenden kann durch ASICs (anwendungsspezifische integrierte
Schaltungen; application-specific integrated circuits) ergänzt oder
darin verwirklicht werden.
-
Um eine Interaktion mit einem Benutzer
bereitzustellen, kann die Erfindung auf einem Computer-System mit einer
Anzeigeeinrichtung, wie einem Monitor oder einem LCD-Schirm zum
Anzeigen von Information für
den Benutzer, und einer Tastatur und einer Zeigeeinrichtung, wie
einer Maus oder einem Rollball, mit dem der Benutzer eine Eingabe
an dem Computer-System bereitstellen kann, implementiert werden.
Das Computer-System kann programmiert werden, um eine grafische
Benutzerschnittstelle bereitzustellen, über die Computer-Programme
mit Benutzern in Wechselwirkung treten können.
-
Während
die Erfindung in Verbindung mit den gezeigten und ausführlich beschriebenen
bevorzugten Ausführungsformen
offenbart worden ist, ergeben sich verschiedene Modifikationen und
Verbesserungen davon Durchschnittsfachleuten in dem technischen
Gebiet leicht von selbst. Die lokale Benutzer-ID kann z. B. auf die
Benutzereingabe gestützt
sein, beispielsweise eine Mitglieds-ID, die von einer Organisation
zugewiesen wird, oder kann durch den Benutzer auf einem Formblatt
gewählt
werden, das an den Server auf ein Log-in hin übergeben wird. Der Enterprise-Server
kann das globale Benutzerprofil durchleuchten und an eine interessierte
Partei, beispielsweise an einen Werbenden, nur diejenigen Abschnitte
freigeben, die für
den Werbenden von Interesse sind und/oder für die der Werbende eine Teilnahmeberechtigung
erwirbt.