-
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
-
Diese Patentanmeldung beansprucht die Priorität der am 11. April 2018 eingereichten provisorischen
US-Patentanmeldung Nr. 62/656,312 mit dem Titel „Secure Visual Transactions for Mobile Devices“, deren Offenbarungsgehalt hiermit durch Rückbezug in vollem Umfang aufgenommen wird.
-
TECHNISCHES GEBIET DER SPEZIFIKATION
-
Die vorliegende Offenbarung betrifft im Allgemeinen das Gebiet „Visual Computing“ und insbesondere, wenn auch nicht ausschließlich, sichere visuelle Transaktionen für mobile Vorrichtungen.
-
HINTERGRUND
-
Der Markt für mobiles Bezahlen wächst kontinuierlich. Sicherheitsbedenken und ein allgemeiner Mangel an Vertrauen hemmen jedoch die Akzeptanzrate für mobile Bezahlsysteme. Beispielsweise stützen sich bestehende mobile Bezahlsysteme auf das Übertragen sensibler personenbezogener und Finanzinformationen von einer mobilen Vorrichtung eines Benutzers zu einer nahegelegenen Zahlungsverarbeitungsvorrichtung, wie beispielsweise einem Vertriebsstellen(POS)-Terminal (POS, Point-of-Sale). Derartige Systeme stützen sich bei sensiblen Übertragungen zu POS-Terminals häufig auf eine Nahfeldkommunikations(NFC)-Technologie (NFC, Near Field Communication), die deutliche Sicherheitsbedenken mit sich bringt, da sowohl die NFC-Technologie als auch die POS-Terminals selbst nicht sicher und anfällig für Hackerangriffe sind.
-
Figurenliste
-
Die vorliegende Offenbarung wird am besten aus der folgenden ausführlichen Beschreibung in Verbindung mit den beigefügten Figuren verständlich. Es wird betont, dass gemäß der Standardpraxis in der Branche verschiedene Merkmale nicht notwendigerweise maßstabsgetreu gezeichnet sind und lediglich zu Anschauungszwecken verwendet werden. Ist ein Maßstab explizit oder implizit gezeigt, stellt er nur ein veranschaulichendes Beispiel dar. In anderen Ausführungsformen können die Abmessungen der verschiedenen Merkmale der Klarheit der Besprechung halber beliebig vergrößert oder verkleinert sein.
- 1 veranschaulicht eine beispielhafte Datenverarbeitungsumgebung zum Verarbeiten sicherer visueller Transaktionen für mobile Vorrichtungen.
- 2 veranschaulicht eine beispielhafte Ausführungsform eines sicheren visuellen Transaktionssystems für mobile Vorrichtungen.
- 3, 4, 5 und 6 veranschaulichen einen beispielhaften Anwendungsfall im Einzelhandel, bei dem sichere visuelle Transaktionen genutzt werden.
- 7 veranschaulicht ein Flussdiagramm für eine beispielhafte Ausführungsform einer sicheren visuellen Transaktionsverarbeitung.
- 8, 9, 10 und 11 veranschaulichen Beispiele von Internet-der-Dinge(IdD)-Netzwerken (Engl.: IoT, Internet of Things) und Architekturen, die gemäß bestimmten Ausführungsformen verwendet werden können.
- 12 und 13 veranschaulichen beispielhafte Computerarchitekturen, die gemäß bestimmten Ausführungsformen verwendet werden können.
-
AUSFÜHRUNGSFORMEN DER OFFENBARUNG
-
Die folgende Offenbarung stellt viele verschiedene Ausführungsformen oder Beispiele zum Implementieren verschiedener Merkmale der vorliegenden Offenbarung bereit. Konkrete Beispiele von Komponenten und Anordnungen sind unten beschrieben, um die vorliegende Offenbarung zu vereinfachen. Diese sind selbstverständlich lediglich Beispiele und sollen nicht in einem einschränkenden Sinne ausgelegt werden. Ferner können in der vorliegenden Offenbarung Bezugszeichen und/oder Buchstaben in den verschiedenen Beispielen wiederholt sein. Diese Wiederholung dient der Einfachheit und Klarheit und schreibt als solche keine Beziehung zwischen den verschiedenen erörterten Ausführungsformen und/oder Konfigurationen vor. Unterschiedliche Ausführungsformen können unterschiedliche Vorteile aufweisen, und kein bestimmter Vorteil ist in einer beliebigen Ausführungsform notwendigerweise gefordert.
-
Sichere visuelle Transaktionen
-
Der Markt für mobiles Bezahlen wächst weiterhin in schnellem Tempo. Zum Beispiel besitzen über 87 % der Bevölkerung in den USA ein Mobiltelefon und die Mehrheit dieser Telefone sind Smartphones. Ferner tätigen viele Mobiltelefonnutzer Käufe mithilfe ihrer mobilen Vorrichtungen. Beispielsweise gab 2012 fast ein Drittel der Mobiltelefonnutzer an, mobile Vorrichtungen zum Durchführen eines Kaufs zu nutzen.
-
Da immer mehr Händler kartenlose Bezahlsysteme implementieren, werden digitale Geldbörsen von Smartphones zur Eintrittskarte zu einem optimierten Kauferlebnis. Viele neue Smartphones, Tablets und tragbare Vorrichtungen verfügen nun über integrierte kontaktlose Bezahlsysteme, die in der Regel die Nahfeldkommunikations(NFC)-Technologie nutzen, um gespeicherte Kredit- und Debitkarteninformationen zu übertragen, wenn sie in die Nähe eines Zahlungsterminals eines Einzelhändlers gebracht werden, wodurch Transaktionen abgeschlossen werden können, ohne eine physische Geldbörse durchsuchen zu müssen. Insbesondere wurden drei der größten NFC-fähigen Smartphone-Bezahlsysteme von Apple, Google und Samsung geschaffen. Diese erfordern jedoch jeweils eine eigene digitale Geldbörse für ihre jeweiligen Bezahldienste, und sind somit aufgrund ihrer Ausschließlichkeit nicht skalierbar. Ferner bringt das Stützen auf NFC-Technologie deutliche Sicherheitsbedenken mit sich, da die NFC-Technologie, wie sie derzeit bereitgestellt ist, nicht sicher und anfällig für Hackerangriffe ist.
-
Beispielsweise stützen sich bestehende mobile Bezahlsysteme (z. B. Apple Pay, Google/Android Pay, Samsung Pay, Alipay, LINE pay) auf das Übertragen sensibler personenbezogener und Finanzinformationen von einer mobilen Vorrichtung eines Benutzers zu einer nahegelegenen Zahlungsverarbeitungsvorrichtung, wie beispielsweise einem Vertriebsstellen(POS)-Terminal in einer Einzelhandelsumgebung. Viele kürzliche Angriffe in der Einzelhandelsbranche betreffen jedoch POS-Terminals, die gehackt wurden oder deren Sicherheit gefährdet wurde. Ferner werden immer mehr der POS-Terminals selbst mobil und stützen sich somit häufig auf mobile Bezahldienste, die ebenfalls für Angriffe anfällig sein können. Derartige Sicherheitsbedenken und ein allgemeiner Mangel an Vertrauen hemmen die Akzeptanz für mobiles Bezahlen.
-
Zum Beispiel zeigen Studien hinsichtlich des Mangels an Vertrauen in mobile Bezahldienste, dass 56 % der Verbraucher in den USA denken, dass mobile Bezahlvorgänge die Wahrscheinlichkeit von Betrug und Diebstahl erhöhen. Insbesondere erfordern derzeitige mobile Bezahldienste eine Übertragung sensibler personenbezogener Informationen eines Käufers. Ferner hängt die Sicherheit derzeitiger mobiler Bezahldienste davon ab, dass die POS-Terminals vertrauenswürdig sind, was nicht garantiert werden kann. Zum Beispiel weisen derzeitige Lösungen Lücken auf, da sich viele oder alle davon auf NFC- oder andere, davon abgeleitete Technologien stützen, die echte Sicherheitsrisiken darstellen, insbesondere über POS-Terminals, die nicht sicher oder nicht vertrauenswürdig sind. Zum Beispiel sind viele POS-Terminals mit Zahlungsfreigabeservern verbunden, die klassische analoge Telefonienetzwerke (Engl.: POTS, Plain Old Telephone Service) und/oder ungesicherte Backhaulleitungen nutzen, was die POS-Terminals anfällig für Schadsoftwareangriffe machen kann. Ferner sind POS-Terminals auch anfällig für einen Kreditkartenabgriff durch unehrliche Kassenkräfte, und NFC-Abgriffe werden nun, da kontaktlose Bezahllösungen immer gängiger werden, zu einer neuen Form von Abgriffsangriff.
-
Dementsprechend beschreibt die vorliegende Offenbarung verschiedene Ausführungsformen, die mobilen Vorrichtungen ermöglichen, sichere visuelle Transaktionen durchzuführen. Insbesondere stellt die vorliegende Offenbarung eine Ende-zu-Ende(E2E)-Lösung (E2E, End-to-End) für sichere mobile Transaktionen (z. B. sichere kartenlose mobile Bezahlvorgänge) durch Nutzen sicher angezeigter unveränderlicher universeller Codierung (z. B. Strichcodes, Quick-Response(QR)-Codes) bereit.
-
Zum Beispiel nutzen die beschriebenen Ausführungsformen eine vertrauenswürdige Ausführungsumgebungs(TEE)-Technologie (TEE, Trusted Execution Environment) (z. B. „Software Guard Extensions“ (SGX) von Intel, „Management Engine“ (ME) von Intel und/oder sichere virtuelle Maschinen (VMs)) und geschützte Audio-/Videopfad(PAVP)-Technologie (PAPV, Protected Audio/Video Path), um mit einer mobilen oder visuellen Transaktion verbundene sensible Informationen zu schützen. Bei Anwendungsfällen im Einzelhandel nutzen die beschriebenen Ausführungsformen zum Beispiel eine vertrauenswürdige Ausführungsumgebungs(TEE)-Technologie in einer persönlichen Vorrichtung eines Käufers, um sensible Käuferinformationen (z. B. Einkaufswagen und visuelle Zahlungsinformationen) zu schützen, die durch eine vertrauenswürdige Anzeigevorrichtung erhoben werden, die sich physisch in einem Einzelhandelsgeschäft befindet. Die vertrauenswürdige Anzeigevorrichtung „überträgt visuell“ sensible Käuferinformationen (z. B. visuelle Zahlungsinformationen) zu der persönlichen Vorrichtung des Käufers unter Verwendung universeller Codierung, und stellt ferner sicher, dass sämtliche sensiblen Informationen durch eine TEE geschützt sind. Auf diese Weise sind sensible Käuferinformationen geschützt, während sie sich in der vertrauenswürdigen Anzeige und/oder anderen Servern im Geschäft befinden, und sind auch geschützt, wenn sie angezeigt oder zu der mobilen Vorrichtung des Käufers „visuell übertragen“ werden.
-
Dementsprechend stellen die beschriebenen Ausführungsformen zahlreiche Vorteile bereit. Erstens erhalten die beschriebenen Ausführungsformen das Vertrauen von Verbrauchern aufrecht, da sich Verbraucher nicht auf Vorgehensweisen verlassen müssen, die anders als herkömmliche Bezahlverfahren sind. Zum Beispiel wird durch Erfassen einer Momentaufnahme eines vorab unveränderlich gemachten Bilds (z. B. universelle Codierung wie beispielsweise Strichcodes oder QR-Codes) auf einer vertrauenswürdigen Anzeige unter Verwendung der mobilen Vorrichtung des Verbrauchers der Verbraucher zu einer spezifischen URL geleitet, um die Transaktion über die mobile Vorrichtung abzuschließen. Darüber hinaus fällt die Berechtigung für eine Transaktion zurück zu dem herkömmlichen Berechtigten, wie beispielsweise einer Bank für Finanztransaktionen, der Verbraucher im Allgemeinen vertrauen. Ferner verbessert die Verwendung von visueller Codierung und sicheren Ausführungsumgebungen (z. B. unter Verwendung einer TEE- und/oder PAVP-Technologie) die Sicherheit mobiler Transaktionen und schützt vor üblichen Angriffen. Während zum Beispiel bestehende mobile Bezahldienste erfordern, dass personenbezogene Informationen eines Käufers zu externen POS-Terminals übertragen werden, stellen die beschriebenen Ausführungsformen sicher, dass sensible personenbezogene Informationen niemals die persönliche Vorrichtung des Käufers verlassen. Darüber hinaus stellt die Verwendung sicherer Ausführungsumgebungen ferner einen Schutz vor bestimmten Arten von Angriffen, wie beispielsweise ein Auslesen des Bildpufferspeichers (Engl.: „Framebuffer Scraping“), sicher.
-
Beispielhafte Ausführungsformen, die verwendet werden können, um die Merkmale und die Funktionalität der vorliegenden Offenbarung zu implementieren, sind nun unter speziellerer Bezugnahme auf die beiliegenden FIGUREN beschrieben.
-
1 veranschaulicht eine beispielhafte Datenverarbeitungsumgebung 100 zum Verarbeiten sicherer visueller Transaktionen für mobile Vorrichtungen. In der dargestellten Ausführungsform beinhaltet die Datenverarbeitungsumgebung 100 ein visuelles Transaktionssystem 110, mobile Vorrichtungen 120, Cloud-Datenverarbeitungsressourcen 130 und Kommunikationsnetzwerke 140, die jeweils weiter unten erörtert sind.
-
Das visuelle Transaktionssystem 110 ermöglicht den mobilen Vorrichtungen 120 das Durchführen sicherer visueller Transaktionen (z. B. mobile Bezahltransaktionen). In der dargestellten Ausführungsform beinhaltet das visuelle Transaktionssystem 110 mehrere Bildsensoren 112 (z. B. Kameras), eine oder mehrere Anzeigevorrichtungen 114 (z. B. gemeinschaftliche Anzeigen am Standort oder im Geschäft) und eine oder mehrere Verarbeitungsvorrichtungen oder Server 116 (z. B. Prozessoren oder Server am Standort oder im Geschäft). Ferner verwenden die Komponenten des visuellen Transaktionssystems 110 ein lokales Netzwerk (LAN, Local Area Network) 140a zum Kommunizieren untereinander und/oder mit anderen Komponenten der Datenverarbeitungsumgebung 100 (z. B. über ein Weitverkehrsnetzwerk (WAN, Wide Area Network) 140b).
-
In einigen Ausführungsformen kann das visuelle Transaktionssystem 110 an einem Standort eines Ladenbetriebs, wie beispielsweise einem Einzelhandelsgeschäft bereitgestellt sein. Darüber hinaus können das Einzelhandelsgeschäft betretende Kunden oder Käufer ihre mobilen Vorrichtungen 120 in Verbindung mit dem visuellen Transaktionssystem 110 verwenden, um sichere visuelle Transaktionen, wie beispielsweise sichere mobile Bezahlvorgänge, durchzuführen. In einigen Ausführungsformen können visuelle Transaktionen zum Beispiel unter Verwendung visueller Codierung, wie beispielsweise Quick-Response(QR)-Codes oder anderer Arten von Strichcodes oder universeller Codes, implementiert sein. Zum Beispiel können QR-Codes verwendet werden, um sensible Informationen zwischen dem visuellen Transaktionssystem 110 und einer mobilen Vorrichtung 120 zu kommunizieren. In einigen Ausführungsformen können sensible Informationen zum Beispiel optional verschlüsselt und dann in einen QR-Code codiert werden, der QR-Code kann angezeigt werden und der angezeigte QR-Code kann dann unter Verwendung einer Kamera erfasst und anschließend decodiert werden, um die sensiblen Informationen zu erhalten. Zum Beispiel kann das visuelle Transaktionssystem 110 in einigen Fällen einen QR-Code erzeugen und diesen auf einer physischen Anzeige 114 anzeigen, und eine mobile Vorrichtung 120 kann anschließend den angezeigten QR-Code erfassen und decodieren (z. B. unter Verwendung einer Kamera an der mobilen Vorrichtung). Alternativ kann eine mobile Vorrichtung 120 einen QR-Code erzeugen und auf ihrem eigenen Bildschirm anzeigen, und das visuelle Transaktionssystem 110 kann anschließend den angezeigten QR-Code erfassen und decodieren (z. B. unter Verwendung von Bildsensoren 112 und/oder Verarbeitungsvorrichtungen 116).
-
Auf diese Weise können QR-Codes oder andere Arten von visuellen Codes genutzt werden, um sichere visuelle Transaktionen für Käufer in einer Einzelhandelsumgebung durchzuführen. In einigen Ausführungsformen kann eine mobile Vorrichtung 120 eines Käufers zum Beispiel zuerst ein für visuelle Transaktionen verwendetes Paar aus öffentlichem und privatem Schlüssel erzeugen, und die mobile Vorrichtung 120 kann dann den öffentlichen Schlüssel an ein visuelles Transaktionssystem 110 in einem Einzelhandelsgeschäft „visuell übertragen“ (z. B. unter Verwendung eines QR-Codes). Zum Beispiel kann die mobile Vorrichtung 120 des Käufers einen QR-Code erzeugen und anzeigen, der den öffentlichen Schlüssel des Käufers enthält, und der QR-Code kann dann durch die Bildsensoren oder Kameras 112 des visuellen Transaktionssystems 110 erfasst oder gescannt werden.
-
Das visuelle Transaktionssystem 110 kann dann den öffentlichen Schlüssel des Käufers für nachfolgende visuelle Transaktionen verwenden, wie beispielsweise personalisierte Werbeanzeigen und/oder Kassenschnittstellen. In einigen Ausführungsformen kann das visuelle Transaktionssystem 110 zum Beispiel die Bildsensoren 112 verwenden, um verschiedene Informationen in Zusammenhang mit dem Käufer nachzuverfolgen, wie beispielsweise eine Käuferidentität, eine Demografie, einen Bewegungsverlauf oder eine Position in dem Einzelhandelsgeschäft, eine Einkaufshistorie, aktuelle in dem physischen Einkaufswagen des Käufers befindliche Artikel und so weiter. Auf diese Weise kann das visuelle Transaktionssystem 110 basierend auf dem Käuferkontext personalisierte Werbeanzeigen und/oder Käufer-Kassenschnittstellen auf einer gemeinschaftlichen Anzeige 114 in dem Einzelhandelsgeschäft anzeigen.
-
Zum Beispiel können eine gezielt ausgerichtete Werbeanzeige und ein Preis für den Käufer basierend auf der Käuferidentität, Demografie und/oder Einkaufshistorie erzeugt werden. Alternativ kann eine Kassenschnittstelle für den Käufer basierend auf in dem physischen Einkaufswagen des Käufers befindlichen Artikeln (die unter Verwendung der Bildsensoren 112 detektiert und nachverfolgt werden können) erzeugt werden. Das visuelle Transaktionssystem 110 kann dann einen sicheren QR-Code erzeugen, der verwendet werden kann, um das/die entsprechende(n) Produkt(e) oder Dienstleistung(en) zu kaufen. Zum Beispiel können Informationen in Zusammenhang mit der Transaktion (z. B. Käuferidentität, Produktinformationen, Verkäufer- oder Zahlungsempfängerinformationen und so weiter) zuerst unter Verwendung des öffentlichen Schlüssels des Käufers und/oder eines separaten symmetrischen Schlüssels verschlüsselt werden. Die verschlüsselten Transaktionsinformationen können dann direkt in einen QR-Code codiert werden, oder alternativ können die Transaktionsinformationen auf einem Server 116 im Geschäft gespeichert werden und eine URL zu dem Server im Geschäft kann in den QR-Code codiert werden.
-
Auf diese Weise können die personalisierte Werbeanzeige oder Kassenschnittstelle zusammen mit dem zugehörigen QR-Code dann sicher auf der gemeinschaftlichen Anzeige 114 angezeigt werden, was dem Käufer ermöglicht, das beworbene Produkt oder die beworbene Dienstleistung nahtlos unter Verwendung seiner mobilen Vorrichtung 120 zu kaufen. Zum Beispiel kann die Kamera der mobilen Vorrichtung 120 des Käufers eine Momentaufnahme des QR-Codes erfassen, und die mobile Vorrichtung 120 kann dann die in dem QR-Code codierten Transaktionsinformationen decodieren und verarbeiten, die die an der Transaktion beteiligten Produkte, Verkäufer und Zahlungsempfänger identifizieren können. Der Rest der Kauftransaktion kann dann auf der mobilen Vorrichtung 120 des Käufers unter Verwendung herkömmlicher Online-Kaufverfahren abgeschlossen werden (z. B. Bezahlen des Verkäufers oder Zahlungsempfängers unter Verwendung einer Online-Debit-/Kreditkartenverarbeitung). In einigen Fällen kann die mobile Vorrichtung 120 des Käufers zum Beispiel eine Zahlung an einen Internethandels- oder Bankgeschäftsdienst übermitteln (z. B. mit entferntem Standort über ein Netzwerk 140b und/oder in der Cloud 130) .
-
Die Sicherheit von unter Verwendung von QR-Codes (oder anderer Arten von visueller Codierung) implementierter mobiler Transaktionen hängt jedoch von der Fähigkeit ab, die QR-Codes vor einem mutwilligen Verändern oder Modifizieren zu schützen. Dementsprechend können QR-Codes in einigen Ausführungsformen auf eine sichere Weise, die sie unveränderlich macht, erzeugt und angezeigt werden, sodass sichergestellt ist, dass die in den QR-Codes codierten Transaktionsinformationen (z. B. Produkt-/Verkäufer-/Zahlungsempfängerinformationen) ihre Integrität beibehalten und unmanipuliert bleiben. Auf diese Weise können mobile Transaktionen, die QR-Codes nutzen, vor bestimmten Arten von Angriffen geschützt werden, wie beispielsweise Schadsoftwareangriffen, die versuchen, QR-Codes zu verändern, um mobile Vorrichtungen zu veranlassen, betrügerische Transaktionen durchzuführen. Wie weiter in der vorliegenden Offenbarung (z. B. in Zusammenhang mit 5) beschrieben, können zum Beispiel bestimmte Ausführungsformen eine vertrauenswürdige Ausführungsumgebungs(TEE)-Technologie und/oder geschützte E/A-Technologie nutzen, um QR-Codes vor böswilligem Manipulieren zu schützen, sowohl während die QR-Codes erzeugt werden als auch, wenn sie anschließend angezeigt werden.
-
Die mobilen Vorrichtungen 120 können jede Art von mobilen oder tragbaren Vorrichtungen umfassen, die in der Lage sind, in der Datenverarbeitungsumgebung 100 zu interagieren, wie beispielsweise unter anderem Mobiltelefone, Tablets und am Körper tragbare Vorrichtungen (z. B. intelligente Uhren, intelligente Brillen).
-
Cloud-Datenverarbeitungsressourcen 130 können beliebige Ressourcen oder Dienstleistungen umfassen, die entfernt über ein Netzwerk gehostet werden, was auch als in der „Cloud“ bezeichnet sein kann. In einigen Ausführungsformen können die Cloud-Ressourcen 130 zum Beispiel entfernt auf Servern in einem Rechenzentrum gehostet sein (z. B. Anwendungsserver, Datenbankserver). Im Allgemeinen können die Cloud-Ressourcen 130 beliebige Ressourcen, Dienstleistungen und/oder Funktionalität umfassen, die durch oder für Komponenten der Datenverarbeitungsumgebung 100 genutzt werden können, wie beispielsweise das visuelle Transaktionssystem 110 und/oder die mobilen Vorrichtungen 120.
-
Die Kommunikationsnetzwerke 140a,b können verwendet werden, um eine Kommunikation zwischen Komponenten der Datenverarbeitungsumgebung 100 zu erleichtern. In der dargestellten Ausführungsform sind Komponenten des visuellen Transaktionssystems 110 zum Beispiel mit einem lokalen Netzwerk (LAN) 140a verbunden, um eine Kommunikation miteinander und/oder mit anderen entfernten Netzwerken oder Ressourcen zu erleichtern, wie beispielsweise einem Weitverkehrsnetzwerk (WAN) 140b und/oder den Cloud-Ressourcen 130. In verschiedenen Ausführungsformen kann die Datenverarbeitungsumgebung 100 unter Verwendung einer beliebigen Anzahl oder Art von Kommunikationsnetzwerk(en) 140 implementiert sein, einschließlich lokale Netzwerke, Weitverkehrsnetzwerke, öffentliche Netzwerke, das Internet, zellulare Netzwerke, Wi-Fi-Netzwerke, Nahbereichsnetzwerke (z. B. Bluetooth oder ZigBee) und/oder beliebige andere drahtgebundene oder drahtlose Kommunikationsnetzwerke oder Medien.
-
Jede, alle oder einige der Datenverarbeitungsvorrichtungen der Datenverarbeitungsumgebung 100 können ausgestaltet sein, ein beliebiges Betriebssystem, einschließlich Linux oder andere UNIX-basierte Betriebssysteme, Microsoft Windows, Windows Server, MacOS, Apple iOS, Google Android oder ein beliebiges individuell angepasstes und/oder proprietäres Betriebssystem, zusammen mit virtuellen Maschinen auszuführen, die ausgestaltet sind, eine Ausführung eines bestimmten Betriebssystems zu virtualisieren.
-
Zwar ist 1 als mehrere Elemente enthaltend oder mit mehreren Elementen in Zusammenhang stehend beschrieben, jedoch werden möglicherweise nicht alle Elemente, die in der Datenverarbeitungsumgebung 100 der 1 dargestellt sind, in jeder alternativen Implementierung der vorliegenden Offenbarung genutzt. Zudem befindet/befinden sich möglicherweise eines oder mehrere der in Verbindung mit den Beispielen der 1 beschriebenen Elementen extern zu der Datenverarbeitungsumgebung 100, während in anderen Fällen bestimmte Elemente möglicherweise in eines oder mehrere der anderen beschriebenen Elemente sowie in andere Elemente, die in der dargestellten Implementierung nicht beschrieben sind, integriert sind oder als ein Teil davon ausgebildet sind. Ferner können bestimmte in 1 dargestellte Elemente mit anderen Komponenten kombiniert sein sowie für alternative oder zusätzliche Zwecke zusätzlich zu den hierin beschriebenen Zwecken verwendet werden.
-
Zusätzliche Ausführungsformen in Zusammenhang mit der Implementierung der Datenverarbeitungsumgebung 100 sind ferner in Verbindung mit den restlichen FIGUREN beschrieben. Dementsprechend versteht es sich, dass die Datenverarbeitungsumgebung 100 der 1 mit beliebigen Aspekten der in der vorliegenden Offenbarung beschriebenen Ausführungsformen implementiert sein kann.
-
2 veranschaulicht eine beispielhafte Ausführungsform eines sicheren visuellen Transaktionssystems 200 für mobile Vorrichtungen. In einigen Ausführungsformen können die Komponenten des sicheren visuellen Transaktionssystems 200 zum Beispiel zum Implementieren der in der vorliegenden Offenbarung beschriebenen visuellen Transaktion und Verarbeitungsfunktionalität verwendet werden.
-
Die dargestellte Ausführungsform beinhaltet ein visuelles Transaktionssystem 210 und eine mobile Vorrichtung 220. Das visuelle Transaktionssystem 210 beinhaltet einen oder mehrere Prozessoren 211, ein oder mehrere Arbeitsspeicherelemente 212, eine oder mehrere Anzeigevorrichtungen 213, einen oder mehrere Sensoren 214 (z. B. Kameras und/oder Bildsensoren), eine oder mehrere Kommunikationsschnittstellen 215 und eine visuelle Transaktionslogik 216. In verschiedenen Ausführungsformen können die zugrundeliegenden Komponenten und Funktionalität des visuellen Transaktionssystems 210 in eine beliebige Anzahl von Vorrichtungen oder Komponenten integriert sein und/oder über diese verteilt sein. Darüber hinaus beinhaltet die mobile Vorrichtung 220 einen oder mehrere Prozessoren 221, ein oder mehrere Arbeitsspeicherelemente 222, eine Anzeige 223, einen oder mehrere Sensoren 224 (z. B. eine Kamera), eine oder mehrere Kommunikationsschnittstellen 225 und die visuelle Transaktionslogik 226.
-
Ferner können die jeweiligen Komponenten des visuellen Transaktionssystems 210 und der mobilen Vorrichtung 220 verwendet werden, um die sichere visuelle Transaktion und Verarbeitungsfunktionalität zu implementieren, die in der vorliegenden Offenbarung beschrieben sind.
-
3 - 6 veranschaulichen einen beispielhaften Anwendungsfall im Einzelhandel, bei dem sichere visuelle Transaktionen genutzt werden. Zwar nutzt das dargestellte Beispiel Quick-Response(QR)-Codes zum Implementieren der sicheren visuellen Transaktionen, andere Ausführungsformen können jedoch eine beliebige Art von Strichcode oder visueller Codierung verwenden, wie beispielsweise lineare Strichcodes, Matrixstrichcodes (z. B. Digimarc) und so weiter.
-
Der dargestellte Anwendungsfall beinhaltet die folgenden Stufen: (1) Registrierung und Erkennung der Käuferidentität unter Verwendung einer gemeinschaftlichen Anzeige; (2) sichere Erzeugung und Anzeige von Werbeanzeigen und unveränderlichen QR-Codes auf der gemeinschaftlichen Anzeige basierend auf einem Käuferkontext; (3) Extrahieren von Kaufinformationen durch Scannen angezeigter QR-Codes unter Verwendung einer mobilen Vorrichtung eines Käufers; und (4) Transaktionsverarbeitung auf der mobilen Vorrichtung des Käufers zum Abschließen eines Kaufs (z. B. unter Verwendung einer Online-Debit-/Kreditkartenverarbeitung) .
-
3 veranschaulicht einen Steuerfluss 300 für die Registrierung und Erkennung der Käuferidentität unter Verwendung einer gemeinschaftlichen Anzeige. In dem dargestellten Beispiel beginnt der Steuerfluss mit der Registrierung der Käuferidentität. Zum Beispiel kann ein Käufer zuerst ein Rivest-Shamir-Adleman(RSA)-Schlüsselpaar erzeugen, das während des Kaufvorgangs verwendet wird, wobei der öffentliche Schlüssel zum Identifizieren des Käufers und Verschlüsseln von Einkaufswageninhalten zu der mobilen Vorrichtung des Käufers verwendet wird. Der öffentliche Schlüssel kann dem Händler durch Erzeugen eines zugehörigen QR-Codes bekanntgegeben werden, der auf dem Bildschirm der mobilen Vorrichtung des Käufers (Block 302) angezeigt wird, der dann durch ein Kamerasystem (Block 304) im Geschäft erfasst wird.
-
Die Momentaufnahme des QR-Codes, der den öffentlichen Schlüssel des Käufers enthält, wird dann durch ein Sensorhub (Block 306) in Zusammenhang mit dem Kamerasystem erhalten und weiter an einen Käuferidentitätsmanager (Block 308) bereitgestellt. Die Käuferidentität und der Kaufkontext (z. B. Einkaufswageninformationen) können dann durch Extrahieren des öffentlichen Schlüssels aus dem QR-Code und Konvertieren davon in eine Schlüsselkennung, wie beispielsweise einen Schlüsselfingerabdruck, der unter Verwendung eines kryptographischen Hash-Algorithmus an dem öffentlichen Schlüssel erzeugt wird, identifiziert werden (z. B. KeyID = SHA256(public_key)).
-
Wenn der Käufer dann zur Kasse gehen möchte, werden die Einkaufswageninhalte unter Verwendung des öffentlichen Schlüssels des Käufers verschlüsselt, entweder allein oder in Kombination mit anderen Verschlüsselungsschlüsseln oder Verfahren. In verschiedenen Ausführungsformen kann der Einkaufswagen zum Beispiel direkt unter Verwendung des öffentlichen Schlüssels des Käufers verschlüsselt werden, oder der Einkaufswagen kann unter Verwendung eines separaten symmetrischen Schlüssels verschlüsselt werden und der symmetrische Schlüssel kann dann unter Verwendung des öffentlichen Schlüssels des Käufers verschlüsselt werden.
-
Die Schlüsselkennung wird dann zusammen mit entweder den tatsächlichen verschlüsselten Einkaufswageninhalten oder ansonsten einer URL zu einem Server im Geschäft, der die verschlüsselten Einkaufswageninhalte enthält, in einen oder mehrere QR-Codes (Block 310) konvertiert, die sicher auf einer gemeinschaftlichen Anzeigevorrichtung (Block 314) in dem Einzelhandelsgeschäft angezeigt werden, wie weiter in Zusammenhang mit den 4 und 5 beschrieben. In verschiedenen Ausführungsformen können die verschlüsselten Einkaufswageninhalte zum Beispiel direkt in einen QR-Code codiert werden, oder die verschlüsselten Einkaufswageninhalte können an einen Server (Block 312) im Geschäft übertragen werden und eine URL zu dem Server im Geschäft kann in den QR-Code codiert werden. Ferner können die Informationen in verschiedenen Ausführungsformen unter Verwendung mehrere QR-Codes codiert werden oder alternativ in einen einzelnen Code für eine einfachere Codierung kombiniert werden.
-
Der Käufer liest dann den/die QR-Code(s) von der gemeinschaftlichen Anzeige unter Verwendung der Kamera an der mobilen Vorrichtung des Käufers (Block 316) aus. Wenn der/die QR-Code(s) eine URL zu einem Server im Geschäft, der die verschlüsselten Einkaufswageninhalte enthält, codiert bzw. codieren, verwendet die mobile Vorrichtung des Käufers die URL zum Herunterladen der verschlüsselten Einkaufswageninhalte. Ansonsten werden die verschlüsselten Einkaufswageninhalte direkt aus dem/den QR-Code(s) decodiert.
-
Der verschlüsselte Einkaufswagen wird dann durch die mobile Vorrichtung des Käufers entschlüsselt. Zum Beispiel kann der verschlüsselte Einkaufswagen in verschiedenen Ausführungsformen direkt unter Verwendung des öffentlichen Schlüssels des Käufers entschlüsselt werden, oder er kann unter Verwendung eines symmetrischen Schlüssels entschlüsselt werden, der zuerst unter Verwendung des öffentlichen Schlüssels des Käufers entpackt oder entschlüsselt werden muss. Sobald er entschlüsselt ist, ist der Einkaufswagen für einen endgültigen Kassenvorgang oder eine Zahlung unter Verwendung einer der in der mobilen Vorrichtung des Käufers programmierten Zahlungsoptionen verfügbar (z. B. Samsung Pay, Google Pay, Apple Pay, AliPay, Kredit- oder Debitkarten und so weiter).
-
Dieses Verfahren schützt für den Datenschutz sensible Käuferinformationen, da es die Luftstrecke zwischen der TEE der gemeinschaftlichen Anzeigevorrichtung und/oder des Servers im Geschäft und der mobilen Vorrichtung des Käufers überbrückt. Ferner kann der Käufer ein anderes Paar aus öffentlichem und privatem Schlüssel für jeden Besuch in einem Einzelhandelsgeschäft erzeugen, um Korrelationsangriffe basierend auf Käuferverhalten zu vermeiden (z. B. durch einen einzelnen Händler oder mehrere konspirierende Händler). Ferner kann die TEE in einigen Ausführungsformen auch verifizieren, dass der in dem QR-Code gefundene öffentliche Schlüssel einem in der TEE gespeicherten privaten Schlüssel entspricht. Wenn sie nicht übereinstimmen, könnte es potentiell ein Schlüsselpaar eines Angreifers sein (z. B. durch bösartige Schadsoftware oder Adware installiert), mit dem der Benutzer nicht interagieren möchte.
-
4 veranschaulicht einen Steuerfluss 400 für sichere Erzeugung und Anzeige von Werbeanzeigen und unveränderlicher QR-Codes auf einer gemeinschaftlichen Anzeige. In einigen Ausführungsformen können zum Beispiel personalisierte Werbeanzeigen und sichere QR-Codes erzeugt und auf einer gemeinschaftlichen Anzeige in einer Einzelhandelsumgebung basierend auf einem Käuferkontext angezeigt werden (z. B. Käuferidentität, Demografie, Einkaufshistorie, Bewegungsverlauf oder Position im Geschäft), wie weiter unten beschrieben.
-
In dem dargestellten Beispiel beginnt der Steuerfluss durch Erheben von Daten in Zusammenhang mit einem Käufer unter Verwendung verschiedener Sensoren und/oder drahtloser Technologien (Block 402), einschließlich Kameras, „Light Detection and Ranging“ (LIDAR), „Radio-Frequency Identification“ (RFID), Bluetooth, Wi-Fi und so weiter. Die gesamten Sensordaten können dann zusammengeführt oder verarbeitet werden (Block 404), um den Käufer nachzuverfolgen (Block 406). Zum Beispiel können die Käuferidentität (Block 408), die Demografie (Block 410) und/oder der Bewegungsverlauf oder die Position in der Einzelhandelsumgebung (Block 412) basierend auf den zusammengeführten Sensordaten bestimmt werden. Gleichermaßen können Artikel im physischen Einkaufswagen des Käufers basierend auf den zusammengeführten Sensordaten nachverfolgt werden. Darüber hinaus kann die Käuferidentität verwendet werden, um ein Kaufprotokoll (Block 414) zu führen, das die Einkaufshistorie des Käufers (Block 416) enthält.
-
Ferner können in einigen Ausführungsformen die Position oder der Bewegungsverlauf des Käufers (Block 412) in Verbindung mit den bekannten Standorten jeglicher gemeinschaftlicher Anzeigen oder Beschilderungen (Block 418) in der Einzelhandelsumgebung verwendet werden, um zu bestimmen, wenn sich der Käufer in der Nähe einer gemeinschaftlichen Anzeige (Block 420) befindet. Auf diese Weise können, wenn sich der Käufer in der Nähe einer gemeinschaftlichen Anzeige befindet, personalisierte Werbeanzeigen oder Kassenschnittstellen auf der gemeinschaftlichen Anzeige basierend auf dem Käuferkontext angezeigt werden.
-
Zum Beispiel können eine gezielt ausgerichtete Werbeanzeige und ein zugehöriger Preis für den Käufer (Block 422) basierend auf der Käuferidentität, Demografie und/oder Einkaufshistorie erzeugt werden. Alternativ kann eine Kassenschnittstelle für den Käufer basierend auf nachverfolgten Artikeln im physischen Einkaufswagen des Käufers (z. B. wie unter Verwendung der zusammengeführten Sensordaten 404 bestimmt) erzeugt werden. Ferner kann ein sicherer QR-Code, der verwendet werden kann, um das/die bestimmte(n) Produkt(e) oder Dienstleistung(en) zu kaufen, ebenfalls erzeugt werden (Block 424), wie weiter in der vorliegenden Offenbarung beschrieben. Zum Beispiel kann der sichere QR-Code Informationen in Zusammenhang mit einem beworbenen Produkt und seinem Verkäufer codieren.
-
Die personalisierte Werbeanzeige und der zugehörige QR-Code können dann sicher auf der gemeinschaftlichen Anzeige (Block 426) angezeigt werden, was dem Käufer ermöglicht, das beworbene Produkt oder die beworbene Dienstleistung nahtlos unter Verwendung seiner mobilen Vorrichtung zu kaufen. Zum Beispiel kann die Kamera der mobilen Vorrichtung des Käufers eine Momentaufnahme des QR-Codes erfassen, und die mobile Vorrichtung kann dann die in dem QR-Code codierten Transaktionsinformationen in der in der vorliegenden Offenbarung beschriebenen Weise verarbeiten.
-
5 veranschaulicht einen Steuerfluss 500 für eine sichere Erzeugung und Anzeige von QR-Codes. Insbesondere hängt die Sicherheit von unter Verwendung von QR-Codes (oder anderer Arten von visueller Codierung) implementierter mobiler Transaktionen von der Fähigkeit ab, die QR-Codes vor einem mutwilligen Verändern oder Modifizieren zu schützen. Dementsprechend stellt das dargestellte Beispiel einen Ansatz für ein Erzeugen und Anzeigen von QR-Codes auf eine sichere Weise, die sie unveränderlich macht, dar, sodass sichergestellt ist, dass die in den QR-Codes codierten Transaktionsinformationen (z. B. Produkt-/Verkäufer-/Zahlungsempfängerinformationen) ihre Integrität beibehalten und unmanipuliert bleiben. Auf diese Weise können mobile Transaktionen, die QR-Codes nutzen, vor bestimmten Arten von Angriffen geschützt werden, wie beispielsweise Schadsoftwareangriffen, die versuchen, die QR-Codes zu verändern, um mobile Vorrichtungen zu veranlassen, betrügerische Transaktionen durchzuführen.
-
Das dargestellte Beispiel nutzt eine vertrauenswürdige Ausführungsumgebungs(TEE)-Technologie (z. B. „Software Guard Extensions“ (SGX) von Intel, „Management Engine“ (ME) von Intel und/oder sichere virtuelle Maschinen (VMs)) und eine geschützte Audio-/Videopfad(PAVP)-Technologie, um QR-Codes vor böswilligem Manipulieren zu schützen. Auf diese Weise verhindert der resultierende Schutz, dass QR-Codes sowohl während der Erzeugungsphase als auch während der Anzeigephase manipuliert werden.
-
In dem dargestellten Beispiel beginnt der Steuerfluss durch Bereitstellen von Käuferkontextinformationen 502 zu einer sicheren Enklave oder einer vertrauenswürdigen Ausführungsumgebung (TEE) 504. Die Käuferkontextinformationen können eine Vielzahl von Informationen in Zusammenhang mit einem Käufer beinhalten, die zum Erzeugen eines QR-Codes für eine personalisierte Einzelhandelstransaktion verwendet werden, wie beispielsweise die Käuferidentität und der öffentliche Schlüssel, eine Einkaufshistorie, ein Standort oder Bewegungsverlauf des Käufers, gezielt auf den Käufer ausgerichtete Werbeanzeigen und Preisangebote und so weiter.
-
Darüber hinaus kann die sichere Enklave oder TEE 504 eine geschützte, isolierte und/oder verschlüsselte Ausführungsumgebung in einem Prozessor bereitstellen, die die Integrität von Code und Daten, die in der geschützten Umgebung ausgeführt werden, schützt. In einigen Ausführungsformen kann die sichere Enklave oder TEE zum Beispiel unter Verwendung von verschiedenen durch Intel Prozessoren und/oder andere Arten von Prozessoren bereitgestellten Technologien implementiert sein, wie „Management Engine“ (ME) von Intel, „Dynamic Application Loader“ (DAL), „Software Guard Extensions“ (SGX) und/oder Virtualisierungs(VTX)-Container, sichere virtuelle Maschinen (VMs), ARM TrustZone-Technologie und so weiter. Auf diese Weise kann ein QR-Code unter Verwendung der Käuferkontextinformationen von innerhalb der sicheren Enklave oder TEE 504 erzeugt werden, wodurch die Integrität des resultierenden QR-Codes sichergestellt wird.
-
Die TEE kann ferner einen sicheren Pfad für eine Übertragung des resultierenden QR-Codes zu einer Anzeige-Engine 510 bereitstellen, der letztendlich verwendet wird, um den QR-Code auf einer physischen Anzeige 512 anzuzeigen. Zum Beispiel kann die resultierende Bitmap für den in der TEE erzeugten QR-Code erst unter Verwendung eines gemeinsamen Geheimnisses oder Schlüssels 506 verschlüsselt werden, das bzw. der zwischen der TEE und der Anzeige-Engine hergestellt wird, und die verschlüsselte Bitmap 508 kann dann von der TEE zu der Anzeige-Engine übertragen werden.
-
In einigen Ausführungsformen kann der sichere Pfad zwischen der TEE und der Anzeige-Engine zum Beispiel unter Verwendung der geschützten Audio-/Videopfad-Technologie (PAVP, Protected Audio Video Path) von Intel bereitgestellt sein. Zum Beispiel kann die PAVP-Technologie von Intel verwendet werden, um ein gemeinsames Geheimnis oder einen Schlüssel zwischen der Intel ME und der Intel GFX-Engine (z. B. integrierte Grafik) herzustellen, das/der durch die Intel ME verwendet werden kann, um die QR-Code-Bitmap vor einer Übertragung zu der Intel GFX-Engine zu verschlüsseln, und ferner von der Intel GFX-Engine verwendet werden kann, um die verschlüsselte QR-Code-Bitmap nach Erhalt von der Intel ME zu entschlüsseln.
-
Darüber hinaus kann in einigen Ausführungsformen ein Außerband-Prozess (Engl.: Out-of-Band) verwendet werden, um das gemeinsame Geheimnis oder den Schlüssel zwischen der TEE und der Anzeige-Engine herzustellen. Zum Beispiel kann unter Verwendung eines Außerband-Prozesses ein Bitmap-Entschlüsselungsschlüssel von der TEE zu einem Schlüsselregister in der Anzeige-Engine kommuniziert werden. In einigen Ausführungsformen kann dies während eines Hochfahrens und einer Erstkonfiguration des Systems unter Verwendung des „Basic Input/Output Systems“ (BIOS) erfolgen, oder es kann über eine PAVP- oder Sigma-Sitzung vor Verschlüsselung/Entschlüsselung der QR-Code-Bitmap erfolgen.
-
Ferner können im Fall von mehreren QR-Code-Bitmaps diese entweder separat verschlüsselt werden oder ansonsten in ein Manifest oder Paket zusammengefasst werden (z. B. unter Verwendung von Clear- oder Red Hat-Paketen), das anschließend verschlüsselt und geliefert wird.
-
Dementsprechend kann ein QR-Code in dem dargestellten Beispiel unter Verwendung der Käuferkontextinformationen innerhalb der sicheren Enklave oder TEE 504 erzeugt werden, wodurch die Integrität der resultierenden QR-Code-Bitmap sichergestellt ist. Die QR-Code-Bitmap kann dann in der TEE 504 unter Verwendung des hergestellten Verschlüsselungsschlüssels 506 für den vertrauenswürdigen Pfad verschlüsselt werden, und die verschlüsselte QR-Code-Bitmap 508 kann dann zu der Anzeige-Engine 510 geliefert werden, wo sie entschlüsselt und schließlich auf einer physischen Vorrichtung 512 angezeigt wird.
-
Auf diese Weise kann der beschriebene Ansatz durch eine Anzeigevorrichtung im Geschäft verwendet werden, um sicherzustellen, dass sensible Käuferinformationen (z. B. Einkaufswagen, Zahlung und/oder personenbezogene Informationen) vor Schadsoftware geschützt sind durch (1) Durchführen des Schritts der QR-Code-Erzeugung in einer vertrauenswürdigen Ausführungsumgebung (TEE); und (2) Verwenden eines sicheren Pfads zum Übertragen der resultierenden QR-Code-Bitmap zu der Anzeige-Engine der Anzeige im Geschäft.
-
Ein ähnlicher Ansatz kann durch eine mobile Vorrichtung eines Käufers beim Erzeugen und/oder Anzeigen von QR-Codes verwendet werden, wie beispielsweise des den öffentlichen Schlüssel des Käufers enthaltenden QR-Codes, der zuerst erzeugt und auf der mobilen Vorrichtung des Käufers angezeigt wird und anschließend von der Kamera oder dem Überwachungssystem im Geschäft erfasst wird. Zum Beispiel kann der den öffentlichen Schlüssel des Käufers enthaltende QR-Code in einer TEE auf der mobilen Vorrichtung des Käufers erzeugt werden und dann sicher auf dem Bildschirm der mobilen Vorrichtung über einen sicheren Pfad zwischen der TEE und der Anzeige-Engine der mobilen Vorrichtung angezeigt werden.
-
Ferner kann der beschriebene Ansatz für eine sichere Erzeugung und Anzeige einer beliebigen Art von visueller Codierung (z. B. über QR-Codes hinaus) und für einen beliebigen Anwendungsfall (z. B. über den Einzelhandelskontext hinaus) verwendet werden.
-
6 stellt einen Steuerfluss 600 zum Extrahieren von Kaufinformationen aus einem angezeigten QR-Code und Abschließen eines zugehörigen Kaufs auf einer mobilen Vorrichtung eines Käufers dar. Zum Beispiel kann ein Käufer, sobald ein sicherer QR-Code auf dem Bildschirm einer gemeinschaftlichen Anzeige (Block 602) angezeigt wird, einfach ein Bild des QR-Codes unter Verwendung der Kamera an seiner mobilen Vorrichtung aufnehmen, und der QR-Code kann decodiert werden, um Produktinformationen (Block 604) und Verkäufer-/Zahlungsempfängerinformationen (Block 606) auf die mobile Vorrichtung des Käufers (Block 608) zu extrahieren. Der Rest der Kauftransaktion (Block 610) kann dann auf der mobilen Vorrichtung des Käufers unter Verwendung herkömmlicher Online-Kaufverfahren abgeschlossen werden, wie beispielsweise durch Bezahlen des Verkäufers oder Zahlungsempfängers unter Verwendung einer Online-Debit-/Kreditkartenverarbeitung (Block 612) im Austausch für das Produkt selbst (Block 614).
-
Auf diese Weise stellt der in Verbindung mit den 3 - 6 beschriebene Einzelhandelsanwendungsfall ein sicheres Bezahlverfahren für Käufer im Einzelhandel dar, mit dem zusätzlichen Vorteil von Vertrauen, Berechtigung und Sicherheit bei sicheren kartenlosen Zahlungen. Zum Beispiel nutzt die Lösung einen Käuferkontext, um bestmögliche Werbeanzeigen, bestmögliche Produkte und ein bestmögliches Kauferlebnis für Käufer im Einzelhandel bereitzustellen. Ferner können Käufer den sicheren visuellen Bezahlmechanismus nutzen, um gewünschte Produkte ohne die Gefahr von Diebstahl ihrer sensiblen personenbezogenen Informationen zu kaufen.
-
7 veranschaulicht ein Flussdiagramm 700 für eine beispielhafte Ausführungsform einer sicheren visuellen Transaktionsverarbeitung. In einigen Ausführungsformen kann das Flussdiagramm 700 zum Beispiel unter Verwendung der Ausführungsformen und der Funktionalität, die in der vorliegenden Offenbarung beschrieben sind, implementiert werden.
-
Das Flussdiagramm kann bei Block 702 beginnen, bei dem ein Benutzer in der Nähe einer Anzeigevorrichtung detektiert wird. In einigen Ausführungsformen kann die Anwesenheit des Benutzers in der Nähe der Anzeigevorrichtung zum Beispiel basierend auf visuellen Daten detektiert werden, die durch einen oder mehrere in der Nähe der Anzeigevorrichtung bereitgestellte Bildsensoren erfasst werden. Im Einzelhandelskontext kann ein Käufer zum Beispiel in der Nähe einer digitalen Anzeige (z. B. einem digitalen Schild, Kiosk und/oder Terminal) in einem Einzelhandelsgeschäft oder einer Umgebung basierend auf in der Nähe bereitgestellten Kameras detektiert werden.
-
Das Flussdiagramm kann dann mit Block 704 fortfahren, bei dem eine mobile Transaktion in Zusammenhang mit dem Benutzer identifiziert wird. Die mobile Transaktion kann zum Beispiel eine potentielle Transaktion oder ein Angebot sein, die/das dem Benutzer präsentiert wird, die optional über eine mobile Vorrichtung in Zusammenhang mit dem Benutzer abgeschlossen werden kann. In dem Einzelhandelskontext kann ein Käufer zum Beispiel unter Verwendung von Bildsensoren identifiziert, überwacht und/oder nachverfolgt werden, und potentielle Kauftransaktionen für den Käufer können basierend auf dem Kontext des Käufers identifiziert werden (z. B. gezielt ausgerichtete Produktwerbeanzeigen, Kassentransaktionen für in einem physischen Einkaufswagen oder -korb detektierte Artikel und so weiter). In einigen Ausführungsformen kann der Käuferkontext zum Beispiel auf einer beliebigen der folgenden Arten von Informationen basieren: Käuferidentität, Demografie, Einkaufshistorie, aktuelle Position in der Einzelhandelsumgebung, aktuelle Inhalte eines physischen oder virtuellen Einkaufswagens und so weiter. Auf diese Weise kann, basierend auf dem Käuferkontext, eine gezielt ausgerichtete Werbeanzeige zur Präsentation für den Käufer ausgewählt werden, oder eine Kassenschnittstelle kann basierend auf Artikeln in dem physischen oder virtuellen Einkaufswagen des Käufers vorbereitet werden.
-
Das Flussdiagramm kann dann mit Block 706 fortfahren, bei dem Transaktionsdaten in Zusammenhang mit der mobilen Transaktion bewertet, erhalten und/oder erzeugt werden. Die Transaktionsdaten können zum Beispiel beliebige Daten in Zusammenhang mit einem Abschließen der Transaktion beinhalten, wie beispielsweise das/die zu erwerbende(n) Produkt(e), Kosten, Käufer- und Verkäuferidentitäten, Zahlungsinformationen und so weiter.
-
Das Flussdiagramm kann dann mit Block 708 fortfahren, bei dem die Transaktionsdaten basierend auf einem Verschlüsselungsschlüssel in Zusammenhang mit dem Benutzer verschlüsselt werden. In einigen Ausführungsformen kann der Verschlüsselungsschlüssel zum Beispiel ein öffentlicher Schlüssel in Zusammenhang mit einem für den Benutzer erzeugten Paar aus öffentlichem und privatem Schlüssel sein. Darüber hinaus kann der Verschlüsselungsschlüssel in einigen Ausführungsformen von der mobilen Vorrichtung des Benutzers erhalten oder bereitgestellt werden (z. B. über eine drahtlose Übertragung oder unter Verwendung einer visuellen Transaktion). In dem Einzelhandelskontext kann eine mobile Vorrichtung eines Käufers zum Beispiel einen visuellen Code (z. B. einen QR-Code), der eine visuelle Codierung des öffentlichen Schlüssels des Käufers enthält, erzeugen und anzeigen, und die Bildsensoren in der Einzelhandelsumgebung können den durch die mobile Vorrichtung angezeigten visuellen Code scannen oder erfassen. Auf diese Weise kann der öffentliche Schlüssel des Käufers dann durch Decodieren des visuellen Codes extrahiert werden, und die Transaktionsdaten können anschließend basierend auf dem öffentlichen Schlüssel des Käufers verschlüsselt werden.
-
Das Flussdiagramm kann dann mit Block 710 fortfahren, bei dem ein visueller Code (z. B. ein QR-Code) in Zusammenhang mit den verschlüsselten Transaktionsdaten in einer geschützten Verarbeitungsumgebung erzeugt wird.
-
Der visuelle Code kann zum Beispiel visuelle codierte Daten in Zusammenhang mit den verschlüsselten Transaktionsdaten enthalten, wie beispielsweise eine visuelle Darstellung oder Codierung der verschlüsselten Transaktionsdaten selbst und/oder anderer zugehöriger Daten. In einigen Ausführungsformen kann der visuelle Code zum Beispiel die verschlüsselten Transaktionsdaten (und/oder andere zugehörige Daten) direkt verschlüsseln, oder alternativ kann der visuelle Code eine URL codieren, die verwendet werden kann, um die verschlüsselten Transaktionsdaten herunterzuladen. Zum Beispiel können in einigen Ausführungsformen die verschlüsselten Transaktionsdaten an einem Netzwerkspeicherort gespeichert sein, auf den die mobile Vorrichtung des Benutzers zugreifen kann (z. B. ein Server im Geschäft), und die URL zu dem Netzwerkspeicherort kann dann in den visuellen Code codiert werden.
-
Ferner kann in einigen Ausführungsformen der visuelle Code in einer geschützten, verschlüsselten und/oder vertrauenswürdigen Ausführungsumgebung eines Prozessors erzeugt werden, wodurch der visuelle Code vor einem böswilligen Manipulieren während der Erzeugung geschützt ist.
-
Das Flussdiagramm kann dann mit Block 712 fortfahren, bei dem ein geschützter Datenpfad zwischen dem Prozessor und der Anzeigevorrichtung hergestellt wird. In einigen Ausführungsformen kann der geschützte Datenpfad zum Beispiel über eine Eingabe-/Ausgabe(E/A)-Schnittstelle (z. B. eine Anzeigeschnittstelle) zwischen dem Prozessor und der Anzeigevorrichtung hergestellt werden, und ein Verschlüsselungsschlüssel kann ausgehandelt werden, um über den geschützten Datenpfad gesendete Übertragungen zu verschlüsseln.
-
Das Flussdiagramm kann dann mit Block 714 fortfahren, bei dem der visuelle Code zu der Anzeigevorrichtung über den geschützten Datenpfad übertragen wird. In einigen Ausführungsformen kann der Prozessor zum Beispiel den visuellen Code unter Verwendung des für den geschützten Datenpfad ausgehandelten Verschlüsselungsschlüssels verschlüsseln, und der Prozessor kann dann den verschlüsselten visuellen Code zu der Anzeigevorrichtung über den geschützten Datenpfad übertragen.
-
Das Flussdiagramm kann dann mit Block 716 fortfahren, bei dem der visuelle Code dann auf der Anzeigevorrichtung angezeigt wird. In einigen Ausführungsformen kann der verschlüsselte visuelle Code zum Beispiel über den geschützten Datenpfad empfangen werden und anschließend unter Verwendung des ausgehandelten Verschlüsselungsschlüssels entschlüsselt werden (z. B. durch einen Anzeigetreiber oder eine Engine), und der verschlüsselte visuelle Code kann dann auf der Anzeigevorrichtung angezeigt werden.
-
Auf diese Weise wird der visuelle Code unter Verwendung eines Ansatzes sicher erzeugt und angezeigt, durch den der visuelle Code während des gesamten Prozesses unveränderlich gemacht wird, wodurch sichergestellt wird, dass der visuelle Code nicht böswillig manipuliert wird. Zum Beispiel wird der visuelle Code in einer geschützten oder sicheren Verarbeitungsumgebung erzeugt, und der visuelle Code wird dann einer physischen Anzeige unter Verwendung einer geschützten Eingabe-/Ausgabe(E/A)-Technologie (z. B. über einen geschützten Datenpfad) bereitgestellt. Somit kann der visuelle Code während des Erzeugungsprozesses oder des Anzeigeprozesses nicht manipuliert werden.
-
Dementsprechend kann ein Benutzer dann den visuellen Code von der physischen Anzeige unter Verwendung der Kamera an der mobilen Vorrichtung des Benutzers sicher scannen oder erfassen (z. B. durch Aufnehmen einer Momentaufnahme des visuellen Codes auf der physischen Anzeige mit der Kamera). Die mobile Vorrichtung des Benutzers kann dann die codierten Daten aus dem visuellen Code extrahieren, die verschlüsselten Transaktionsdaten basierend auf den decodierten Daten erhalten (z. B. entweder direkt oder über eine URL) und dann die verschlüsselten Transaktionsdaten entschlüsseln. Die verschlüsselten Transaktionsdaten können dann verwendet werden, um die Transaktion auf der mobilen Vorrichtung des Benutzers in einer zuverlässigen und sicheren Weise abzuschließen.
-
An diesem Punkt kann das Flussdiagramm abgeschlossen sein. In einigen Ausführungsformen kann das Flussdiagramm jedoch neu starten und/oder bestimmte Blöcke können wiederholt werden. Zum Beispiel kann in einigen Ausführungsformen das Flussdiagramm bei Block 702 neu starten, um ein Detektieren von Benutzern und Verarbeiten mobiler und/oder visueller Transaktionen in Zusammenhang mit diesen Benutzern fortzusetzen.
-
Beispielhafte Internet-der-Dinge(IdD)-Implementierungen
-
8 - 11 veranschaulichen Beispiele von Internet der Dinge(IdD)-Netzwerken und Vorrichtungen, die gemäß hierin offenbarten Ausführungsformen verwendet werden können. Zum Beispiel können die in der vorliegenden Offenbarung beschriebenen Operationen und Funktionalitäten durch eine IdD-Vorrichtung oder Maschine in der beispielhaften Form eines elektronischen Verarbeitungssystems repräsentiert sein, in dem ein Satz oder eine Sequenz von Anweisungen ausgeführt werden können, um das elektronische Verarbeitungssystem zu veranlassen, gemäß eines Ausführungsbeispiels eine beliebige der hierin diskutierten Verfahrensweisen durchzuführen. Die Maschine kann eine IdD-Vorrichtung oder ein IdD-Gateway, einschließlich einer Maschine sein, die durch Aspekte eines Einzelplatzrechners (PC, Personal Computer), eines Tablet-PCs, eines persönlichen digitalen Assistenten (PDA), eines Mobiltelefons oder Smartphones oder einer beliebigen Maschine, die in der Lage ist, Anweisungen (sequentiell oder auf andere Weise) auszuführen, die von der Maschine vorzunehmende Aktionen spezifizieren, repräsentiert ist. Ferner soll eine derartige Maschine, auch wenn nur eine einzelne Maschine in dem obigen Beispiel dargestellt und erwähnt ist, auch als jede Ansammlung von Maschinen umfassend verstanden werden, die einzeln oder gemeinsam einen Satz (oder mehrere Sätze) von Anweisungen ausführen, um eine oder mehrere der hierin diskutierten Verfahrensweisen durchzuführen. Ferner sollen diese und ähnliche Beispiele für ein prozessorbasiertes System als einen beliebigen Satz von einer oder mehreren Maschinen umfassend verstanden werden, die durch einen Prozessor (z. B. einen Computer) gesteuert oder betrieben werden, um einzeln oder gemeinsam Anweisungen auszuführen, um eine oder mehrere der hierin diskutierten Verfahrensweisen durchzuführen.
-
8 veranschaulicht eine beispielhafte Domänentopologie für jeweilige Internet-der-Dinge(IdD)-Netzwerke, die durch Verbindungen zu jeweiligen Gateways gekoppelt sind. Das Internet der Dinge (IdD) ist ein Konzept, in dem eine große Anzahl von Datenverarbeitungsvorrichtungen miteinander und mit dem Internet verbunden sind, um Funktionalität und Datengewinnung auf sehr niedrigen Ebenen bereitzustellen. Somit kann, wie hierin verwendet, eine IdD-Vorrichtung eine halbautonome Vorrichtung umfassen, die eine Funktion, wie beispielsweise unter anderem Erfassen oder Steuern, in Kommunikation mit anderen IdD-Vorrichtungen und einem breiteren Netzwerk, wie beispielsweise dem Internet, durchführt.
-
Häufig sind IdD-Vorrichtungen hinsichtlich Arbeitsspeicher, Größe oder Funktionalität begrenzt, sodass eine größere Anzahl für ähnliche Kosten wie für eine kleinere Anzahl größerer Vorrichtungen bereitgestellt werden kann. Eine IdD-Vorrichtung kann jedoch ein Smartphone, ein Laptop, ein Tablet oder ein PC oder eine andere größere Vorrichtung sein. Ferner kann eine IdD-Vorrichtung eine virtuelle Vorrichtung sein, wie beispielsweise eine Anwendung auf einem Smartphone oder einer anderen Datenverarbeitungsvorrichtung. IdD-Vorrichtungen können IdD-Gateways umfassen, die verwendet werden, um IdD-Vorrichtungen mit anderen IdD-Vorrichtungen und mit Cloud-Anwendungen für eine Datenspeicherung, Prozesssteuerung und dergleichen zu koppeln.
-
Netzwerke von IdD-Vorrichtungen können gewerbliche und private Automationsvorrichtungen umfassen, wie beispielsweise Wasserverteilungssysteme, elektrische Leistungsverteilungssysteme, Pipelinesteuerungssysteme, Anlagensteuerungssysteme, Lichtschalter, Thermostate, Verriegelungen, Kameras, Alarme, Bewegungssensoren und dergleichen. Auf die IdD-Vorrichtungen kann zum Beispiel über entfernte Computer, Server und andere Systeme beispielsweise zum Steuern von Systemen oder zum Zugreifen auf Daten zugegriffen werden.
-
Die zukünftige Expansion des Internets und ähnlicher Netzwerke kann eine große Anzahl an IdD-Vorrichtungen beinhalten. Dementsprechend erfüllt in dem Kontext der hierin diskutierten Techniken eine Reihe von Innovationen für derartige zukünftige Netzwerke die Anforderung, dass all diese Schichten ungehindert wachsen können, verbundene Ressourcen erkannt und zugreifbar gemacht werden und die Fähigkeit, verbundene Ressourcen zu verbergen und zu kategorisieren, unterstützt wird. Eine beliebige Anzahl von Netzwerkprotokollen und Kommunikationsstandards kann verwendet werden, wobei jedes Protokoll und jeder Standard ausgelegt ist, spezifische Vorgaben zu erfüllen. Ferner sind die Protokolle Teil der Struktur, die von Menschen zugreifbare Dienstleistungen unterstützen, die unabhängig von Standort, Zeit oder Raum ausgeführt werden. Die Innovationen umfassen eine Dienstbereitstellung und eine zugehörige Infrastruktur, wie beispielsweise Hardware und Software; Sicherheitsverbesserungen; und die Bereitstellung von Dienstleistungen basierend auf Bedingungen der Dienstgüte (QoS, Quality of Service), die in Dienstgüte- und Dienstbereitstellungsvereinbarungen festgelegt sind. Es versteht sich, dass die Verwendung von IdD-Vorrichtungen und Netzwerken, wie die in den 8 - 11 vorgestellten, eine Reihe von neuen Herausforderungen in einem heterogenen Netzwerk von Konnektivität, die eine Kombination von drahtgebundenen und drahtlosen Technologien umfasst, mit sich bringt.
-
8 zeigt insbesondere eine vereinfachte Zeichnung einer Domänentopologie, die für eine Reihe von Internet-der-Dinge(IdD)-Netzwerke verwendet werden, die IdD-Vorrichtungen 804 umfassen, wobei die IdD-Netzwerke 856, 858, 860, 862 über Backboneverbindungen 802 mit jeweiligen Gateways 854 gekoppelt sind. Zum Beispiel kann eine Reihe von IdD-Vorrichtungen 804 mit einem Gateway 854 und über das Gateway 854 untereinander kommunizieren. Der Einfachheit der Darstellung halber ist nicht jede IdD-Vorrichtung 804 oder Kommunikationsverbindung (z. B. Verbindung 816, 822, 828 oder 832) mit einem Bezugszeichen versehen. Die Backboneverbindungen 802 können eine beliebige Anzahl an drahtgebundenen oder drahtlosen Technologien, einschließlich optischer Netzwerke, umfassen und können Teil eines lokalen Netzwerks (LAN), eines Weitverkehrsnetzwerks (WAN) oder des Internets sein. Zusätzlich ermöglichen derartige Kommunikationsverbindungen optische Signalpfade zwischen den IdD-Vorrichtungen 804 und den Gateways 854, einschließlich der Verwendung von Multiplex-/Demultiplex-Komponenten, die eine Verbindung der verschiedenen Vorrichtungen untereinander ermöglichen.
-
Die Netzwerktopologie kann eine beliebige Anzahl an Arten von IdD-Netzwerken umfassen, wie beispielsweise ein mit dem Netzwerk 856 unter Verwendung von „Bluetooth-Low-Energy“(BLE)-Verbindungen 822 bereitgestelltes Mesh-Netzwerk. Andere Arten von IdD-Netzwerken, die vorhanden sein können, umfassen ein drahtloses lokales Netzwerk (WLAN, Wireless Local Area Network) 858, das verwendet wird, um mit IdD-Vorrichtungen 804 über IEEE 802.11(Wi-Fi®)-Verbindungen 828 zu kommunizieren, ein zellulares Netzwerk 860, das verwendet wird, um mit IdD-Vorrichtungen 804 über ein zellulares LTE/LTE-A(4G)- oder 5G-Netzwerk zu kommunizieren, und ein Niedrigenergie-Weitverkehrsnetzwerk (LPWA, Low-Power Wide Area) 862, zum Beispiel ein LPWA-Netzwerk, das mit der LoRaWan-Spezifikation kompatibel ist, die von der LoRa Alliance festgelegt ist, oder ein „IPv6-over-Low Power Wide-Area Networks (LPWAN)“-Netzwerk, das mit einer Spezifikation kompatibel ist, die von der Internet Engineering Task Force (IETF) festgelegt ist. Ferner können die jeweiligen IdD-Netzwerke mit einem externen Netzwerkanbieter (z. B. einem Tier-2- oder Tier-3-Anbieter) unter Verwendung einer beliebigen Anzahl von Kommunikationsverbindungen, wie beispielsweise einer zellularen LTE-Verbindung, einer LPWA-Verbindung oder einer Verbindung basierend auf dem Standard IEEE 802.15.4, wie beispielsweise ZigBee®, kommunizieren. Die jeweiligen IdD-Netzwerke können zudem unter Verwendung einer Vielzahl von Netzwerk- und Internetanwendungsprotokollen wie beispielsweise „Constrained Application Protocol“ (CoAP) arbeiten. Die jeweiligen IdD-Netzwerke können zudem in Koordinatorvorrichtungen integriert sein, die eine Kette an Verbindungen bereitstellen, die eine Cluster-Baumstruktur von verbundenen Vorrichtungen und Netzwerken bildet.
-
Jedes der IdD-Netzwerke kann Möglichkeiten für neue technische Merkmale bieten, wie beispielsweise die hierin beschriebenen. Die verbesserten Technologien und Netzwerke können das exponentielle Wachstum an Vorrichtungen und Netzwerken ermöglichen, einschließlich der Verwendung von IdD-Netzwerken als Fog-Vorrichtungen oder -Systeme. Mit steigender Verwendung derartiger verbesserter Technologien werden die IdD-Netzwerke möglicherweise hinsichtlich Selbstverwaltung, funktionaler Weiterentwicklung und Zusammenwirken ohne den Bedarf an direktem Eingriff durch den Menschen entwickelt. Die verbesserten Technologien können IdD-Netzwerken sogar ermöglichen, ohne zentralisierte gesteuerte Systeme zu funktionieren. Dementsprechend können die hierin beschriebenen verbesserten Technologien verwendet werden, um eine Netzwerkverwaltung und Betriebsfunktionen weit über derzeitige Implementierungen hinaus zu automatisieren und zu verbessern.
-
In einem Beispiel können Kommunikationen zwischen IdD-Vorrichtungen 804, beispielsweise über die Backboneverbindungen 802, durch ein dezentralisiertes System für Authentifizierung, Autorisierung und Abrechnung (AAA, Authentication, Authorization, Accounting) geschützt sein. Bei einem dezentralisierten AAA-System können verteilte Zahlungs-, Kredit-, Audit-, Autorisierungs- und Authentifizierungsysteme über eine vernetzte heterogene Netzwerkinfrastruktur bereitgestellt sein. So können sich Systeme und Netzwerke hin zu einem autonomen Betrieb bewegen. Bei diesen Arten von autonomen Betrieben können Maschinen sogar menschliche Arbeitskräfte unter Vertrag nehmen und Partnerschaften mit anderen Maschinennetzwerken aushandeln. Dies kann das Erreichen von gemeinsamen Zielen und einer ausgewogenen Dienstbereitstellung im Rahmen festgelegter, geplanter Dienstgütevereinbarungen sowie die Entwicklung von Lösungen, die eine Zählwerterfassung, Messungen, Rückverfolgbarkeit und Nachverfolgbarkeit bereitstellen, ermöglichen. Durch Schaffen neuer Lieferkettenstrukturen und Verfahren kann ohne Einwirkung durch den Menschen eine Vielzahl von Diensten geschaffen, ausgeschöpft und eingestellt werden.
-
Derartige IdD-Netzwerke können ferner durch die Integration von Erfassungstechnologien, wie beispielsweise Ton, Licht, elektronischer Datenverkehr, Gesichts- und Mustererkennung, Geruch, Vibration, in die autonomen Organisationsstrukturen zwischen den IdD-Vorrichtungen erweitert werden. Die Integration von sensorischen Systemen kann eine systematische und autonome Kommunikation und Koordination von Dienstbereitstellung im Rahmen von vertraglichen Dienstvorgaben, Orchestrierung und Dienstgüte (QoS) basierend auf Schwarmbildung und Zusammenführung von Ressourcen ermöglichen. Einige der einzelnen Beispiele von netzwerkbasierter Ressourcenverarbeitung umfassen das Folgende.
-
Das Mesh-Netzwerk 856 kann zum Beispiel durch Systeme erweitert werden, die lineare Transformationen von Daten zu Informationen durchführen. Zum Beispiel können sich selbst bildende Ketten von Verarbeitungsressourcen umfassend ein Netzwerk mit mehreren Verbindungen die Transformation von Rohdaten zu Informationen und die Fähigkeit, zwischen Assets und Ressourcen zu differenzieren, und die jeweils zugehörige Verwaltung davon auf effiziente Weise verteilen. Ferner können die richtigen Infrastrukturkomponenten und ressourcenbasierte Vertrauens- und Dienstindizes hinzugefügt werden, um die Datenintegrität, -qualität und -sicherheit zu verbessern und einen Maßstab für das Vertrauen in die Daten bereitzustellen.
-
Das WLAN-Netzwerk 858 kann zum Beispiel Systeme verwenden, die eine Standardkonvertierung durchführen, um eine Konnektivität mit mehreren Standards bereitzustellen, wodurch IdD-Vorrichtungen 804 verschiedene Protokolle zum Kommunizieren nutzen können. Weitere Systeme können eine nahtlose Vernetzbarkeit untereinander über eine Infrastruktur mit mehreren Standards umfassend erkennbare Internetressourcen und verborgene Internetressourcen bereitstellen.
-
Kommunikationen in dem zellularen Netzwerk 860 können zum Beispiel durch Systeme verbessert werden, die Daten auslagern, Kommunikationen auf weiter entfernte Vorrichtungen erweitern oder beides. Das LPWA-Netzwerk 862 kann Systeme umfassen, die Verbindungen, Adressierungen und Routing von nichtinternetprotokoll(IP)-basiert zu IP-basiert durchführen. Ferner kann jede der IdD-Vorrichtungen 804 einen geeigneten Sendeempfänger für Weitverkehrskommunikationen mit der Vorrichtung umfassen. Ferner kann jede IdD-Vorrichtung 804 andere Sendeempfänger für Kommunikationen unter Verwendung weiterer Protokolle und Frequenzen umfassen.
-
Schließlich können Cluster von IdD-Vorrichtungen ausgerüstet sein, mit anderen IdD-Vorrichtungen sowie mit einem Cloud-Netzwerk zu kommunizieren. Dies kann den IdD-Vorrichtungen ermöglichen, ein Ad-hoc-Netzwerk zwischen den Vorrichtungen zu bilden, sodass sie als eine einzelne Vorrichtung arbeiten können, die als eine Fog-Vorrichtung bezeichnet werden kann. Diese Konfiguration wird unten unter Bezugnahme auf 9 weiter diskutiert.
-
9 veranschaulicht ein Cloud-Datenverarbeitungsnetzwerk in Kommunikation mit einem Mesh-Netzwerk von IdD-Vorrichtungen (Vorrichtungen 902), das als Fog-Vorrichtung am Rand des Cloud-Datenverarbeitungsnetzwerks betrieben wird. Das Mesh-Netzwerk von IdD-Vorrichtungen kann als Fog 920 bezeichnet werden, das am Rand der Cloud 900 betrieben wird. Der Einfachheit der Diagrammdarstellung halber ist nicht jede IdD-Vorrichtung 902 mit einem Bezugszeichen versehen.
-
Das Fog 920 kann als ein stark vernetztes Netzwerk betrachtet werden, in dem eine Reihe von IdD-Vorrichtungen 902 beispielsweise durch Funkverbindungen 922 in Kommunikation miteinander stehen. Beispielsweise kann dieses vernetzte Netzwerk unter Verwendung einer von der Open Connectivity Foundation™ (OCF) herausgegebenen Verbindungsspezifikation vereinfacht werden. Diese Norm ermöglicht es Vorrichtungen, sich gegenseitig zu erkennen und Kommunikationen für Verbindungen herzustellen. Andere Verbindungsprotokolle können ebenfalls verwendet werden, beispielsweise unter anderem das Protokoll „Optimized Link State Routing“ (OLSR), das Routingprotokoll „Better Approach To Mobile Ad-Hoc Networking“ (B.A.T.M.A.N.) oder das Protokoll „OMA Lightweight M2M“ (LWM2M).
-
Drei Arten von IdD-Vorrichtungen 902 sind in diesem Beispiel gezeigt: Gateways 904, Datenaggregatoren 926 und Sensoren 928, obwohl beliebige Kombinationen von IdD-Vorrichtungen 902 und Funktionalität verwendet werden kann. Die Gateways 904 können Edge-Vorrichtungen sein, die Kommunikationen zwischen der Cloud 900 und dem Fog 920 bereitstellen, und können zudem die Backend-Prozessfunktion für von den Sensoren 928 erfasste Daten bereitstellen, wie beispielsweise Bewegungsdaten, Durchflussdaten, Temperaturdaten und dergleichen. Die Datenaggregatoren 926 können Daten einer beliebigen Anzahl von Sensoren 928 erfassen und die Backend-Prozessfunktion für die Analyse durchführen. Die Ergebnisse, Rohdaten oder beides können über die Gateways 904 an die Cloud 900 weitergegeben werden. Die Sensoren 928 können vollwertige IdD-Vorrichtungen 902 sein, zum Beispiel in der Lage sein, sowohl Daten zu erfassen als auch Daten zu verarbeiten. In einigen Fällen können die Sensoren 928 eine begrenztere Funktionalität aufweisen, zum Beispiel die Daten erfassen und den Datenaggregatoren 926 oder Gateways 904 das Verarbeiten der Daten überlassen.
-
Kommunikationen von einer beliebigen IdD-Vorrichtung 902 können entlang eines geeigneten Pfads (z. B. eines am besten geeigneten Pfads) zwischen beliebigen IdD-Vorrichtungen 902 weitergeleitet werden, um die Gateways 904 zu erreichen. In diesen Netzwerken verfügt die Reihe von Verbindungen über eine deutliche Redundanz, sodass Kommunikationen sogar dann aufrechterhalten werden können, wenn eine Reihe von IdD-Vorrichtungen 902 ausfällt. Ferner kann die Verwendung eines Mesh-Netzwerks die Verwendung von IdD-Vorrichtungen 902 ermöglichen, die sehr wenig Energie verbrauchen oder sich in einer Distanz von der Infrastruktur befinden, da der Abstand für ein Verbinden mit einer anderen IdD-Vorrichtung 902 deutlich geringer sein kann als der Abstand für ein Verbinden mit den Gateways 904.
-
Das von den IdD-Vorrichtungen 902 bereitgestellte Fog 920 kann Vorrichtungen in der Cloud 900, wie beispielsweise einem Server 906, als eine einzelne, am Rand der Cloud 900 befindliche Vorrichtung, z. B. eine Fog-Vorrichtung, angezeigt werden. In diesem Beispiel können die von der Fog-Vorrichtung ausgehenden Warnungen gesendet werden, ohne als von einer spezifischen IdD-Vorrichtung 902 in dem Fog 920 ausgehend identifiziert zu werden. Auf diese Weise kann das Fog 920 als eine verteilte Plattform betrachtet werden, die Datenverarbeitungs- und Speicherressourcen bereitstellt, um eine Verarbeitung oder datenintensive Aufgaben wie beispielsweise unter anderem Datenanalysen, Datenaggregation und maschinelles Lernen durchzuführen.
-
In einigen Beispielen können die IdD-Vorrichtungen 902 unter Verwendung eines imperativen Programmierungsstils konfiguriert sein, wobei z. B. jede IdD-Vorrichtung 902 eine spezielle Funktion und Kommunikationspartner aufweist. Die die Fog-Vorrichtung bildenden IdD-Vorrichtungen 902 können jedoch in einem deklarativen Programmierungsstil konfiguriert sein, wodurch die IdD-Vorrichtungen 902 ihre Operationen und Kommunikationen neu konfigurieren können, um beispielsweise erforderliche Ressourcen in Reaktion auf Bedingungen, Abfragen und Vorrichtungsausfälle zu bestimmen. Als ein Beispiel kann eine Abfrage von einem an einem Server 906 befindlichen Benutzer über die Operationen einer Teilmenge von durch die IdD-Vorrichtungen 902 überwachten Geräten dazu führen, dass die Fog 920-Vorrichtung die IdD-Vorrichtungen 902, wie beispielsweise bestimmte Sensoren 928, auswählt, die für die Beantwortung der Abfrage erforderlich sind. Die Daten von den Sensoren 928 können dann durch eine beliebige Kombination aus den Sensoren 928, Datenaggregatoren 926 oder Gateways 904 aggregiert und analysiert werden, bevor sie durch die Fog 920-Vorrichtung an den Server 906 zum Beantworten der Abfrage weitergesendet werden. In diesem Beispiel können die IdD-Vorrichtungen 902 in dem Fog 920 die verwendeten Sensoren 928 basierend auf der Abfrage auswählen, wie beispielsweise Hinzufügen von Daten von Durchflusssensoren oder Temperatursensoren. Ferner können, wenn einige der IdD-Vorrichtungen 902 nicht betriebsbereit sind, andere IdD-Vorrichtungen 902 in der Fog 920-Vorrichtung analoge Daten bereitstellen, falls verfügbar.
-
10 veranschaulicht eine Zeichnung eines Cloud-Datenverarbeitungsnetzwerks, oder einer Cloud 1000, in Kommunikation mit einer Reihe von Internet-der-Dinge(IdD)-Vorrichtungen. Die Cloud 1000 kann das Internet darstellen oder kann ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN) sein, wie beispielsweise ein unternehmenseigenes Netzwerk. Die IdD-Vorrichtungen können eine beliebige Anzahl an unterschiedlichen Arten von Vorrichtungen umfassen, die in verschiedenen Kombinationen gruppiert sind. Zum Beispiel kann eine Verkehrsregelungsgruppe 1006 IdD-Vorrichtungen entlang Straßen in einer Stadt umfassen. Diese IdD-Vorrichtungen können Ampeln, Verkehrsflussüberwachungsvorrichtungen, Kameras, Wettersensoren und dergleichen umfassen. Die Verkehrsregelungsgruppe 1006, oder andere Teilgruppen, können über drahtgebundene oder drahtlose Verbindungen 1008, wie beispielsweise LPWA-Verbindungen, optische Verbindungen und dergleichen, in Kommunikation mit der Cloud 1000 sein. Ferner kann ein drahtgebundenes oder drahtloses Teilnetzwerk 1012 den IdD-Vorrichtungen ermöglichen, miteinander zu kommunizieren, beispielsweise über ein lokales Netzwerk, ein drahtloses lokales Netzwerk und dergleichen. Die IdD-Vorrichtungen können eine weitere Vorrichtung, wie beispielsweise ein Gateway 1010 oder 1028, zum Kommunizieren mit entfernten Standorten wie der Cloud 1000 nutzen; die IdD-Vorrichtungen können zudem einen oder mehrere Server 1030 nutzen, um eine Kommunikation mit der Cloud 1000 oder mit dem Gateway 1010 zu vereinfachen. Zum Beispiel können der eine oder die mehreren Server 1030 als ein Zwischennetzwerkknoten dienen, um eine lokale Edge-Cloud- oder Fog-Implementierung in einem lokalen Netzwerk zu unterstützen. Ferner kann das dargestellte Gateway 1028 in einer Konfiguration „Cloud zu Gateway zu vielen Edge-Vorrichtungen“ betrieben werden, wie beispielsweise mit den verschiedenen IdD-Vorrichtungen 1014, 1020, 1024, die auf eine Zuweisung und eine Verwendung von Ressourcen in der Cloud 1000 beschränkt oder dynamisch sind.
-
Andere beispielhafte Gruppen von IdD-Vorrichtungen können unter anderem entfernte Wetterstationen 1014, lokale Informationsterminals 1016, Alarmsysteme 1018, Bankautomaten 1020, Meldezentralen 1022 oder sich bewegende Fahrzeuge, wie beispielsweise Noteinsatzfahrzeuge 1024 oder andere Fahrzeuge 1026, umfassen. Jede der IdD-Vorrichtungen kann in Kommunikation mit anderen IdD-Vorrichtungen, mit Servern 1004, mit einer/m anderen IdD-Fog-Vorrichtung oder -System (nicht gezeigt, jedoch in 9 dargestellt) oder einer Kombination daraus stehen. Die Gruppen von IdD-Vorrichtungen können in verschiedenen privathaushaltlichen, gewerblichen und industriellen Bereichen (einschließlich in privaten oder öffentlichen Umgebungen) bereitgestellt sein.
-
Wie aus 10 ersichtlich, kann eine große Anzahl an IdD-Vorrichtungen über die Cloud 1000 kommunizieren. Dies kann unterschiedlichen IdD-Vorrichtungen ermöglichen, Informationen autonom von anderen Vorrichtungen abzufragen oder diesen bereitzustellen. Zum Beispiel kann eine Gruppe von IdD-Vorrichtungen (z. B. die Verkehrsregelungsgruppe 1006) eine aktuelle Wettervorhersage von einer Gruppe von entfernten Wetterstationen 1014 abfragen, die die Vorhersage ohne Eingriff durch den Menschen bereitstellen kann. Ferner kann ein Noteinsatzfahrzeug 1024 durch einen Bankautomaten 1020 benachrichtigt werden, dass gerade ein Einbruch stattfindet. Während das Noteinsatzfahrzeug 1024 in Richtung des Bankautomaten 1020 fährt, kann es auf die Verkehrsregelungsgruppe 1006 zugreifen, um eine Hindernisfreiheit zu dem Standort anzufordern, beispielsweise durch Schalten von Ampeln auf Rot, um Querverkehr an einer Kreuzung zu einem geeigneten Zeitpunkt zu blockieren, damit das Noteinsatzfahrzeug 1024 ungehindert in die Kreuzung einfahren kann.
-
Cluster von IdD-Vorrichtungen, wie beispielsweise die entfernten Wetterstationen 1014 oder die Verkehrsregelungsgruppe 1006, können zum Kommunizieren mit anderen IdD-Vorrichtungen sowie mit der Cloud 1000 ausgerüstet sein. Dies kann den IdD-Vorrichtungen ermöglichen, ein Ad-hoc-Netzwerk zwischen den Vorrichtungen zu bilden, sodass sie als eine einzelne Vorrichtung funktionieren können, die als ein/e Fog-Vorrichtung oder -System bezeichnet werden kann (z. B. wie oben unter Bezugnahme auf 9 beschrieben).
-
11 ist ein Blockdiagramm eines Beispiels von Komponenten, die in einer IdD-Vorrichtung 1150 zum Implementieren der hierin beschriebenen Techniken vorhanden sein können. Die IdD-Vorrichtung 1150 kann beliebige Kombinationen der in dem Beispiel gezeigten oder in der obigen Offenbarung erwähnten Komponenten umfassen. Die Komponenten können als in der IdD-Vorrichtung 1150 adaptierte ICs, Teile davon, diskrete elektronische Vorrichtungen oder andere Module, Logik, Hardware, Software, Firmware oder einer Kombination daraus, oder als Komponenten, die anderweitig in ein Gehäuse eines größeren Systems integriert sind, implementiert sein. Zudem soll das Blockdiagramm von 11 einen allgemeinen Überblick über Komponenten der IdD-Vorrichtung 1150 zeigen. In anderen Implementierungen können einige der gezeigten Komponenten jedoch weggelassen sein, zusätzliche Komponente können vorhanden sein und die gezeigten Komponenten können anders angeordnet sein.
-
Die IdD-Vorrichtung 1150 kann einen Prozessor 1152 umfassen, der ein Mikroprozessor, ein Mehrkernprozessor, ein mehrfädiger Prozessor, ein Ultra-Niederspannungs-Prozessor, ein eingebetteter Prozessor oder ein anderes bekanntes Verarbeitungselement sein kann. Der Prozessor 1152 kann ein Teil eines Ein-Chip-Systems (SoC, System on a Chip) sein, in dem der Prozessor 1152 und andere Komponenten in einer einzelnen integrierten Schaltung, oder einem einzelnen Baustein, wie beispielsweise den Edison™ oder Galileo™ SoC-Platinen von Intel, ausgebildet sind. Beispielsweise kann der Prozessor 1152 einen auf Intel® Core™ Architektur basierenden Prozessor, wie einen Quark™, einen Atom™, einen i3, einen i5, einen i7 oder einen Prozessor der Mikrocontrollerklasse, oder einen anderen derartigen Prozessor der Intel® Corporation, Santa Clara, Kalifornien, umfassen. Jedoch kann eine beliebige Anzahl anderer Prozessoren verwendet werden, wie beispielsweise erhältlich von Advanced Micro Devices Inc. (AMD) in Sunnyvale, Kalifornien, eine MIPS-basierte Auslegung von MIPS Technologies Inc. in Sunnyvale, Kalifornien, eine ARM-basierte Auslegung lizensiert von ARM Holdings Ltd. oder einem Kunden davon, oder deren Lizenznehmern oder Anwendern. Die Prozessoren können Einheiten wie beispielsweise einen A5-A10-Prozessor von Apple® Inc., einen Snapdragon™ Prozessor von Qualcomm® Technologies Inc. oder einen OMAP™ Prozessor von Texas Instruments Inc. umfassen.
-
Der Prozessor 1152 kann mit einem Systemarbeitsspeicher 1154 über eine Verbindung 1156 (z. B. einen Bus) kommunizieren. Eine beliebige Anzahl von Arbeitsspeichervorrichtungen kann verwendet werden, um eine vorgegebene Größe an Systemarbeitsspeicher bereitzustellen. Beispielsweise kann der Arbeitsspeicher ein Direktzugriffsspeicher (RAM, Random Access Memory) gemäß einer Auslegung des Joint Electron Devices Engineering Council (JEDEC) sein, wie beispielsweise der DDR- oder mobilen DDR-Standards (z. B. LPDDR, LPDDR2, LPDDR3 oder LPDDR4). In verschiedenen Implementierungen können die einzelnen Arbeitsspeichervorrichtungen aus einer beliebigen Anzahl von unterschiedlichen Bausteinarten bestehen, wie beispielsweise ein Ein-Chip-Baustein (SDP, Single Die Package), ein 2-Chip-Baustein (DDP, Dual Die Package) oder ein 4-Chip-Baustein (Q17P, Quad Die Package). Diese Vorrichtung können in einigen Beispielen direkt auf eine Hauptplatine gelötet sein, um eine Lösung mit niedrigerem Profil bereitzustellen, während die Vorrichtungen in anderen Beispielen als ein oder mehrere Arbeitsspeichermodule konfiguriert sind, die jeweils über ein vorhandenes Verbindungselement mit der Hauptplatine gekoppelt sind. Eine beliebige Anzahl von anderen Arbeitsspeicherimplementierungen kann verwendet werden, wie beispielsweise andere Arten von Arbeitsspeichermodulen, z. B. doppelreihige Arbeitsspeichermodule (DIMMs, Dual Inline Memory Modules) verschiedener Varianten einschließlich unter anderem microDIMMs oder MiniDIMMs.
-
Um eine dauerhafte Speicherung von Informationen, wie beispielsweise Daten, Anwendungen, Betriebssysteme und so weiter, bereitzustellen, kann ein Speicher 1158 auch mit dem Prozessor 1152 über die Verbindung 1156 gekoppelt sein. In einem Beispiel kann der Speicher 1158 über ein Halbleiterplattenlaufwerk (SSDD, Solid State Disk Drive) implementiert sein. Andere Vorrichtungen, die für den Speicher 1158 verwendet werden können, umfassen Flash-Speicherkarten, wie beispielsweise SD-Karten, microSD-Karten, xD-Bildkarten und dergleichen sowie USB-Flashlaufwerke. In Niedrigenergieimplementierungen kann der Speicher 1158 auf dem Chip integrierte Arbeitsspeicher oder Register in Zusammenhang mit dem Prozessor 1152 sein. In einigen Beispielen kann der Speicher 1158 jedoch unter Verwendung eines Mikro-Festplattenlaufwerks (HDD, Hard Disk Drive) implementiert sein. Ferner kann eine beliebige Anzahl von neuen Technologien für den Speicher 1158 zusätzlich zu, oder anstelle von, den beschriebenen Technologien verwendet werden, wie beispielsweise unter anderem Widerstandsänderungsspeicher, Phasenwechselspeicher, holografische Speicher oder chemische Speicher.
-
Die Komponenten können über die Verbindung 1156 kommunizieren. Die Verbindung 1156 kann eine beliebige Anzahl an Technologien, einschließlich „Industry Standard Architecture“ (ISA), „extended ISA“ (EISA), „Peripheral Component Interconnect“ (PCI), „Peripheral Component Interconnect extended“ (PCIx), „PCI express“ (PCIe) oder eine beliebige Anzahl anderer Technologien umfassen. Die Verbindung 1156 kann ein spezieller Bus sein, wie er zum Beispiel in einem SoCbasierten System verwendet wird. Andere Bussysteme können beinhaltet sein, wie beispielsweise unter anderem eine I2C-Schnittstelle, eine SPI-Schnittstelle, Punkt-zu-Punkt-Schnittstellen und ein Leistungsbus.
-
Die Verbindung 1156 kann den Prozessor 1152 mit einem Mesh-Sendeempfänger 1162 für Kommunikationen mit anderen Mesh-Vorrichtungen 1164 koppeln. Der Mesh-Sendeempfänger 1162 kann eine beliebige Anzahl von Frequenzen und Protokollen verwenden, wie beispielsweise unter anderem 2,4-Gigahertz(GHz)-Übertragungen unter dem IEEE 802.15.4-Standard, unter Verwendung des „Bluetooth® Low Energy“(BLE)-Standards, wie er durch die Bluetooth® Special Interest Group definiert ist, oder des ZigBee®-Standards. Eine beliebige Anzahl von Funksystemen, die für ein bestimmtes drahtloses Kommunikationsprotokoll ausgelegt sind, kann für die Verbindungen zu den Mesh-Vorrichtungen 1164 verwendet werden. Zum Beispiel kann eine WLAN-Einheit verwendet werden, um Wi-Fi™-Kommunikationen gemäß dem IEEE 802.11-Standard des Institute of Electrical and Electronics Engineers (IEEE) zu implementieren. Zusätzlich können drahtlose Weitverkehrskommunikationen, z. B. gemäß eines zellularen oder anderen drahtlosen Weitverkehrsprotokolls, über eine WWAN-Einheit erfolgen.
-
Der Mesh-Sendeempfänger 1162 kann unter Verwendung mehrerer Standards oder Funksysteme für Kommunikationen in unterschiedlichen Bereichen kommunizieren. Zum Beispiel kann die IdD-Vorrichtung 1150 mit nahen Vorrichtungen, z. B. innerhalb ca. 10 Metern, unter Verwendung eines lokalen Sendeempfängers basierend auf BLE oder anderem Niedrigenergiefunk kommunizieren, um Energie zu sparen. Weiter entfernte Mesh-Vorrichtungen 1164, z. B. innerhalb von ca. 50 Metern, können über ZigBee oder andere Funksysteme mittlerer Leistung erreicht werden. Beide Kommunikationstechniken können über ein einzelnes Funksystem bei unterschiedlichen Leistungspegeln erfolgen, oder können über separate Sendeempfänger erfolgen, zum Beispiel einen lokalen Sendeempfänger unter Verwendung von BLE und einen separaten Mesh-Sendeempfänger unter Verwendung von ZigBee.
-
Ein drahtloser Netzwerk-Sendeempfänger 1166 kann beinhaltet sein, um mit Vorrichtungen oder Diensten in der Cloud 1100 über lokale oder Weitverkehrsnetzwerkprotokolle zu kommunizieren. Der drahtlose Netzwerk-Sendeempfänger 1166 kann ein LPWA-Sendeempfänger sein, der unter anderem die Standards IEEE 802.15.4 oder IEEE 802.15.4g befolgt. Die IdD-Vorrichtung 1150 kann über einen weiten Bereich unter Verwendung von LoRaWAN™ (Long Range Wide Area Network), entwickelt von Semtech und der LoRa Alliance, kommunizieren. Die hierin beschriebenen Techniken sind nicht auf diese Technologien beschränkt, sondern können mit einer beliebigen Anzahl von anderen Cloud-Sendeempfängern verwendet werden, die Langstreckenkommunikationen mit geringer Bandbreite implementieren, wie Sigfox und andere Technologien. Ferner können andere Kommunikationstechniken, wie in der Spezifikation von IEEE 802.15.4e beschriebene zeitsynchrone Kanalsprungverfahren, verwendet werden.
-
Eine beliebige Anzahl anderer Funkkommunikationen und Protokolle kann zusätzlich zu den für den Mesh-Sendeempfänger 1162 und den drahtlosen Netzwerk-Sendeempfänger 1166, wie hierin beschrieben, verwendet werden. Zum Beispiel können die Funksendeempfänger 1162 und 1166 einen LTE- oder anderen zellularen Sendeempfänger umfassen, der Spreizspektrum(SPA/SAS)-Kommunikationen zum Implementieren von Hochgeschwindigkeitskommunikationen verwendet. Ferner kann eine beliebige Anzahl an anderen Protokollen verwendet werden, wie beispielsweise Wi-Fi®-Netzwerke für Kommunikationen mittlerer Geschwindigkeit und die Bereitstellung von Netzwerkkommunikationen.
-
Die Funksendeempfänger 1162 und 1166 können Funksysteme umfassen, die mit jeder Anzahl von 3GPP(„Third Generation Partnership Project“)-Spezifikationen kompatibel sind, insbesondere „Long Term Evolution“ (LTE), „Long Term Evolution-Advanced“ (LTE-A) und „Long Term Evolution-Advanced Pro“ (LTE-A Pro). Es ist anzumerken, dass Funksysteme, die mit einer beliebigen Anzahl von anderen festen, mobilen oder Satelliten-Kommunikationstechnologien und - standards kompatibel sind, ausgewählt sein können. Diese können zum Beispiel eine beliebige zellulare Weitverkehr-Funkkommunikationstechnologie umfassen, die z. B. Kommunikationssysteme der 5. Generation (5G), eine „Global System for Mobile Communications“(GSM)-Funkkommunikationstechnologie, eine „General Packet Radio Service“(GPRS)-Funkkommunikationstechnologie oder eine „Enhanced Data Rates for GSM Evolution“ (EDGE)-Funkkommunikationstechnologie, eine UMTS(„Universal Mobile Telecommunications System“)-Kommunikationstechnologie, umfassen kann. Zusätzlich zu den oben aufgeführten Standards kann eine beliebige Anzahl von Satelliten-Uplink-Technologien für den drahtlosen Netzwerk-Sendeempfänger 1166 verwendet werden, einschließlich zum Beispiel Funksysteme, die unter anderem durch die Internationale Fernmeldeunion (ITU, International Telecommunication Union) oder das Europäische Institut für Telekommunikationsnormen (ETSI, European Telecommunications Standards Institute) herausgegebene Standards erfüllen. Die hierin bereitgestellten Beispiele sind somit als anwendbar auf verschiedene andere Kommunikationstechnologien, sowohl bestehende als auch noch nicht ausgearbeitete, zu verstehen.
-
Eine Netzwerkschnittstellensteuerung (NIC, Network Interface Controller) 1168 kann beinhaltet sein, um eine drahtgebundene Kommunikation mit der Cloud 1100 oder mit anderen Vorrichtungen, wie beispielsweise den Mesh-Vorrichtungen 1164, bereitzustellen. Die drahtgebundene Kommunikation kann eine Ethernet-Verbindung bereitstellen oder kann auf anderen Arten von Netzwerken basieren, wie beispielsweise unter anderem „Controller Area Network“ (CAN), „Local Interconnect Network“ (LIN), „DeviceNet“, „ControlNet“, „Data Highway+“, „PROFIBUS“ oder „PROFINET“. Eine zusätzliche NIC 1168 kann beinhaltet sein, um ein Verbinden mit einem zweiten Netzwerk zu ermöglichen, zum Beispiel eine NIC 1168, die Kommunikationen mit der Cloud über Ethernet bereitstellt, und eine zweite NIC 1168, die Kommunikationen mit anderen Vorrichtungen über eine andere Art von Netzwerk bereitstellt.
-
Die Verbindung 1156 kann den Prozessor 1152 mit einer externen Schnittstelle 1170 koppeln, die verwendet wird, um externe Vorrichtungen oder Teilsysteme zu verbinden. Die externen Vorrichtungen können Sensoren 1172 beinhalten, wie beispielsweise Beschleunigungsmesser, Füllstandsensoren, Durchflusssensoren, optische Lichtsensoren, Kamerasensoren, Temperatursensoren, Sensoren eines globalen Positionsbestimmungssystems (GPS, Global Positioning System), Drucksensoren, Luftdrucksensoren und dergleichen. Die externe Schnittstelle 1170 kann ferner verwendet werden, um die IdD-Vorrichtung 1150 mit Aktuatoren 1174, wie beispielsweise Leistungsschaltern, Ventilaktuatoren, einem akustischen Schallgeber, einer visuellen Warnvorrichtung und dergleichen zu verbinden.
-
In einigen optionalen Beispielen können verschiedene Eingabe-/Ausgabe(E/A)-Vorrichtungen in der IdD-Vorrichtung 1150 vorhanden oder mit dieser verbunden sein. Zum Beispiel kann eine Anzeige oder andere Ausgabevorrichtung 1184 beinhaltet sein, um Informationen wie beispielsweise Sensormessdaten oder eine Aktuatorposition anzuzeigen. Eine Eingabevorrichtung 1186 wie beispielsweise ein berührungsempfindlicher Bildschirm oder ein Tastenfeld können beinhaltet sein, um eine Eingabe aufzunehmen. Eine Ausgabevorrichtung 1184 kann eine beliebige Anzahl von Formen einer aktustischen oder visuellen Anzeige beinhalten, einschließlich einfacher visueller Ausgaben wie binäre Statusindikatoren (z. B. LEDs) und visuelle Ausgaben mit mehreren Zeichen, oder komplexere Ausgaben wie Anzeigebildschirme (z. B. LCD-Bildschirme), wobei die Ausgabe von Zeichen, Grafiken, Multimediaobjekten und dergleichen aus dem Betrieb der IdD-Vorrichtung 1150 erzeugt oder produziert wird.
-
Eine Batterie 1176 kann die IdD-Vorrichtung 1150 mit Leistung versorgen, obwohl sie in Beispielen, in denen die IdD-Vorrichtung 1150 an einem festen Standort angebracht ist, eine Leistungsversorgung aufweisen kann, die mit einem elektrischen Netz gekoppelt ist. Die Batterie 1176 kann eine Lithium-Ionen-Batterie oder eine Metall-Luftbatterie, wie beispielsweise eine Zink-Luftbatterie, eine Aluminium-Luftbatterie, eine Lithium-Luftbatterie und dergleichen sein.
-
Eine Batterieüberwachungs-/- ladevorrichtung 1178 kann in der IdD-Vorrichtung 1150 beinhaltet sein, um den Ladezustand (SoCh, State of Charge) der Batterie 1176 nachzuverfolgen. Die Batterieüberwachungs-/-ladevorrichtung 1178 kann verwendet werden, um andere Parameter der Batterie 1176 zu überwachen, um Ausfallvorhersagen bereitzustellen, wie beispielsweise den Alterungszustand (SoH, State of Health) und den Funktionszustand (SoF, State of Function) der Batterie 1176. Die Batterieüberwachungs-/-ladevorrichtung 1178 kann eine integrierten Batterieüberwachungsschaltung, wie beispielsweise ein LTC4020 oder ein LTC2990 von Linear Technologies, ein ADT7488A von ON Semiconductor in Phoenix, Arizona, oder eine IC aus der UCD90xxx-Familie von Texas Instruments in Dallas, Texas, beinhalten. Die Batterieüberwachungs-/-ladevorrichtung 1178 kann die Informationen über die Batterie 1176 zu dem Prozessor 1152 über die Verbindung 1156 kommunizieren. Die Batterieüberwachungs-/- ladevorrichtung 1178 kann zudem einen Analog-DigitalWandler (ADC, Analog-to-Digital Converter) beinhalten, der dem Prozessor 1152 ermöglicht, die Spannung der Batterie 1176 oder den Stromfluss von der Batterie 1176 direkt zu überwachen. Die Batterieparameter können verwendet werden, um Maßnahmen zu bestimmen, die die IdD-Vorrichtung 1150 durchführen kann, wie beispielsweise Übertragungsfrequenz, Mesh-Netzwerkbetrieb, Erfassungsfrequenz und dergleichen.
-
Ein Netzteil 1180, oder eine andere mit einem Netz gekoppelte Leistungsversorgung, kann mit der Batterieüberwachungs-/-ladevorrichtung 1178 gekoppelt sein, um die Batterie 1176 zu laden. In einigen Beispielen kann das Netzteil 1180 durch einen drahtlosen Leistungsempfänger ersetzt sein, um die Leistung drahtlos zu erhalten, zum Beispiel über eine Schleifenantenne in der IdD-Vorrichtung 1150. Eine drahtlose Batterieladeschaltung, wie beispielsweise unter anderem ein LTC4020-Chip von Linear Technologies in Milpitas, Kalifornien, kann in der Batterieüberwachungs-/-ladevorrichtung 1178 beinhaltet sein. Die spezifischen ausgewählten Ladeschaltungen hängen von der Größe der Batterie 1176 und somit von dem erforderlichen Strom ab. Das Laden kann unter anderem unter Verwendung des von der Airfuel Alliance festgelegten „Airfuel“-Standards, des von dem Wireless Power Consortium festgelegten „Qi“-Standard für drahtloses Laden oder des von der Alliance for Wireless Power festgelegten „Rezence“-Ladestandards durchgeführt werden.
-
Der Speicher 1158 kann Anweisungen 1182 in der Form von Software, Firmware oder Hardware-Befehlen umfassen, um die hierin beschriebenen Techniken zu implementieren. Zwar sind derartige Anweisungen 1182 als in dem Arbeitsspeicher 1154 und dem Speicher 1158 beinhaltete Codeblöcke gezeigt, es versteht sich jedoch, dass jeder der Codeblöcke durch festverdrahtete Schaltungen, die zum Beispiel in eine anwendungsspezifische integrierte Schaltung (ASIC, Application Specific Integrated Circuit) integriert sind, ersetzt werden können.
-
In einem Beispiel können die über den Arbeitsspeicher 1154, den Speicher 1158 oder den Prozessor 1152 bereitgestellten Anweisungen 1182 als ein nicht-flüchtiges, maschinenlesbares Medium 1160 mit Code zum Anweisen des Prozessors 1152, elektronische Operationen in der IdD-Vorrichtung 1150 durchzuführen, repräsentiert sein. Der Prozessor 1152 kann über die Verbindung 1156 auf das nicht-flüchtige, maschinenlesbare Medium 1160 zugreifen. Zum Beispiel kann das nicht-flüchtige, maschinenlesbare Medium 1160 Speichereinheiten wie beispielsweise optische Platten, Flash-Laufwerke oder eine beliebige Anzahl anderer Hardwarevorrichtungen umfassen. Das nicht-flüchtige, maschinenlesbare Medium 1160 kann Anweisungen beinhalten, um den Prozessor 1152 anzuweisen, eine spezifische Sequenz oder einen Ablauf von Aktionen durchzuführen, zum Beispiel wie in Bezug auf das/die Flussdiagramm(e) und Diagramm(e) von Operationen und Funktionalität beschrieben, die in der vorliegenden Offenbarung beschrieben sind.
-
Beispielhafte Datenverarbeitungsarchitekturen
-
12 und 13 veranschaulichen beispielhafte Computerprozessorarchitekturen, die gemäß hierin offenbarten Ausführungsformen verwendet werden können. Zum Beispiel können in verschiedenen Ausführungsformen die Computerarchitekturen der 12 und 13 verwendet werden, um die in der vorliegenden Offenbarung beschriebene visuelle Fog-Funktionalität zu implementieren. Andere Ausführungsformen können andere im Stand der Technik bekannte Prozessor- und Systemauslegungen und -konfigurationen nutzen, da beispielsweise Laptops, Desktop-Computer, portable PCs, persönliche digitale Assistenten, Engineering-Workstations, Server, Netzwerkvorrichtungen, Netzwerk-Hubs, Switches, eingebettete Prozessoren, Digitalsignalprozessoren (DSPs), Grafikvorrichtungen, Videospielvorrichtungen, Set-Top-Boxen, Mikrocontroller, Mobiltelefone, tragbare Medienabspielvorrichtungen, portable Vorrichtungen und verschiedene andere elektronische Vorrichtungen ebenfalls geeignet sind. Im Allgemeinen ist eine große Vielzahl von Systemen oder elektronischen Vorrichtungen, die in der Lage sind, einen Prozessor und/oder eine andere Ausführungslogik wie hierin offenbart einzuschließen, im Allgemeinen geeignet.
-
12 veranschaulicht ein Blockdiagramm für eine beispielhafte Ausführungsform eines Prozessors 1200. Der Prozessor 1200 ist ein Beispiel einer Art von Hardwarevorrichtung, die in Verbindung mit in der vorliegenden Offenbarung beschriebenen Ausführungsformen verwendet werden kann. Der Prozessor 1200 kann eine beliebige Art von Prozessor sein, wie beispielsweise ein Mikroprozessor, ein eingebetteter Prozessor, ein Digitalsignalprozessor (DSP), ein Netzwerkprozessor, ein Mehrkernprozessor, ein Einzelkernprozessor oder eine andere Vorrichtung zum Ausführen von Code. Zwar ist in 12 nur ein Prozessor 1200 dargestellt, ein Verarbeitungselement kann jedoch alternativ mehr als einen des in 12 dargestellten Prozessors 1200 beinhalten. Der Prozessor 1200 kann ein einfädiger Kern sein oder, bei mindestens einer Ausführungsform, kann der Prozessor 1200 derart mehrfädig sein, dass er mehr als einen Hardware-Threadkontext (oder „logischen Prozessor“) pro Kern beinhalten kann.
-
12 stellt auch einen Arbeitsspeicher 1202 dar, der mit dem Prozessor 1200 gemäß einer Ausführungsform gekoppelt ist. Der Arbeitsspeicher 1202 kann ein beliebiger einer breiten Vielfalt von Arbeitsspeichern sein (einschließlich verschiedener Ebenen von Arbeitsspeicherhierarchie), wie sie bekannt oder anderweitig für Fachleute auf dem Gebiet verfügbar sind. Derartige Arbeitsspeicherelemente können umfassen, sind jedoch nicht beschränkt auf, Direktzugriffsspeicher (RAM, Random Access Memory), Nurlesespeicher (ROM, Read Only Memory), Logikblöcke eines feldprogrammierbaren Gate-Arrays (FPGA, Field-Programmable Gate Array), löschbaren programmierbaren Nurlesespeicher (EPROM, Erasable Programmable Read-Only Memory) und elektrisch löschbaren programmierbaren Nurlesespeicher (EEPROM, Electrically Erasable Programmable Read-Only Memory).
-
Der Prozessor 1200 kann eine beliebige Art von Anweisungen in Zusammenhang mit hierin ausgeführten Algorithmen, Prozessen oder Operationen ausführen. Im Allgemeinen kann der Prozessor 1200 ein Element oder ein Objekt (z. B. Daten) von einem Zustand oder Gegenstand in einen anderen Zustand oder Gegenstand umwandeln.
-
Der Code 1204, der eine oder mehrere durch den Prozessor 1200 ausführbare Anweisungen sein kann, kann in dem Arbeitsspeicher 1202 gespeichert sein, oder kann in Software, Hardware, Firmware oder einer beliebigen geeigneten Kombination daraus, oder in jeder/m anderen internen oder externen Komponente, Vorrichtung, Element oder Objekt, wo angebracht und basierend auf bestimmten Anforderungen, gespeichert sein. In einem Beispiel kann der Prozessor 1200 eine Programmsequenz von Anweisungen, die durch Code 1204 angegeben sind, befolgen. Jede Anweisung geht in eine Frontend-Logik 1206 ein und wird durch einen oder mehrere Decodiervorrichtungen 1208 verarbeitet. Die Decodiervorrichtung kann als ihre Ausgabe eine Mikrooperation wie beispielsweise eine Mikrooperation fester Breite in einem vordefinierten Format erzeugen, oder kann anderen Anweisungen, Mikroanweisungen oder Steuersignale erzeugen, welche die ursprünglichen Codeanweisungen wiedergeben. Die Frontend-Logik 1206 kann auch eine Registerumbenennungslogik und Planungslogik beinhalten, die im Allgemeinen Ressourcen zuweisen und die Operation entsprechend der Anweisung zur Ausführung in eine Warteschlange stellen.
-
Der Prozessor 1200 kann auch eine Ausführungslogik 1214 mit einem Satz von Ausführungseinheiten 1216a, 1216b, 1216n usw. beinhalten. Einige Ausführungsformen können eine Reihe von Ausführungseinheiten beinhalten, die für spezielle Funktionen oder Sätze von Funktionen dediziert sind. Andere Ausführungsformen können nur eine Ausführungseinheit oder eine Ausführungseinheit, die eine bestimmte Funktion durchführen kann, beinhalten. Die Ausführungslogik 1214 führt die durch die Codeanweisungen spezifizierten Operationen durch.
-
Nach Abschluss der Ausführung der durch die Codeanweisungen spezifizierten Operationen kann eine Backend-Logik 1218 die Anweisungen von Code 1204 rückordnen. In einer Ausführungsform ermöglicht der Prozessor 1200 eine Ausführung in anderer Reihenfolge, erfordert jedoch eine Rückordnung (Engl.: Retirement) der Anweisungen in der Reihenfolge. Eine Rückordnungslogik 1220 kann eine Vielzahl bekannter Formen annehmen (z. B. Rückordnungspuffer oder dergleichen). Auf diese Weise wird der Prozessor 1200 während der Ausführung des Codes 1204 transformiert, zumindest hinsichtlich der durch die Decodiervorrichtung erzeugten Ausgabe, der durch die Registerumbenennungslogik 1210 genutzten Hardware-Register und Tabellen und jeglicher Register (nicht gezeigt), die durch die Ausführungslogik 1214 modifiziert werden.
-
Obwohl in 12 nicht gezeigt, kann ein Verarbeitungselement andere Elemente auf einem Chip mit dem Prozessor 1200 beinhalten. Zum Beispiel kann ein Verarbeitungselement neben dem Prozessor 1200 eine Speichersteuerlogik beinhalten. Das Verarbeitungselement kann eine E/A-Steuerlogik beinhalten und/oder kann eine in die Speichersteuerlogik integrierte E/A-Steuerlogik beinhalten. Das Verarbeitungselement kann zudem einen oder mehrere Caches beinhalten. In einigen Ausführungsformen kann zudem ein nicht-flüchtiger Arbeitsspeicher (wie beispielsweise ein Flash-Speicher oder Fuses) auf dem Chip mit dem Prozessor 1200 beinhaltet sein.
-
13 veranschaulicht ein Blockdiagramm für eine beispielhafte Ausführungsform eines Multiprozessors 1300. Wie in 13 gezeigt, ist das Mehrprozessorsystem 1300 ein Punkt-zu-Punkt-Verbindungssystem und umfasst einen ersten Prozessor 1370 und einen zweiten Prozessor 1380, die über eine Punkt-zu-Punkt-Verbindung 1350 gekoppelt sind. In einigen Ausführungsformen kann jeder der Prozessoren 1370 und 1380 eine Version des Prozessors 1200 der 12 sein.
-
Die Prozessoren 1370 und 1380 sind als integrierte Speichersteuerungs-Einheiten (IMC, Integrated Memory Controller) 1372 bzw. 1382 umfassend gezeigt. Der Prozessor 1370 beinhaltet zudem als Teil seiner Bussteuereinheiten Punkt-zu-Punkt(P-P)-Schnittstellen 1376 und 1378; gleichermaßen beinhaltet der zweite Prozessor 1380 P-P-Schnittstellen 1386 und 1388. Die Prozessoren 1370, 1380 können über eine Punkt-zu-Punkt(P-P)-Schnittstelle 1350 unter Verwendung von P-P-Schnittstellenschaltungen 1378, 1388 Informationen austauschen. Wie in 13 gezeigt, koppeln die IMCs 1372 und 1382 die Prozessoren mit jeweiligen Arbeitsspeichern, nämlich einem Arbeitsspeicher 1332 und einem Arbeitsspeicher 1334, die Teile eines Hauptspeichers sein können, der lokal an den jeweiligen Prozessoren angeschlossen ist.
-
Die Prozessoren 1370, 1380 können jeweils Informationen mit einem Chipsatz 1390 über einzelne P-P-Schnittstellen 1352, 1354 unter Verwendung von Punkt-zu-Punkt-Schnittstellenschaltungen 1376, 1394, 1386, 1398 austauschen. Der Chipsatz 1390 kann optional Informationen mit dem Koprozessor 1338 über eine Hochleistungsschnittstelle 1339 austauschen. In einer Ausführungsform ist der Koprozessor 1338 ein Sonderzweckprozessor, wie zum Beispiel ein Hochdurchsatz-MIC-Prozessor, ein Netzwerk- oder Kommunikationsprozessor, eine Kompressions-Engine, ein Grafikprozessor, eine GPGPU, ein eingebetteter Prozessor, ein Matrix-Prozessor oder dergleichen.
-
Ein gemeinsamer Cache (nicht gezeigt) kann in jedem Prozessor oder außerhalb beider Prozessoren beinhaltet sein, jedoch mit den Prozessoren über eine P-P-Verbindung derart verbunden sein, dass lokale Cacheinformationen jedes oder beider Prozessoren in dem gemeinsamen Cache gespeichert werden können, wenn ein Prozessor in einen Niedrigenergiemodus versetzt ist.
-
Der Chipsatz 1390 kann mit einem ersten Bus 1316 über eine Schnittstelle 1396 gekoppelt sein. In einer Ausführungsform kann der erste Bus 1316 ein „Peripheral Component Interconnect“(PCI)-Bus oder ein Bus wie beispielsweise ein PCI-Express-Bus oder ein anderer E/A-Verbindungsbus der dritten Generation sein, obwohl der Schutzumfang der vorliegenden Offenbarung nicht darauf beschränkt ist.
-
Wie in 13 gezeigt, können verschiedene E/A-Vorrichtungen 1314 mit dem ersten Bus 1316 zusammen mit einer Busbrücke 1318, die den ersten Bus 1316 mit einem zweiten Bus 1320 koppelt, gekoppelt sein. In einer Ausführungsform sind ein oder mehrere zusätzliche Prozessoren 1315, wie Koprozessoren, Hochdurchsatz-MIC-Prozessoren, GPGPUs, Beschleuniger (wie z. B. Grafikbeschleuniger oder Digitalsignalprozessor(DSP)-Einheiten), Matrix-Prozessoren, feldprogrammierbare Gate-Arrays oder ein beliebiger anderer Prozessor, mit dem ersten Bus 1316 gekoppelt. In einer Ausführungsform kann der zweite Bus 1320 ein „Low Pin Count“ (LPC)-Bus sein. In einer Ausführungsform können verschiedene Vorrichtungen mit einem zweiten Bus 1320 gekoppelt sein, einschließlich zum Beispiel eine Tastatur und/oder eine Maus 1322, Kommunikationsvorrichtungen 1327 und eine Speichereinheit 1328, wie beispielsweise ein Festplattenlaufwerk oder eine andere Massenspeichervorrichtung, die Anweisungen/Code und Daten 1330 umfassen kann. Ferner kann eine Audio-E/A 1324 mit dem zweiten Bus 1320 gekoppelt sein. Es ist anzumerken, dass andere Architekturen möglich sind. Zum Beispiel kann ein System anstelle der Punkt-zu-Punkt-Architektur der 13 einen Multi-Drop-Bus oder eine andere derartige Architektur implementieren.
-
Alle oder ein Teil jeder Komponente der 13 kann als ein(e) separate(r) oder eigenständige(r) Komponente oder Chip implementiert sein, oder kann in andere Komponenten oder Chips integriert sein, wie beispielsweise ein Ein-Chip-System (SoC, System on a Chip), bei dem verschiedene Computerkomponenten auf einem einzelnen Chip integriert sind.
-
Ausführungsformen der hierin offenbarten Mechanismen können in Hardware, Software, Firmware oder einer Kombination derartiger Implentierungsansätze implementiert sein. Bestimmte Ausführungsformen können als Computerprogramme oder Programmcode implementiert sein, die/der auf programmierbaren Systemen mit mindestens einem Prozessor, einem Speichersystem (einschließlich flüchtigem und nicht-flüchtigem Arbeitsspeicher und/oder Speicherelemente), mindestens einer Eingabevorrichtung und mindestens einer Ausgabevorrichtung ausgeführt werden/wird.
-
Programmcode, wie der in 13 dargestellte Code 1330, kann angewendet werden, um Anweisungen einzugeben, um die hierin beschriebenen Funktionen durchzuführen und Ausgabeinformationen zu erzeugen. Die Ausgabeinformationen können auf eine oder mehrere Ausgabevorrichtungen in bekannter Weise angewendet werden. Zu Zwecken dieser Anmeldung umfasst ein Verarbeitungssystem ein beliebiges System, das einen Prozessor aufweist, wie zum Beispiel: einen Digitalsignalprozessor (DSP), einen Mikrocontroller, eine anwendungsspezifische integrierte Schaltung (ASIC, Application Specific Integrated Circuit) oder einen Mikroprozessor.
-
Der Programmcode kann in einer prozeduralen oder objektorientierten Programmierhochsprache für ein Kommunizieren mit einem Verarbeitungssystem implementiert sein. Der Programmcode kann, wenn gewünscht, auch in einer Assembler- oder Maschinensprache implementiert sein. Tatsächlich sind die hierin beschriebenen Mechanismen hinsichtlich ihres Schutzumfangs nicht auf eine bestimmte Programmiersprache beschränkt. In jedem Fall kann die Sprache eine kompilierte oder interpretierte Sprache sein.
-
Ein oder mehrere Aspekte von mindestens einer Ausführungsform können durch repräsentative Anweisungen implementiert sein, die auf einem maschinenlesbaren Medium gespeichert sind, das verschiedene Logik innerhalb des Prozessors repräsentiert, welche, wenn sie durch eine Maschine gelesen werden, die Maschine veranlassen, Logik zu erstellen, um die hierin beschriebenen Techniken durchzuführen. Solche Repräsentationen, die als „IP-Kerne“ bekannt sind, können auf einem materiellen, maschinenlesbaren Medium gespeichert sein und an verschiedene Kunden oder Produktionsstätten übermittelt werden, um sie in die Fertigungsmaschinen zu laden, welche die Logik oder den Prozessor tatsächlich ausmachen.
-
Derartige maschinenlesbare Medien können unter anderem nicht-flüchtige, materielle Anordnungen von durch eine Maschine oder Vorrichtung hergestellten oder geformten Objekten beinhalten, einschließlich Speichermedien wie Festplatten, jede andere Art von Platte bzw. Disk, einschließlich Floppy-Disks, optische Platten, CD-ROMs (Compact Disk Read-Only Memories), wiederbeschreibbare CDs (CD-RWs, Compact Disk Rewritables) und magneto-optische Platten, Halbleitervorrichtungen wie beispielsweise Nurlesespeicher (ROMs, Read-Only Memories), Direktzugriffsspeicher (RAMs, Random Access Memories) wie z. B. dynamische Direktzugriffsspeicher (DRAMs, Dynamic Random Access Memories), statische Direktzugriffsspeicher (SRAMs, Static Random Access Memories), löschbare, programmierbare Nurlesespeicher (EPROMs, Erasable Programmable Read-Only Memories), Flash-Speicher, elektrisch löschbare, programmierbare Nurlesespeicher (EEPROMs, Electrically Erasable Programmable Read-Only Memories), Phasenwechselspeicher (PCM, Phase Change Memory), Magnet- oder optische Karten oder jede andere Art von Medien, die zum Speichern elektronischer Anweisungen geeignet sind.
-
Dementsprechend umfassen die Ausführungsformen der vorliegenden Offenbarung auch nicht-flüchtige, materielle maschinenlesbare Medien, die Anweisungen enthalten oder Auslegungsdaten enthalten, wie beispielsweise Hardwarebeschreibungssprache (HDL, Hardware Description Language), die hierin beschriebene Strukturen, Schaltungen, Einrichtungen, Prozessoren und/oder Systemmerkmale definiert. Derartige Ausführungsformen können auch als Programmprodukte bezeichnet werden.
-
Die Flussdiagramme und Blockdiagramme in den FIGUREN veranschaulichen die Architektur, Funktionalität und den Betrieb von möglichen Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Aspekten der vorliegenden Offenbarung. In dieser Hinsicht kann jeder Block in dem Flussdiagramm oder den Blockdiagrammen ein Modul, Segment oder einen Teil von Code repräsentieren, das/der eine oder mehrere ausführbare Anweisungen zum Implementieren der spezifizierten logischen Funktion(en) umfasst. Es ist auch anzumerken, dass in einigen alternativen Implementierungen die in dem Block aufgeführten Funktionen in anderer Reihenfolge als in den Figuren aufgeführt auftreten können. Zum Beispiel können zwei hintereinander gezeigte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal in umgekehrter Reihenfolge oder alternativen Reihenfolgen ausgeführt werden, je nach der entsprechenden Funktionalität. Es ist zudem anzumerken, dass jeder Block der Blockdiagramme und/oder der Flussdiagrammdarstellung, und Kombinationen von Blöcken in den Blockdiagrammen und/oder der Flussdiagrammdarstellung, durch hardwarebasierte Sonderzwecksysteme, die die spezifizierten Funktionen oder Aktionen durchführen, oder Kombinationen von Sonderzweckhardware und Computeranweisungen implementiert sein können.
-
Die vorangegangene Offenbarung beschreibt Merkmale mehrerer Ausführungsformen, damit Fachleute auf dem Gebiet verschiedene Aspekte der vorliegenden Offenbarung besser verstehen können. Fachleuten sollte offensichtlich sein, dass sie die vorliegende Offenbarung ohne Weiteres als eine Basis verwenden können, um andere Prozesse und Strukturen auszulegen oder zu modifizieren, um die gleichen Zwecke auszuführen und/oder die gleichen Vorteile der hierin vorgestellten Ausführungsformen zu erreichen. Fachleute sollten auch erkennen, dass derartige äquivalente Auslegungen nicht vom Erfindungsgedanken und Schutzumfang der vorliegenden Offenbarung abweichen, und dass sie verschiedene Änderungen, Ersetzungen und Abänderungen hierin vornehmen können, ohne vom Erfindungsgedanken und Schutzumfang der vorliegenden Offenbarung abzuweichen.
-
Alle oder ein Teil jedes hierin offenbarten Hardwareelements kann ohne Weiteres in einem Ein-Chip-System (SoC) bereitgestellt sein, einschließlich eines Bausteins einer zentralen Verarbeitungseinheit (CPU, Central Processing Unit). Ein SoC stellt eine integrierte Schaltung (IC, Integrated Circuit) dar, die Komponenten eines Computers oder eines anderen elektronischen Systems in einen einzelnen Chip integriert. Das SoC kann digitale, analoge, Mischsignal- und Hochfrequenz-Funktionen aufweisen, die alle auf einem einzelnen Chipsubstrat bereitgestellt sein können. Andere Ausführungsformen können ein Mehrfachchipmodul (MCM, Multi-Chip-Module) mit mehreren Chips umfassen, die sich in einem einzelnen elektronischen Baustein befinden und ausgestaltet sind, über den elektronischen Baustein eng miteinander zu interagieren. In verschiedenen anderen Ausführungsformen können die hierin offenbarten Datenverarbeitungsfunktionalitäten in einem oder mehreren Siliziumkernen in anwendungsspezifischen integrierten Schaltungen (ASICs), feldprogrammierbaren Gate-Arrays (FPGAs) und anderen Halbleiterchips implementiert sein.
-
Wie in der vorliegenden Spezifikation verwendet, ist der Begriff „Prozessor“ oder „Mikroprozessor“ so zu verstehen, dass er nicht nur einen herkömmlichen Mikroprozessor (wie beispielsweise die branchenführenden x86- und x64-Architekturen von Intel®) umfasst, sondern auch Grafikprozessoren, Matrix-Prozessoren und jede Art von ASIC, FPGA, Mikrocontroller, Digitalsignalprozessor (DSP), programmierbare Logikvorrichtung, programmierbare logische Anordnung (PLA, Programmable Logic Array), Mikrocode, Anweisungssatz, Prozessor emulierter oder virtueller Maschinen oder jede ähnliche „turingmächtige“ Vorrichtung, Kombination von Vorrichtungen oder logische Elemente (Hardware oder Software), die die Ausführung von Anweisungen ermöglichen.
-
Es ist zudem anzumerken, dass in bestimmten Ausführungsformen einige der Komponenten weggelassen oder zusammengefasst sein können. Grundsätzlich sind die in den Figuren dargestellten Anordnungen als logische Einheiten zu verstehen, wobei eine physische Architektur verschiedene Permutationen, Kombinationen und/oder Mischformen dieser Elemente beinhalten kann. Es ist unerlässlich anzumerken, dass zahllose mögliche Auslegungskonfigurationen verwendet werden können, um die hierin aufgeführten operativen Ziele zu erreichen. Dementsprechend weist die zugehörige Infrastruktur unzählige von Ersatzanordnungen, Auslegungswahlmöglichkeiten, Vorrichtungsmöglichkeiten, Hardwareauslegungen, Softwareimplementierungen und Ausrüstungsoptionen auf.
-
Grundsätzlich kann jeder Prozessor mit geeigneter Auslegung Anweisungen in Zusammenhang mit Daten oder Mikrocode ausführen, um die hierin ausgeführten Operationen zu erreichen. Jeder hierin offenbarte Prozessor könnte ein Element oder ein Objekt (zum Beispiel Daten) von einem Zustand oder Gegenstand in einen anderen Zustand oder Gegenstand umwandeln. In einem anderen Beispiel können einige hierin aufgeführte Aktionen mit fest verdrahteter Logik oder programmierbarer Logik (zum Beispiel durch einen Prozessor ausgeführte Software und/oder Computeranweisungen) implementiert sein und die hierin genannten Elemente könnten eine Art von einem programmierbaren Prozessor, einer programmierbaren digitalen Logik (zum Beispiel ein feldprogrammierbares Gate-Array (FPGA), ein löschbarer programmierbarer Nurlesespeicher (EPROM), ein elektrisch löschbarer programmierbarer Nurlesespeicher (EEPROM)), eine ASIC umfassend digitale Logik, Software, Code, elektronische Anweisungen, Flash-Speicher, optische Platten, CD-ROMs, DVD ROMs, Magnet- oder optische Karten, andere Arten von maschinenlesbaren Medien, die zum Speichern von elektronischen Anweisungen geeignet sind, oder eine beliebige geeignete Kombination daraus sein.
-
Im Betrieb kann ein Speicher Informationen in jeder geeigneten Art von materiellem, nicht-flüchtigem Speichermedium (zum Beispiel Direktzugriffsspeicher (RAM), Nurlesespeicher (ROM), feldprogrammierbares Gate-Array (FPGA), löschbarer programmierbarer Nurlesespeicher (EPROM), elektrisch löschbarer programmierbarer Nurlesespeicher (EEPROM) oder Mikrocode), Software, Hardware (zum Beispiel Prozessoranweisungen oder Mikrocode) oder in jeder/m anderen geeigneten Komponente, Vorrichtung, Element oder Objekt, wo angebracht und basierend auf bestimmten Anforderungen, speichern. Ferner könnten die Informationen, die von einem Prozessor nachverfolgt, gesendet, empfangen oder in diesem gespeichert werden, in jeder Datenbank, jedem Register, jeder Tabelle, jedem Cache, jeder Warteschlange, jeder Steuerliste oder jeder Speicherstruktur basierend auf bestimmten Anforderungen und Implementationen bereitgestellt sein, auf die alle in jedem geeigneten Zeitrahmen zugegriffen werden könnte. Jedes der hierin offenbarten Arbeitsspeicher- oder Speicherelemente sollte als in die breiten Begriffe „Arbeitsspeicher“ bzw. „Speicher“ fallend ausgelegt werden. Ein nicht-flüchtiges Speichermedium hierin soll ausdrücklich jede nicht-flüchtige Sonderzweck- oder programmierbare Hardware beinhalten, die ausgestaltet ist, die offenbarten Operationen bereitzustellen oder einen Prozessor zu veranlassen, die offenbarten Operationen durchzuführen. Ein nicht-flüchtiges Speichermedium beinhaltet auch ausdrücklich einen Prozessor, auf dem hardwarecodierte Anweisungen, und optional Mikrocode-Anweisungen oder Sequenzen, die in Hardware, Firmware oder Software codiert sind, gespeichert sind.
-
Computerprogrammlogik, die die gesamte oder einen Teil der hierin beschriebenen Funktionalität implementiert, ist in verschiedenen Formen ausgeführt, einschließlich, jedoch keinesfalls beschränkt auf, Hardwarebeschreibungssprache, eine Quellcodeform, eine computerausführbare Form, Maschinenanweisungen oder Mikrocode, programmierbare Hardware und verschiedene Zwischenformen (zum Beispiel durch einen HDL-Prozessor, Assembler, Kompilierer, Binder oder Locator erzeugte Formen). In einem Beispiel beinhaltet Quellcode eine Reihe von Computerprogrammanweisungen, die in verschiedenen Programmiersprachen implementiert sind, wie beispielsweise ein Objektcode, eine Assemblersprache oder eine Hochsprache wie OpenCL, FORTRAN, C, C++, JAVA oder HTML für eine Verwendung mit verschiedenen Betriebssystemen oder Betriebsumgebungen, oder in Hardwarebeschreibungssprachen wie Spice, Verilog und VHDL. Der Quellcode kann verschiedene Datenstrukturen und Kommunikationsnachrichten definieren und verwenden. Der Quellcode kann in einer computerausführbaren Form (z. B. über einen Interpreter) sein, oder der Quellcode kann (z. B. über einen Übersetzer, Assembler oder Kompilierer) in eine computerausführbare Form konvertiert werden, oder in eine Zwischenform konvertiert werden, wie beispielsweise einen Bytecode. Gegebenenfalls kann jedes der vorgenannten Elemente verwendet werden, um geeignete diskrete oder integrierte Schaltungen aufzubauen oder zu beschreiben, ob sequentiell, kombinatorisch, Zustandsmaschinen oder andere.
-
In einem Beispiel kann eine beliebige Anzahl von elektrischen Schaltungen der FIGUREN auf einer Platine einer zugehörigen elektronischen Vorrichtung implementiert sein. Die Platine kann eine allgemeine Leiterplatte sein, die verschiedene Komponenten des internen elektronischen Systems der elektronischen Vorrichtung tragen und ferner Anschlüsse für andere Peripherieelemente bereitstellen kann. Insbesondere kann die Platine die elektrischen Verbindungen bereitstellen, durch die die anderen Komponenten des Systems elektrisch kommunizieren können. Jeder geeignete Prozessor und Speicher kann basierend auf besonderen Konfigurationsanforderungen, Verarbeitungsanforderungen und Datenverarbeitungsauslegungen auf geeignete Weise mit der Platine gekoppelt sein. Andere Komponenten wie externer Speicher, zusätzliche Sensoren, Steuerungen für eine Audio/Videoanzeige und Peripherievorrichtungen können an die Platine als Steckkarten, über Kabel angeschlossen oder in die Platine selbst integriert sein. In einem anderen Beispiel können die elektrischen Schaltungen der FIGUREN als eigenständige Module (z. B. eine Vorrichtung mit zugehörigen Komponenten und Schaltungen, die ausgestaltet ist, eine spezifische Anwendung oder Funktion durchzuführen) implementiert sein oder als Steckmodule in anwendungsspezifischer Hardware von elektronischen Vorrichtungen implementiert sein.
-
Es ist zu beachten, dass in den zahlreichen hierin bereitgestellten Beispielen eine Interaktion betreffend zwei, drei, vier oder mehr elektrische Komponenten beschrieben sein kann. Dies erfolgt jedoch lediglich zu Zwecken der Klarheit und rein beispielhaft. Es versteht sich, dass das System auf beliebige geeignete Weise zusammengestellt und neu konfiguriert sein kann. Neben ähnlichen Auslegungsalternativen können beliebige der dargestellten Komponenten, Module und Elemente der FIGUREN in verschiedenen möglichen Auslegungen kombiniert sein, die alle in dem breiten Schutzumfang der vorliegenden Spezifikation liegen. In bestimmten Fällen kann es einfacher sein, eine oder mehrere der Funktionalitäten eines gegebenen Satzes von Abläufen zu beschreiben, indem nur auf eine begrenzte Anzahl von elektrischen Elementen Bezug genommen wird. Es versteht sich, dass die elektrischen Schaltungen der FIGUREN und deren Lehren ohne Weiteres skalierbar sind und eine große Anzahl von Komponenten sowie kompliziertere/anspruchsvollere Anordnungen und Konfigurationen umfassen können. Dementsprechend sollen die bereitgestellten Beispiele weder den Schutzumfang einschränken noch verhindern, dass die umfassenden Lehren der elektrischen Schaltungen möglicherweise auf unzählige andere Architekturen angewendet werden.
-
Zahlreiche andere Änderungen, Ersetzungen, Variationen, Abänderungen und Modifikationen können von Fachleuten bestimmt werden, und es ist beabsichtigt, dass die vorliegende Offenbarung alle derartigen Änderungen, Ersetzungen, Variationen, Abänderungen und Modifikationen als in den Schutzumfang der beigefügten Ansprüche fallend einschließt.
-
Beispielhafte Implementierungen
-
Die folgenden Beispiele betreffen in der vorliegenden Offenbarung beschriebene Ausführungsformen.
-
Eine oder mehrere Ausführungsformen können eine Einrichtung beinhalten, die Folgendes umfasst: eine Anzeigeschnittstelle zum Kommunizieren mit einer Anzeigevorrichtung; und einem Prozessor zum: Identifizieren einer mobilen Transaktion in Zusammenhang mit einem Benutzer, wobei die mobile Transaktion eine potentielle Transaktion umfasst, die unter Verwendung einer mobilen Vorrichtung des Benutzers abzuschließen ist; Zugreifen auf Transaktionsdaten in Zusammenhang mit der mobilen Transaktion; Verschlüsseln der Transaktionsdaten basierend auf einem Verschlüsselungsschlüssel in Zusammenhang mit dem Benutzer, wobei das Verschlüsseln der Transaktionsdaten bewirkt, dass verschlüsselte Transaktionsdaten erzeugt werden; Erzeugen eines visuellen Codes in Zusammenhang mit den verschlüsselten Transaktionsdaten, wobei der visuelle Code visuell codierte Daten umfasst, und wobei der visuelle Code in einer geschützten Ausführungsumgebung des Prozessors erzeugt ist; Herstellen eines geschützten Datenpfads zwischen dem Prozessor und der Anzeigevorrichtung, wobei der geschützte Datenpfad über die Anzeigeschnittstelle hergestellt wird; und Übertragen des visuellen Codes zu der Anzeigevorrichtung über den geschützten Datenpfad, wobei der visuelle Code auf der Anzeigevorrichtung anzuzeigen ist.
-
In einer beispielhaften Ausführungsform einer Einrichtung umfasst der visuelle Code einen Quick-Response(QR)-Code.
-
In einer beispielhaften Ausführungsform einer Einrichtung umfasst die geschützte Ausführungsumgebung eine vertrauenswürdige Ausführungsumgebung (TEE).
-
In einer beispielhaften Ausführungsform der Einrichtung: Der Prozessor, der den geschützten Datenpfad zwischen dem Prozessor und der Anzeigevorrichtung herstellt, dient ferner zu Folgendem: Herstellen eines zweiten Verschlüsselungsschlüssels in Zusammenhang mit dem geschützten Datenpfad, wobei Übertragungen zwischen dem Prozessor und der Anzeigevorrichtung über die Anzeigeschnittstelle basierend auf dem zweiten Verschlüsselungsschlüssel zu verschlüsseln sind; und der Prozessor, der den visuellen Code zu der Anzeigevorrichtung über den geschützten Datenpfad überträgt, dient ferner zu Folgendem: Verschlüsseln des visuellen Codes basierend auf dem zweiten Verschlüsselungsschlüssel, wobei das Verschlüsseln des visuellen Codes bewirkt, dass ein verschlüsselter visueller Code erzeugt wird; und Übertragen des verschlüsselten visuellen Codes zu der Anzeigevorrichtung über den geschützten Datenpfad.
-
In einer beispielhaften Ausführungsform der Einrichtung: Die potentielle Transaktion umfasst einen Kauf von einem oder mehreren Produkten; und die Transaktionsdaten umfassen Daten in Zusammenhang mit dem Kauf des einen oder der mehreren Produkte.
-
In einer beispielhaften Ausführungsform der Einrichtung: Die potentielle Transaktion steht mit einer Werbeanzeige für das eine oder die mehreren Produkte in Zusammenhang; und der Prozessor dient ferner zum Bewirken, dass die Werbeanzeige auf der Anzeigevorrichtung angezeigt wird.
-
In einer beispielhaften Ausführungsform der Einrichtung dient der Prozessor, der den visuellen Code in Zusammenhang mit den verschlüsselten Transaktionsdaten erzeugt, ferner zu Folgendem: Speichern der verschlüsselten Transaktionsdaten an einem Netzwerkspeicherort, wobei die verschlüsselten Transaktionsdaten durch die mobile Vorrichtung über eine Internetadresse (URL, Uniform Resource Locator) in Zusammenhang mit dem Netzwerkspeicherort zugreifbar sind; und Codieren der URL in den visuellen Code.
-
In einer beispielhaften Ausführungsform der Einrichtung dient der Prozessor ferner zum Detektieren des Benutzers in einer Nähe der Anzeigevorrichtung, wobei der Benutzer basierend auf durch einen oder mehrere Bildsensoren erfassten visuellen Daten detektiert wird.
-
In einer beispielhaften Ausführungsform der Einrichtung dient der Prozessor ferner zum Erhalten des Verschlüsselungsschlüssels in Zusammenhang mit dem Benutzer von der mobilen Vorrichtung.
-
Eine oder mehrere Ausführungsformen können ein System beinhalten, das Folgendes umfasst: einen oder mehrere Bildsensoren zum Erfassen von visuellen Daten in Zusammenhang mit einer Umgebung; eine Anzeigevorrichtung; und eine oder mehrere Verarbeitungsvorrichtungen zum: Detektieren eines Benutzers in einer Nähe der Anzeigevorrichtung, wobei der Benutzer basierend auf den durch den einen oder die mehreren Bildsensoren erfassten visuellen Daten detektiert wird; Identifizieren einer mobilen Transaktion in Zusammenhang mit dem Benutzer, wobei die mobile Transaktion eine potentielle Transaktion umfasst, die unter Verwendung einer mobilen Vorrichtung des Benutzers abzuschließen ist; Zugreifen auf Transaktionsdaten in Zusammenhang mit der mobilen Transaktion; Verschlüsseln der Transaktionsdaten basierend auf einem Verschlüsselungsschlüssel in Zusammenhang mit dem Benutzer, wobei das Verschlüsseln der Transaktionsdaten bewirkt, dass verschlüsselte Transaktionsdaten erzeugt werden; Erzeugen eines visuellen Codes in Zusammenhang mit den verschlüsselten Transaktionsdaten, wobei der visuelle Code visuell codierte Daten umfasst, und wobei der visuelle Code in einer geschützten Ausführungsumgebung der einen oder mehreren Verarbeitungsvorrichtungen erzeugt wird; Herstellen eines geschützten Datenpfads zwischen der einen oder den mehreren Verarbeitungsvorrichtungen und der Anzeigevorrichtung; und Übertragen des visuellen Codes zu der Anzeigevorrichtung über den geschützten Datenpfad, wobei der visuelle Code auf der Anzeigevorrichtung anzuzeigen ist.
-
In einer beispielhaften Ausführungsform eines Systems: Der eine oder die mehreren Bildsensoren dienen ferner zum Scannen eines zweiten visuellen Codes, der auf der mobilen Vorrichtung des Benutzers angezeigt wird, wobei der zweite visuelle Code eine visuelle Codierung des Verschlüsselungsschlüssels in Zusammenhang mit dem Benutzer umfasst; und die eine oder mehreren Verarbeitungsvorrichtungen dienen ferner zum Decodieren des zweiten visuellen Codes, um den Verschlüsselungsschlüssel in Zusammenhang mit dem Benutzer zu erhalten.
-
In einer beispielhaften Ausführungsform eines Systems umfasst der visuelle Code einen Quick-Response(QR)-Code.
-
In einer beispielhaften Ausführungsform eines Systems: Die eine oder mehreren Verarbeitungsvorrichtungen, die den geschützten Datenpfad zwischen der einen oder den mehreren Verarbeitungsvorrichtungen und der Anzeigevorrichtung herstellen, dienen ferner zu Folgendem: Herstellen eines zweiten Verschlüsselungsschlüssels in Zusammenhang mit dem geschützten Datenpfad, wobei Übertragungen zwischen der einen oder den mehreren Verarbeitungsvorrichtungen und der Anzeigevorrichtung basierend auf dem zweiten Verschlüsselungsschlüssel zu verschlüsseln sind; und die eine oder mehreren Verarbeitungsvorrichtungen, die den visuellen Code zu der Anzeigevorrichtung über den geschützten Datenpfad übertragen, dienen ferner zu Folgendem: Verschlüsseln des visuellen Codes basierend auf dem zweiten Verschlüsselungsschlüssel, wobei das Verschlüsseln des visuellen Codes bewirkt, dass ein verschlüsselter visueller Code erzeugt wird; und Übertragen des verschlüsselten visuellen Codes zu der Anzeigevorrichtung über den geschützten Datenpfad.
-
In einer beispielhaften Ausführungsform eines Systems: Die potentielle Transaktion umfasst einen Kauf von einem oder mehreren Produkten; und die Transaktionsdaten umfassen Daten in Zusammenhang mit dem Kauf des einen oder der mehreren Produkte.
-
In einer beispielhaften Ausführungsform eines Systems dienen die eine oder mehreren Verarbeitungsvorrichtungen ferner zu Folgendem: Detektieren des einen oder der mehreren Produkte in einem Einkaufswagen des Benutzers, wobei das eine oder die mehreren Produkte basierend auf den durch den einen oder die mehreren Bildsensoren erfassten visuellen Daten detektiert werden.
-
In einer beispielhaften Ausführungsform eines Systems: Die potentielle Transaktion steht mit einer Werbeanzeige für das eine oder die mehreren Produkte in Zusammenhang; und die eine oder mehreren Verarbeitungsvorrichtungen dienen ferner zum Bewirken, dass die Werbeanzeige auf der Anzeigevorrichtung angezeigt wird.
-
In einer beispielhaften Ausführungsform eines Systems dienen die eine oder mehreren Verarbeitungsvorrichtungen ferner zu Folgendem: Detektieren eines Käuferkontexts in Zusammenhang mit dem Benutzer, wobei der Käuferkontext zumindest teilweise basierend auf den durch den einen oder die mehreren Bildsensoren erfassten visuellen Daten detektiert wird, und wobei der Käuferkontext eines oder mehrere von Folgendem umfasst: Identität des Benutzers; Demografie des Benutzers; Einkaufshistorie des Benutzers; aktuelle Position des Benutzers in einer Einzelhandelsumgebung; oder aktuelle Inhalte eines Einkaufswagens in Zusammenhang mit dem Benutzer; und Auswählen der Werbeanzeige basierend auf dem Käuferkontext.
-
In einer beispielhaften Ausführungsform eines Systems dienen die eine oder mehreren Verarbeitungsvorrichtungen, die den visuellen Code in Zusammenhang mit den verschlüsselten Transaktionsdaten erzeugen, ferner zu Folgendem: Speichern der verschlüsselten Transaktionsdaten an einem Netzwerkspeicherort, wobei die verschlüsselten Transaktionsdaten durch die mobile Vorrichtung über eine Internetadresse (URL, Uniform Resource Locator) in Zusammenhang mit dem Netzwerkspeicherort zugreifbar sind; und Codieren der URL in den visuellen Code.
-
Eine oder mehrere Ausführungsformen können mindestens ein maschinenzugreifbares Speichermedium umfassen, auf dem Anweisungen gespeichert sind, wobei die Anweisungen, wenn sie auf einer Maschine ausgeführt werden, die Maschine zu Folgendem veranlassen: Detektieren eines Benutzers in einer Nähe einer Anzeigevorrichtung, wobei der Benutzer basierend auf durch einen oder mehrere Bildsensoren erfassten visuellen Daten detektiert wird; Identifizieren einer mobilen Transaktion in Zusammenhang mit dem Benutzer, wobei die mobile Transaktion eine potentielle Transaktion umfasst, die unter Verwendung einer mobilen Vorrichtung des Benutzers abzuschließen ist; Zugreifen auf Transaktionsdaten in Zusammenhang mit der mobilen Transaktion; Verschlüsseln der Transaktionsdaten basierend auf einem Verschlüsselungsschlüssel in Zusammenhang mit dem Benutzer, wobei das Verschlüsseln der Transaktionsdaten bewirkt, dass verschlüsselte Transaktionsdaten erzeugt werden; Erzeugen eines visuellen Codes in Zusammenhang mit den verschlüsselten Transaktionsdaten, wobei der visuelle Code visuell codierte Daten umfasst, und wobei der visuelle Code in einer geschützten Ausführungsumgebung eines Prozessors erzeugt wird; Herstellen eines geschützten Datenpfads zwischen dem Prozessor und der Anzeigevorrichtung; und Übertragen des visuellen Codes zu der Anzeigevorrichtung über den geschützten Datenpfad, wobei der visuelle Code auf der Anzeigevorrichtung anzuzeigen ist.
-
In einer beispielhaften Ausführungsform eines Speichermediums: Die Anweisungen, die die Maschine veranlassen, den geschützten Datenpfad zwischen dem Prozessor und der Anzeigevorrichtung herzustellen, veranlassen die Maschine ferner zu Folgendem: Herstellen eines zweiten Verschlüsselungsschlüssel in Zusammenhang mit dem geschützten Datenpfad, wobei Übertragungen zwischen dem Prozessor und der Anzeigevorrichtung basierend auf dem zweiten Verschlüsselungsschlüssel zu verschlüsseln sind; und die Anweisungen, die die Maschine veranlassen, den visuellen Code zu der Anzeigevorrichtung über den geschützten Datenpfad zu übertragen, veranlassen ferner die Maschine zu Folgendem: Verschlüsseln des visuellen Codes basierend auf dem zweiten Verschlüsselungsschlüssel, wobei das Verschlüsseln des visuellen Codes bewirkt, dass ein verschlüsselter visueller Code erzeugt wird; und Übertragen des verschlüsselten visuellen Codes zu der Anzeigevorrichtung über den geschützten Datenpfad.
-
In einer beispielhaften Ausführungsform eines Speichermediums: Die potentielle Transaktion steht mit einer Werbeanzeige für ein oder mehrere Produkte in Zusammenhang; und die Anweisungen veranlassen die Maschine ferner zu Folgendem: Detektieren eines Käuferkontexts in Zusammenhang mit dem Benutzer, wobei der Käuferkontext zumindest teilweise basierend auf den durch den einen oder die mehreren Bildsensoren erfassten visuellen Daten detektiert wird, und wobei der Käuferkontext eines oder mehrere von Folgendem umfasst: Identität des Benutzers; Demografie des Benutzers; Einkaufshistorie des Benutzers; aktuelle Position des Benutzers in einer Einzelhandelsumgebung; oder aktuelle Inhalte eines Einkaufswagens in Zusammenhang mit dem Benutzer; Auswählen der Werbeanzeige basierend auf dem Käuferkontext; und Bewirken, dass die Werbeanzeige auf der Anzeigevorrichtung angezeigt wird.
-
In einer beispielhaften Ausführungsform eines Speichermediums veranlassen die Anweisungen, die die Maschine veranlassen, den visuellen Code in Zusammenhang mit den verschlüsselten Transaktionsdaten zu erzeugen, die Maschine ferner zu Folgendem: Speichern der verschlüsselten Transaktionsdaten an einem Netzwerkspeicherort, wobei die verschlüsselten Transaktionsdaten durch die mobile Vorrichtung über eine Internetadresse (URL, Uniform Resource Locator) in Zusammenhang mit dem Netzwerkspeicherort zugreifbar sind; und Codieren der URL in den visuellen Code.
-
Eine oder mehrere Ausführungsformen können ein Verfahren beinhalten, das Folgendes umfasst: Detektieren eines Benutzers in einer Nähe einer Anzeigevorrichtung, wobei der Benutzer basierend auf durch einen oder mehrere Bildsensoren erfassten visuellen Daten detektiert wird; Identifizieren einer mobilen Transaktion in Zusammenhang mit dem Benutzer, wobei die mobile Transaktion eine potentielle Transaktion umfasst, die unter Verwendung einer mobilen Vorrichtung des Benutzers abzuschließen ist; Zugreifen auf Transaktionsdaten in Zusammenhang mit der mobilen Transaktion; Verschlüsseln der Transaktionsdaten basierend auf einem Verschlüsselungsschlüssel in Zusammenhang mit dem Benutzer, wobei das Verschlüsseln der Transaktionsdaten bewirkt, dass verschlüsselte Transaktionsdaten erzeugt werden; Erzeugen eines visuellen Codes in Zusammenhang mit den verschlüsselten Transaktionsdaten, wobei der visuelle Code visuell codierte Daten umfasst, und wobei der visuelle Code in einer geschützten Ausführungsumgebung eines Prozessors erzeugt wird; Herstellen eines geschützten Datenpfads zwischen dem Prozessor und der Anzeigevorrichtung; und Übertragen des visuellen Codes zu der Anzeigevorrichtung über den geschützten Datenpfad, wobei der visuelle Code auf der Anzeigevorrichtung anzuzeigen ist.
-
In einer beispielhaften Ausführungsform eines Verfahrens steht die potentielle Transaktion mit einer Werbeanzeige für ein oder mehrere Produkte in Zusammenhang, und wobei das Verfahren ferner Folgendes umfasst: Detektieren eines Käuferkontexts in Zusammenhang mit dem Benutzer, wobei der Käuferkontext zumindest teilweise basierend auf den durch den einen oder die mehreren Bildsensoren erfassten visuellen Daten detektiert wird, und wobei der Käuferkontext eines oder mehrere von Folgendem umfasst: Identität des Benutzers; Demografie des Benutzers; Einkaufshistorie des Benutzers; aktuelle Position des Benutzers in einer Einzelhandelsumgebung; oder aktuelle Inhalte eines Einkaufswagens in Zusammenhang mit dem Benutzer; Auswählen der Werbeanzeige basierend auf dem Käuferkontext; und Bewirken, dass die Werbeanzeige auf der Anzeigevorrichtung angezeigt wird.
-
In einer beispielhaften Ausführungsform eines Verfahrens umfasst das Erzeugen des visuellen Codes in Zusammenhang mit den verschlüsselten Transaktionsdaten: Speichern der verschlüsselten Transaktionsdaten an einem Netzwerkspeicherort, wobei die verschlüsselten Transaktionsdaten durch die mobile Vorrichtung über eine Internetadresse (URL, Uniform Resource Locator) in Zusammenhang mit dem Netzwerkspeicherort zugreifbar sind; und Codieren der URL in den visuellen Code.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-