-
TECHNISCHES GEBIET
-
Diese Spezifikation bezieht sich auf die Authentifizierung von Benutzern und das Aufrufen von Anwendungen auf Vorrichtungen mit gestenbasierten Benutzeroberflächen.
-
ALLGEMEINER STAND DER TECHNIK
-
Benutzerauthentifizierung und Anwendungsaufruf werden oft als separate Prozesse implementiert, wobei jeweils unterschiedliche Benutzereingaben erforderlich sind. Ebenfalls muss jedes Mal, wenn ein Benutzer eine Authentifizierung auf einer Vorrichtung vornehmen möchte, die Vorrichtung aus einem Schlaf- oder Standby-Modus aktiviert werden, was mit einer zusätzlichen Leistungsaufnahme verbunden ist.
-
KURZDARSTELLUNG
-
Diese Spezifikation beschreibt im Allgemeinen Techniken zur Authentifizierung eines Benutzers und zum Aufrufen einer vom Benutzer ausgewählten Anwendung als Reaktion auf und in Übereinstimmung mit einer einzelnen absichtlichen Benutzergeste.
-
Im Allgemeinen kann ein innovativer Aspekt des in dieser Beschreibung beschriebenen Gegenstandes in Verfahren verkörpert werden, die die Aktionen der Erfassung einer Geste eines Benutzers, durch eine Vorrichtung mit einem Touchscreen, auf dem Touchscreen beinhaltet, während sich die Vorrichtung im Schlafmodus befindet; die Klassifizierung der Geste durch die Vorrichtung, als eine absichtliche oder eine unabsichtliche Geste; die Aufrechterhaltung des Schlafmodus der Vorrichtung, wenn die Geste als eine unabsichtliche Geste klassifiziert wird; bei Ermittlung, dass die Geste mit einer oder mehreren bestätigten Gesten übereinstimmt, die zu mindest teilweise in einem Satz vordefinierter Kriterien auf der Vorrichtung gespeichert sind und wenn die Geste als eine absichtliche Geste eingestuft wird: Erkennen des Benutzers als authentifiziert und ohne zusätzliche Benutzereingaben, Auswählen einer Anwendung, aus einer Vielzahl von verschiedenen Anwendungen, entsprechend der Geste und dem Aufrufen der Anwendung auf der Vorrichtung.
-
Andere Ausführungsformen dieses Aspekts beinhalten entsprechende Computersysteme, Vorrichtungen und Computerprogramme, die auf einem oder mehreren Computerspeichergeräten aufgezeichnet sind, die jeweils so konfiguriert sind, dass diese die Aktionen der Verfahren ausführen. Ein zur Ausführung bestimmter Operationen oder Aktionen konfiguriertes System aus einem oder mehreren Computern bedeutet, dass dieses mithilfe von im System installierter und ausgeführter Software, Firmware, Hardware oder einer Kombination derselben Operationen und Aktionen ausführt. Ein oder mehrere zur Ausführung bestimmter Operationen oder Aktionen konfigurierte Computerprogramme bedeutet, dass dieses eine oder die mehreren Programme Anweisungen umfassen, die bei Ausführung durch die Datenverarbeitungsvorrichtung bewirken, dass die Vorrichtung die Operationen oder Aktionen ausführt.
-
Bestimmte Ausführungsformen des in dieser Spezifikation beschriebenen Gegenstandes können so implementiert werden, dass diese einen oder mehrere der folgenden Vorteile verwirklichen. Die Leistungsaufnahme kann ebenfalls reduziert werden: Ein Benutzergerät verbleibt im Schlafmodus, der im Vergleich zu einem aktiven Modus beim Erkennen von nur unabsichtlichen Gesten weniger Leistung erfordert. Die zum sicheren Aufruf einer Anwendung erforderliche Benutzereingabe kann reduziert werden: Eine einzelne Benutzergeste kann ausreichen, um nicht nur einen Benutzer zu authentifizieren, sondern um ebenfalls eine vom Benutzer gewählte Anwendung aufzurufen.
-
Die Details einer oder mehrerer Ausführungsformen des Gegenstands dieser Spezifikation sind in den zugehörigen Zeichnungen und in der nachfolgenden Beschreibung dargelegt. Weitere Merkmale, Aspekte und Vorteile des Gegenstands werden anhand der Beschreibung, der Zeichnungen und der Patentansprüche offensichtlich.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Blockdiagramm, das einen beispielhaften Prozess zum Authentifizieren eines Benutzers und zum Aufruf einer vom Benutzer gewählten Anwendung, zutreffend auf eine einzelne absichtliche Benutzergeste, zeigt.
-
2 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Erfassen und dem Nichtbeachten unabsichtlicher Gesten veranschaulicht sowie die Authentifizierung eines Benutzers und das Aufrufen einer Anwendung, zutreffend auf eine einzelne absichtliche Geste.
-
3 ist ein Ablaufdiagramm, das ein beispielhaftes Verfahren zum Erfassen und dem Nichtbeachten von unabsichtlichen Gesten, basierend auf vordefinierten Kriterien, zeigt.
-
4 ist ein Blockdiagramm eines exemplarischen Gerätes.
-
In den verschiedenen Zeichnungen werden gleiche Bezugszeichen und Bezeichnungen für gleiche Elemente verwendet.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die in dieser Spezifikation beschriebenen Implementierungen stellen verschiedene technische Lösungen zur Verfügung, um Benutzerauthentifizierungs- und Anwendungsauswahlverknüpfungen in Übereinstimmung mit einer einzigen absichtlichen Benutzergeste zu kombinieren, indem (1) unbeabsichtigte Benutzergesten auf dem Touchscreen eines Geräts erkannt und ignoriert werden, ohne die Vorrichtung aus einem reduzierten Leistungsaufnahmemodus umzuschalten, z. B. von einem Schlafmodus in einen erhöhten Leistungsaufnahmemodus, wie z. B. in einen aktiven Modus und (2) dem sicheren Aufruf einer Anwendung auf der Vorrichtung beim Erfassen einer absichtlichen Benutzergeste, die mit einer vordefinierten Benutzergeste übereinstimmt.
-
Beispielsweise kann ein Smartphone eine Gestenerkennungskomponente, wie z. B. ein Softwaremodul, eine Hardwareeinheit oder eine Kombination von beidem, in einem aktiven Erkennungsmodus beibehalten, aber andere leistungsaufnehmenden Komponenten, wie z. B. den Touchscreen, den Prozessor und den Hauptspeicher im Schlaf- oder Standby-Modus belassen.
-
Wenn ein Benutzer mit zwei Fingern über den Touchscreen des Smartphones streicht, klassifiziert die Gestenerkennungskomponente – ohne die anderen, mehr Leistung aufnehmenden Komponenten aus dem Schlafmodus zu aktivieren – diese Zwei-Finger-Streichgeste als eine absichtliche Benutzergeste oder eine unabsichtliche Geste. Zum Beispiel versucht die Gestenerkennungskomponente zu bestimmen, ob der die Zwei-Finger-Streichgeste aufführende Benutzer versucht, das Smartphone zu entsperren und eine Kartenanwendung zu starten oder ob der Benutzer unabsichtlich mit seinen Fingern über den Touchscreen gestrichen hat, während er das Smartphone griff.
-
In einigen Fällen nimmt die Gestenerkennungskomponente diese Klassifizierung auf Grundlage eines Satzes von vordefinierten Kriterien, wie z. B. die Ausrichtung des Smartphones bei Vornahme der Streichgeste, die Bewegungsgeschwindigkeit oder Beschleunigung des Smartphones, bei der die Streichgeste erfolgte und die Gesamtanzahl der an der Herstellung der Streichgeste beteiligten Finger, vor.
-
Wurde das Smartphone beispielsweise bei Auftreten der Streichgeste auf den Kopf gestellt, dann ist es wahrscheinlicher, dass die Streichgeste zufällig war, basierend auf der Annahme, dass ein Benutzer eher eine absichtliche Geste vornehmen wird, wenn sich eine Vorrichtung in einer aufrechten Position befindet. Als ein anderes Beispiel, bewegt sich das Smartphone mit einer Geschwindigkeit von 12 km pro Stunde bei Auftreten der Streichgeste, dann ist es wahrscheinlicher, dass die Streichgeste zufällig war, basierend auf der Annahme, dass ein Benutzer eher in Ruhestellung einer Vorrichtung absichtliche Gesten vornimmt. Als ein drittes Beispiel, wenn die Streichgeste mit vier Fingern erfolgte, dann ist es wahrscheinlicher, dass die Streichgeste zufällig war, basierend auf der Annahme, dass ein Benutzer eher absichtliche Gesten mit zwei oder weniger Fingern unter Berücksichtigung der Größe des Touchscreens relativ zu der Größe der Finger des Benutzers vornimmt.
-
Basierend auf einem oder mehreren dieser vordefinierten Kriterien, wenn die Gestenerkennungskomponente die Doppelfinger-Streichgeste des Benutzers auf dem Touchscreen als zufällig klassifiziert, ignoriert die Gestenerkennungskomponente die Streichgeste ohne Aktivierung einiger der sich im Schlafmodus befindenden Smartphone-Komponenten, um die Leistungsaufnahme niedrig zu halten.
-
Klassifiziert die Gestenerkennungskomponente jedoch die Doppelfinger-Streichgeste des Benutzers als absichtlich, aktiviert die Gestenerkennungskomponente ggf. andere Smartphone-Komponenten.
-
Beispielsweise kann in einigen Fällen nach Erkennen einer absichtlichen Geste die Gestenerkennungskomponente eine gestenbasierte Authentifizierungskomponente aus dem Schlafmodus aktivieren, die weiter bestimmen kann, ob das Smartphone auf der Basis der Zwei-Finger-Streichbewegung entsperrt werden soll. Bei einer erfolgreichen Authentifizierung schaltet die Gestenerkennungskomponente in einigen Fällen als Nächstes eine Anwendungsaufrufkomponente aus dem Schlafmodus in den aktiven Modus um, die dann bestimmt, welche der verschiedenen, auf dem Smartphone befindlichen Anwendungen auf der Basis der Zwei-Finger-Streichgeste aufgerufen werden sollte.
-
In einigen Fällen entsperrt die gestenbasierte Authentifizierungskomponente das Smartphone, wenn die Zwei-Finger-Streichgeste mit einer Benutzergeste übereinstimmt, die zum Entsperren des Smartphones als ausreichend bestätigt wurde, z. B. das Entsperren des Smartphones nach dem Erkennen einer „L“-förmigen Geste mit 2 Fingern.
-
In einigen Fällen ruft die Anwendungsaufrufkomponente selektiv eine Anwendung von mehreren verschiedenen Anwendungen auf, wenn die Zwei-Finger-Streichgeste mit einer Anwendergeste übereinstimmt, die als Abkürzung zum Aufrufen der Anwendung bestätigt ist, wie z. B. nach dem Erfassen einer „L“-förmigen Geste mit zwei Fingern der Aufruf eine E-Mail-Anwendung im Gegensatz zu einer Kartenanwendung.
-
Auf diese Weise stehen eine erhöhte Benutzerfreundlichkeit und eine verringerte Leistungsaufnahme zur Verfügung: Ein Benutzer benötigt keine separaten Eingaben zur Authentifizierung und zum Aufruf der Anwendung, die Smartphone-Komponenten verbleiben im Schlafmodus und werden selektiv auf einer Bedarfsbasis aktiviert.
-
Diese technischen Lösungen können besonders vorteilhaft sein, wenn diese auf mobilen Vorrichtungen, z. B. Smartphones oder Tablet-Computern, implementiert werden, bei denen die Leistungsaufnahme ein schwerwiegenderes Problem ist und Benutzerauthentifizierungen häufiger versucht werden.
-
1 ist ein Blockdiagramm, das einen beispielhaften Prozess 100 zur Benutzerauthentifizierung und zum Aufruf der Anwendung als Reaktion auf eine einzelne absichtliche Benutzergeste zeigt.
-
Der Prozess beginnt bei 102, wobei sich eine Vorrichtung im Schlaf- oder Standby-Modus (110) befindet.
-
Die Vorrichtung ist im Schlafmodus gesperrt und erfordert eine erfolgreiche Benutzerauthentifizierung zum Entsperren. Beispielsweise kann ein Benutzer möglicherweise einen Passcode, eine Fingerabdruck-Identifizierung, Sprachüberprüfung oder Touchscreen-Geste bereitstellen, um auf die Vorrichtung zuzugreifen.
-
Bei einigen Implementierungen nimmt eine Vorrichtung oder eine Komponente innerhalb der Vorrichtung weniger Leistung auf, wenn diese sich im Schlafmodus befindet. Befindet sich beispielsweise eine Vorrichtung 102 in einem Ruhemodus, wurde ein Prozessor in der Vorrichtung 102 in einen Leerlaufmodus versetzt oder die Anzeige des Geräts oder der Touchscreen ist gedimmt oder ausgeschaltet.
-
Eine Gestenerkennungskomponente innerhalb der Vorrichtung 102 verbleibt in einem aktiven Modus, um eine Benutzergeste auf dem Touchscreen des Gerätes zu erfassen, während sich einige andere Komponenten der Vorrichtung 102 in einem Schlafmodus befinden. In einigen Implementierungen ist die Gestenerkennungskomponente als ein digitaler Signalprozessor (DSP) mit niedrigerer Leistungsaufnahme implementiert. In anderen Implementierungen ist die Gestenerkennungskomponente als ein beispielsweise im Hintergrund laufendes Touchscreen-Treiberprogramm implementiert, während der Touchscreen des Gerätes gedimmt ist.
-
Basierend auf einem Satz vordefinierter Kriterien klassifiziert die Gestenerkennungskomponente manchmal eine auf dem Touchscreen der Vorrichtung 102 erfasste Geste als eine unabsichtliche Geste 112.
-
Die Gestenerkennungskomponente schaltet die Vorrichtung nicht in einen aktiven Modus um, nachdem eine unabsichtliche Geste erkannt wurde. Bei einigen Implementierungen wird, wenn aktiviert, eine Vorrichtung oder eine Vorrichtungskomponente in eine erhöhte Leistungsaufnahme versetzt.
-
Techniken zur Klassifizierung einer Benutzergeste als absichtliche Benutzergeste oder als unabsichtliche Benutzergeste werden unter Bezugnahme auf 2 und 3 näher beschrieben.
-
Klassifiziert die Gestenerkennungskomponente eine Geste als eine absichtliche Geste 152, weckt die Gestenerkennungskomponente eine Authentifizierungskomponente des Geräts aus dem Schlafmodus.
-
Erkennt die Authentifizierungskomponente eine oder mehrere Merkmale, z. B. Form, Geschwindigkeit oder Ort, der absichtlichen Geste 152 und vergleicht diese auf Grundlage dieser Merkmale der Geste 152 mit einem Satz bestätigter Gesten, kann die Vorrichtung ermitteln, ob der Benutzer die Geste vornehmende Benutzer auf der Vorrichtung 102 authentifiziert werden kann.
-
Kann die Authentifizierungskomponente den Benutzer der Vorrichtung authentifizieren, entsperrt diese die Vorrichtung 102.
-
In einigen Implementierungen aktiviert die Authentifizierungskomponente, als Teil einer erfolgreichen Authentifizierung, ebenfalls eine Anwendung, die die Komponente aus dem Schlafmodus weckt.
-
Bei einigen anderen Implementierungen weckt die Authentifizierungskomponente im Rahmen einer erfolgreichen Authentifizierung optional eine oder mehrere zusätzliche Komponenten der Vorrichtung aus dem Schlafmodus und schaltet diese in den aktiven Modus um, z. B. eine Erhöhung der Helligkeit des Touchscreens und Wechsel des Prozessors aus einem Leerlaufmodus in einen Arbeitsmodus für eine schnellere Ausführung von Benutzeraufgaben.
-
Basierend auf einem oder mehreren erkannten Merkmalen, z. B. Form, Geschwindigkeit oder Ort, der absichtlichen Geste 152, startet die Anwendungsstartkomponente selektiv eine oder mehrere Anwendungen aus einem Satz verschiedener Anwendungen. Beispielsweise startet die Anwendungsaufrufkomponente, basierend auf der Form der absichtlichen Geste 152, eine E-Mail-Anwendung 182 anstelle einer Kartenanwendung.
-
Es muss beachtet werden, dass diese Aktionen, außer der absichtlichen Geste 152, keine zusätzliche Benutzereingabe erfordern. Diese Techniken können vorteilhaft sein, da eine einzelne absichtliche Geste ausreicht, um sowohl einen Benutzer der Vorrichtung zu authentifizieren als auch eine vom Benutzer vordefinierte Anwendung aufzurufen.
-
2 ist ein Ablaufdiagramm, das einen beispielhaften Prozess 200 zum Erfassen und Nichtbeachten von unabsichtlichen Gesten sowie die Authentifizierung eines Benutzers und das Aufrufen einer Anwendung als Reaktion auf und in Übereinstimmung mit einer einzelnen absichtlichen Geste veranschaulicht.
-
Zur Vereinfachung wird der Prozess 200 als durch eine Vorrichtung mit einem Touchscreen, einem oder mehreren Prozessoren und einem Speicher zum Speichern ausführbarer Befehle zur Ausführung durch den einen oder mehreren Prozessoren, ausgeführt, beschrieben. Beispielsweise kann die in 4 gezeigte und entsprechend dieser Spezifikation programmierte Vorrichtung 400 das Verfahren 200 ausführen.
-
Die Vorrichtung erkennt eine Benutzergeste auf dem Touchscreen, während sich das Computergerät im Schlafmodus befindet (Schritt 202). Das Computergerät kann z. B. ein Smartphone, ein Tablet-Computer oder ein Desktop- oder Notebook-Computer mit einem Touchscreen sein.
-
In einigen Implementierungen zeigt die Vorrichtung bei der Erfassung von Benutzergesten einen leeren Bildschirm auf dem Touchscreen, um z. B. den Energieverbrauch zu reduzieren. Die Aufrechterhaltung eines leeren Bildschirms kann besonders vorteilhaft sein, falls häufig unabsichtliche Gesten ermittelt werden.
-
In einigen anderen Implementierungen bietet die Vorrichtung im Schlafmodus, zur Erleichterung der Gestik auf dem Touchscreen, eine oder mehrere visuelle Hilfsmittel. Zum Beispiel kann die Vorrichtung, ohne den Touchscreen in einen vollständig beleuchteten Modus zu versetzen, zur Führung des Benutzers einen Gestenpfad anzeigen, um die begonnene Geste oder zusätzliche Gesten zu vervollständigen. Diese visuellen Rückmeldungen der Vorrichtung informieren einen Benutzer nicht nur, dass sich die Vorrichtung in einem Arbeitsmodus befindet, sondern ebenfalls welche Geste erkannt wurde.
-
Nach der Erkennung der Geste bestimmt das Computergerät als Nächstes, ob die Geste als eine unabsichtliche Geste oder als eine absichtliche Geste klassifiziert werden soll (Schritt 204). Das Computergerät kann diese Bestimmung durch Vergleichen der Geste mit einem Satz vordefinierter Kriterien vornehmen.
-
Klassifiziert die Vorrichtung die Geste als eine unabsichtliche Benutzergeste 205, ignoriert die Vorrichtung die Geste (Schritt 208) und verbleibt im Schlafmodus oder kehrt zu diesem zurück. Der Satz vordefinierter Kriterien kann beispielsweise ein oder mehrere Merkmale umfassen, die mit der Geste oder Vorrichtung verbunden sind.
-
In einigen Fällen behält die Vorrichtung in einem oder unter Beibehaltung eines Schlafmodus einen leeren Bildschirm auf dem Touchscreen, und eine oder mehrere Komponenten des Computergerätes, außer dem Touchscreen, verbleiben in einem reduzierten Leistungsaufnahmemodus, z. B. einem Leerlaufmodus.
-
Wird die Geste als eine absichtliche Benutzergeste (205) klassifiziert, setzt der Prozess 200 den Authentifizierungsschritt fort (Schritt 206).
-
Die Vorrichtung authentifiziert den Benutzer auf dem Computergerät, indem dieses die absichtliche Geste mit einer oder mehreren bestätigten Gesten vergleicht (Schritt 206).
-
In einigen Implementierungen wird die absichtliche Benutzergeste als ein alphanumerisches Zeichen, z. B. einen Buchstaben „B“ oder eine Ziffer „4“ identifiziert. In einigen Implementierungen vergleicht die Vorrichtung eine alphanumerische Geste mit vordefinierten alphanumerischen Werten unter Verwendung eines zuvor trainierten Handschrifterkennungsmoduls, das erkennt, ob eine die eine alphanumerische Geste verkörpernde Handschrift mit Handschriften eines authentifizierten Benutzers übereinstimmt.
-
In einigen Implementierungen identifiziert die absichtliche Benutzergeste eine vordefinierte Form, z. B. eine Dreieck- oder Kreisform. In einigen Implementierungen vergleicht die Vorrichtung Formgesten mit einem Satz vordefinierter Formgestenvorlagen, die ein authentifizierter Benutzer anpassen kann.
-
In einigen Implementierungen umfasst die Authentifizierung eines Benutzers einer Vorrichtung die Ermittlung, ob die Vorrichtung in Übereinstimmung mit einer oder mehreren, durch den Benutzer bereitgestellten Eingaben, z. B. einer Fingergeste, einem manuell eingegebenen Passcode oder eine Sprachidentifikation, entsperrt wird. Hat ein Benutzer beispielsweise den Buchstaben „B“ auf dem Touchscreen eines Smartphones gezeichnet und ist der Buchstabe „B“ eine der bestätigten sowie auf dem Smartphone gespeicherten Gesten, entsperrt das Smartphone den Benutzerzugriff. Andernfalls bleibt die Vorrichtung gesperrt und die Vorrichtung kann dem Benutzer alternative Authentifizierungsmittel anbieten.
-
Ist eine Authentifizierung erfolgreich, versetzt die Vorrichtung das Computergerät ohne zusätzliche Benutzereingaben in einen aktiven Modus (Schritt 212).
-
Bei einer erfolgreichen Authentifizierung wählt die Vorrichtung, ohne zusätzliche Benutzereingabe, ebenfalls eine Anwendung aus einer Vielzahl verschiedener Anwendungen, entsprechend der Geste, und führt die Anwendung auf der Vorrichtung aus (Schritt 214). Beispielsweise durchsucht das Smartphone, auf Grundlage der gleichen Buchstaben-„B“-Geste, eine Benutzergesten für benutzerdefinierte Anwendungen enthaltende Gesten-Anwendungs-Abbildungstabelle und bestimmt, ob die Buchstaben-„B“-Geste eine bestimmte Anwendung identifiziert, die die Vorrichtungen als Nächstes ausführt.
-
In einigen Implementierungen stellt die Vorrichtung nach dem Ausführen einer Anwendung automatisch die Eingabe für die Anwendung auf Grundlage der erkannten absichtlichen Benutzergeste zur Verfügung. Mit anderen Worten dient die erkannte einzelne absichtliche Benutzergeste nicht nur zu Authentifizierungs- und Anwendungsverknüpfungszwecken, sondern ebenfalls als Eingabe für eine im Schritt 214 aufgerufene Anwendung. In einigen Implementierungen umfasst das Verfahren 200 optional, falls die absichtliche Benutzergeste mit einer vordefinierten Form, z. B. eine Rechteck- oder Dreiecksform, übereinstimmt, das Auswählen der Anwendung aus einer Vielzahl verschiedener Anwendungen in Übereinstimmung mit der vordefinierten Form. Auf Grundlage einer dreieckigen Geste durchsucht das Smartphone eine Gesten-Anwendungstabelle, die Benutzergesten auf bestimmte Anwendungen abbildet, und ermittelt, ob die Dreieckform-Geste eine Kartenanwendung auf dem Smartphone identifiziert und ruft die Kartenanwendung auf, ohne dass der Benutzer zusätzliche Eingaben zur Verfügung stellt.
-
In einigen Implementierungen stellt die Vorrichtung bei Fehlschlagen einer gestenbasierten Authentifizierung eine alternative Authentifizierungseinrichtung bereit (Schritt 210). Stellt das Computergerät beispielsweise fest, dass eine absichtliche Benutzergeste zum Authentifizieren eines Benutzers nicht ausreicht, fordert das Computergerät den Benutzer zur manuellen Eingabe eines Passwortes oder eines Fingerabdrucks auf und versucht, den Benutzer basierend auf diesen Eingaben zu authentifizieren (Schritt 216).
-
In einigen Fällen, in denen eine gestenbasierte Authentifizierung fehlschlägt, verwendet die Vorrichtung die in der einzelnen absichtlichen Geste identifizierten Informationen für eine weitere Authentifizierung, wodurch die Gesamtmenge an für weitere Authentifizierungen erforderlichen Benutzereingaben reduziert wird.
-
Erhält zum Beispiel ein Smartphone von einem Benutzer eine Ziffer-„4“-Geste, ermittelt aber, dass die Ziffer-„4“-Geste (z. B. alleine) zum Authentifizieren des Benutzers nicht ausreicht, stellt das Smartphone eine passwortbasierte Authentifizierung, die einen zweistelligen Passcode benötigt, bereit und verwendet die Ziffer „4“ als erste Ziffer des zweistelligen Passcodes. Diese Techniken sind vorteilhaft, da Benutzereingaben ebenfalls im Falle einer erfolglosen gestenbasierten Authentifizierung reduziert werden.
-
In einigen Implementierungen ermöglichen die Vorrichtungen das Gestikulieren auf einem alternativen Authentifizierungsmittel.
-
Beispielsweise nimmt die Vorrichtung nach dem Aufruf einer passwortbasierten alternativen Authentifizierung weiterhin die Benutzergeste an und stellt der passwortbasierten Authentifizierung entsprechende Eingaben (z. B. Symbole oder Ziffern) zur Verfügung. Um das obige Beispiel fortzusetzen, erkennt das Smartphone nach der Bereitstellung der Ziffer „4“ als erste Ziffer des vierstelligen Passcodes eine Geste mit einer „6“-Form und stellt dementsprechend die Ziffer „6“ als zweite Ziffer des zweistelligen Passcodes zur Verfügung. Das Smartphone kann die passwortbasierte Authentifizierung fortsetzen, indem es versucht, den Benutzer basierend auf dem zweistelligen Passcode „46“ zu authentifizieren.
-
In einigen Implementierungen verwendet die Vorrichtung die Informationsaufnahme in einer Geste in einem alternativen Authentifizierungsmittel.
-
Als ein weiteres Beispiel verwendet das Computergerät nach dem Aufrufen einer fingerabdruckbasierten alternativen Authentifizierung eine in der erkannten absichtlichen Benutzergeste enthaltene Fingerabdruckcharakteristik und stellt die Fingerabdruckcharakteristik der fingerabdruckbasierten alternativen Authentifizierung bereit. Enthält beispielsweise eine Geste ein Muster (z. B. Bogen, Schleife und Kringel) des Zeigefingers eines Benutzers, kann das Computergerät die Charakteristik als Teil der Eingabe für die Fingerabdruck-Authentifizierung erfassen und bereitstellen.
-
Ein authentifizierter Benutzer kann Gesten zur Benutzerauthentifizierung und zum Aufruf der Anwendung anpassen. Zum Beispiel kann ein Benutzer eine „B“-förmige Geste definieren, die ausreicht, um ein Smartphone zu entsperren und eine E-Mail-App auf dem Smartphone aufzurufen. Auf diese Weise kann ein authentifizierter Benutzer bestätigte, auf einer mobilen Vorrichtung gespeicherte Gesten oder Symbole modifizieren, was wiederum die nachfolgenden gestenbasierten Authentifizierungs- und Anwendungsaufrufprozesse modifiziert.
-
3 ist ein Ablaufdiagramm, das einen beispielhaften Prozess 300 zum Erfassen beabsichtigter oder dem Nichtbeachten unabsichtlicher Geste, basierend auf vordefinierten Kriterien, veranschaulicht.
-
Zur Vereinfachung wird der Prozess 300 als durch ein Computergerät mit einem Touchscreen, einem oder mehreren Prozessoren und einem Speicher zum Speichern ausführbarer Befehle zur Ausführung durch einen oder mehrere Prozessoren, ausgeführt, beschrieben. Beispielsweise kann die in 4 gezeigte und entsprechend dieser Spezifikation programmierte Vorrichtung 400 das Verfahren 300 ausführen.
-
In einigen Fällen kann eine Vorrichtung zur Ermittlung, ob eine erkannte Benutzergeste eine unabsichtliche Geste oder eine absichtliche Geste ist, ein mit einer Benutzergeste verbundenes erstes Merkmal (Schritt 302) und optional ein mit einer Vorrichtung verbundenes zweites Merkmal (Schritt 304) identifizieren.
-
In einigen Fällen analysiert die Vorrichtung 300 eine oder mehrere der folgenden, mit einer Benutzergeste verbundenen Merkmale: Anzahl der in der Geste enthaltenen Berührungen, Art der Geste (z. B. Streichen, Freigeben und Freigeben), Ort auf dem Touchscreen, an dem die Geste erfolgt, Beschleunigungsgröße der Geste, Größe (z. B. in Bezug auf die Anzahl der Pixel) der Geste, die auf den Touchscreen durch die Geste ausgeübte Druckhöhe, wobei Abstand und Breite der Geste berücksichtigt werden, Dauer der Geste, Anzahl der in der Geste enthaltenen gleichzeitigen Fingerabdrücke, und wenn die Geste aus mehreren Streichbewegungen besteht, Nähe von zwei (z. B. aufeinanderfolgenden) Streichbewegungen.
-
In einigen Fällen analysiert die Vorrichtung optional eine oder mehrere der folgenden, mit dem Computergerät verbundenen Merkmale bei Erkennen einer Benutzergeste: Ausrichtung des Computergerätes, Neigungswinkel des Computergerätes (z. B. vertikal oder horizontal), Bewegungsgeschwindigkeit des Computergerätes und Beschleunigung des Computergerätes.
-
Basierend auf einer oder mehreren dieser gesten- und gerätebezogenen Merkmale bestimmt die Vorrichtung dann, ob die Benutzergeste eine absichtliche Geste ist (Schritt 306). Beispielsweise bestimmt das Computergerät die Wahrscheinlichkeit (L) einer Geste, die eine absichtliche Geste ist, durch Zuordnen einer Gewichtung (Wi, z. B. von 0 bis 1) zu jeder der analysierten Charakteristiken (Ci, z. B. mit von 0 bis 1 reichenden Werten) und Berechnung einer gewichteten Gesamtmenge L. Bei einigen Implementierungen gilt L = Gesamt über i von (Wi × Ci), wobei i = 1 die Gesamtanzahl der analysierten Merkmale entspricht. In einigen Fällen klassifiziert die Vorrichtung eine Geste mit einer gewichteten Gesamtmenge L gleich oder größer als ein vordefinierter Wert als eine absichtliche Geste und jede andere Geste als eine unabsichtliche Geste.
-
Nach dem Klassifizieren einer erkannten Geste als eine absichtliche Geste versucht die Vorrichtung, den Benutzer zu authentifizieren, der die Geste basierend auf einem oder mehreren mit der Geste verbundenen Merkmale ausführte.
-
In einigen Implementierungen umfasst ein Benutzerauthentifizierungsprozess das Berechnen der Wahrscheinlichkeit (P(u(g)), dass ein die Geste ausführender Benutzer ein autorisierter Benutzer ist, der durch eine auf dem Computergerät gespeicherte bestätigte Geste wie folgt identifiziert wird:
-
Hier entspricht S einem Satz von Symbolen (z. B. „4“, „A“, „a“, „x“ und
); G entspricht dem Satz bestätigter Gesten (bereitgestellt durch einen oder mehrere authentifizierte Benutzer), die den Satz von Symbolen identifizieren, und P(s|g) wird unter Verwendung eines benutzerunabhängigen Gestenerkennungsmoduls, z. B. eines Handschrifterkennungsmoduls, berechnet.
-
In einigen Implementierungen wird die Wahrscheinlichkeit (P(u(g)) wie folgt berechnet:
-
Hier ist
die Wahrscheinlichkeit, dass zwei, ein dasselbe Symbol identifizierende (z. B. „4“, „A“, „a“, „x“ und „⊲“) Gesten von ein und demselben Benutzer bereitgestellt werden.
-
4 ist ein Blockdiagramm eines exemplarischen Computergerätes 400. Die in dieser Spezifikation beschriebenen Benutzerauthentifizierungs- und Anwendungsaufruftechnologien können auf dem Computergerät 400 implementiert werden.
-
Die Vorrichtung 400 umfasst typischerweise eine oder mehrere Verarbeitungseinheiten CPUs 402 (ebenfalls als Prozessoren bezeichnet), eine oder mehrere Netzwerkschnittstellen 404, Speicher 406 und einen oder mehrere Kommunikationsbusse 408 zur Verbindung dieser Komponenten. Die Kommunikationsbusse 408 können Schaltkreise (mitunter Chipsätze genannt) umfassen, die die Kommunikation zwischen Systemkomponenten untereinander verbinden und steuern. Der Speicher 406 umfasst einen Hochgeschwindigkeitsspeicher mit wahlfreiem Zugriff, wie z. B. DRAM, SRAM, DDR-RAM oder andere Halbleiterspeichergeräte mit wahlfreiem Zugriff, und kann einen Permanentspeicher, wie z. B. eine oder mehrere magnetische Plattenspeichergeräte, optische Plattenspeichergeräte, Flash-Speichergeräte oder andere nichtflüchtige Festspeichergeräte umfassen. Der Speicher 406 schließt gegebenenfalls eine oder mehrere Speichervorrichtungen ein, die von der bzw. den CPUs 402 entfernt angeordnet sind. Speicher 406 oder alternativ der/die permanente(n) Speichergerät(e) innerhalb des Speichers 406 umfassen ein nichtflüchtiges computerlesbares Speichermedium. In einigen Implementierungen speichert der Speicher 406 oder alternativ das von einem Computer lesbare Speichermedium des nichtflüchtigen Speichers die folgenden Programme, Module und Datenstrukturen oder eine Teilmenge von diesen:
- • Ein Betriebssystem 410, das Verfahren zur Abwicklung verschiedener grundlegender Systemdienstleistungen und zur Ausführung Hardware-bedingter Aufgaben umfasst;
- • ein Netzwerkkommunikationsmodul (oder Befehle) 412 zum Verbinden der Vorrichtung 400 mit anderen Vorrichtungen (z. B. einem oder mehreren Servercomputern) über die eine oder mehreren Netzwerkschnittstellen 404 (drahtgebunden oder drahtlos);
- • ein Gestenerfassungsmodul 416 zum Erfassen von Benutzergesten auf dem Touchscreen 405 und Klassifizieren einer erfassten Benutzergeste als entweder eine unabsichtliche Geste oder eine absichtliche Geste;
- • ein Authentifizierungsmodul 418 zum Authentifizieren eines Benutzers auf der Vorrichtung 400 (z. B. Entsperren der Vorrichtung) in Übereinstimmung mit einer erfassten absichtlichen Benutzergeste;
- • ein Anwendungsaufrufmodul 418 zum Auswählen einer Anwendung aus einer Vielzahl von verschiedenen Anwendungen in Übereinstimmung mit einer erfassten absichtlichen Benutzergeste und zum Ausführen der Anwendung auf der Vorrichtung; und
- • Auf der Vorrichtung gespeicherte Daten 420 umfassen:
– Eine oder mehrere bestätigte Gesten 422, wie z. B. eine Zwei-Finger-Geste mit einer Buchstaben-„B“-Form oder eine Einzelfinger-Geste mit einer „4“-Form; und
– einen Satz verschiedener Anwendungen 426, wie beispielsweise eine E-Mail-Anwendung 428-1 und eine Chat-Anwendung 428-2.
-
In einigen Implementierungen belässt das Gestenerfassungsmodul 414 den Touchscreen 405 zum Erfassen von Benutzergesten in einem aktiven Modus, wenn sich andere Komponenten der Vorrichtung 400 (z. B. das Authentifizierungsmodul 416 und das Anwendungsstartmodul 418) in einem Schlaf- oder Standby-Modus befinden. In einigen Implementierungen hält das Gestenerfassungsmodul 414 bei einer nicht erfolgreichen Authentifizierung den Touchscreen 405 in einem Leerbildschirmmodus, um z. B. weniger Leistung aufzunehmen.
-
In einigen Implementierungen kann jedes der vorgenannten Elemente auf einem oder mehreren der zuvor erwähnten Speichergeräte gespeichert sein und diese entsprechen einer Gruppe von Befehlen zum Ausführen einer oben beschriebenen Funktionen. Die oben genannten Module oder Programme (d. h. Gruppen von Befehlen) müssen nicht als separate Softwareprogramme, Prozeduren oder Module implementiert werden, weshalb verschiedene Teilmengen dieser Module in verschiedenen Implementierungen kombiniert oder anderweitig neu angeordnet werden können. In einigen Implementierungen speichert der Speicher 306 eine Teilmenge der vorstehend identifizierten Module und Datenstrukturen. Des Weiteren kann der Speicher 306 zusätzliche Module und Datenstrukturen speichern, die nicht vorstehend beschrieben sind.
-
Ausführungsformen des Gegenstandes und die in dieser Spezifikation beschriebenen funktionalen Tätigkeiten können in digitalen elektronischen Schaltungen oder in einer konkret darin verkörperten Computersoftware oder Firmware bzw. in die Computerhardware implementiert werden, einschließlich der in dieser Spezifikation offenbarten Strukturen und ihrer strukturellen Entsprechungen oder in Kombinationen von einer oder mehrerer von diesen. Die in dieser Beschreibung beschriebenen Ausführungsformen des Gegenstandes können als ein oder mehrere Computerprogramme implementiert werden, d. h., als ein oder mehrere Module mit Computerprogrammanweisungen, die auf einem materiellen, nicht transitorischen Programmträger kodiert sind, um dann von einer Datenverarbeitungsvorrichtung ausgeführt zu werden bzw. deren Betrieb zu steuern. Alternativ oder ergänzend dazu können die Programmbefehle auf einem künstlich erzeugten, sich ausbreitenden Signal, wie beispielsweise einem maschinenerzeugten elektrischen, optischen oder elektromagnetischen Signal codiert werden, das erzeugt wird, um Informationen zur Übertragung an eine geeignete Empfängervorrichtung zu codieren, die dann von einer Datenverarbeitungsvorrichtung ausgeführt werden. Bei dem Computer-Speichermedium kann es sich um ein maschinenlesbares Speichergerät, ein maschinenlesbares Speichersubstrat, einen frei adressierbaren oder seriellen Zugriffsspeicher oder eine Kombination aus einem oder mehreren derselben handeln.
-
Der Begriff „Datenverarbeitungsvorrichtung“ umfasst alle Arten von Vorrichtungen, Geräten und Maschinen zum Verarbeiten von Daten, einschließlich beispielsweise eines programmierbaren Prozessors, eines Rechners oder mehrerer Prozessoren oder Rechner. Die Vorrichtung kann eine vorhabensgebundene Logikschaltung wie z. B. ein FPGA (Field Programmable Gate Array) oder ein ASIC (Application Specific Integrated Circuit) umfassen. Die Vorrichtung kann neben der Hardware auch einen Programmcode umfassen, der eine Durchführungsumgebung für das betreffende Computerprogramm schafft, z. B. einen Programmcode, der Prozessor-Firmware, einen Protokollstapel, ein Datenbankverwaltungssystem, ein Betriebssystem oder eine Kombination einer oder mehrerer der genannten bildet.
-
Ein Computerprogramm (auch bezeichnet als Programm, Software, Softwareanwendung, Script oder Programmcode) kann in einer beliebigen Form von Programmiersprache geschrieben sein, einschließlich kompilierter oder interpretierter Sprachen, deklarativer oder verfahrensorientierter Sprachen, und das Programm kann in jeder beliebigen Form eingesetzt sein, darunter als unabhängiges Programm oder als ein Modul, eine Komponente, eine Subroutine oder eine andere Einheit, die zur Benutzung in einer Rechenumgebung geeignet ist. Ein Computerprogramm kann, muss jedoch nicht einer Datei in einem Dateisystem entsprechen. Ein Programm kann in einem Teil einer Datei gespeichert sein, die andere Programme oder Daten enthält, wie z. B. eine oder mehrere Scripts, die in Markup-Sprache in einem Dokument, in einer einzelnen Datei speziell für das betreffende Programm oder in mehreren koordinierten Dateien, z. B. Dateien gespeichert sind, die ein oder mehrere Module, Unterprogramme oder Teile von Programmcode speichern. Ein Computerprogramm kann auf einem Computer oder auf mehreren Computern bereitgestellt und ausgeführt werden, die sich an einem Standort oder auf mehreren Standorten verteilt befinden und über ein Kommunikationsnetzwerk miteinander verbunden sind.
-
Die in dieser Spezifikation beschriebenen Prozesse und Logikabläufe können von einem oder mehreren programmierbaren Prozessoren ausgeführt werden, die ein oder mehrere Computerprogramme ausführen, um Funktionen durch das Verarbeiten von Eingabedaten und das Erzeugen von Ausgaben auszuführen. Die Prozesse und Logikabläufe können auch durch eine und die Vorrichtung kann ebenfalls implementiert werden in einer vorhabensgebundenen Logikschaltung, wie z. B. einen FPGA (Universalschaltkreis) oder eine ASIC (anwendungsspezifische integrierte Schaltung) ausgeführt, und das Gerät in Form derselben implementiert werden.
-
Computer, die zur Ausführung eines Datenverarbeitungsprogramms geeignet sind, können beispielsweise allgemeine oder spezielle Mikroprozessoren oder beides oder jede andere Art von Zentraleinheit beinhalten. Ganz allgemein nimmt eine zentrale Recheneinheit Befehle und Daten von einem Nur-Lese-Speicher oder einem Schreib-Lesespeicher mit wahlfreiem Zugriff oder von beiden entgegen. Die wesentlichen Elemente eines Computers sind eine zentrale Recheneinheit zum Durchführen bzw. Ausführen von Befehlen und ein oder mehrere Speichergeräte zum Speichern von Befehlen und Daten. In der Regel beinhaltet ein Computer auch ein oder mehrere Massenspeichergeräte zum Speichern von Daten, wie z. B. magnetische, magneto-optische oder optische Festplatten, bzw. wird operativ gekoppelt, um Daten von diesen zu empfangen oder an dieselben zu übertragen. Ein Computer muss jedoch nicht über solche Geräte verfügen. Des Weiteren kann ein Computer in einem anderen Gerät, unter anderem z. B. in einem Mobiltelefon, einem Personal Digital Assistant (PDA), einem mobilen Audio- oder Videoplayer, einer Spielkonsole, einem globalen Positionsbestimmungssystem (GPS) oder einem tragbaren Speichergerät, z. B. in einem USB-Stick, integriert sein.
-
Computerlesbare Medien, die zum Speichern von Computerprogrammanweisungen und Daten geeignet sind, umfassen alle Formen von nicht flüchtigem Speicher, Medien und Speichervorrichtungen, einschließlich beispielsweise Halbleiterspeichervorrichtungen, wie z. B. EPROM, EEPROM und Flash-Speichervorrichtungen, Magnetplatten, wie z. B. eingebaute Festplattenlaufwerke oder Wechselplatten, magneto-optische Platten sowie CD-ROMs und DVD-ROMs. Der Prozessor und der Speicher können durch eine vorhabensgebundene Logikschaltung ergänzt oder in dieselbe integriert werden.
-
Um die Interaktion mit einem Benutzer zu ermöglichen, können in dieser Spezifikation beschriebene Ausführungsformen des Gegenstandes auf einem Computer mit einem Anzeigegerät, wie z. B. einem CRT-(Kathodenstrahlröhren) oder LCD-(Flüssigkristallanzeigen) Monitor, mit welchem dem Benutzer Informationen angezeigt werden, sowie einer Tastatur und einem Zeigegerät, z. B. einer Maus oder einer Steuerkugel (Trackball), mit denen der Benutzer Eingaben an den Computer vornehmen kann, implementiert werden. Darüber hinaus können andere Geräte verwendet werden, um die Interaktion mit einem Benutzer zu ermöglichen; zum Beispiel kann es sich bei der Rückmeldung an den Benutzer um jegliche Art von sensorischer Rückmeldung, wie z. B. visuelle, akustische oder taktile Rückmeldungen, handeln; auch die Eingaben des Benutzers können in beliebiger Form, d. h. auch akustisch, sprachlich oder taktil, empfangen werden. Darüber hinaus kann ein Computer über das Senden von Dokumenten an und das Empfangen von Dokumenten von einem Gerät, das vom Benutzer verwendet wird, mit einem Benutzer interagieren, beispielsweise über das Senden von Webseiten an einen Web-Browser auf dem Client-Gerät des Benutzers in Reaktion auf vom Webbrowser empfangene Anfragen.
-
Ausführungsformen des in dieser Spezifikation betrachteten Gegenstands können in ein System einer Recheneinheit implementiert werden, das eine Backend-Komponente (z. B. einen Datenserver), oder eine Middleware-Komponente (z. B. einen Anwendungsserver), oder eine Frontend-Komponente (z. B. eine Client-Recheneinheit mit grafischer Benutzerschnittstelle oder Web-Browser) umfasst, worüber der Benutzer mit einer Implementierung des in dieser Spezifikation betrachteten Gegenstands interagieren kann, oder eine beliebige Kombination aus solchen Backend-, Middleware- oder Frontend-Komponenten. Die Komponenten des Systems können durch eine beliebige Form oder ein beliebiges Medium digitaler Datenkommunikation, wie z. B. ein Kommunikationsnetzwerk, miteinander verbunden sein. So beinhalten beispielsweise Kommunikationsnetzwerke ein lokales Netzwerk („LAN“), ein Fernnetz („WAN“), z. B. das Internet.
-
Das Computersystem kann Clients und Server umfassen. Ein Client und ein Server befinden sich im Allgemeinen entfernt voneinander und interagieren typischerweise über ein Kommunikationsnetzwerk. Die Beziehung zwischen Client und Server entsteht aufgrund von Computerprogrammen, die auf den jeweiligen Computern ausgeführt werden und eine Client-Server-Beziehung zueinander aufweisen.
-
Zwar enthält diese Spezifikation viele spezifische Implementierungsdetails, jedoch sollten diese nicht als Beschränkungen des Wirkungsbereichs oder Anspruchs ausgelegt werden, sondern vielmehr als Beschreibungen spezifischer Merkmale bestimmter Ausführungsformen bestimmter Erfindungen. Bestimmte Merkmale, die in dieser Spezifikation im Kontext der unterschiedlichen Ausführungsformen beschrieben werden, können auch in Kombination in einer einzelnen Ausführungsform implementiert werden. Andererseits können verschiedene Merkmale, die im Kontext einer einzelnen Ausführungsform beschrieben werden, in mehreren Ausführungsformen oder in jeder geeigneten Unterkombination implementiert werden. Außerdem können, auch wenn die Merkmale vorstehend ggf. als in bestimmten Kombinationen wirkend beschrieben und zunächst auch als solche beansprucht werden, in einigen Fällen ein oder mehrere Merkmale einer beanspruchten Kombination aus der Kombination herausgenommen und die beanspruchte Kombination auf eine Teilkombination oder eine Variante einer Teilkombination gerichtet werden.
-
Gleichermaßen soll dies, obwohl die Operationen in den Zeichnungen in einer bestimmten Reihenfolge dargestellt sind, nicht so verstanden werden, dass die besagten Operationen in der dargestellten Reihenfolge oder in fortlaufender Reihenfolge durchgeführt werden müssen bzw. alle veranschaulichten Operationen ausgeführt werden müssen, um die erwünschten Ergebnisse zu erzielen. Unter bestimmten Umständen können Multitasking und Parallelverarbeitung von Vorteil sein. Darüber hinaus sollte die Trennung verschiedener Systemkomponenten in den vorstehend beschriebenen Ausführungsformen nicht als in allen Ausführungsformen erforderlich aufgefasst werden, und es versteht sich, dass die beschriebenen Programmkomponenten und Systeme im Allgemeinen zusammen in ein einziges Softwareprodukt integriert oder in mehrere Softwareprodukte aufgeteilt werden können.
-
Es wurden bestimmte Ausführungsformen des Gegenstands beschrieben. Weitere Ausführungsformen liegen innerhalb des Wirkungsbereichs der folgenden Ansprüche. Die in den Ansprüchen ausgeführten Vorgänge können beispielsweise in einer anderen Reihenfolge ausgeführt werden und dennoch wünschenswerte Ergebnisse erzielen. Die in den beigefügten Figuren dargestellten Verfahren erfordern beispielsweise nicht notwendigerweise die gezeigte Reihenfolge oder sequenzielle Reihenfolge, um erwünschte Ergebnisse zu erzielen. Bei bestimmten Implementierungen können Multitasking und eine Parallelverarbeitung vorteilhaft sein.