-
Die
vorliegende Erfindung bezieht sich auf ein System und ein Verfahren
zur Verwaltung von Ressourcen, insbesondere zum Verwalten von Einträgen in verteilten
Informationsabrufsystemen.
-
Im
derzeitigen informationsreichen Klima wird eine beträchtliche
Menge an Aufmerksamkeit auf die Entwicklung von verbesserten Methoden
für den
Informationsabruf gelegt. Insbesondere ist der Bereich der Agententechnik
stark an der Entwicklung von Agenten zum Suchen, Zusammenfassen,
Filtern und Darstellen von Informationen beteiligt, siehe z. B. Weeks & Revett, 1997
(Davies, Weeks, Revett (1997) "Information
Agents for the WWW" in
Software agents and soft computing, Hrsg. H. Nwana, N. Azarmi, Berlin
Springer-Verlag). Die meisten, wenn nicht alle, beruhen auf dem
Agenten, der etwas Wissen über
den Benutzer hat. Das Einschließen
von Informationen über
Benutzer wird schnell ein Schlüsselbereich,
nicht nur für
die Agententechnologie, sondern auch für das Internet im allgemeinen,
wie von der kürzlich
vorgeschlagenen offenen Norm bezüglich
Profilverwaltung (Open Profiling Standard) von Dunn, Gwerzman, Layman
und Patrovi (1997) (Dunn, Gwerzman, Layman, Patrovi (1997) "Privacy and profiling
on the web" Technical
note, WWW consortium, 2. Juni 1997) gezeigt wird. Informationen über Benutzer
spielen unzweifelhaft eine ständig wachsende
Rolle, da digitale Bibliotheken, elektronischer Handel und personalisierte
Anwendungen weiter verbreitet werden.
-
Das
Ziel für
viele Mitarbeiter, die an dem Entwurf von Informationsabrufsystemen
beteiligt sind, ist es, ein System zu entwerfen, das Informationen
für viele
Benutzer identifizieren und sie ihnen präsentieren kann. Für den Verarbeitungsaufwand,
der an der Bearbeitung einer Anfrage nach Informationen beteiligt
ist, kann erwartet werden, dass er sich mit der Anzahl der Benutzer
vergrößert, da
die Interes sen zwischen den Benutzern im allgemeinen variieren.
Als ein Ergebnis ist es wahrscheinlich, dass die Skalierbarkeit
eines Systems mit steigender Teilnahme durch Benutzer eine zunehmend
wichtige Sache wird. Ganz klar ist es wahrscheinlich, dass Systeme, die
nicht in einem vernünftigen
Zeitraum Informationen an ihre Kunden liefern können, ihre Kunden an Systeme
verlieren, die dies können.
Im Allgemeinen umfassen Informationsabrufsysteme eine Mehrzahl von
Komponenten: Web, Datenbank- und/oder Dateiserver, die entsprechend
der Architektur des Abrufsystems Informationen untereinander weitergeben.
-
Eine
Art der Reduzierung des Netzwerkverkehrs und der Antwortzeiten zwischen
diesen Komponenten ist es, verschiedene Cachetechnologien einzusetzen.
Cachen ist ein spezieller Hochgeschwindigkeitsspeichermechanismus,
durch den Daten, auf die wiederholt zugegriffen wird, in einem Puffer
gespeichert werden – typischerweise
in entweder einem statischen oder dynamischen Speicher (auf den
sich herkömmlicherweise
jeweils als Speicher- und Festplattencache bezogen wird) – für den schnellen
Zugriff. Es gibt viele Typen von Cache, insbesondere "Makro"-Caches, an die stark
populäre Informationen
verteilt und die periodisch aktualisiert werden können, und
von denen die meisten Benutzer Informationen erhalten; Lokalservercaches
(z. B. Firmen-LAN-Server oder Server von Zugangsanbietern, die Dateien
cachen, auf die häufig
zugegriffen wird), bei denen die Entscheidung, welche Daten in den Cache
geladen werden, vollständig
lokal sein kann, der Cache eines Webbrowsers, der die letzten Webdateien
enthält,
die heruntergeladen wurden, und der sich physikalisch auf der Festplatte
befindet (und möglicherweise
einige der folgenden Caches zu jedem Zeitpunkt); einen Speichercache
(entweder ein reservierter Bereich des RAM oder ein spezieller Festplattencache),
wo eine Kopie der Daten, auf die zuletzt zugegriffen wurde, und angrenzende
(mit der höchsten
Wahrscheinlichkeit, dass darauf zugegriffen wird) Dateien für den schnellen
Zugriff gespeichert werden; das RAM selbst, das als ein Cache für Daten
angesehen werden kann, die zu Beginn von der Festplatte hineingeladen
wurden (oder andere I/O-Speichersysteme); L2-Cachespeicher, der
auf einem von dem Mikroprozessor separaten Chip ist, aber auf den
schneller zugegriffen werden kann, als auf normales RAM und L1-Cachespeicher
auf dem selben Chip wie der Mikroprozessor.
-
Außerdem führen manche
personalisierte Informationsabrufsysteme präventives Cachen und Filtern
durch, wo populäre
Web-Seiten an regionale Veröffentlichungszentren
verteilt werden, um von Benutzeragentenprogrammen untersucht zu
werden, und möglicherweise
zur Ansicht an das Heimatsystem eines Benutzers weitergeleitet zu
werden. Dies vermeidet das Problem der Netzwerküberlastung, da der Server an
der ursprünglichen
Stelle der Veröffentlichung
das Objekt an eine verwaltbare Anzahl von regionalen Zentren verteilt,
und dieser Prozess kann wiederholt werden, um das Objekt an Subzentren
zu senden. Auch hilft es dem Benutzer beim Finden von neuen und
interessanten Objekten, da der Benutzer benachrichtigt wird, wenn
sein persönlicher
Filteragent ein Objekt empfängt.
-
Freytag
und Neumann beschreiben ein System in "Resource adaptive WWW access for mobile applications", das in "Computers and Graphics
23", 1999, Seiten
841–848
veröffentlicht
ist, durch das Informationen, die an einen Benutzer geliefert werden sollen,
in Abhängigkeit
von einem Endgerätes
des Benutzers, der verfügbaren
Bandbreite und den Vorlieben des Benutzers angepasst werden können. Das
System empfängt
als Eingabe Informationen, die einem Benutzer zusammen mit Informationen
zu Benutzer und Endgerät
präsentiert
werden sollen, und wertet sogenannte "Anpassungsregeln" entspre chend der Eingabe aus. Den Regeln
sind Aktionen zugeordnet, die den Inhalt der Informationen, die
einem Benutzer präsentiert
werden sollen, essenziell modifizieren.
-
Schmidt
et al. geben in "There
is more context than location",
veröffentlicht
in Computers and Graphics 23 1999 pp 893–901, an, dass der Kontext jegliche
Daten enthält,
die verwendet werden können,
um Informationen zu filtern, um das Problem der Überflutung mit Informationen
anzugehen. Insbesondere diskutieren Sie verschiedene Weisen, auf
die Kontextdaten mit bewährter
Sensortechnik abgerufen werden können,
mit einem Ausblick auf das Extrahieren von Daten, die sich auf physikalische
Bedingungen in Umgebungen der mobilen Rechneranwendung beziehen.
-
Obwohl
Freytag und Neumann und Schmidt et al. die Kopplung zwischen Kontext
und der Präsentation
von Informationen beschreiben, beschreiben sie nicht, wie solche
Informationen tatsächlich
verwendet werden können,
um Informationen zu filtern. Ausführungen der vorliegenden Erfindung
haben zum Ziel, diesen Mangel zu beheben.
-
Nach
einem ersten Aspekt der Erfindung wird ein Verfahren zum Abrufen
von Informationen hinsichtlich eines Gegenstandes von Interesse
für einen
Benutzer auf Basis eines Zustands des Benutzers zur Verfügung gestellt.
Der Gegenstand von Interesse schließt eine Mehrzahl von Sätzen von Schlüsselwörtern ein,
wobei jedem Satz von Schlüsselwörtern wenigstens
ein identifizierbarer Zustand des Benutzers zugeordnet ist, und
wobei das Verfahren folgende Schritte enthält:
Abrufen von Informationen
auf Basis des Gegenstandes von Interesse;
kennzeichnen der
abgerufenen Informationen dementsprechend, welcher Zustand auch
immer seinem entsprechenden Satz von Schlüsselwörtern zugeordnet wurde,
wenigstens
teilweises Zuordnen einer Rangordnung zu den gekennzeichneten Informationen
entsprechend des Zustandes eines Benutzers, und
Speichern der
gekennzeichneten Information entsprechend der dazu gehörigen Rangordnung.
-
Herkömmlicherweise
werden die abgerufenen Informationen dem Benutzer über ein
Endgerät präsentiert.
Dies beinhaltet das Erzeugen einer sichtbaren Seite mit wenigstens
einigen der abgerufenen Informationen; wenn eine sichtbare Seite
erzeugt ist, wird eine Auswahl der gespeicherten Informationen entsprechend
den Möglichkeiten
der Anzeige des Endgerätes
abgerufen.
-
Vorzugsweise
beinhaltet das Verfahren weiter die Schritte der Identifikation
von Duplikaten in den gekennzeichneten Informationen, des Entfernens
der Duplikate, sodass es nur eine von jeder gekennzeichneten Informationen
gibt, und der Zuordnung einer vorher festgelegten Rangordnung zu
der gekennzeichneten Information, zu der es Duplikate gibt. Das
Zuordnen der Rangordnung kann den Effekt des Erhöhens der Rangordnung dieser
gekennzeichneten Information haben, da Duplikate anzeigen können, dass
die Information besonders relevant für einen Benutzer ist, insbesondere,
wenn die Information hinsichtlich eines anderen Gegenstands abgerufen
wurde.
-
Vorzugsweise
enthält
das Verfahren erstens das Empfangen einer Eingabeaufforderung, die
den Gegenstand von Interesse anzeigt, die veranlasst, dass das Verfahren
ausgeführt
wird. Das Verfahren kann auch das Empfangen einer weiteren Eingabeaufforderung
enthalten, um Informationen von Interesse für einen Benutzer abzufragen,
wobei die Eingabeaufforderung mit der weiteren Eingabeaufforderung
verglichen wird, und bei dem Ereignis der Ähnlichkeit die Informationen
identifiziert werden, die als Antwort auf die Eingabeaufforderung
als relevant für die
weitere Eingabeaufforderung gespeichert werden.
-
Dieser
Aspekt hat den Effekt der Reduzierung des Ausmaßes des Datenverkehrs beim
Abrufen, da neue Anfragen bezüglich Überlappung
mit Anfragen überprüft werden,
die schon bearbeitet worden sind;
wenn es eine Überlappung
zwischen den Anfragen gibt, dann gibt es keinen Grund, die Informationen mehr
als einmal abzurufen.
-
In
dieser Beschreibung werden die Begriffe "Interesse", "Benutzerprofil", "Informationsquelle", "Kontext" und "verifiziertes Interesse" verwendet und werden
wie folgt definiert:
"Interesse" umfasst auf den
Gegenstand bezogene Daten, wie etwa Schlüsselwörter und/oder Bilder und/oder
Musik, die für
den Gegenstand repräsentativ
sind. Herkömmlicherweise
werden Bilder und Musik durch irgendeine Form von Beschreibung begleitet,
zum Beispiel für
Musik "Requiem von
Faure, geschrieben 1887, das Stück
gibt Faures Todesvision wieder".
In diesem Fall können
Schlüsselwörter aus der
Beschreibung extrahiert werden, und verwendet werden, um ein Interesse
zu beschreiben (z. B. für den
Gegenstand Impressionist, Tod).
"Benutzerprofil" enthält eines oder mehrere Interessen,
die hinsichtlich eines Benutzers gespeichert werden,
"Informationsquelle" umfasst eine Einheit,
die Informationen enthält,
zum Beispiel ein Dokument.
"Kontext" enthält Darstellungen,
die den aktuellen Zustand eines Benutzers beschreiben – z. B.
den Zustand (Arbeiten, Spielen), die Situation (zu Hause, Auswärts) und
die Firma (Kollegen).
"verifizierte
Interessen": wenn
der Zustand des Benutzers identifiziert wurde, wird der Kontext
des Benutzers als verifiziert angesehen – wird der Benutzer z. B. als
zu Hause arbeitend identifiziert, wird der Kontext als Arbeit, zu
Hause als verifiziert angesehen. Die Interessen werden dann entsprechend
des verifizierten Kontextes gefiltert und auf diese Interessen wird
sich als verifizierte Interessen bezogen.
-
Weitere
Aspekte, Merkmale und Vorteile der vorliegende Erfindung werden
aus der folgenden Beschreibung von bevorzugten Ausführungen
der Erfindung offensichtlich, die sich auf die Zeichnungen im Anhang
bezieht, in denen
-
1 ein schematisches Diagramm
ist, das die physikalische oder Transportebene eines Kommunikationssystems
nach der Erfindung darstellt;
-
2 ist ein schematisches
Blockdiagramm, das Komponenten eines Informationsanbieters nach der
vorliegenden Erfindung zeigt;
-
3 ist ein schematisches
Blockdiagramm, das eine Einrichtung zum Erzeugen von Aktionen durch
einen Profilverwalter zeigt, der einen Teil der Vorrichtung des
Informationsanbieters bildet, der in 2 gezeigt
ist;
-
4 ein schematisches Blockdiagramm
ist, das externe Eingänge
zu einer Kontextbestimmungseinrichtung zeigt, die einen Teil der
Vorrichtung des Informationsanbieters bildet, die in 2 gezeigt ist,
-
5 ein schematisches Flussdiagramm
ist, das die Schritte zeigt, die an der Bestimmung des Kontextes
eines Benutzers nach der vorliegenden Erfindung beteiligt sind;
-
5b ein schematisches Blockdiagramm ist,
das weitere externe Eingänge
zu der Kontextbestimmungseinrichtung zeigt, die in 4 gezeigt ist;
-
6 ein schematisches Flussdiagramm
ist, das Schritte zeigt, die von einer zweiten Abrufeinrichtung
ausgeführt
werden, die einen Teil der Vorrichtung des Informationsanbieters
bildet, der in 2 gezeigt
ist;
-
7 ein schematisches Blockdiagramm
ist, das die zweite Abrufeinrichtung des Informationsanbieters aus 2 zeigt, die mit einer Überwachungseinrichtungskomponente
kooperiert; und
-
8 ein schematisches Diagramm
ist, das ein Bayes-Netz zeigt, das einen Teil der Überwachungseinrichtungskomponente
bildet.
-
Überblick
-
Mit
Bezug auf 1 enthält die physikalische
Kommunikationsumgebung eines Benutzers U1 ein Mobiltelefon T1 und
einen persönlichen
digitalen Assistenten T2, der von dem Benutzer getragen wird; und
eine Workstation T3 einschließlich
eines Modems. Die Workstation T3 befindet sich höchstwahrscheinlich in einigem
Abstand von dem Benutzer U1.
-
Die
Workstation T3 umfasst in diesem Fall einen lokalen Netzwerk(LAN)-Server,
der an weitere Endgeräte
(nur eines gezeigt, T4) in verschiedenen Abständen zum Benutzer angeschlossen
ist. Mit den verschiedenen Endgeräten kommunizieren eine Anzahl
von verschiedenen Kommunikationskanälen, die Teile von verschiedenen
virtuellen Netzwerken bilden (obwohl manche oder alle gemeinsame
Zughörigkeit
haben können).
Die Workstation T3 ist auch mit den Datenbank-Servern DB1 und DB2
verbunden, die in dem selben LAN N3 wie das Endgerät T3 gezeigt
sind; es ist klar, dass die Datenbank-Server DB1 und DB2 sich in LANs befinden
können,
die mit dem LAN N3 über
eine oder mehrere Vermittlungsstellen und/oder Router (nicht gezeigt)
verbunden sind.
-
Ein öffentliches
vermitteltes Telefonnetzwerk (PSTN) N1 ist mit einem digitalen Netzwerk
für integrierte
Dienste (ISDN, Integrated Services Digital Network) N2 über ein
Gateway G2 (z. B. eine lokale oder internationale Vermittlungszentrale)
verbunden, und ist über
eine ISDN-Leitung
L1 mit dem Endgerät T3
verbunden und folglich mit dem lokalen Netzwerk N3. Ein öffentliches
terrestrisches Mobilfunknetzwerk (PLMN, Public Land Mobile Network)
(zum Beispiel ein GSM-kompatibles
digitales zelluläres
Netzwerk) N4 ist über
ein Gateway G2 mit dem PSTN N1 und ISDN N2 verbunden. Eine Basisstation
B1 des PLMN stellt eine Pico-Zelle in der Umgebung des Gebäudes zur
Verfügung,
in dem sich der Benutzer U1 befindet, und eine Basisstation B2 stellt
eine Zelle in demselben Gesamtbereich zur Verfügung. Folglich können die
Netzwerke N1–N4
Daten mit verschiedenen Raten zu den verschiedenen Endgeräten T1–T4 liefern: Daten
mit geringer Ü bertragungsrate über das
PLMN N4, Daten mit höherer Übertragungsgeschwindigkeit über das
PSTN N1 und Daten mit noch höherer Übertragungsgeschwindigkeit über das
ISDN N2 oder das LAN N3.
-
Informationsquellen,
die zum Beispiel auf den Servern IS1–IS4 gespeichert sind, sind über die Netzwerke
N1–N4
verteilt. Es sind nur vier Server gezeigt, man kann sich jedoch
andere Verteilungen vorstellen. Der Benutzer U1 wünscht relevante
Informationen von irgendeiner oder allen der Informationsquellen
in den System zu empfangen.
-
Überblick über ein Informationsabrufsystem,
das eine Ausführung
der Erfindung nutzt
-
Der
Kontext von einem Benutzer U1 zu einem Zeitpunkt bestimmt weitgehend
den Typ und den Inhalt von Informationen, die für den Benutzer U1 zu diesem
Zeitpunkt von Interesse sind, wenn ein Benutzer U1 zum Beispiel
bei der Arbeit ist, dann will der Benutzer U1 wahrscheinlich etwas
wissen, was bezüglich
der Arbeit von Interesse ist. Wenn die Informationen kategorisiert
und entsprechend dem Kontext des Benutzers präsentiert werden, erreicht dies drei
Dinge: Erstens wird der Umfang der Informationen reduziert, die
dem Benutzer U1 präsentiert
werden, zweitens muss der Benutzer die Informationen nicht manuell
ausfiltern, die für
seinen gegenwärtigen Kontext
nicht relevant sind, und drittens wird der Benutzer nicht von Informationen
abgelenkt, die für
seinen gegenwärtigen
Kontext nicht relevant sind. Es ist deshalb günstig, Informationen als eine
Funktion des Kontextes eines Benutzers zu filtern, um den Umfang der
Informationen zu verringern, die für den Benutzer nicht relevant
sind.
-
Ein
Informationsabrufsystem, das eine Ausführung der vorliegenden Erfindung
nutzt und auf das sich im allgemeinen als Informationsanbieter 200 bezogen
wird, befindet sich mit Bezug auf 2 im Endgerät T3. Der
Informationsanbieter 200 enthält essenziell einen Profilverwalter 201 zum
Erzeugen eines Profils, das die Interessen eines Benutzers umfasst,
eine Schnittstelleneinrichtung 203 zum Herstellen der Schnittstelle
mit dem Benutzer, einen Indexerzeuger 205 zum Indizieren
der Informationsquellen, die auf den Servern IS1–IS4 gespeichert sind, und
eine Abrufmaschine 207 zum Abrufen von Informationen entsprechend
dem Kontext eines Benutzers.
-
Die
Komponenten des Informationsanbieters 200 werden unten
detaillierter beschrieben, aber im Überblick empfängt der
Profilverwalter 201 Informationen über die Interessen von dem
Benutzer über
die Schnittstelleneinrichtung 203 und erzeugt ein persönliches
Profil, das in der Profildatenbank DB1 für den Benutzer gespeichert
wird. Die Interessen, die das Profil umfassen, werden von Attributen
begleitet, z. B. zu Hause/Auswärts,
Arbeiten/Spielen, die im Allgemeinen einen Kontext des Benutzers
beschreiben. Der Indexerzeuger 205 indiziert, wie oben
erwähnt, Informationsquellen,
die auf den Servern IS1–IS4
gespeichert sind.
-
Die
Abrufmaschine 207 umfasst eine Kontextbestimmungseinrichtung 209,
eine erste Abrufeinrichtung 211 und eine zweite Abrufeinrichtung 213.
Die Kontextbestimmungseinrichtung 209 empfängt Informationen
von externen Quellen, die sich auf dem Benutzer U1 beziehen – z. B.
den Standort des Benutzers, die Tageszeit, und eine oder mehrere Eingaben
aus einem Terminkalender, aus denen der Kontext des Benutzers U1
bestimmt wird. Die erste Abrufeinrichtung 211 ist dazu
eingerichtet, Informationen aus dem persönlichen Profil abzurufen, das
von dem Profilverwalter 201 erzeugt wurde, sodass, wenn
die Kontextbestimmungseinrichtung 209 einmal den Kontext
des Benutzers bestimmt hat, die erste Abrufeinrichtung 211 Interessen
abrufen kann, die sich auf diesen Kontext beziehen. Die zweite Abrufeinrichtung 213 verwendet
die kontextbezogenen Interessen, die von der ersten Abrufeinrichtung 211 abgerufen
werden, um den Indexerzeuger 205 abzufragen und Informationsquellen
abzurufen, die diesen Anfragen entsprechen.
-
Für den Umfang
der Verarbeitung, die an einer Anfrage nach Informationen beteiligt
ist, kann erwartet werden, dass er mit der Anzahl von Benutzern skaliert.
Dies liegt daran, dass die Interessen und der Kontext, vor dem die
Interessen als relevant für
einen Benutzer markiert werden, im allgemeinen zwischen Benutzern
variieren, was es schwierig macht, eine spezifische Anfrage zu erzeugen,
die im Hinblick auf viele Benutzer verwendet werden kann. Außerdem ist
an einem System, wie etwa dem Informationsanbieter 200,
der oben beschrieben ist, Kommunikation zwischen verschiedenen Komponenten
beteiligt, von denen sich jede in separaten Netzwerken befinden kann.
Als ein Ergebnis erzeugt jeder der oben beschriebenen Prozesse Netzwerkverkehr,
der bei vielen Anfragen zu einem inakzeptablem Niveau der Leistungsfähigkeit
und letztendlich zur Unzufriedenheit des Benutzers führt.
-
Essenzielle
Ausführungen
der vorliegenden Erfindung befassen sich mit der Verwaltung von
Systemressourcen, um die Netzwerkauslastung zu verringern und Antwortzeiten
zu verkürzen.
Insbesondere cachen die Ausführungen
Daten als eine Funktion von Benutzerinteressen und Kontext. Die
Ausführungen
befassen sich mit der Analyse und dem Cachen der Ergebnisse, die
von benutzerbasierten präventiven
Cache- und Filtersystemen zurückgegeben
werden, wie etwa den oben beschrieben. Folglich können Informationen,
die als relevant für den
Benutzer identifiziert worden sind, in einer Liste entsprechend dem
verifizierten Kontext des Benutzers verwaltet, bezüglich Duplikaten
verarbeitet und dann in den Cache geladen werden. Solches Cachen
ist besonders vorteilhaft, wenn die Informationen auf mobilen Einrichtungen
präsentiert
wird, wo die Größe der Anzeige
es nur erlaubt, dem Benutzer eine Untermenge der Informationen zu
irgendeinem Zeitpunkt anzuzeigen, und der Benutzer will, dass ihm
Informationen präsentiert
werden, die für
ihn am relevantesten sind. In Ausführungen der Erfindung werden
aufeinander folgende Untermengen von Informationen aus dem Cache
extrahiert, sodass die erste Untermenge Informationen umfasst, die
für den
Zustand des Benutzers am relevantesten sind, und die letzte Untermenge umfasst
Informationen, die am wenigsten relevant für den Zustand des Benutzers
sind.
-
Weitere
Vorteile schließen
einen geringeren Verarbeitungsaufwand ein, da alle der Ergebnisse von
benutzerbasiertem präventivem
Filtern "nur einmal" analysiert werden,
statt auf einer "pro-Seite"-Basis. Außerdem ermöglicht die "nur einmal"-Verarbeitung der
Ergebnisse, dass Duplikate identifiziert werden, möglicherweise
für spezielle
Behandlung, und stellt sicher, dass dem Benutzer die gleiche Information
nicht zweimal präsentiert
wird.
-
Das
folgende ausgearbeitete Beispiel stellt die Funktionalität des Informationsanbieters 200 dar:
Angenommen,
dass der Benutzer ein Benutzerprofil hat, das den folgenden Satz
von Interessen enthält:
Mobiles
Internet (Arbeit)
WAP (Arbeiten, Spielen)
Risikokapitalgeber
(Arbeit)
Motorisierter Transport (Arbeit, zu Hause)
Fernsehlisten
(Zu Hause, Spielen)
Vogelbeobachtung (Spielen)
Essen gehen
(teures Essen)
Fußball – Startreck
United (Spielen)
Tattingstone White Horse (eine Kneipe) (Spielen,
Zu Hause)
-
Um
8.00 Uhr, während
er auf dem Weg zur Arbeit ist, empfängt der Benutzer U1 eine SMS-Warnmeldung,
die ihn über
die lokalen Verkehrsverzögerungen
rund um Martlesham herum informiert. Der Benutzer ignoriert den
Bericht, fährt
weiter zur Arbeit, und bleibt in einem Verkehrsstau stecken. Gelangweilt
entscheidet sich der Benutzer, die Nachrichten anzusehen, die von
dem Informationsanbieter 200 auf seinem WAP-Telefon verfügbar sind.
Der Benutzer blättert
durch die Kurzliste, die von der zweiten Abrufeinrichtung 213 geliefert
wird, und markiert die Interessen, die er später lesen will. Standardmäßig wurden
dem Benutzer arbeitsbezogene Interessen gezeigt, weil die Kontextbestimmungseinrichtung 209 bestimmt
hatte, dass der Kontext des Benutzers Arbeit ist. Trotzdem gibt
es Verweise auf freizeitbezogene Interessen.
-
Der
Benutzer U1 hat einen Termin mit einem Risikokapitalgeber, der für 9.00 h
festgesetzt ist. Der Benutzer U1 hat einen Präferenzwert für Informationen
hochgesetzt, die sich auf das Interesse Risikokapitalgeber beziehen,
sodass die Kurzliste Informationen, die sich auf Risikokapitalgeber
beziehen, oben auf der Liste enthält. Glücklicherweise erscheint eine Beschreibung
eines Nachrichtenartikels, der sich auf einen Risikokapitalgeber
bezieht, auf der Kurzliste, und der Benutzer U1 kann die Daten vor
seinem Termin um 9.00 h ansehen.
-
Später am Tag,
während
er an seinem Schreibtisch und etwas gelangweilt ist, beginnt der Benutzer
U1 über
seine Aktivitäten
am Abend nachzudenken. Der Benutzer U1 ändert den Kontext auf den Spielen/zu
Hause-Kontext, und ihm wird eine Kurzliste von Einträgen, einschließlich Fernsehprogrammen
für den
Abend, Neuigkeiten über
sein Fußballteam
und eine Mitteilung über
die nächste
Tagung bezüglich
Vogelbeobachtung präsentiert.
-
Am
Wochenende besucht der Benutzer U1 Norwich. Aus den Details der
Bankangelegenheiten des Benutzers hat der Profilverwalter 201 ein
Interesse an NatWest Geldautomaten hinzugefügt und aus dem Interesse des
Benutzers für
motorisierten Transport hat der Profilverwalter 201 ein
Interesse an Standorten von Tankstellen hinzugefügt. Beiden dieser implizierten
Interessen werden alle Kontexte angehängt (also in dieser Ausführung Arbeit,
zu Hause, Spielen, Auswärts).
Die Kontextbestimmungseinrichtung 209 bestimmt, dass der
Kontext des Benutzers Auswärts
und Spielen ist, und, auf Basis des durch die Verfolgungseinrichtung 405 festgestellten
Standortes des Benutzers, ruft die zweite Abrufeinrichtung 213 Informationen
ab, die den Standort von teuren Restaurants, NatWest Geldautomaten
und Tankstellen um Norwich detaillieren.
-
Profilverwalter 201
-
Der
Informationsanbieter hat eine vorher festgelegte, endliche Anzahl
von Interessen, aus denen Interessen, die einem Benutzer U1 zugeordnet sind,
ausgewählt
werden können.
Diese Interessen fallen in die folgende nicht erschöpfende Liste
von Kategorien:
- – allgemeine Interessen: z.
B. aktuelle Skandale, Finanzen, Heim, Geschäftliches, Freizeit, Hobbys,
Klubs usw.;
- – Örtlichkeiten:
z. B. Heimatstadt, Urlaubsziel, Geschäftsreise, Wohnorte von Familienmitgliedern usw.
-
Es
gibt eine "Originalkopie" der allgemeinen Interessen,
die über
Verbinder als ein azyklischer Graph verbunden sind. Die Originalkopie
wird in einer Datenbanktabelle in der Profildatenbank DB1 gespeichert.
Jedes der Interessen (vom Typ Allgemein oder Örtlich) hat ein oder mehrere
vordefinierte Schlüsselwörter, die
dem Interesse zugeordnet sind, und diese Schlüsselwörter werden auch in der Profildatenbank DB1
mit Verbindung zu ihrem jeweiligen Interesse gespeichert. (Die Schlüsselwörter werden
für den Abruf
von Informationen verwendet, die für den Benutzer relevant sind,
wie später
detaillierter beschrieben wird). Jedes Interesse hat einen eindeutigen Identifizierer
(ID), und die Verbinder in dem azyklischen Graph verbinden die Interessen
miteinander (sodass das Einschließen von Schlüsselwörtern für ein Interesse
wenigstens teilweise davon abhängt, welche
anderen Interessen mit diesem Interesse verbunden sind, sodass z.
B. Interesse I1 eine vorher festgelegte Anzahl von Schlüsselwörtern von
seinen Eltern- und Kindinteressen erbt).
-
Der
Profilverwalter 201 ist dazu eingerichtet, Interesseninformationen
von dem Benutzer zu empfangen, und ein Profil zu erzeugen, das die
Interessen des Benutzers und Schlüsselwörter, die sich auf diese Interessen
beziehen, umfasst. Der Profilverwalter 201 kann auch nach
vorher festgelegten Regeln Interessen implizit identifizieren.
-
Explizite Modifikation
der Profile:
-
Ein
Benutzer kann explizit Worte und/oder Sätze eingeben, die für die Interessen
des Benutzers repräsentativ
sind, woraufhin der Profilverwalter 201 versucht, Interessen
in der Meisterkopie zu finden, die mit der Eingabe übereinstimmen.
Dies erfordert, den azyklischen Graph nach einer Übereinstimmung zwischen
der Eingabe und den Interessen zu durchsuchen, möglicherweise mit WORDNET, einem
lexikalischen Bezugssystem, oder ähnlichem, um die Suche auszuweiten.
Wenn der Profilverwalter 201 kein Interesse finden kann,
das mit der Eingabe übereinstimmt,
kann der Benutzer U1 durch die Interessen navigieren und Interessen
manuell auswählen.
-
Der
Profilverwalter 201 kann zusätzlich mit einem Syntaxanalysator
(nicht gezeigt) zusammenarbeiten, um die eingegebenen Schlüsselwörter und/oder
Sätze in
ein oder mehrere vorher festgelegte Interessen zu übersetzen;
viele bekannte Systeme könnten
angepasst werden, um die Syntax der Eingabe zu analysieren und die
analysierte Ausgabe in ein Format zu übersetzen, das von dem Profilverwalter 201 verstanden
wird.
-
Außerdem können die
Benutzer auf ihre Profile zu jedem Zeitpunkt zugreifen. Folglich
können Benutzer
ihre Profile ansehen, ihren verifizierten Kontext ansehen, ihre
Profile direkt und sogar die Informationsquellen ändern, die
verwendet werden, um Informationen bezüglich der Interessen in dem
Profil abzurufen.
-
Implizite Modifikation
des Profils:
-
Der
Profilverwalter 201 kann eine oder mehrere Regeln enthalten,
die die Interessen untereinander in Beziehung setzen, sodass, wenn
Interesse A mit Interesse B verbunden ist, und ein Benutzer U1 das
Interesse A hat, der Profilverwalter 201 automatisch das
Interesse B zu dem Profil des Benutzers hinzufügt. Regeln können auch
auf Informationen basieren, die von dem Profilverwalter von anderen
Benutzern und/oder externen Quellen abgerufen werden. Das letztere
kann insbesondere für
die Bereitstellung von auf Dienste bezogenen Informationen für Benutzer
nützlich
sein – wenn
z. B. eine der Informationsquellen IS1–IS4 Informationen bezüglich Banken
enthält,
hat der Informationsanbieter 200 das Potenzial, bankbezogene
Informationen an einen Benutzer zu liefern. Um jedoch bankbezogene
Informationen zu liefern, die für
den Benutzer relevant sind, muss der Informationsanbieter 200 wissen,
bei welcher Bank der Benutzer U1 ein Konto hat. Der Benutzer U1
könnte
diese Information natürlich
explizit eingeben, aber es wäre
viel angenehmer für
den Benutzer U1, wenn diese Information abgerufen werden könnte, ohne
dass der Benutzer U1 direkt involviert werden muss. Schließlich kann
der Profilverwalter 201 dazu eingerichtet sein, mit Webbrowsern
(nicht gezeigt) zu kooperieren, wobei sich an jedem Endgerät T1, T2,
T3 und T4 einer befindet, der von dem Benutzer U1 benutzt wird.
Insbesondere kann der Profilverwalter Software zum Verfolgen des
Verlaufs der Web-Seiten
auf die Festplatte des/der Endgerätes) T1, T2, T4 herunterladen.
Angenommen, der Benutzer U1 führt
seine Bankgeschäfte "online", dann kann die URL
der Bank des Benutzers zugänglich
sein, um Software herunterzuladen, und der Profilverwalter 201 kann
den Namen der Bank davon herunterladen, und diesen dem Benutzerprofil
in der Profildatenbank DB1 hinzufügen. Wenn der Profilverwalter 201 Zugang
zu Abrechnungsinformationen in Bezug auf Dienste von dritten Parteien
und/oder Systemen hat, die von dem Benutzer benutzt werden, kann
der Profilverwalter 201 alternativ dazu eingerich tet sein, Bankdetails
von dem Abrechnungssystem abzufragen, die sich auf die dritte Partei
beziehen. Das System der dritten Partei kann sich in einem der Netzwerke
N1–N4
befinden.
-
Der
Benutzer U1 kann alle Interessen außer Kraft setzen, auf die implizit
geschlossen wurde.
-
Der
Profilverwalter 201 ist dazu eingerichtet, jedes Interesse
mit einem Kontexttyp zu kennzeichnen. In dieser Ausführung werden
zwei Kategorien von Kontext beschrieben, nämlich Zustand und Situation,
obwohl viele andere Kontextkategorien möglich sind. In ihren einfachsten
Formen umfassen diese Kontextkategorien zwei Typen: Zustandskontext umfasst
Arbeit und Spielen, und Situationskontext umfasst Zu Hause und Auswärts. Für jede Kontextkategorie
können
manche Interessen mit beiden Kontexttypen gekennzeichnet werden,
z. B. kann Benutzer U1 an Computern für Arbeits- und Spielzwecke interessiert
sein. Der Kontexttyp kann explizit oder implizit eingegeben werden,
und jedes Interesse kann mit einem Standardkontexttyp gekennzeichnet werden.
-
Speichern
des Profils
-
Wenn
ein Interesse für
einen Benutzer ausgewählt
wird, trägt
der Profilverwalter 201 einen Identifizierer, der dem ID
von dem Interesse entspricht, zusammen mit der Position des Interesses
im Hierarchiebaum in eine Datenbanktabelle für den Benutzer U1 ein. Die
Prozesse, die an dem Speichern der Daten in, dem Ausführen von
Abfragen an und dem Empfangen von Daten von Datenbanken beteiligt sind,
sind herkömmlichen
Fachleuten nach dem Stand der Technik der Datenbankverwaltung bekannt.
Für Ortsnameninteressen,
z. B. Ortsnamen im vereinigten Königreich, gibt es eine "Originalkopie" von Ortsnamen, von
denen jeder von Informationen über
den Landkreis begleitet ist, und ein Interesse hinsichtlich eines
Ortsnamens wird dynamisch unter der Verwendung von Land/Kreis/Ort
erzeugt, die von der Originalkopie abgerufen werden.
-
Interessen
können
zusätzlich
mit Attributen gespeichert werden, wie etwa Aktienwert und Standort.
Das Setzen des Aktienwert-Attributes zeigt an, dass der Benutzer
U1 eine Aktienwerten hinsichtlich einem besonderen Interesse (zum
Beispiel kann das Interesse ein Unternehmen sein) interessiert ist.
Das Setzen des Standort-Attributes zeigt an, dass der Benutzer an
Standortinformationen interessiert ist, die sich auf ein Interesse
beziehen (zum Beispiel kann das Interesse Banken sein, sodass die
Angabe eines Standortattributs, wie etwa Bognor Regis, das Interesse
auf Banken in Bognor Regis verfeinert). Andere Attribute schließen Expertise,
Privatsphäre,
relevante Gewichtung, bevorzugte Gewichtung, Zeiten, Tage, Informationsmengen,
Lieferkanäle,
Auslegung, Qualität
von Informationsquellen, und Lesezeichen ein. Es gibt Standardeinstellungen
für jedes
der Attribute, aber der Benutzer U1 kann jede dieser Einstellungen über die
Schnittstelleneinrichtung 203 (unten beschriebenen) ändern.
-
Der
Profilverwalter 201 kann auch Fragen an den Benutzer U1 "hinausschieben" – zum Beispiel, um dem Benutzer
entsprechend vorher festgelegter Regeln Interessen vorzuschlagen.
Die vorher festgelegten Regeln schließen implizit Profilverwaltungsinformationen, Änderungen
in dem azyklischen Graphen von Interessen, Informationen von dem
Systemadministrator und Rückmeldung
von dem Benutzer U1 ein. Der Profilverwalter 201 überwacht
die Antwort des Benutzers auf die Fragen, und modifiziert die Regeln
entsprechend der Antwort.
-
Mit
Bezug auf 3 umfasst
der Profilverwalter 201 deshalb zusätzlich einen Profilmodifizierer 301 zum
Empfangen von Informationen von einer Vielzahl von Eingängen 302 (z.
B. Ausgaben von kooperativer Filterung, Änderungen an den Systeminteressen
usw., oder Rückmeldung
von dem Benutzer U1) und das Erzeugen von Aktionen 305 basierend auf
diesen Eingängen 302.
Die Eingaben können
von Bedingungen begleitet werden, wie etwa dem Zeitpunkt, um die
Informationen an den Benutzer U1 hinauszuschieben, dem Prioritätsstatus
entsprechend dem Interessentyp usw. Der Profilmodifizierer 301 hat
Zugriff auf eine vorher festgelegte Liste von Funktionen, und wählt auf
Basis auf der Art der Eingabe 302 und den entsprechenden
Bedingungen eine der Funktionen, um eine Aktion 305 zu
erzeugen. Die Funktionen, die in der Liste gespeichert sind, enthalten "Benutzerinteraktionsfunktionen", die die Funktionalität enthalten,
um Vorschläge
und Fragen zum Melden an den Benutzer zu aktivieren (klassifiziert durch
den Fragentyp), und "Systemfunktionen" im Hinblick auf
Interessen, die die Funktionalität
enthalten, um neue Interessen hinzuzufügen, bezogene Interessen zu
löschen,
bezogene Interessen zu modifizieren usw. Die "Benutzerinteraktionsfunktionen" enthalten Informationen über das
Hinausschieben zu dem Benutzer über
die Schnittstelleneinrichtung 203, und kann mit dem Fragentyp
gekennzeichnet werden, einschließlich "zur Probe" und "zurückkehren
zu den ursprünglichen
Einstellungen" usw.,
und dem Benutzer entsprechend der Priorität der Anfrage geliefert werden.
Die "Systemfunktionen" enthalten die Durchführung einer Änderung
an einem gespeicherten Benutzerprofil. Diese weitere Funktionalität des Profilverwalters 201 ist
an dem folgenden Beispiel dargestellt:
-
Ein
Interesse I1 wird als Ergebnis von kooperativem Filtern von Interessen
unter Benutzern an den Profilmodifizierer 301 weitergegeben.
Der Profilmodifizierer 301 erzeugt eine Vorschlagsaktion 305, wobei der
Vorschlag ist, dass das neue Interesse I1 dem Benutzer hinzugefügt werden
soll, und, da das Interesse ein neues Interesse ist, ordnet der
Profilmodifizierer 301 dem Vorschlag einen geringen Prioritätszustand
zu. Die Vorschlagsaktion 305 wird dann an den Benutzer
U1 hinausgeschoben. Typischerweise wird ein neues Interesse auch
mit "zur Probe" gekennzeichnet,
sodass die Nachricht, die an den Benutzer hinausgeschoben wird,
lautet:
"Wir
denken, dass Sie am Hinzufügen
eines neuen Interesses I1 zu Ihrem Profil interessiert sein könnten. Dies
hat den Effekt, dass Geschichten wie Geschichte1, Geschichte2, Geschichte3
zurückgegeben
werden. Möchten
Sie II Ihrem Profil hinzufügen?
Bitte antworten Sie Ja, Nein, Ich werde es eine Woche lang versuchen"
-
Der
Profilmodifizierer 301 kann auch betrieben werden, um Antworten
von dem Benutzer U1 zu empfangen. Wenn der Benutzer die Option "Ich werde es eine
Woche lang versuchen" auswählt, wird eine
Nachricht zu dem Profilmodifizierer 301 geschickt, der
den Typ der Rückmeldung
identifiziert, die Nachricht speichert und eine Vorgabe für einen Zeitgeber
hinsichtlich einer Aktion erzeugt, um den Benutzer für irgend
eine Rückmeldung
aufzufordern. Wenn der Zeitgeber einmal abgelaufen ist, erzeugt der
Profilmodifizierer 301 eine Aktion 305 für die Rückmeldung,
deaktiviert den Zeitgeber und löscht die
Nachricht von dem Profilmodifizierer 301. Die Nachricht,
die an den Benutzer hinausgeschoben wird, lautet:
"Letzte Woche schlug
RF das Hinzufügen
von Interesse I1 zu Ihrem Profil vor. Möchten Sie diese Änderung
beibehalten? Bitte antworten Sie Ja oder Nein. (Wenn sie Nein antworten,
kehren sie zu ihren ursprünglichen
Einstellungen zurück)"
-
Die
Rückmeldung
von dem Benutzer U1 wird von dem Profilmodifizierer 301 empfangen,
der den Typ der Rückmeldung
identifiziert. Wenn die Rückmeldung
das Ändern
des Benutzerprofils enthält, wird
eine Systemaktion 305 auf Basis der Systemfunktionen erzeugt
und das Benutzerprofil wird wie oben beschrieben modifiziert.
-
Andere
Eingänge 302 enthalten
Eingaben vom Systemadministrator – z. B. soll der Benutzer U1 nach
der Marke des Autos gefragt werden, das der Benutzer U1 fährt.
-
Der
Profilmodifizierer 301 enthält weiter eine Einrichtung
zum Speichern der Rückmeldungen (nicht
gezeigt) von dem Benutzer U1, insbesondere Verwaltungslisten von
Interessen, an denen der Benutzer U1 nicht interessiert ist (auf
einer Liste von gelöschten
Interessen). Wann immer eine Eingabe 302 hinsichtlich eines
neuen Interesses empfangen wird, vergleicht der Profilmodifizierer 201 folglich
das neue Interesse mit der Liste von gelöschten Interessen (und erzeugt
keine Aktion hinsichtlich gelöschter
Interessen). Zusätzlich
zu einem strikten Vergleich zwischen ankommenden Eingaben 302 und
gelöschten Interessen
kann der Profilmodifizierer 301 auf das Lexikon WORDNET
oder Ähnliches
hinsichtlich der Interessen auf der Gelöscht-Liste zugreifen, wobei
er neue Anfragen mit Begriffen vergleicht, die von WORDNET als gleichwertig
zu den gelöschten
Interessen identifiziert werden.
-
Schnittstelleneinrichtung 203
-
Die
Schnittstelleneinrichtung 203 steuert die Kommunikation
von Informationen zwischen dem Benutzer U1 und dem Informationsanbieter 200.
Wie in 1 gezeigt, kann
der Benutzer U1 zum Beispiel mit dem Informationsanbieter 200,
der sich an dem Endgerät
T3 befindet, über
irgend eines der drei Endgeräte
T1, T2 und T4 kommunizieren. Zwei der Endgeräte T1 und T2 können dazu
eingerichtet sein, Daten mit WML (die Endgeräte T1 und T2 haben jeweils eine
Bluetooth-Sende- und Empfangseinrichtung, sodass Informationen,
die über
das Endgerät
T1 empfangen werden, an dem Endgerät T2 empfangen werden können) zu
senden und zu empfangen, und das dritte Endgerät T4 kann dazu eingerichtet
sein, Daten mit HTML zu senden und zu empfangen. Auf jedem der Endgeräte T1, T2
und T4 können
Webbrowser laufen. Der Benutzer gibt Daten über einen Formular in den Browser
auf bekannte Weise ein, um eine Anzahl von Aktionen auszuführen, einschließlich (nicht
erschöpfende
Liste):
- • Modifizieren
von Interessen, die das Benutzerprofil umfassen;
- • Modifizieren
des Kontextes des Benutzers;
- • Ansehen
der Objekte, die an den Benutzer hinausgeschoben wurden; und
- • Auswählen der
Objekte, die an den Benutzer hinausgeschoben werden.
-
Dieses
Formular erfasst essenziell jegliche Parameter, die von einem Benutzer
eingegeben werden und überträgt die erfassten
Parameter zu anderen Teilen des Informationsanbieters 200,
die in dem Endgerät
T3 gespeichert sind. Für
weitere Informationen siehe "Client/Server
Programming with Java and Corba",
2nd Edition, R. Orfali and D. Harkey, pp 239–242.
-
Wenn
der Benutzer U1 ein Interesse explizit dem Benutzerprofil hinzufügen oder
es davon löschen
will, schickt das Formular die Interessen zusammen mit der Aktion,
die hinsichtlich dieses Interesses ausgeführt werden soll (zum Beispiel
hinzufügen,
löschen),
an den Profil verwalter 201, der diese Informationen wie
oben beschrieben verarbeitet. Das Formular kann zwei Dropdown-Menüs und dergleichen
enthalten, um einem Benutzer U1 zu ermöglichen, aus einer vorher festgelegten
Liste auszuwählen,
was besonders nützlich
für das
Definieren von Interessen an Filmen, Nahrungsmitteln usw. ist, da
der Benutzer U1 auswählen
kann, an welchem Film er interessiert ist, oder die Art von Nahrungsmitteln,
an denen er interessiert ist.
-
Die
Schnittstelleneinrichtung 203 kann alternativ oder zusätzlich mit
einer Einrichtung (nicht gezeigt) versehen werden, um wenigstens
einen Teil der Kurzliste und/oder Interaktionen mit dem Benutzer
U1 über
ein Sprachmedium darzustellen.
-
Indexerzeuger 205
-
Der
Indexerzeuger 205 erzeugt einen Index für jede Informationsquelle,
die auf dem Informationsquellenserver IS1–IS4 gespeichert ist, und speichert
die Informationen in Indextabellen in der Indexdatenbank DB2. Jede
Indextabelle enthält
wenigstens einige der folgenden Informationen:
- 1.
Den Namen der Informationsquelle (z. B. den Namen eines Dokumentes).
- 2. Schlüsselbegriffe,
die aus der Informationsquelle extrahiert wurden
- 3. Die Netzwerkadresse (URL) der Informationsquelle.
- 4. Einen Ortsdatensatz für
die Informationsquelle.
- 5. Datum und Zeitpunkt, zu dem die Informationsquelle erzeugt
wurde.
- 6. Kontextattribut der Informationsquelle – das heißt, ob sie für Arbeit,
Spielen, zu Hause oder Auswärts
(optional) relevant ist.
-
Ein
Ortsdatensatz ist ein Standort, der in geografischer Breite, Länge und
Höhe definiert
ist, und eine dreidimensionale Form, die den Ort, an dem der Datensatz
gültig
ist, definiert, wobei sich der definierte Standort im Zentrum der
dreidimensionalen Form befindet. Orte, denen jeweilige Informationsquellen zugeordnet
sind, sind individuell konfigurierbar. Manche Informationen (z.
B. Wetterinformationen) können
deshalb über
einen relativ großen
Bereich für den
Benutzer leicht zugänglich
sein, wogegen andere Informationen, die ortsspezifischer sind (wie
etwa lokale Dienstinformationen), für alle Gebiete ausgefiltert
werden können,
außer
an einem eng definierten Ort.
-
Der
Typ von Informationen, die von dem Indexerzeuger 205 indiziert
werden, enthält
Nachrichtendaten, Börsenlisten,
Lycos, Wetterdaten, klassifizierte Anzeigen, Veranstaltungsführer, Unterhaltungsinformationen,
wie etwa Kinolisten, Orte zum Übernachten,
Orte zum Essen, Sport, Finanzinformationen, Einkaufsinformationen,
z. B. ein Führer
für die
Geschäfte,
und Informationen über
Dienste, zum Beispiel Standorte von Geldautomaten, und Standorte
von Tankstellen. Es gibt viele Verfahren, um Indizes für unstrukturierte
Informationsquellen aufzubauen, und das spezielle Verfahren, das
eingesetzt wird, ist für
diese Ausführung
nicht wichtig. Folglich kann jede Einrichtung verwendet werden,
die Daten entsprechend der Indextabelle, die oben definiert wurde, abrufen
und speichern kann (siehe "Managing
Gigabytes" von Ian
H. Witten, Alistair Moffat, Timothy C. Bell Morgan Kaufmann; ISBN:
1558605703 für
eine verständliche Übersicht über viele
Vorfahren, die derzeit in der Such- und Abruftechnik eingesetzt
werden). Der Indexerzeuger 205 greift auf die Informationsserver
IS1–IS4
in regelmäßigen Intervall
zu, sodass die Indextabellen auf neu estem Stand sind (täglich, stündlich,
wöchentlich,
in Abhängigkeit
der Art der Informationsquelle und der Rate, mit der sie sich ändert).
-
Abrufmaschine 207
-
Die
Funktion der Abrufmaschine 207 ist es, den Kontext des
Benutzers in Echtzeit zu bestimmen und zu verifizieren, um Interessen
von dem Profilverwalter 201 abzurufen, die dem verifizierten
Kontext zugeordnet sind, und Informationen, die auf diesen Interessen
basieren, über
den Indexerzeuger 205 von den Informationsquellen IS1–IS4 abzurufen
Die erste Stufe – in
der die Abrufmaschine 207 den Kontext des Benutzers bestimmt
und verifiziert – wird
von der Kontextbestimmungseinrichtung 209 durchgeführt und
wird mit Bezug auf 4 beschrieben.
Die Kontextbestimmungseinrichtung 209 enthält eine konfigurierbare
Liste 400, die jeden der Kontexttypen definiert – z. B.
ZU HAUSE kann durch einen Standort definiert werden – als geografische
Breiten- und Längenwerte,
und AUSWÄRTS
kann als in der Standort mehr als n1 km von zu Hause definiert werden.
Ebenso kann ARBEIT durch die Tageszeit und den Standort definiert
werden, und SPIELEN kann durch die Tageszeit und jeden Standort
mehr als n2 km von der Arbeit definiert werden. Die Kontextbestimmungseinrichtung 209 ist
dazu eingerichtet, Eingaben von verschiedenen Quellen zu empfangen,
z. B. einem Terminkalender 401, einer Uhr 403 und
einer persönlichen
Verfolgungseinheit 405, und diese Eingaben mit Informationen
in der vorher festgelegten Liste zu kombinieren, um den Kontext
des Benutzers U1 abzuleiten. Die Beispiele, die in 4 gezeigt sind, stellen nur die Typen
von Quellen dar, die mit der Kontextbestimmungseinrichtung 209 zusammenarbeiten
können
(weitere Beispiele werden unten gegeben).
-
Die
Uhr 403 kann eine Systemuhr sein, die sich an dem Endgerät T3 befindet.
Der Terminkalender kann Microsoft Outlook (Handelsmarke) Calendar
sein, oder ein speziell angelegter Terminkalender sein, an den die
Kontextbestimmungseinrichtung 209 Anfragen zu vorher festgelegten
Zeitpunkten schicken kann, mit denen die zeitlich gekennzeichneten Daten
hinsichtlich der von dem Benutzer geplanten Aktionen anfragt werden.
Informationen, die mit Outlook (Handelsmarke) kommunizieren, können in "Programming Microsoft
Outlook and Microsoft Exchange" von
Thomas Rizzo, Microsoft Press; ISBN: 0735605092 gefunden werden.
Einträge
in das Tagebuch 401 enthalten oft Sätze, die erfordern, dass sie durch
syntaktische Analyse in ein Format gebracht werden, das von der
Kontextbestimmungseinrichtung 209 erkannt werden kann;
wobei der Terminkalender 401 dazu eingerichtet sein kann,
mit einem Syntaxanalysator zu interagieren und die Einträge entsprechend
zu übersetzen.
-
Die
Personalverfolgungseinrichtung
405 wird von dem Benutzer
U1 mitgeführt
und ermöglicht, dass
seine Position innerhalb der Kommunikationsumgebung verfolgt wird.
In dieser Ausführung umfasst
die Verfolgungseinrichtung
405 zum Beispiel eine Karte,
die einen Chip trägt,
oder "Smartcard", die die Daten trägt, die
den Benutzer identifizieren, und manche oder alle der Endgeräte T1–T5, die
einen Kartenleser haben, sind dazu eingerichtet, die Karte zu lesen.
Alternativ kann sie einen "Smart-Anstecker"-Transponder umfassen,
dessen Standort innerhalb des Gebäudes verfolgt wird. Insbesondere die
Workstations T1–T4
und das Mobiltelefon T1 tragen solche Smartcard-Leser. Zusätzliche
Smartcard-Leser sind an den Zugangstüren im Gebäude installiert, und mit dem
LAN N3 verbunden, um darauf Signale zu übertragen. Weiter umfasst das
Mobiltelefon T1 vorzugsweise zusätzlich
zu den Kommunikationskomponenten des Mobiltelefons einen GPS(Global
Positioning System)-Empfänger
und ist dazu eingerichtet, seine Position abzuleiten und sie periodisch
zu signalisieren, wie in
EP 0467651 (Motorola)
veröffentlicht
ist. Alternativ kann das Mobiltelefon T1 die Positionsbestimmung
unter zusätzlicher Verwendung
von einem terrestrischen Positionssignal durchführen, wie etwa durch differenzielle GPS-Positionsbestimmung,
oder durch ausschließliche
Verwendung von terrestrischen Positionssignalen, wie etwa differenziellen
GSM-Triangulationssignalen.
-
Wenn
die Kontextbestimmungseinrichtung 209 Informationen aus
dem Tagebuch 401, der Uhr 403 und der Verfolgungseinrichtung 405 und
anderen solchen Einrichtungen (nicht gezeigt) gesammelt hat, wird
diese Informationen kombiniert, um den Kontext des Benutzers zu
verifizieren. Als ein Beispiel wird dieser Prozess mit Bezug auf 5 definiert:
- • S
5.1 Nimm die aktuelle Zeit (t) und vergleiche sie mit Zeitschlitzen,
die für
Arbeit vorher festgelegt wurden (Startzeitpunkt T1,
Endzeitpunkt T2, die nominell an Wochentagen
angewendet werden):
- i. Wenn (T1 < t < T2) und Terminkalenderinformationen arbeitsbezogen:
Kontext ARBEIT
- ii. Wenn (T1 < t < T2) und Terminkalenderinformationen spielbezogen:
Kontext SPIELEN (z. B. Urlaubstag)
- iii. Wenn (t < T1 ODER t > T2) und Terminkalenderinformationen arbeitsbezogen:
Kontext ARBEIT (z. B. Arbeit am Abend)
- iv. Wenn (t < T1 ODER t > T2) und Terminkalenderinformationen spielbezogen:
Kontext SPIELEN (z. B. Abend frei)
- • S
5.2 Transformieren der Positionsdaten (li,
lj) in geografische Breite und Länge und
vergleichen mit der Position von zu Hause (loc1,
loc2):
- i. Wenn (loc1 < li < loc1 +
n1) UND (loc2 < lj < loc2 + n1):
Kontext ZU HAUSE
- ii. Wenn (li > loc1 + n1) ODER
(lj > loc2 + n1): Kontext AUSWÄRTS
sodass - S 5.1 (i oder iii) und S 5.2 (i) ARBEIT, ZU
HAUSE (W, H) als Kontexte ergeben
- S 5.1 (i oder iii) und S 5.2 (ii) ARBEIT, AUSWÄRTS (W,
A) als Kontexte ergeben
- S 5.1 (ii oder iv) und S 5.2 (i) SPIELEN, ZU HAUSE (P, H) als
Kontexte ergeben
- S 5.1 (ii oder iv) und S 5.2 (ii) SPIELEN, AUSWÄRTS (P,
A) als Kontexte ergeben
-
Zusätzlich zur
Verifizierung des Kontextes des Benutzers hinsichtlich des Zustands
und der Situation können
zusätzliche
Kontextinformationen bestimmt werden, z. B. "draußen", "gestresst" oder "beschäftigt" usw. Eingaben von
den unten unter den Punkten 1–7
aufgelisteten Einrichtungen, von denen einige in 5b gezeigt sind, können dazu verwendet werden,
um diese zusätzlichen
Kontextinformationen zu identifizieren. Solche zusätzlichen
Kontextinformationen können
auch dazu verwendet werden, um zu bestimmen, ob Informationen an
den Benutzer hinausgeschoben werden sollen, wie es detaillierter unten
beschrieben wird. Die Einrichtungen können enthalten:
- 1. Informationen von dem Benutzer: der Benutzer U1 kann eine
vorher festgelegte Taste, oder eine Abfolge von Tasten, benutzen,
um ü ber
das Endgerät
T1 anzuzeigen, dass er abgelenkt oder unterwegs ist.
- 2. Wetterinformationen;
- 3. Lichtpegeldetektoren, wie etwa ein photovoltaisches Bauteil,
das von Remote Measurement Systems 2633 Eastlake Ave E, Suite 20,
Seattle WA 98102 (z. B. das Bauteil PVC-1) bezogen werden kann
- 4. Thermoelementsensoren, wie etwa Temperaturanzeiger, die von
TC Ltd (TC Ltd, P.O. Box 130, UXBRIDGE UB8 2YS, England) bezogen
werden können – um zu
helfen, zu bestimmen, ob der Benutzer drinnen oder draußen ist;
- 5. Eingaben, die den Stresspegel darstellen – Beispiel Überwachung der Körpertemperatur
oder Interaktionen des Benutzers mit seinem Endgerät T1, T2
oder T4. Die Überwachung
der Benutzer/Endgerät-Interaktion sind
in der veröffentlichten
Anmeldung W000/25565 (IPD Fallreferenz A 25709) des Anmelders veröffentlicht;
- 6. Eingabe repräsentativer
Geräuschpegel – die bestimmt
werden können,
indem die Audiosignale analysiert werden, die an dem Audioeingang
an dem Endgerät
T1 empfangen werden.
- 7. Eingaben von zusätzlichen
physikalischen Sensoren, die an das Endgerät T1 über eine serielle Schnittstelle
(nicht gezeigt) angeschlossen sind, einschließlich Eingaben von
- ♢ einem Detektor für
geringe Beschleunigungen 501 (z. B. ADXL202, der die Beschleunigung durch
geringe Kräften
in zwei Richtungen misst)
- ♢ einem Detektor für
hohe Beschleunigungen 503 (ACH04-08-05, der von Measurement
Specialities Incorporated (die über
den universellen Ressourcenortsbezeichner (URL, Universal Resource
Locator) http: //www.msiusa.com im Internet referenziert ist) bezogen
werden kann), der die Beschleunigungen durch hohe Kräfte in drei
Richtungen misst
- ♢ einem Richtungsdetektor 505 (zum Beispiel
einem Kompass, HMC2003, der von Honeywell (referenziert durch den
URL http: //www.ssechohoneywell.com) bezogen werden kann, der eine
absolute Messung der Orientierung des Endgerätes T1 liefert;
- ♢ einem Richtungs- und Geschwindigkeitsdetektor 507 (der
einen piezoelektrischen Vibrationskreisel von ENC (Teilenummer S42E-2,
der unter der registrierten Handelsmarke GYROSTAR verkauft wird)
verwendet, der von der Murata manufacturing Company Ltd. (URL http:
//www.murata.com) bezogen werden kann). Die Beschleunigungs-, Richtungs-
und Geschwindigkeitsdetekoren können über einen
Multiplexer 509 (MUX) mit der Kontextbestimmungseinrichtung 213 verbunden
sein.
-
Die
komplexe Natur der physikalischen Daten macht die Verwendung von
einfachen Regeln zur Bestimmung des Kontextes des Benutzers aus
all diesen Eingaben unzuverlässig.
Versteckte Markov-Modelle oder ein Kalman-Filter können verwendet
werden, um den Kontext des Benutzers genau zu bestimmen, wenn die
Verifizierung des Kontextes auf einer Kombination von Eingaben 1–7 basiert.
Eine gute Beschreibung der Funktionsweise und von Anwendungen von
Kalman-Filtern wird von du Plessis, R.M. 1967; "Poor mans explanation of Kalman Filters or
How I stopped worryinig and learned to love matrix inversion" zur Verfügung gestellt.
-
Die
zweite Stufe – in
der die Abrufmaschine 207 Interessen abruft, die diesem
verifizierten Kontext von dem Profilverwalter 201 zugeordnet
sind – wird
von der ersten Abrufeinrichtung 211 ausgeführt, die
eine Anfrage hinsichtlich des verifizierten Kontextes an den Profilverwalter 201 sendet.
Der Profiverwalter 201 fragt die Profildatenbank DB1 an,
die Informationen entsprechend der Anfrage abruft und Interessen,
die sich auf den verifizierten Kontext beziehen, an die erste Abrufeinrichtung 211 zurückgibt. Wenn
z. B. der verifizierte Kontext Arbeit, Spielen ist, sucht die Datenbank
DB1 nach Interessen, die mit W, P gekennzeichnet sind.
-
Die
dritte Stufe – in
der die Abrufmaschine 207 Informationen von den Informationsquellen IS1–IS4 abruft,
die für
die verifizierten Interessen des Benutzers relevant sind – wird von
der zweiten Abrufeinrichtung 213 ausgeführt, wie in 6 gezeigt ist.
-
Die
zweite Abrufeinrichtung 213:
- • S 6.1 empfängt die
Daten der verifizierten Interessen von der ersten Abrufeinrichtung 211;
- • S
6.2 wählt
eine der Indextabellen aus, die Daten enthält, die sich auf eine Informationsquelle
beziehen, und überprüft auf Übereinstimmung
zwischen den verifizierten Interessen und indizierten Schlüsselwörtern, z.
B. unter Verwendung einer Schlüsselwortübereinstimmung;
- • S
6.3 ruft Netzwerkadressen (URL) und Namen von Informationsquellen
bei positiver Übereinstimmungen
von Schlüsselwörtern ab,
- • S
6.4 wiederholt S 6.2 und S 6.3 für
alle der Informationsquellen, die von dem Indexerzeuger 205 indiziert
worden sind;
- • S
6.5 kompiliert Netzwerkadressen (URL) und Namen von Informationsquellen,
die in Schritt 6.3 abgerufen wurden, in Objekte auf einer Kurzliste.
-
In
einer alternativen Ausführung
ruft die erste Abrufeinrichtung 211 alle Interessen des
Benutzers ab. Dann ordnet die zweite Abrufeinrichtung unter Verwendung
der Kontextattribute, mit denen die Interessen gekennzeichnet sind,
z. B. Fußball
P (Spielen), H (zu Hause), Computer W, P (Arbeit, Spielen), den
Objekten auf der Kurzliste entsprechend des verifizierten Kontextes
des Benutzers eine Rangordnung zu. Zusätzlich kann irgendwelchen Objekten, die
mehr als einmal auftreten (Duplikatobjekte, die hinsichtlich zweier
verschiedener Interessen zurückgegeben
wurden), eine höhere
Rangordnung zugeordnet werden. Die Einträge in der Kurzliste, die in
S 6.4 erzeugt wurden, werden dann entsprechend Rangordnung angeordnet,
sodass Objekte, die für den
verifizierten Kontextes des Benutzers am relevantesten sind, oben
auf der Kurzliste platziert werden.
-
Wenn
eine erhebliche Datenmenge indiziert ist, z. B. um 2 Gigabyte Daten
oder mehr, bedeuten die Fähigkeiten
der aktuellen Hardware, dass die Erfindung wahrscheinlich nach der
ersten Ausführung ausgeführt wird
(d. h. Daten werden nur hinsichtlich verifizierter Interessen abgerufen).
In diesem Fall kann die zweite Abrufeinrichtung 213 dazu
eingerichtet sein, Informationen, die sich auf andere Interessen
als die verifizierten Interessen beziehen, zu einem späteren (vorher
festgelegten) Zeitpunkt abzurufen.
-
Die
Kurzliste kann in der Datenbank DB1 gespeichert werden, und die
Ansichten von Seiten mit der Kurzliste werden für die Lieferung an den Benutzer
U1 über
die Schnittstelleneinrichtung 203 erzeugt (z. B. werden
die Ansichten von HTML/WML-Seiten erzeugt, die Daten der Kurzliste
umfassen).
-
Die
Schnittstelleneinrichtung 203 kann dazu eingerichtet sein,
die Ansichten der Seiten mit der Kurzliste von der Datenbank DB1
in vorher festgelegten Intervallen zu empfangen, und die Daten zur
Anzeige auf dem Endgerät
T1, T2 oder T4 des Benutzers zu versenden. In einer Anordnung werden
die Ansichten der Seiten mit der Kurzliste von der zweiten Abrufeinrichtung 213 angefragt,
und von der zweiten Abrufeinrichtung 213 an die Schnittstelleneinrichtung 203 weitergegeben.
Wie oben gesagt werden die Objekte mit höchsten Rangordnung oben auf
der Liste angezeigt. Der Benutzer U1 kann irgendeines der Objekte
auf der Kurzliste auswählen, und
seine Auswahl wird an die zweite Abrufeinrichtung 213 versendet,
die eine Anfrage nach Daten an die URL in dem Objekt sendet. Die
Daten, die von der URL zurückgegeben
werden, werden dann dem Benutzer U1 angezeigt.
-
In
manchen Beispielen kann der verifizierte Kontext des Benutzers U1
anzeigen, dass der Benutzer U1 nicht für den Empfang von Informationen
bereit ist. Der Benutzer U1 kann zum Beispiel auf Reisen sein, in
einer Besprechung, müde,
in einer schlecht beleuchteten Umgebung usw., in welchem Fall das
Reagieren auf die Informationen schwierig ist. In diesen Situationen
kann die zweite Abrufeinrichtung 213 das Senden von Informationen
zurückhalten,
bis für
den Kontext des Benutzers bestimmt wird, dass er für das Empfangen
von Informationen geeigneter ist. Die zweite Abrufeinrichtung 213 ist deshalb
dazu eingerichtet, Eingaben von der Kontextbestimmungseinrichtung 209 zu
empfangen, die den verifizierten Kontext des Benutzers darstellen, und
diese mit vorher festgelegten Bedingungen zur Bereitstellung von
Informationen zu vergleichen, wie etwa
WENN (Kontext == müde) ODER
(Kontext == auswärts)
ODER (Kontext == wenig Licht) ODER (Kontext enthält Reise) usw.
DANN (Setze
einen Zeitgeber (X Minuten), um den Kontext nach X Minuten zu prüfen), wobei
X vorher festgelegt ist
SONST (Sende die Informationen zum
Benutzer)
Natürlich
sind andere Formen von Regeln möglich.
-
Anpassung des Profils:
-
Die
oben dargestellte Ausführung
beschreibt die Zuordnung von Rangordnungen zu Objekten auf einer
Kurzliste des Benutzers entsprechend des verifizierten Kontextes
des Benutzers, sodass Informationen, die sich auf die verifizierten
Interessen beziehen, dem Benutzer U1 zuerst präsentiert werden. Zusätzlich zu
den Kontextinformationen werden Präferenzattribute wie etwa Relevanz,
Wichtigkeit, usw. (oben beschrieben) in dem Prozess der Zuordnung der
Rangordnungen auch als Faktoren berücksichtigt. Es kann jedoch
sein, dass der Benutzer ständig Informationen
ignoriert, die sich auf ein besonderes Interesse beziehen (dies
ist insbesondere für
Interessen möglich,
die implizit auf Regeln basierend abgeleitet wurden (siehe Beispiel
unten)).
-
Wie
in 7 gezeigt ist, kann
der Informationsanbieter 200 weiter eine Überwachungseinrichtung 701 enthalten,
um die Art und Weise zu überwachen,
auf die der Benutzer U1 auf Objekte auf der Kurzliste zugreift,
und die Attribute der Interessen des Benutzers entsprechend anzupassen.
Vorzugsweise enthält
die Überwachungseinrichtung 701 ein Bayes-Netz 703,
das in 8 gezeigt ist,
um eine Priorität
zu berechnen, die den Interessen zugeordnet ist, die diesen Objekten
entsprechen. Wie nach dem Stand der Technik bekannt ist, betrachtet
ein Bayes-Netz eine Beziehung von Daten des Verlaufs, um die a-priori-Wahrscheinlichkeit
des Auftretens eines Ereignisses zu modifizieren. Eine Diskussion
von Bayes-Netzen ist in "Artificial
Intelligence – A
modern Approach" von
S. Russell und P. Norvig, Prentice Hall, USA verfügbar.
-
Das
Bayes-Netz 703 kann betrieben werden, um die Präferenzattribute
anzupassen, basierend auf der Beobachtung, wie der Benutzer U1 mit
den Objekten auf der Kurzliste umgeht. Zum Beispiel suggerieren
Objekte, die weit oben in der Kurzliste platziert sind, dass die
Informationsquelle für
den Benutzer relevant ist. In der Praxis kann der Benutzer jedoch wählen, auf
die Informationen, die sich auf dieses Interesse beziehen, später am Tag
zuzugreifen. Wenn dies der Fall ist, verwendet die Überwachungseinrichtung 701 das
Bayes-Netz 703, um die Präferenzattribute zu modifizieren,
sodass das nächste
Mal, wenn ein Objekt, das sich auf das Interesse bezieht auf der
Kurzliste erscheint, die Überwachungseinrichtung 701 vorwegnehmen
kann, wie der Benutzer U1 damit umgehen wollen wird, und dies bei
der Zuordnung der Rangordnungen entsprechend als Faktor berücksichtigen.
-
Zusätzlich zur
impliziten Anpassung des Benutzerprofils wie oben beschrieben kann
die zweite Abrufeinrichtung 213 weiter dazu eingerichtet
sein, Informationen von dem Profilmodifizierer 301 zu empfangen.
Wie oben beschrieben, kann der Profilmodifizierer 301 Fragen
an den Benutzer hinausschieben, die die explizite Bewertung von
Informationsquellen anfragen – z.
B. können
dem Benutzer U1 Bewertungen von –2 bis +2 präsentiert
werden, und er kann gebeten werden, anzugeben, wie relevant eine
besondere Informationsquelle für
ihn war. Wenn ein Benutzer eine hohe Bewertung zurückgibt,
verringert die Abrufeinrichtung 213 im allgemeinen die Schwelle
des Präfe renzattributes
für die
Relevanz im Hinblick auf Interessen, die sich auf diese Informationsquellen
beziehen; wenn der Benutzer umgekehrt eine geringe Bewertung zurückgibt,
erhöht
die zweite Abrufeinrichtung 213 die Relevanzschwelle.
-
Wenn
ein Benutzer einer Informationsquelle, die für ein Interesse identifiziert
worden ist, kontinuierlich eine geringe Bewertung zuordnet, kann
dies anzeigen, dass die Schlüsselwörter, die
dem Interesse zugeordnet sind, eine Modifizierung brauchen. Der
Systemadministrator führt
entweder die Modifikation der Schlüsselwörter explizit aus oder der
Benutzer kann aufgefordert werden, einige Schlüsselwörtern vorzuschlagen. Die Antwort
des Benutzers auf die modifizierten Schlüsselwörtern kann durch die Rückmeldung überwacht
werden, wodurch eine Einrichtung zur Verbesserung der Qualität der Schlüsselwörter bezüglich eines
Interesses bereitgestellt wird.
-
Datenspeicherung
-
Der
Informationsanbieter 200 kann Informationen für viele
Benutzer bereitstellen, und eine Ansicht der Seiten mit der Kurzliste
wird für
jeden Benutzer, auf je-Benutzer-Basis, jedesmal erzeugt, wenn der
Benutzer Informationen anfragt (automatisch oder manuell). Dies
bringt erhebliche Belastung auf verschiedene Komponenten des Informationsanbieters 200,
die durch das Cachen von Daten reduziert werden kann. Das Ziel ist,
Seiten, die von Benutzern angesehen werden sollen, nur einmal im
Cache zu erzeugen (d. h. Daten von ihrem Speicherort nur einmal
anzufragen), sodass jede nachfolgende Anfrage nach einer Seite aus
dem Cache geliefert werden kann. Dies verkürzt die Anfrage-Antwort-Kette,
verbessert die Antwortzeit und reduziert die Netzwerkbelastung.
Der zweite Typ von Cacheanordnung, bei dem die Objekte auf der Kurzliste
in den Cache geladen werden, beschreibt eine Ausführung der
vorliegenden Erfindung.
-
Verschiedene
Cacheanordnungen werden verwendet:
-
1. Die Ergebnisse der
Anfragen für
alle Benutzer werden in einen Cache geladen.
-
Es
ist möglich,
dass manche der Interessen überlappen,
wenn es eine große
Anzahl von Benutzern gibt – d.
h. Benutzer U1 hat einige Interessen, die mit den Interessen von
Benutzer U2 identisch sind (sogar obwohl Kontextattribute, die ein
Interesse kennzeichnen, unter Benutzern variieren können), und
es wäre
deshalb ineffizient, die gleiche Anfrage eine Anzahl von Malen auszuführen.
-
Man
betrachte die Ausführung
einer Anfrage – im
Hinblick auf die Interessen I1 ... In – für den Benutzer U1 (unter der
Annahme, dass diese Anfrage nicht schon vorher ausgeführt wurde).
- • Entsprechend 6 ruft die zweite Abrufeinrichtung 213 (Schritt
S 6.3) URL und Namen von Informationsquellen ab, die Informationsquellen entsprechen,
die für
den verifizierten Kontext des Benutzers relevant sind. Diese werden
in einem Anfragecache gespeichert, der durch Speichern in der Datenbank
DB1 bereitgestellt werden kann.
- • Schlüsselwörter, die
sich auf die Interessen I1 ... In beziehen, werden in den Cache
geladen, z. B. in einer Datei oder ähnlichem gespeichert, und mit dem
jeweiligen Identifizierer im Anfragecache in Verbindung gebracht.
- • Wenn
eine neue Anfrage hinsichtlich Interessen J1 ... Jn (z.B. für den Benutzer
U2) ankommt, werden die entsprechenden Schlüsselwörter mit den Schlüsselwörtern im
Cache verglichen, um festzustellen, ob eine Anfrage bezüglich dieser
Interessen schon verarbeitet wurde.
- • Wenn
ja:
- ♢ muss die zweite Abrufeinrichtung 213 keine
Anfrage bezüglich
der Interessen J1 ... Jn ausführen ,
und
- ♢ die Interessen J1 ... Jn werden mit den identifizierten
Objekten in dem Anfragecache verbunden.
-
In
Situationen, in denen Benutzer ihre eigenen Schlüsselwörter angeben, um ein Interesse
zu charakterisieren, ist es ziemlich wahrscheinlich, dass die Schlüsselwörter, die
von einem Benutzer angegeben werden, von denen verschieden sind,
die von einem anderen Benutzer angegeben werden. Trotz der Tatsache,
dass die tatsächlichen
Wörter
verschieden sind, kann es einiges an Überlagerung und in ihrer Bedeutung
geben, sodass eine Anfrage, die hinsichtlich der Schlüsselwörter eines
Benutzers ausgeführt wird,
sich wohl mit einer Anfrage hinsichtlich der Schlüsselwörter eines
anderen Benutzers überlagern kann.
Folglich können
ankommende Schlüsselwörter und
bearbeitete Schlüsselwörter zusätzlich zur
Ausführung
einer Identitätsprüfung unter
Schlüsselwörtern, die
bearbeiteten Anfragen und ankommenden Anfragen entsprechen, an ein
Lexikon, oder eine Wortliste, wie etwa einen Thesaurus, weitergegeben werden,
um Alternativen zu diesen Schlüsselwörtern zu
identifizieren. Diese alternativen Wörter und Sätze werden dann verglichen,
um die bearbeiteten Schlüsselwörter zu
identifizieren, die sich mit den ankommenden Schlüsselwörtern überlappen.
Wenn es eine Überlappung
zwischen Alternativen gibt, dann werden die Interessen, die der
ankommenden Anfrage entsprechen, mit allen Objekten verbunden, die
den identifizierten Schlüsselwörtern entsprechen.
-
Anfragen
sollten bezüglich
ihrer Anfragezeit und dem Grad an Gemeinsamkeit innerhalb der Benutzergemeinschaft überwacht
werden, sodass Anfragen hinsichtlich Anfragen, für die bestimmt wird, dass sie
häufig
und innerhalb eines bestimmten Zeitintervalls auftreten, zu einem
vorher festgelegten Zeitpunkt automatisch ausgeführt werden können.
-
2. Der Inhalt der Kurzliste
für jeden
Benutzer wird einen Cache geladen.
-
Wie
oben beschrieben umfassen die Objekte auf der Kurzliste für jeden
Benutzer Informationen, wie etwa URL und Namen von Informationsquellen, die
Informationsquellen entsprechen, die als relevant für die Interessen
des Benutzers identifiziert wurden (und verifizierten Kontext).
In einer Ausführung
der Erfindung wird jede Kurzliste aus Inhalten des Anfragecaches
erzeugt. Die Objekte werden dann vorzugsweise durch eine zweite
Abrufeinrichtung 213 nachverarbeitet, um Duplikate zu identifizieren,
und, wie oben beschrieben, den Objekten einer Rangordnung entsprechend
des verifizierten Kontextes des Benutzers zugeordnet, bevor sie
in der Datenbank DB1 gespeichert werden. Typischerweise gibt es eine
beträchtliche
Anzahl von Objekten auf der Kurzliste, aber nur eine Auswahl kann
dem Benutzer zu irgendeinem Zeitpunkt wegen der Beschränkungen der
Anzeige des Endgerätes
dargestellt werden. Folglich müssen
die Objekte auf der Kurzliste (für
jeden Benutzer) in einen Inhaltscache geladen werden, der durch
Speichern in der Datenbank DB1 bereitgestellt werden kann, sodass
die oben beschriebene Nachverarbeitung nicht für jede Auswahl von Objekten
ausgeführt
werden muss, die dem Benutzer angezeigt wird.
-
3. Die Ansichten der Seiten,
die Informationen auf der Kurzliste umfassen, werden in einen Cache
geladen.
-
Wie
oben beschrieben werden die Ansichten der Seiten, die die Daten
der Kurzliste umfassen, typischerweise mit WML/HTML erzeugt (obwohl
andere Formate möglich
sind, siehe unten). In einer Ausführung der Erfindung werden
die Ansichten der Seiten, die Abschnitte der Kurzliste umfassen,
in dem Inhaltscache gespeichert. Diese Ansichten der Seiten werden
mit HTTP abgerufen, das ein Anfrage-Antwort-Protokolltyp ist – in seiner einfachsten Konfiguration
sendet eine Client-Anwendung, hier die Abrufeinrichtung 213,
eine Anfrage an einen Server, hier den Indexerzeuger 205,
und der Indexerzeuger 205 antwortet auf die Anfrage, indem
er die Daten aus dem Inhaltscache abruft und an die zweite Abrufeinrichtung 213 sendet.
In dieser Konfiguration gibt es einen Cache als Vermittler, sodass
die Abrufeinrichtung 213 ihre Anfrage (z.B. eine Anfrage
nach einer Ansicht einer Seite, die die Kurzliste zeigt) an den Cache
statt an den Indexerzeuger 205 macht. Der Cache macht dann
die Anfrage an den Indexerzeuger 205 im Auftrag der Abrufeinrichtung 213.
Der Indexerzeuger 205 antwortet dem Cache, und dann leitet
der Cache dies an die Abrufeinrichtung 213 weiter (die
die Informationen an die Schnittstelleneinrichtung 203 weitergibt).
Jede Ansicht einer Seite sollte den Regeln des Cachens nach HTTP
1.1 genügen (siehe "Illustrated guide
to HTTP", Paul Hethmon, Manning
Publications Co. oder RFC 2616 Hypertext Transfer Protocol -- HTTP
1.1 R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P.
Leach, T. Berners-Lee. Juni 1999. (Format: TXT=422317, PS=5529857,
PDF=550558 Byte) (veraltet RFC2068) (aktualisiert durch RFC2817)
(Stand: Normentwurf)); ins besondere muss folgendes in dem Antwortkopf
der Ansichten der Seiten enthalten sein:
- (i)
Kopf mit dem Ablaufdatum, mit dem HTTP-Datum;
- (ii) Cachesteuerung: Maximalalter = zweites Kennzeichen, das
die Lebensdauer des Inhaltes angibt;
- (iii) Kopf mit der Länge
des Inhalts der Antwort (der auch fortbestehende Verbindungen ermöglicht).
-
In
einer Anordnung wird der Netzwerkadresse (URL, Objekt 3 in der Indextabelle)
die Identifikationsnummer der Sitzung des Benutzers vorab angehängt, und Änderungen
an der Identifikationsnummer der Sitzung, wie etwa Änderungen
des Benutzerprofils, Aktualisierungen der Informationsquelle usw., werden
verwendet, um den Betrieb des Caches zu steuern (wenn ein Benutzerprofil
modifiziert wird (z. B. ein Interesse hinzugefügt wird), dann sind die Seiten
im Cache veraltet (weil die Inhalte, die die Ansicht der Seite füllen, veraltet
sind); um zu verhindern, dass diese alten Seiten an den Benutzer
U1 gesendet werden, ändert
sich die Identifikationsnummer der Sitzung). Wenn sich folglich
die Identifikationsnummer der Sitzung einmal ändert, wird der Cache veranlasst,
neue Daten von dem Indexerzeuger 205 anzufragen, und folglich
von dem Inhaltscache. Wenn die Identifikationsnummer der Sitzung
sich ändert,
weil es eine Änderung
an dem Benutzerprofil gegeben hat, ist es wahrscheinlich, dass der
Inhaltscache für
diesen Benutzer gelöscht
werden und mit neuen Daten aus dem Anfragecache geführt werden muss.
-
Zusätzliche Details und Modifikationen
-
Änderungen am Kontext:
-
In
der Beschreibung oben wird der Kontext des Benutzers U1 von der
Kontextbestimmungseinrichtung 209 bestimmt und diese Informationen
werden verwendet, um die Daten auf der Kurzliste anzuordnen. Es
kann jedoch sein, dass der Benutzer U1 wünscht, die Informationen bezüglich eines
Kontextes anzusehen, der von dem aktuellen verschieden ist. Wenn
zum Beispiel der Benutzer U1 bei der Arbeit ist, kann er wünschen,
die Nachrichten bezüglich
seines Fußballteams,
Startreck United, zu sehen. Für das
Interesse Fußball
ist es wahrscheinlich, dass es von den Kontexten Spielen, zu Hause
oder Spielen, Auswärts
begleitet wird. Angenommen, der Informationsanbieter 200 ist
dazu eingerichtet, nur Informationen bezüglich des verifizierten Kontextes
des Benutzer. s abzufragen, muss der Benutzer U1 den Kontext explizit ändern, um
diese Informationen anzusehen. Das Formular, das auf den Browsern
angezeigt wird (auf jedem der Endgeräte T1, T2 und T4) enthält folglich
eine Einrichtung zum Eingeben einer Anfrage zum Ändern des Kontextes – entweder,
indem ein Zeitpunkt eingegeben wird, von dem ein Kontext abgeleitet
wird, oder indem der neue Kontext explizit eingegeben wird. Wenn
dieses Formular durch die Schnittstelleneinrichtung 203 wie
oben beschrieben abgeschickt wird, wird die neue Kontextinformation
an die erste Abrufeinrichtung 211 gesendet, und Eingänge von
der Kontextbestimmungseinrichtung 209 werden deaktiviert.
-
Verschiedene
Kontexttypen können
auch enthalten sein – z.
B. Freunde/Familie, und alle dieser Kontexte können durch Wochentag und Wochenende
kategorisiert werden (da Freizeitaktivitäten am Wochenende wahrscheinlich
von Freizeitaktivitäten an
Wochentagen verschieden sind).
-
Kategorisieren von Benutzertypen:
-
Wenn
ein Benutzer U1 zum ersten Mal an dem System teilnimmt, kann das
Formular, das dem Benutzer U1 auf seinem Browser präsentiert
wird, eine Mehrzahl von Dropdown-Menüs und Listen mit Interessen
enthalten, die vom Benutzer ausgewählt werden können. Als
eine Alternative oder zusätzlich kann
das Formular Beschreibungen von Benutzertypen enthalten, und der
Benutzer U1 kann angeben, welcher Benutzertyp er ist. Zum Beispiel
kann es dort verschiedene Knöpfe
in Stiefelform geben:
- – Pantoffelknopf
- – Pumpsknopf
- – Trendiger
Trainerknopf
- – Wanderstiefelknopf
- – Cowboystiefelknopf
-
Jedem
dieser Knöpfe
ist eine vorkonfigurierte Interessenliste angehängt, und nach der Auswahl eines
der Knöpfe
werden alle der jeweiligen Interessen dem Benutzer U1 zugeordnet.
-
Als
zusätzliche
oder alternative Verwendung für
die Knöpfe
wird der Benutzer U1 aufgefordert, auszuwählen, welcher Knopf ihn am
besten darstellt. Der Profilverwalter 201 kann dazu eingerichtet
sein, Listen von Benutzern mit Knopftypen zu verwalten und für ähnliche
Benutzertypen eine Art zusammen durchgeführte Filterung und implizite
Filterung von Interessendaten auszuführen.
-
Datenformat:
-
Die
Informationen können
für eine
Vielzahl von Formaten/Einrichtungen zusammengefasst, geliefert,
und optimiert werden. Diese Formate schließen HTML, WML, I-mode, (cHTML),
VxML, XML, PostScript, PDF ein, aber sind nicht darauf beschränkt. Die
Einrichtungen schließen
PCs, Mobiltelefone, PDAs, andere Kommunikationseinrichtungen, Spielkonsolen,
Decoder, Multimedia-Telefonzellen,
in Textilien integrierte Computer, Faxgeräte und gedruckte Kopien ein,
sind darauf aber nicht beschränkt.
-
Die
Informationen können
auf Anfrage oder als Meldung an den Benutzer U1 geliefert werden. Das
Melden kann eine Anzahl von Mechanismen verwenden, einschließlich E-Mail,
Internetversendedienste, SMS, WAP-Sendedienste, Sprache, ist darauf
aber nicht beschränkt.
-
Die
Indizierung von Daten durch den Indexerzeuger 205 enthält sowohl
lokale, als auch entfernte Quellen, die in Formaten einschließlich XML, HTML,
WML, CHTML, einfacher Text, RTF und Sprache gespeichert sind, ist
aber nicht darauf beschränkt.
-
Die
Netzwerke, über
die Daten gesendet werden, schließen weiterhin UMTS, GPRS und
paketvermittelte Mobilfunknetzwerke ein.
-
Beispiel einer impliziten
Anpassung eines Profil: Verkehrsinformationen
-
Angenommen,
dass der Benutzer U1 ein Interesse an Motorsport, Transport und
Autos usw. explizit für
die Kontexte Arbeit und zu Hause angegeben hat, und der Profilverwalter 201 eine
Regel enthält,
die besagt "wenn
ein Benutzer einer Interesse an Motorfahrzeugen hat, füge ein Interesse
an Verkehrsnachrichten hinzu." Entsprechend der
Beschreibung oben wird das Benutzerprofil modifiziert, um das Interesse
Verkehr hinzuzufügen.
Weiter wird angenommen, dass der Informationsanbieter 200 dazu
eingerichtet ist, dem Benutzer U1 jeden Tag um 8.30 h automatisch
Daten zu senden. Die Kontextbestimmungseinrichtung 209 bestimmt,
dass der Benutzer auf dem Weg zur Arbeit ist (Eingaben von der Verfolgungseinrichtung 405 zeigen
an, das der Benutzer sich bewegt, und dass die Bewegung den Benutzer
U1 näher
an die Arbeit und weiter weg von zu Hause bringt; Eingaben aus dem
Terminkalender und der Uhr 401 und 403 bestätigen, dass
der Benutzer auf dem Weg zur Arbeit ist). Die erste Abrufeinrichtung 211 ruft
Informationen aus dem Benutzerprofil ab, die sich auf den verifizierten
Kontext beziehen, und gibt diese Informationen an die zweite Abrufeinrichtung 213 weiter,
die eine Kurzliste aus Informationsquellen kompiliert, die für die Interessen
des Benutzers relevant sind, und sendet die Kurzliste zu der Abrufeinrichtung 701,
bevor die Kurzliste an das Endgerät des Benutzers T1 gesendet
wird. Da das Interesse Verkehr der für den aktuellen Kontext des
Benutzers relevant ist, ist die Rangordnung, die dem Interesse Verkehr
zugeordnet wird, wahrscheinlich hoch, und folglich erscheint das
Interesse relativ weit oben auf der Kurzliste. Wird jedoch angenommen, dass
der Benutzer wählt,
das Interesse Verkehr zu ignorieren: das Bayes-Netz 703 modifiziert
den Präferenzfaktor,
der Verkehr zugeordnet ist, sodass am nächsten Tag (unter der Annahme,
dass für
den Benutzer bestimmt wird, dass er in dem gleichen Kontext ist)
dieser modifizierte Präferenzfaktor
angewendet wird, und das Interesse erscheint wahrscheinlich weiter
unten in der Liste (wobei die tatsächliche Position von dem Grad
abhängt,
um den der Faktor modifiziert wird).
-
Der
Grad, in dem der Präferenzfaktor
modifiziert wird, kann von der Anzahl von Tagen abhängen, an
denen ein Interesse ignoriert wird, sodass irgendeine Art von zeitabhängiger Funktion
angewendet wird, um den Faktor zu berechnen.
-
Aspekte
des Informationsanbieters 200, insbesondere die Profilinformationen,
die in der Datenbank DB1 gespeichert sind, können hinter einem Firewall
betrieben werden, sodass externe Parteien keinen Zugang zu den Profilinformationen
bekommen können.
Alternativ kann das ganze System innerhalb eines Intranets oder
einer sicheren Netzwerkumgebung laufen, sodass die einzige Kommunikation
mit externen Systemen das Empfangen von aktualisierten Informationsquellen
zum Zwecke der Indizierung und die Kommunikation mit einem mobilen Benutzer
ist.
-
Wie
Fachleuten klar ist, kann die oben beschriebene Erfindung in einem
oder mehreren Rechnerprogrammen ausgeführt sein. Diese Programme können auf
verschiedenen Übertragungs-
und/oder Speichermedien enthalten sein, wie etwa einer Diskette,
CD-ROM oder einem Magnetband, sodass die Programme auf einen oder
mehrere Mehrzweckrechner geladen werden können oder sie können über ein Rechnernetzwerk
mit einem geeigneten Übertragungsmedium
heruntergeladen werden.
-
Wenn
der Kontext innerhalb der Beschreibung und der Ansprüche es nicht
klar anders erfordert, sollen die Wörter "umfassen", "umfassend" und dergleichen
mehr in einem einschließenden
im Gegensatz zu einem ausschließenden
oder erschöpfenden
Sinne analysiert werden; d. h., im Sinne von "einschließlich, aber nicht darauf beschränkt". Die Wörter "X enthält Y" und dergleichen
mehr sollen als Angabe analysiert werden, dass X wenigstens Y hat,
aber dass X höchstwahrscheinlich
andere Elemente zusätzlich
zu Y hat.