-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft im allgemeinen Sofortnachrichtendienste
und insbesondere eine Benutzeranwesenheits- und Benutzeridentitätsverwaltung
für Sofortnachrichtendienste.
-
HINTERGRUND
DER ERFINDUNG
-
Über die
vergangenen paar Jahre hat der Kontakt, der von Leuten miteinander über das
Internet hergestellt wird, ungeheuer zugenommen. Insbesondere wurde
die Sofortnachrichtenübermittlung
(IM, Instant Messaging), die Leuten ermöglicht, über das Internet in Echtzeit
miteinander zu kommunizieren, immer populärer. In jüngerer Zeit ermöglicht die
Sofortnachrichtenübermittlung
Benutzern auch, nicht nur unter Verwendung von Text allein, sondern
auch unter Verwendung von Ton, Standbildern, Video usw. zu kommunizieren.
-
Verschiedene
IM-Programme stehen derzeit zur Verfügung, wie z.B. ICQ von ICQ,
Inc., America Online Instant Messenger (AIM) von America Online,
Inc., (Dulles, VA), MSN® Messenger von Microsoft
Corporation (Redmond, WA) und Yahoo!® Instant
Messenger von Yahoo! Inc. (Sunnyvale, CA).
-
Obwohl
diese IM-Dienste die Benutzerschnittstellen verändert haben, arbeiten die meisten
von ihnen in derselben grundlegenden Art und Weise. Jeder Benutzer
wählt eine
eindeutige Benutzer-ID (deren Eindeutigkeit durch den IM-Dienst
geprüft
wird) sowie ein Kennwort. Der Benutzer kann sich dann von einer
beliebigen Maschine aus (auf die das entsprechende IM-Programm heruntergeladen
wird) unter Verwendung seiner Benutzer-ID und seines Kennworts einloggen.
Der Benutzer kann auch eine "Freundesliste" festlegen, die die Benutzer-IDs
und/oder Namen der verschiedenen anderen IM-Benutzer enthält, mit
denen der Benutzer kommunizieren will.
-
Diese
Sofortnachrichtendienste arbeiten durch Laden eines Clientprogramms
auf den Computer eines Benutzers. Wenn sich der Benutzer einloggt,
ruft das Clientprogramm den IM-Server über das Internet auf und läßt ihn wissen,
daß der
Benutzer online ist. Das Clientprogramm sendet eine Verbindungsinformation
zum Server, insbesondere die Internetprotokoll- (IP) Adresse und
den Port und die Namen der Freunde des Benutzers. Der Server sendet
dann eine Verbindungsinformation für diejenigen von jenen Freunden,
die gerade online sind, zum Clientprogramm zurück. In einigen Situationen
kann der Benutzer dann beliebige dieser Freunde anklicken und eine
Peer-to-Peer-Nachricht senden, ohne über den IM-Server zu gehen.
In anderen Fällen
können
Nachrichten über
einen Server wiedergegeben werden. In noch anderen Fällen ist
die IM-Kommunikation eine Kombination von Peer-to-Peer-Kommunikationen
und jenen, die über
einen Server wiedergegeben werden. Jeder IM-Dienst hat sein eigenes
anwendungseigenes Protokoll, das vom Internet-HTTP (HyperText-Kommunikationsprotokoll)
verschieden ist.
-
Sobald
ein Benutzer eingeloggt ist, geben die meisten IM-Anwendungen auch
mehrere verschiedene Zustände
für den
Benutzer an, wie z.B. "Erreichbar", "Bin gleich zurück", "Beschäftigt", "Untätig", "Am Telefon" usw. Zusätzlich zu
diesen vordefinierten Zuständen
ermöglichen
die meisten IM-Anwendungen auch, daß der Benutzer individuelle
Zustände
festlegt. Ein Benutzer könnte
beispielsweise wählen,
einen Zustand aufzunehmen, der aussagt, daß er "Angeln gegangen" ist. Diese vordefinierten und individuellen
Zustände
versehen die Freunde des Benutzers mit einer Angabe der Erreichbarkeit
des Benutzers.
-
Derzeit
gründen
IM-Anwendungen diese verschiedenen Zustände auf einem der folgenden
Dinge. Erstens kann der Benutzer selbst den Zustand ändern, um
seine Situation anzuzeigen. Zweitens kann die IM-Anwendung versuchen,
den Zustand des Benutzers auf der Basis eines gewissen Zeitablaufparameters
zu folgern. Wenn der Computer des Benutzers beispielsweise in den
Leistungssparmodus übergeht,
kann die IM-Anwendung folgern, daß der Zustand des Benutzers "Untätig" oder "Vom Schreibtisch
entfernt" ist, und
automatisch den Zustand des Benutzers dementsprechend ändern. Eine ähnliche
Folgerung kann von der IM-Anwendung
durchgeführt
werden, wenn keine Tastenanschläge
auf der Computertastatur für
eine vorab festgelegte Menge an Zeit festgestellt werden. Solche "Zeitablaufparameter
auf Benutzeraktivitätsbasis" sind jedoch nicht
sehr zuverlässig.
Ein Benutzer könnte
sich beispielsweise an seinem Schreibtisch befinden und gewisse
Papierarbeit erledigen und somit die Tastatur des Computers für eine Weile
nicht benutzen. Die IM-Anwendung kann diesen Zustand des Benutzers
ungenau als "Untätig" oder als "Vom Schreibtisch
entfernt" interpretieren,
die beide ungenau sind.
-
Ferner
kann die Identität
des Benutzers, der den Computer verwendet, nicht durch die IM-Anwendung festgestellt
werden. Es kann beispielsweise eine Situation entstehen, in der
der Benutzer, der in die IM-Anwendung eingeloggt ist, sich für eine gewisse
Zeit vom Computer weg begibt, und irgendein anderer Benutzer statt dessen
den Computer benutzt. Derzeit verlassen sich die IM-Anwendungen
darauf, daß die
Benutzer ihre Onlineidentität ändern. In
der beschriebenen Situation müßte der
erste Benutzer aktiv ausgeloggt werden und der zweite Benutzer müßte sich
aktiv einloggen. Das aktive Ändern
der Benutzeridentität
erfordert einen zusätzlichen
Aufwand seitens der Benutzer. Ferner vernachlässigen die Benutzer häufig das
Durchführen
solcher Identitätsänderungen,
was folglich zu einer falschen Präsentation des Zustands und/oder
der Identität
der Benutzer führt.
Ein Beispiel einer solchen Situation ist ein Personalcomputer, der
von einem Ehemann und einer Ehefrau gemeinsam genutzt wird. In einem
Szenario kann der Ehemann in eine IM-Anwendung eingeloggt sein.
Er kann sich wegbegeben, wobei er das Ausloggen vergißt. Die
Ehefrau kann dann beginnen, den Computer zu verwenden, und es vernachlässigen,
ihren Ehemann auszuloggen und sich einzuloggen. Der Zustand des
Ehemanns kann somit seinen IM-Freunden fälschlich als "erreichbar" angezeigt werden.
Dagegen nehmen die IM-Freunde der Ehefrau wahr, daß die Ehefrau
für eine
IM-Konversation unerreichbar ist, da sie nicht eingeloggt ist.
-
Somit
besteht ein Bedarf für
ein System und ein Verfahren, die den Benutzer einer IM-Anwendung identifizieren
können.
Außerdem
besteht ein Bedarf für
ein System und ein Verfahren, die den Zustand eines Benutzers einer
IM-Anwendung intelligent aktualisieren können.
-
KURZE ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
vorliegende Erfindung stellt ein Verfahren und eine entsprechende
Vorrichtung für
eine zuverlässigere
und genauere Anwesenheits/Zustands-Verwaltung und Identitätserfassung
in IM-Anwendungen unter Verwendung einer Sensorinformation, die
von einer Vorrichtung erfaßt
wird, bereit. Eine solche Information kann eine Video-, Standbild-
und/oder Audioinformation umfassen.
-
In
einem Ausführungsbeispiel
erfaßt
eine Vorrichtung wie z.B. eine Kamera Standbild-, Video- und/oder
Audiodaten. Eine relevante Information wird dann aus den erfaßten Daten
gewonnen und analysiert. Die gewonnene und analysierte Information
kann beispielsweise betreffen, ob der Benutzer sichtbar ist, welcher
Benutzer sichtbar ist, ob sich der Benutzer am Telefon befindet,
ob der Benutzer mit Papieren arbeitet, usw. Verschiedene auf dem
Fachgebiet bekannte Verfahren können
zum Gewinnen und Analysieren der erfaßten Information verwendet
werden. Beispiele solcher Verfahren umfassen Gesichtsverfolgungsverfahren, Gesichtserkennungsverfahren,
Bewegungserfassungsverfahren und so weiter.
-
Die
gewonnene und analysierte Information wird dann interpretiert, um
eine Information von Bedeutung für
eine IM-Anwendung zu erhalten. Wenn der Benutzer nach der gewonnenen
und analysierten Information sichtbar ist, dann ist gemäß einem
Ausführungsbeispiel
beispielsweise die Interpretation für die IM-Anwendung, daß der Zustand des Benutzers
auf "Erreichbar" geändert werden
sollte. Wenn der Benutzer nach der gewonnenen und analysierten Information
nicht sichtbar ist, dann ist die Interpretation für die IM-Anwendung in
einem Ausführungsbeispiel,
daß der
Zustand des Benutzers auf "vom
Schreibtisch entfernt" geändert werden
sollte.
-
In
einem Ausführungsbeispiel
wird dann die IM-Anwendungsprogrammschnittstelle
(API) mit dieser interpretierten Information versehen. Dies führt zur
Aktualisierung des Zustands des Benutzers und/oder zum Ändern der
Identität
des Benutzers in der IM-Anwendung.
-
Die
in dieser Zusammenfassung und in der folgenden detaillierten Beschreibung
beschriebenen Merkmale und Vorteile sind nicht alles einschließend, und
insbesondere sind viele zusätzlichen
Merkmale und Vorteile für
einen üblichen
Fachmann angesichts der Zeichnungen, der Beschreibung und der Ansprüche hiervon ersichtlich. Überdies
sollte beachtet werden, daß die
in der Beschreibung verwendete Sprache hauptsächlich für Lesbarkeits- und Anweisungszwecke
ausgewählt
wurde und nicht ausgewählt
worden sein kann, um den Erfindungsgegenstand abzugrenzen oder einzugrenzen,
wobei ein Zurückgreifen
auf die Ansprüche
erforderlich ist, um einen solchen Erfindungsgegenstand zu bestimmen.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Die
Erfindung hat weitere Vorteile und Merkmale, die aus der folgenden
ausführlichen
Beschreibung der Erfindung und den zugehörigen Ansprüchen in Verbindung mit den
zugehörigen
Zeichnungen leichter ersichtlich sind, in denen gilt:
-
1 ist ein Blockdiagramm
eines Ausführungsbeispiels
eines herkömmlichen
IM-Systems.
-
2 ist ein Blockdiagramm
eines Systems gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung.
-
3 ist ein Bildschirmausdruck
einer Freundesliste mit verschiedenen Zuständen, die in einer IM-Anwendung
angezeigt wird.
-
4 ist ein Ablaufplan der
Funktion eines Systems 200 gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung.
-
AUSFÜHRLICHE
BESCHREIBUNG DER ERFINDUNG
-
Die
Figuren (oder Zeichnungen) stellen ein bevorzugtes Ausführungsbeispiel
der vorliegenden Erfindung nur für
Erläuterungszwecke
dar. Es wird angemerkt, daß ähnliche
oder gleiche Bezugsziffern in den Figuren auf eine ähnliche
oder gleiche Funktionalität
hindeuten können.
Ein Fachmann wird leicht aus der folgenden Erörterung erkennen, daß alternative
Ausführungsbeispiele
der hierin offenbarten Strukturen und Verfahren verwendet werden
können,
ohne von den Prinzipien der Erfindungen) hierin abzuweichen. Es
soll beachtet werden, daß die
vorliegende Erfindung eine beliebige Art von Sensordaten betrifft,
die durch eine Vorrichtung erfaßt
werden können,
wie z.B., jedoch nicht begrenzt auf Standbild-, Video- oder Audiodaten.
Für Erläuterungszwecke
konzentriert sich das meiste der Erörterung in der Anmeldung auf
Standbild-, Video und/oder Audiodaten. Es ist jedoch zu beachten,
daß andere
Daten, wie z.B. Daten, die Geruch betreffen, auch verwendet werden
könnten.
Der Zweckmäßigkeit
halber können
an einigen Stellen "Bild" oder andere ähnliche Begriffe
in dieser Anmeldung verwendet werden. Wo es anwendbar ist, sollen
diese als beliebige solche Daten, die durch eine Digitalkamera erfaßbar sind,
einschließend
aufgefaßt
werden.
-
1 ist ein Blockdiagramm
eines Ausführungsbeispiels
eines herkömmlichen
IM-Systems 100.
Das System 100 umfaßt
Computersysteme 110a und 110b, Kameras 120a und 120b,
ein Netzwerk 130 und einen IM-Server 140.
-
Die
Computersysteme 110a und 110b sind herkömmliche
Computersysteme, die jeweils einen Computer, eine Speichervorrichtung,
eine Netzwerkdienstverbindung und herkömmliche Eingabe/Ausgabe-Vorrichtungen
wie z.B. eine Anzeige, eine Maus, einen Drucker und/oder eine Tastatur,
die mit einem Computersystem koppeln können, umfassen können. Der
Computer umfaßt
auch ein herkömmliches
Betriebssystem, eine Eingabe/Ausgabe-Vorrichtung und eine Netzwerkdienstsoftware.
Außerdem
umfaßt
der Computer eine IM-Software zum Kommunizieren mit dem IM-Server 140.
Die Netzwerkdienstverbindung umfaßt jene Hardware- und Softwarekomponenten,
die das Verbinden mit einem herkömmlichen
Netzwerkdienst ermöglichen. Die
Netzwerkdienstverbindung kann beispielsweise eine Verbindung mit
einer Telekommunikationsleitung (z.B. eine digitale Anwähl-Teilnehmerleitung
("DSL"), eine T1- oder
eine T3-Kommunikationsleitung)
umfassen. Der Hauptrechner, die Speichervorrichtung und die Netzwerkdienstverbindung
können
beispielsweise von IBM Corporation (Armonk, NY), Sun Microsystems,
Inc. (Palo Alto, CA) oder Hewlett-Packard, Inc. (Palo Alto, CA)
erhältlich
sein.
-
Die
Kameras 120a und 120b sind mit den Computersystemen 110a bzw. 110b verbunden.
Die Kameras 120a und 120b können beliebige Kameras sein,
die mit den Computersystemen 110a und 110b verbindbar sind.
Die Kameras 120a und 120b können beispielsweise Webkameras,
digitale Standbildkameras etc. sein. In einem Ausführungsbeispiel
sind die Kameras 120a und/oder 120b QuickCam® von
Logitech, Inc. (Fremont, CA).
-
Das
Netzwerk 130 kann ein beliebiges Netzwerk sein, wie z.B.
ein Fernnetz (WAN) oder ein lokales Netz (LAN) oder ein beliebiges
anderes Netzwerk. Ein WAN kann das Internet, das Internet 2 und
dergleichen umfassen. Ein LAN kann ein Intranet umfassen, das ein
Netzwerk auf der Basis von beispielsweise TCP/IP sein kann, das
zu einer Organisation gehört,
auf die nur durch Mitglieder, Angestellten der Organisation oder andere
mit Berechtigung zugegriffen werden kann. Ein LAN kann auch ein
Netzwerk sein, wie beispielsweise NetwareTM von
Novell Corporation (Provo, UT) oder Windows NT von Microsoft Corporation
(Redmond, WA). Das Netzwerk 120 kann auch kommerziell erhältliche
Dienste auf Teilnahmebasis umfassen, wie beispielsweise AOL von
America Online, Inc. (Dulles, VA) oder MSN von Microsoft Corporation
(Redmond, WA).
-
Der
IM-Server 140 kann irgendeinen der verfügbaren IM-Dienste unterstützen. Einige
Beispiele der derzeit verfügbaren
IM-Programme sind America OnLine Instant Messenger (AIM) von America
Online, Inc. (Dulles, VA), MSN® Messenger von Microsoft
Corporation (Redmond, WA) und Yahoo!® Instant
Messenger von Yahoo! Inc. (Sunnyvale, CA).
-
Aus 1 ist zu sehen, daß die Kameras 120a und 120b eine
Standbild-, Video- und/oder
Audioinformation zum System 100 liefern. Eine solche Multimediainformation
wird durch die vorliegende Erfindung für Zwecke der Anwesenheits-/Zustands-Verwaltung
und/oder des Identitätsnachweises
ausgenutzt.
-
2 ist ein Blockdiagramm
eines Systems 200 gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung. Das System 200 umfaßt ein Informationserfassungsmodul 210,
ein Informationsgewinnungs- und -analysemodul 220, ein
Informationsinterpretationsmodul 230 und eine IM-Anwendungsprogrammschnittstelle (API) 240.
-
In
einem Ausführungsbeispiel
erfaßt
das Informationserfassungsmodul 210 eine Audio-, Video- und/oder
Standbildinformation in der Nähe
der Maschine, an der der Benutzer die IM-Anwendung verwendet. Eine
solche Maschine kann unter anderem einen Personalcomputer (PC),
ein Mobiltelefon, einen persönlichen digitale
Assistenten (PDA) usw. umfassen. In einem Ausführungsbeispiel umfaßt das Informationserfassungsmodul 210 die
herkömmlichen
Komponenten einer Digitalkamera, die die Erfassung und Speicherung
von Multimediadaten betreffen. In einem Ausführungsbeispiel umfassen die
Komponenten des Kameramoduls eine Linse, einen Bildsensor, einen
Bildprozessor und einen internen und/oder externen Speicher.
-
Das
Informationsgewinnungs- und -analysemodul 220 dient zum
Gewinnen einer Information von der erfaßten Multimediainformation.
Eine solche Informationsgewinnung und -analyse kann in der Software,
Hardware, Firmware usw. implementiert werden. Eine beliebige Anzahl
von bekannten Verfahren kann zur Informationsgewinnung und -analyse
verwendet werden. Bewegungserfassungsverfahren (z.B. eine Software
wie z.B. Digital Radar® von Logitech, Inc. (Freemont,
CA)) oder Gesichtsverfolgungsverfahren können beispielsweise zum Erfassen,
ob sich ein Benutzer in der Nähe
der Maschine befindet, auf der die IM-Anwendung läuft, verwendet
werden. Als weiteres Beispiel können
Gesichtserkennungsverfahren verwendet werden, um zu identifizieren,
welcher Benutzer sich in der Nähe
der Maschine befindet, auf der die IM-Anwendung läuft. In einem Ausführungsbeispiel
gewinnt das Informationsgewinnungs- und -analysemodul eine relevante
Information (z.B. Kanteninformation, Bitmaps usw.) und vergleicht
diese gewonnene Information mit einer vorher gespeicherten Information
(z.B. in einer Datenbank). In einem Ausführungsbeispiel werden beispielsweise
Kanteninformationsverfahren verwendet, um eine Information aus einem
aufgenommenen Bild zu gewinnen. Diese Kanteninformation wird dann
mit einer Kanteninformation verglichen, die vorher in einer Datenbank
gespeichert wurde. Die vorher in der Datenbank gespeicherte Information
kann eine Kanteninformation darüber,
wie ein menschliches Gesicht aussieht, wie ein menschliches Gesicht
nahe einem Telefon aussieht, usw. umfassen.
-
In
einem Ausführungsbeispiel
ist die Ausgabe des Informationsgewinnungs- und -analysemoduls von der
API 240, zu der die Information schließlich geliefert wird, unabhängig. Die
Ausgabe des Informationsgewinnungs- und -analysemoduls kann beispielsweise
einfach darauf hindeuten, daß "ein menschliches
Gesicht vorhanden ist" oder "eine Bewegung erfaßt wird". Das Informationsinterpretationsmodul 230 nimmt
dann diese Ausgabe und interpretiert sie auf der Basis der API 240,
zu der die Information geliefert werden soll. Die Ausgaben "ein menschliches
Gesicht ist vorhanden" oder "eine Bewegung wird
erfaßt" kann für eine IM-Anwendung
beispielsweise als "Zustand
des Benutzers sollte 'erreichbar' sein" interpretiert werden.
Es ist zu beachten, daß dieses
Interpretationsmodul 230 in der Software, Hardware, Firmware
usw. oder in einer beliebigen Kombination von diesen implementiert
werden kann.
-
Die
interpretierte Information wird dann zur API 240 für die IM-Anwendung
geliefert. Die IM-API 240 kann dann diese interpretierte
Information für
verschiedene Zwecke verwenden. Die als "Zustand des Benutzers sollte 'erreichbar' sein" interpretierte Information
führt,
wenn sie zur IM-API geliefert wird, beispielsweise dazu, daß der Zustand
auf "Erreichbar" aktualisiert wird.
Unter anderem kann die IM-API 240 mit einer Information
bezüglich
der Anwesenheits/Zustands-Verwaltung und Benutzeridentifikation
versehen werden. Jede von diesen wird nachstehend im einzelnen erörtert.
-
Anwesenheits/Zustands-Verwaltung:
-
Sobald
sich der Benutzer in einen IM-Dienst einloggt, umfassen die meisten
IM-Anwendungen Indikatoren
für den
Benutzerzustand. Die Freunde des Benutzers können einen solchen Zustand
neben dem Namen/Spitznamen/der Benutzer-ID des Benutzers sehen.
Diese Zustände
umfassen sowohl einen vordefinierten Zustand wie z.B. "Erreichbar", "Bin gleich zurück", "Beschäftigt", "Untätig", "Am Telefon" usw. sowie individuelle
Zustände,
die der Benutzer definiert haben kann.
-
3 ist ein Bildschirmausdruck
einer Freundesliste mit verschiedenen Zuständen, die in einer IM-Anwendung
angezeigt wird. Wie aus 3 zu
sehen ist, sehen in einigen IM-Anwendungen, wenn ein Benutzer eingeloggt
ist, seine Freunde seinen Namen/Spitznahmen/seine Benutzer-ID fett.
In einigen IM-Anwendungen ist
der Vorgabezustand, wenn ein Benutzer eingeloggt ist, daß er erreichbar
ist. Somit deutet ein fetter Benutzername, ohne daß ihm ein
Zustand folgt, darauf hin, daß der
Zustand des Benutzers "Erreichbar" ist. Mehrere verschiedene
Benutzerzustände
(z.B. am Telefon, beschäftigt,
untätig,
zum Essen aus usw.) sind in 3 zu sehen.
-
Gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung wird eine Audio-, Video- und/oder Standbildinformation
verwendet, um diese Zustände
intelligent zu aktualisieren. Eine solche Information wird in der
Nähe der
Maschine, an der der Benutzer die IM-Anwendung verwendet, erfaßt. Ein
Benutzer verwendet beispielsweise eine IM-Anwendung auf seinem Personalcomputer
und eine beigefügte
Webkamera dient zum Erfassen der Information. Die erfaßte Audio-,
Video- und/oder Standbildinformation kann analysiert werden, um
den Zustand des Benutzers festzustellen. Ein Bild des Benutzers
mit einem Telefoninstrument neben seinem Kopf deutet beispielsweise
darauf hin, daß der
Benutzer "Am Telefon" ist. Als weiteres
Beispiel wird ein Bild des Benutzers, der nach unten auf den Schreibtisch
blickt (z.B. schreibt oder liest), als "Beschäftigt" interpretiert. Für einen Fachmann ist es offensichtlich,
daß die
analysierte spezielle Information, die einer unterschiedlichen Information
zugehörigen
speziellen Zustände
usw. signifikant variieren können.
-
4 ist ein Ablaufplan der
Funktion eines Systems 200 gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung.
-
In
einem Ausführungsbeispiel,
wie aus 4 zu sehen ist,
muß das
System 200 feststellen (Schritt 410), ob sich
das System 200 im geeigneten Modus befindet oder nicht.
Wenn sich das System 200 nicht im Anwesenheits/Zustands-Verwaltungsmodus
befindet, wird keine weitere Handlung unternommen (Schritt 415).
Wenn sich das System im Anwesenheits/Zustands-Verwaltungsmodus befindet,
dann werden nachstehend beschriebene bestimmte Schritte ausgeführt. Es
gibt mehrere Weisen, in denen das System 200 in den Anwesenheits/Zustands-Verwaltungsmodus
eintreten könnte.
In einem Ausführungsbeispiel
befindet sich das System 200 im Anwesenheits/Zustands-Verwaltungsmodus
zu einem beliebigen Zeitpunkt, wenn ein Benutzer in eine IM-Anwendung eingeloggt
ist. In einem weiteren Ausführungsbeispiel
kann der Benutzer explizit den Anwesenheits/Zustands-Verwaltungsmodus
starten müssen.
Der Benutzer drückt
z.B. eine spezielle physikalische Taste oder führt bestimmte Auswahlvorgänge an einem
Computer oder an der Kamera selbst durch, liefert einen Sprachbefehl
usw. In noch einem weiteren Ausführungsbeispiel
wird der Anwesenheits/Zustands-Verwaltungsmodus durch den Benutzer,
der eine bestimmte Gestik durchführt,
die vom System als Starten des Anwesenheits/Zustands-Verwaltungsmodus
erkannt wird, ausgelöst.
In noch einem weiteren Ausführungsbeispiel
können
vordefinierte Ereignisse den Start des Anwesenheits/Zustands-Verwaltungsmodus auslösen. Solche
Auslöseereignisse
können
beispielsweise die Erkennung des Gesichts eines speziellen Benutzers,
die Annäherung
eines Benutzers an die Kamera in einer bestimmten Weise usw. umfassen.
-
Wenn
sich das System im Anwesenheits/Zustands-Verwaltungsmodus befindet,
empfängt
es kontinuierlich (Schritt 420) Standbild-, Video- und/oder
Audiodaten. Eine relevante Information wird dann aus diesen empfangenen
Daten gewonnen (Schritt 430). Wie vorstehend mit Bezug
auf 2 erwähnt, können verschiedene
Verfahren verwendet werden, um die Information zu gewinnen.
-
Gesichtserkennungsverfahren
können
beispielsweise an den empfangenen Bilddaten verwendet werden, um
festzustellen, ob ein menschlicher Kopf sichtbar ist.
-
Die
gewonnene Information wird analysiert (Schritt 440). In
einem Ausführungsbeispiel
umfaßt
die Analyse das Prüfen,
um festzustellen, ob die gewonnene Information ein gewisses vorbestimmtes
Kriterium erfüllt.
Wenn das vorbestimmte Kriterium nicht erfüllt ist, wird die nächste empfangene
Information gewonnen. Wenn das vorbestimmte Kriterium erfüllt ist,
werden die nachstehend beschriebenen Schritte durchgeführt.
-
In
einem Ausführungsbeispiel
besteht das Kriterium darin, die gewonnene Information (z.B. Kanteninformation)
mit einer gewissen vorher gespeicherten Information zu vergleichen
und festzustellen, ob eine Übereinstimmung
gefunden wird. Ein Beispiel einer solchen vorher gespeicherten Information
ist in Tabelle 1 vorgesehen.
Tabelle
1
-
In
einem Ausführungsbeispiel
wird eine Audioinformation mit einer Standbild- oder Videoinformation kombiniert,
um eine bestimmte Ausgabe abzubilden. In einem Ausführungsbeispiel
wird beispielsweise eine Bildinformation bezüglich der Form eines menschlichen
Kopfs neben der Form eines Telefons mit einer Audioinformation hinsichtlich
eines am Telefon sprechenden Benutzers (z.B. der Erfassung, daß der Benutzer "Hallo" sagt) kombiniert,
um festzustellen, daß sich
der Benutzer am Telefon befindet. In einem anderen Ausführungsbeispiel
kann ein Computer, an dem der Benutzer die IM-Anwendung verwendet,
die Telefonleitung, an der er angebracht ist, elektronisch überwachen,
um den Zustand des Benutzers "Am
Telefon" zu überwachen. In
einem Ausführungsbeispiel
kann die Maschine (z.B. Computer) zwischen von sich selbst erzeugtem
Ton (z.B. Musik) und vom Benutzer erzeugtem Ton für die Zwecke
der Aktualisierung des Zustands auf der Basis einer Audioeingabe
unterscheiden.
-
Wenn
eine Information, die der gewonnenen Information entspricht, in
der vorher gespeicherten Information gefunden wird, wird sie auf
die entsprechende Ausgabe abgebildet. Wenn eine Information, die
der gewonnenen Information entspricht, in der vorher gespeicherten
Information nicht gefunden wird, wird die nächste empfangene Information
gewonnen (Schritt 430).
-
In
einem weiteren Beispiel werden empfangene Videodaten Bewegungserfassungsverfahren
unterzogen. Eine Software wie z.B. Digital Radar
® von
Logitech, Inc. (Fremont, CA) kann zur Bewegungserfassung verwendet
werden. In einem Ausführungsbeispiel
werden aufeinanderfolgende Videovollbilder verglichen, um die Änderung
der Pixelwerte von speziellen Bereichen zu beurteilen. Wenn diese Änderung
mehr als eine bestimmte vorab festgelegte Schwelle ist, wird angenommen,
daß eine
Bewegung erfaßt
wird. Diese vorab festgelegte Schwelle kann ein Teil einer vorher
gespeicherten Information sein, die für das Informationsgewinnungs-
und -analysemodul
220 zugänglich ist. Ein Beispiel einer
solchen Information ist in Tabelle 2 bereitgestellt.
Tabelle
2
-
Wiederum
wird die Information auf die geeignete Ausgabe auf der Basis von
Tabelle 2 abgebildet. In einem Ausführungsbeispiel können Bewegungserfassungsverfahren
mit anderen Verfahren (z.B. Wärmefeststellung)
kombiniert werden, um genauere Ergebnisse zu erhalten. In einem
Ausführungsbeispiel
stellt beispielsweise das Kombinieren von Bewegungserfassungsverfahren
mit der Feststellung von Wärme,
die vom Körper
eines Benutzers erzeugt wird, sicher, daß sich bewegende Objekte (z.B.
herumfliegende Papiere usw.) nicht mit einem Benutzer verwechselt
werden.
-
Die
gewonnene und analysierte Information wird dann auf der Basis der
Anwendung, zu der die Information geliefert werden soll, interpretiert
(Schritt
450). Wenn beispielsweise die gewonnene und analysierte Information
zu einer IM- Anwendung
geliefert werden soll, wird die Ausgabe des Informationsgewinnungs- und -analysemoduls
220 in
bestimmte IM-Zustände
abgebildet. Ein Beispiel dessen ist in Tabelle 3 bereitgestellt.
Tabelle
3
-
Dieser
IM-Zustand wird dann zur IM-API 240 geliefert (Schritt 460),
die wiederum den Zustand des Benutzers entsprechend aktualisiert.
-
In
einem Ausführungsbeispiel
ist die gewonnene und analysierte Information von der Anwendung,
zu der die Information schließlich
geliefert werden soll, unabhängig.
Mit anderen Worten, die gewonnene und analysierte Information kann
für verschiedene
unterschiedliche Zwecke verwendet werden. Die Interpretation (Schritt 450)
der Daten hängt
von der Anwendung ab, zu der die Information geliefert werden soll
(Schritt 460).
-
Es
ist zu beachten, daß der
Zustand eines Benutzers nicht nur in den Freundeslisten des Benutzers angegeben
werden kann, sondern auch (oder statt dessen) an anderen geeigneten
Orten, wie z.B. innerhalb eines offenen Chatfensters. Als Beispiel
betrachte man einen Fall, in dem ein erster Benutzer durch einen
Telefonanruf unterbrochen wird, während er an einem IM-Chat mit
einem zweiten Benutzer beteiligt ist. Anstatt, daß sich der
zweite Benutzer wundert, warum der erste Benutzer so lang braucht,
um zu antworten, gibt das aktive Chatfenster in einem Ausführungsbeispiel
an, daß der
erste Benutzer "am
Telefon" ist.
-
In
einem Ausführungsbeispiel
kann ein Zustand "unsichere
Erreichbarkeit" angezeigt
werden, wenn das System unsicher ist, welcher Zustand dem Benutzer
zuzuweisen ist. In einem anderen Ausführungsbeispiel werden Zustände, die
durch ein System gemäß der vorliegenden
Erfindung zugewiesen werden, in einer gewissen Weise von Zuständen unterschieden,
die vom Benutzer selbst ausgewählt
werden. Verschiedene Formate (wie z.B. fett, kursiv usw.), verschiedene
Farben usw. werden beispielsweise in einem Ausführungsbeispiel verwendet, um
zwischen einem vom Benutzer gesetzten Zustand und einem vom Computer
automatisch erfaßten
Zustand zu unterscheiden.
-
Identifikation von Benutzern:
-
Abgesehen
von der vorstehend beschriebenen Anwesenheits/Zustands-Verwaltungsanwendung
der vorliegenden Erfindung dient eine weitere Anwendung der vorliegenden
Erfindung für
eine intelligente Identifikation von Benutzern von IM-Anwendungen.
-
Verschiedene
Benutzer verwenden manchmal dieselbe Maschine. In solchen Situationen
ist es möglich,
daß ein
vorheriger Benutzer versehentlich eingeloggt bleibt, während sich
ein anderer Benutzer tatsächlich
statt dessen nahe der Maschine befinden kann.
-
Gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung kann eine Standbild-, Video- und/oder Audioinformation
verwendet werden, um den Benutzer in der Nähe der Maschine intelligent
zu identifizieren und die entsprechenden Benutzer der IM-Anwendung
intelligent ein- und auszuloggen.
-
Die
Funktion eines Systems gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung kann auch durch Bezugnahme auf 4 verstanden werden. Wie
vorstehend beschrieben, wird festgestellt (Schritt 410), ob
sich das System im geeigneten Modus befindet. Wenn dies nicht der
Fall ist, wird keine weitere Handlung unternommen (Schritt 415).
-
Wenn
sich das System im Benutzeridentifikationsmodus befindet, dann werden
erfaßte
Video-, Standbild- und/oder Audiodaten empfangen (Schritt 420).
-
Die
empfangene Information wird dann gewonnen (Schritt 430).
Die verwendeten speziellen Informationsgewinnungsverfahren können auf
der Basis von verschiedenen Faktoren variieren. Ein solcher Faktor
ist die Anzahl von Benutzern, die sich einen gegebenen Computer
teilen. Wenn diese Anzahl klein ist (z.B. in der Situation, in der
verschiedene Mitglieder einer Familie sich einen Personalcomputer
teilen), können
relativ einfache Verfahren verwendet werden, um die verschiedenen
Benutzer zu identifizieren. Wenn diese Anzahl groß ist (z.B.
ein von einer Arbeitsgruppe gemeinsam genutzter Arbeitsplatzcomputer),
können
jedoch komplexere Verfahren verwendet werden müssen.
-
In
einem Ausführungsbeispiel
können
auf dem Fachgebiet bekannte Gesichtserkennungsverfahren verwendet
werden, um den Benutzer zu identifizieren. Die gewonnene Information
wird dann geprüft
(Schritt 440), um festzustellen, ob von der gewonnenen
Information ein vordefiniertes Kriterium erfüllt wird. Wenn nicht, wird
eine erfaßte
Information empfangen (Schritt 420). Falls ja, werden weitere
Schritte unternommen. In einem Ausführungsbeispiel sind die potentiellen
Benutzer von IM auf einer speziellen Maschine (z.B. Personalcomputer)
im voraus bekannt. Eine Datenbank, die eine gewonnene Information
für Bilder
des Gesichts von jedem dieser potentiellen Benutzer enthält, kann
gespeichert werden und das vorbestimmte Kriterium ist, ob eine Übereinstimmung
für die
gewonnene Information in der Datenbank besteht.
-
Die
gewonnene und analysierte Information wird dann interpretiert (Schritt 450).
In einem Ausführungsbeispiel
umfaßt
die Interpretation beispielsweise eine Abbildung vom identifizierten
Benutzer auf die Benutzer-ID/den Login-Namen des Benutzers für die IM-Anwendung.
Die interpretierte Information wird zur IM-Anwendung geliefert (Schritt 460).
Im beschriebenen Ausführungsbeispiel
loggt dann die IM-Anwendung den Benutzer mit der angegebenen Benutzer-ID
ein und loggt irgendwelche anderen Benutzer, die in die IM-Anwendung
eingeloggt sein konnten, aus.
-
Wie
für Fachleute
verständlich
ist, kann die vorliegende Erfindung in anderen speziellen Formen
verkörpert
werden, ohne von deren wesentlichen Eigenschaften abzuweichen. Eine
Audioinformation allein kann beispielsweise anstelle einer Video-
und Standbildinformation zur Anwesenheits- und/oder Identitätsverwaltung
verwendet werden. Wenn die Stimme eines Benutzers beispielsweise
gehört
wird, kann der Zustand des Benutzers auf "Am Telefon" oder "In einer Besprechung" geändert
werden. Als weiteres Beispiel können
Benutzer, wie/wann der Zustandsindikator und/oder die Benutzeridentifikation
zu ändern
sind, die Auslöseereignisse,
die die Anwesenheits- und Identitätsverwaltungsmodi einleiten
würden,
usw. definieren können.
Als noch weiteres Beispiel können
Benutzer verschiedene Zustände
in Abhängigkeit
davon, welche Anwendung sie auf dem Computer verwenden, festlegen
können.
(In einem Ausführungsbeispiel
kann ein Benutzer beispielsweise spezifisch festlegen, daß sein Zustand
als "Beschäftigt" angezeigt wird,
wenn er in Microsoft® ExcelTM oder
Microsoft® WordTM arbeitet, aber als "Erreichbar", wenn er eine Email-Anwendung verwendet oder im Internet
surft.) Als noch ein weiteres Beispiel kann eine andere Information,
wie z.B. eine Information hinsichtlich Geruch, Bewegung (z.B. Laufen,
Rennen), Ort (z.B. eine von einem globalen Positionierungssystem bereitgestellte
Information), eine Fingerabdruckinformation, eine andere biometrische
Information usw. als Eingaben in ein System gemäß der vorliegenden Erfindung
verwendet werden. Obwohl spezielle Ausführungsbeispiele und Anwendungen
der vorliegenden Erfindung dargestellt und beschrieben wurden, soll
es selbstverständlich
sein, daß die
Erfindung nicht auf die genaue Konstruktion und die Komponenten,
die hierin offenbart sind, begrenzt ist und daß verschiedene Modifikationen, Änderungen
und Variationen, die Fachleuten ersichtlich sind, in der Anordnung,
der Funktionsweise und den Details des Verfahrens und der Vorrichtung
der hierin offenbarten vorliegenden Erfindung vorgenommen werden
können,
ohne vom Gedanken und Schutzbereich der Erfindung, die in den folgenden
Ansprüchen
definiert ist, abzuweichen.