DE112017002832T5 - Klientgerät und Verfahren zur Analyse einer vorbestimmten Gruppe von Parmetern, die der Funkkopplung mit einem WLAN zugeordnet sind - Google Patents

Klientgerät und Verfahren zur Analyse einer vorbestimmten Gruppe von Parmetern, die der Funkkopplung mit einem WLAN zugeordnet sind Download PDF

Info

Publication number
DE112017002832T5
DE112017002832T5 DE112017002832.9T DE112017002832T DE112017002832T5 DE 112017002832 T5 DE112017002832 T5 DE 112017002832T5 DE 112017002832 T DE112017002832 T DE 112017002832T DE 112017002832 T5 DE112017002832 T5 DE 112017002832T5
Authority
DE
Germany
Prior art keywords
wlan
client
stack
radio
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112017002832.9T
Other languages
English (en)
Inventor
Ohad Shatil
Subramani Rajendiran
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Symbol Technologies LLC
Original Assignee
Symbol Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Symbol Technologies LLC filed Critical Symbol Technologies LLC
Publication of DE112017002832T5 publication Critical patent/DE112017002832T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/06Testing, supervising or monitoring using simulated traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Es werden ein Klientgerät und ein Verfahren zur Analyse einer vorbestimmten Gruppe von Parametern, die einer Funkgerätkopplung an ein WLAN zugeordnet sind, zur Verfügung gestellt. Das Klientgerät weist einen Speicher und ein Funkgerät auf, das mit zumindest einem Prozessor gekoppelt ist. Der zumindest eine Prozessor führt in dem Speicher einen ersten Klient-Stack eines Drahtloslokalbereich-Netzwerks (WLAN) aus, wobei der Klient-Stack mehrere Schichten aufweist, die zum Koppeln des Funkgeräts mit einem WLAN konfiguriert sind. Der zumindest eine Prozessor führt ebenfalls in dem Speicher einen zweiten Klient-WLAN-Stack aus, der die mehreren Schichten des ersten Klient-WLAN-Stacks emuliert. Der zumindest eine Prozessor ist dazu konfiguriert, um an dem zweiten Klient-WLAN-Stack Daten zu empfangen, von den mehreren Schichten des ersten Klient-WLAN-Stacks, und um eine vorbestimmte Gruppe von WLAN-Parametern des Klientgeräts zu analysieren, auf Grundlage der Daten, die von den mehreren Schichten des ersten Klient-WLAN-Stacks empfangen werden.

Description

  • QUERVERWEIS AUF ZUGEHÖRIGE ANMELDUNGEN
  • Die vorliegende Anmeldung beansprucht die Priorität der provisorischen U.S.-Patentanmeldung Nr. 62/346,016 , eingereicht am 6. Juni 2016, und der U.S.-Anmeldung Nr. 15/593,558 , eingereicht am 12. Mai 2017, die beide in die vorliegende Anmeldung durch Bezugnahme eingeschlossen werden.
  • HINTERGRUND
  • Vorhandene Techniken zur Bestimmung der WLAN-Konnektivität und -Erreichbarkeit für Klientgeräte (beispielsweise Mobilgeräte) lassen sich grob in vier Kategorien unterteilen.
  • Die erste Kategorie ist die generische Konnektivitätsanalyse von Klientgeräten durch bedienende Netzwerkeinheiten. Derartige bedienende Netzwerkeinheiten können lokale Infrastrukturgeräte umfassen (beispielsweise Switches/Router eines bedienenden Zugriffspunktes (AP) und dergleichen), und/oder IP- (Internetprotokoll-) Netzwerkgeräte (einschließlich lokaler oder entfernter Netzwerkgeräte, beispielsweise Server mit DHCP (Dynamic Host Protocol), Application Server und dergleichen. Bei einer derartigen Analyse fokussieren sich bedienende Netzwerkeinheiten auf die generischen Zustände der Geräteverbindung und auf deren Erreichbarkeit. Wenn die WLAN-Information eines AP über ein Klientgerät verfügbar ist, dann bringt sie auch die Eigenschaften bezüglich WLAN und Funkfrequenz (RF) der Verbindung mit sich. Allerdings können diese Verfahren nicht die internen Zustände und/oder Daten eines Klientgerätes „sehen“, und daher berücksichtigen diese Verfahren nicht, wie Klientgeräte ihre Seite eines Konnektivitätsprotokolls ermöglichen.
  • Die zweite Kategorie stellt die spezifische WLAN-Konnektivitätsanalyse durch nicht-bedienende Netzwerkeinheiten dar. Derartige nicht-bedienende Netzwerkeinheiten umfassen unterschiedliche Arten von WLAN-Sniffermodulen (beispielsweise getrennte Sniffer-Adapter, die an einem Laptop angebracht sind (beispielsweise Wildpackets, Wireshark und dergleichen)), Klientgeräte, welche die Luft im Promiscurs-Mode abtasten, und/oder nicht-bedienende Funkgeräte/Sensoren eines angebrachten AP. Allerdings können diese Verfahren nur eine teilweise Schlussfolgerung über die Art und Weise ermöglichen, wie ein Klientgerät ein WLAN-Protokoll ermöglicht. Zusätzlich ist in den meisten Fällen einer Paketanalyse oberer Netzwerkschichten (beispielsweise Internetprotokoll, Applications) über die WLAN-Verbindung die Analyse begrenzt, da die oberen Protokolle oder der Signalverkehr durchgehend geschützt oder verschlüsselt ist bzw. sind.
  • Die dritte Kategorie ist eine Konnektivitätsanalyse auf Grundlage von „Ereignissen“ des Betriebssystems eines Klientgeräts (und/oder Application, die sie einsetzen). Bei einer derartigen Analyse sind die Daten, die zur Analyse von den unteren Schichten des Netzwerkprotokolls verfügbar sind, stark eingeschränkt, da sie nicht kundenspezifisch an Besonderheiten einer Hardware-Plattform angepasst werden können, welche die Analyse durchführt. Daher wären analysierte Daten nachträgliche Ergebnisse und/oder Ergebnisse nach einem Übergang der Protokolle, und wären Daten ausgeschlossen, die Entscheidungen in der Hinsicht widerspiegeln, wie sie sie ermöglichen, und in Bezug auf die Gründe für ausgewählte Unterelemente für Paketaustausch mit einem AP.
  • Die vierte Kategorie stellt die Debugging-Software dar, die häufig infolge von Sicherheitsüberlegungen nicht zu einem Produkt umgesetzt werden kann. Die Analyse der WLAN-Konnektivität unter Verwendung derartiger Software kann unter Verwendung fortlaufender „roher“ Debugging-Daten von internen unteren Schichten eines Klientgeräts durchgeführt werden. Neben Sicherheitsbedenken beim Debugging von Code in Endprodukten erzeugt eine derartige Debugging-Software große Datenmengen, was lange Verarbeitungszeiten und/oder spezielle Expertise zu ihrer Decodierung erfordert.
  • Figurenliste
  • Die beigefügten Figuren, in welchen gleiche Bezugszeichen identische oder in der Funktion ähnliche Elemente in den getrennten Ansichten bezeichnen, werden zusammen mit der nachstehenden detaillierten Beschreibung in den Text aufgenommen und bilden einen Teil von diesem, und dienen zur weiteren Erläuterung von Ausführungsformen von Konzepten, welche die beanspruchte Erfindung aufweisen, und erläutern verschiedene Prinzipien und Vorteile dieser Ausführungsformen.
    • 1 ist eine schematische Darstellung eines Systems, welches ein Klientgerät gemäß einigen Ausführungsformen aufweist.
    • 2 ist ein schematische Blockdiagramm bestimmter interner Hardware-Komponenten des Klientgeräts von 1.
    • 3 ist ein Flussdiagramm eines Verfahrens zur Analyse einer vorbestimmten Gruppe von Parametern, welche der Funkkopplung zu einem WLAN zugeordnet sind, gemäß einigen Ausführungsformen.
    • 4 ist ein Blockdiagramm bestimmter interner Komponenten des Klientgerätes von 1.
    • 5 ist ein Flussdiagramm eines Verfahrens zum Analysieren einer vorbestimmten Gruppe von Parametern, die der Funkkopplung zu einem WLAN zugeordnet sind, gemäß einigen Ausführungsformen.
  • Fachleute auf diesem Gebiet werden erkennen, dass Elemente in den Figuren zur Vereinfachung und aus Klarheitsgründen dargestellt sind, und nicht notwendigerweise maßstabsgerecht sind. So können beispielsweise die Abmessungen einiger Elemente in den Figuren relativ zu anderen Elementen hervorgehoben sein, um das Verständnis von Ausführungsformen der vorliegenden Erfindung zu erleichtern.
  • Die Komponenten der Einrichtung und des Verfahrens sind in den Zeichnungen je nach Erfordernis durch herkömmliche Symbole dargestellt, wobei nur jene speziellen Einzelheiten gezeigt sind, die für das Verständnis der Ausführungsformen der vorliegenden Erfindung nützlich sind, damit nicht die Offenbarung mit Einzelheiten belastet wird, welche Fachleuten auf diesem Gebiet in Kenntnis der vorliegenden Beschreibung geläufig sind.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Die vorliegende Anmeldung stellt ein Klientgerät und ein Verfahren zur Analyse einer vorbestimmten Gruppe von Parametern zur Verfügung, die der Funkkopplung mit einem WLAN zugeordnet sind, einschließlich, jedoch nicht hierauf beschränkt, Konnektivität, Link-Qualität, und Netzwerkerreichbarkeit eines Funkgeräts, des Klientgeräts, über ein WLAN. Hier beschriebene Klientgeräte und Verfahren analysieren eine derartige Kopplung unter Verwendung eines Emulators, der einen Klientkonnektivitätsstack (beispielsweise interne Netzwerkschichten) ausführt, welcher mehrere Schichten eines Klientkonnektivitätsstacks emuliert, welcher die Echtzeitkopplung des Funkgeräts mit dem WLAN durchführt. Der Emulator kann sich auf demselben Klientgerät befinden, welches mit dem WLAN koppelt. Daher werden Daten von einzelnen Unterschichten der internen Netzwerkschichten von dem Emulator empfangen und verwendet, um ein Ausgangsergebnis bereitzustellen, welche es einem Analysator gestattet, eine Echtzeitanalyse der Kopplung bereitzustellen.
  • Ein Aspekt der Anmeldung stellt ein Klientgerät zur Verfügung, welches aufweist: einen Speicher; ein Funkgerät, das mit zumindest einem Prozessor gekoppelt ist, wobei der zumindest eine Prozessor in dem Speicher einen ersten Klient-Stack eines Wireless Local Area Network (WLAN) ausführt, der mehrere Schichten aufweist, die so konfiguriert sind, dass sie das Funkgerät mit einem WLAN koppeln; und einen zweiten Klient-WLAN-Stack, der von dem zumindest einen Prozessor in dem Speicher ausgeführt wird, die mehreren Schichten des ersten Klient-WLAN-Stacks emuliert, wobei der zumindest eine Prozessor so konfiguriert ist, dass er an dem zweiten Klient-WLAN-Stack Daten von den mehreren Schichten des ersten Klient-WLAN-Stacks empfängt, und eine vorbestimmte Gruppe von WLAN-Parametern des Klientgeräts analysiert, auf Grundlage der Daten, die von den mehreren Schichten des ersten Klient-WLAN-Stacks empfangen werden.
  • Bei einigen Ausführungsformen ist der Prozessor weiterhin so konfiguriert, dass er ein Ausgangsergebnis der vorbestimmten Gruppe von WLAN-Parametern an ein externes Gerät berichtet.
  • Bei einigen Ausführungsformen umfasst die vorbestimmte Gruppe an WLAN-Parametern eine oder mehrere folgender Größen, Konnektivität, Link-Qualität, und Netzwerkerreichbarkeit des Funkgeräts über das WLAN.
  • Bei einigen Ausführungsformen weisen die Daten, die von dem ersten Klient-WLAN-Stack empfangen werden, eine oder mehrere der folgenden Größen auf: unverschlüsselte Pakete, die an das WLAN gesendet und von dem WLAN empfangen werden; Ereignisdaten, die einer oder mehreren der mehreren Schichten zugeordnet sind; Konfigurationsdaten; und Netzwerk-Scan-Daten.
  • Bei einigen Ausführungsformen ist der zumindest eine Prozessor weiterhin so konfiguriert, dass er: auf Grundlage des zweiten Klient-WLAN-Stacks bestimmt, dass die Ausführung eines oder mehrerer Prozesse des ersten Klient-WLAN-Stacks blockiert ist, Konfigurationsdaten ändert, die dem ersten Klient-WLAN-Stack zugeordnet sind, um die Ausführung des einen oder der mehreren Prozesse zu entblocken, und erneut den ersten Klient-WLAN-Stack ausführt, um den einen oder die mehreren Prozesse auf Grundlage geänderter Konfigurationsdaten auszuführen.
  • Bei einigen Ausführungsformen ist der zumindest eine Prozessor weiterhin dazu konfiguriert, die vorbestimmte Gruppe an WLAN-Parametern zu analysieren, die der Funkkopplung mit dem WLAN zugeordnet sind, auf Grundlage der Ausführung des zweiten Klient-WLAN-Stacks, der die mehreren Schichten des ersten WLAN-Stacks folgendermaßen emuliert: zuerst bestimmen, ob ein oder mehrere Netzwerk-Scan-Daten und Netzwerk-Konnektivitätsdaten anzeigen, dass eine Verbindung des Funkgeräts mit dem WLAN vorhanden ist; wenn die Verbindung des Funkgeräts mit dem WLAN vorhanden ist: weiteres Analysieren der vorbestimmten Gruppe an WLAN-Parametern zur Bestimmung eines Konnektivitätszustands des Funkgeräts; und wenn die Verbindung des Funkgeräts mit dem WLAN nicht vorhanden ist: Stoppen der Analyse der vorbestimmten Gruppe von WLAN-Parametern.
  • Bei einigen Ausführungsformen ist der zumindest eine Prozessor weiterhin dazu konfiguriert, um die vorbestimmte Gruppe an WLAN-Parametern zu analysieren, die der Funkkopplung zum WLAN zugeordnet sind, auf Grundlage der Ausführung des zweiten Klient-WLAN-Stacks, welcher die mehreren Schichten des ersten WLAN-Stacks folgendermaßen emuliert: Bestimmen, dass eine Verbindung zwischen dem Funkgerät und dem WLAN fertiggestellt ist; und daraufhin Bestimmen der Link-Qualität und/oder der Netzwerkerreichbarkeit.
  • Bei einigen Ausführungsformen umfasst die vorbestimmte Gruppe an WLAN-Parametern die Link-Qualität und/oder die Netzwerkerreichbarkeit, und ist der zumindest eine Prozessor weiterhin so konfiguriert, dass er die Link-Qualität und/oder die Netzwerkerreichbarkeit folgendermaßen analysiert: Steuern des Funkgeräts, so dass dieses eines oder mehrere Pakete aussendet, um die Link-Qualität und/oder die Netzwerk-erreichbarkeit zu bestimmen.
  • Ein weiterer Aspekt der Anmeldung stellt ein Verfahren zur Verfügung, welches aufweist: ein Klientgerät, welches aufweist: einen Speicher und ein mit zumindest einem Prozessor gekoppeltes Funkgerät, Ausführen eines ersten Klient-WLAN-Stacks eines Drahtloslokalbereich-Netzwerks (WLAN), der mehrere Schichten aufweist, die zur Kopplung des Funkgeräts mit einem WLAN konfiguriert sind; Ausführen eines zweiten Klient-WLAN-Stacks, der die mehreren Schichten des ersten Klient-WLAN-Stacks emuliert; Empfangen, an dem zweiten Klient-WLAN-Stack, von Daten von den mehreren Schichten des ersten Klient-WLAN-Stacks; und Analysieren einer vorbestimmten Gruppe an WLAN-Parametern des Klientgeräts auf Grundlage der Daten, die von den mehreren Schichten des ersten Klient-WLAN-Stacks empfangen werden.
  • Bei einigen Ausführungsformen umfasst das Verfahren weiterhin, ein Ausgangsergebnis der vorbestimmten Gruppe von WLAN-Parametern an ein externes Gerät zu berichten.
  • Bei einigen Ausführungsformen weist die vorbestimmte Gruppe an WLAN-Parametern eine oder mehrere der folgenden Größen auf: Konnektivität, Link-Qualität, und Netzwerkerreichbarkeit des Funkgeräts über das WLAN.
  • Bei einigen Ausführungsformen umfassen die Daten, die von dem ersten Klient-WLAN-Stack empfangen werden, eine oder mehrere der folgenden Größen: unverschlüsselte Pakete, die an das WLAN gesendet und die von dem WLAN empfangen werden; Ereignisdaten, die einer oder mehreren der mehreren Schichten zugeordnet sind; Konfigurationsdaten; und Netzwerk-Scan-Daten.
  • Bei einigen Ausführungsformen weist das Verfahren weiterhin auf: Bestimmen, auf Grundlage der Ausführung des zweiten Klient-WLAN-Stacks, dass die Ausführung eines oder mehrerer Prozesse des ersten Klient-WLAN-Stacks blockiert ist; Ändern von Konfigurationsdaten, die dem ersten Klient-WLAN-Stack zugeordnet sind, um die Ausführung des einen oder der mehreren Prozesse zu entblocken; und erneutes Ausführen des ersten Klient-WLAN-Stacks zur Ausführung des einen oder mehrerer Prozesse auf Grundlage geänderter Konfigurationsdaten.
  • Bei einigen Ausführungsformen umfasst das Verfahren weiterhin, die vorbestimmte Gruppe an WLAN-Parametern des Klientgerätes zu analysieren, auf Grundlage der Daten, die von den mehreren Schichten des ersten Klient-WLAN-Stacks empfangen werden, durch: zunächst Bestimmen, ob Netzwerk-Scan-Daten und/oder Netzwerk-Konnektivitätsdaten anzeigen, dass eine Verbindung des Funkgeräts zu dem WLAN vorhanden ist; wenn die Verbindung des Funkgeräts mit dem WLAN vorhanden ist: weiterhin Analysieren der vorbestimmten Gruppe an WLAN-Parametern zur Bestimmung eines Konnektivitätszustands des Funkgeräts; und wenn die Verbindung des Funkgeräts mit dem WLAN nicht vorhanden ist; Stoppen der Analyse der vorbestimmten Gruppe an WLAN-Parametern.
  • Bei einigen Ausführungsformen umfasst das Verfahren weiterhin, die vorbestimmte Gruppe an WLAN-Parametern des Klientgeräts zu analysieren, auf Grundlage der Daten, die von den mehreren Schichten des ersten Klient-WLAN-Stacks empfangen werden, mittels: Bestimmen, dass eine Verbindung zwischen dem Funkgerät und dem WLAN fertiggestellt ist; und daraufhin Bestimmen der Link-Qualität und/oder der Netzwerkerreichbarkeit.
  • Bei einigen Ausführungsformen umfasst die vorbestimmte Gruppe an WLAN-Parametern die Link-Qualität und/oder die Netzwerkerreichbarkeit, und umfasst das Verfahren weiterhin das Analysieren der Link-Qualität und/oder der Netzwerkerreichbarkeit durch: Steuern des Funkgeräts zum Aussenden eines oder mehrerer Pakete zur Bestimmung der Link-Qualität und/oder der Netzwerkerreichbarkeit.
  • Ein weiterer Aspekt der Anmeldung stellt ein nicht-flüchtiges computerlesbares Medium zur Verfügung, welches ein Computerprogramm speichert, wobei die Ausführung des Computerprogramms zu folgenden Zwecken dient: Ausführen an einem Klientgerät, welches: einen Speicher und ein Funkgerät aufweist, das mit zumindest einem Prozessor gekoppelt ist, eines ersten Klient-Stacks eines Drahtloslokalbereich-Netzwerks (WLAN), der mehrere Schichten aufweist, die zum Koppeln des Funkgeräts an ein WLAN konfiguriert sind; Ausführen eines zweiten Klient-WLAN-Stacks, Emulieren der mehreren Schichten des ersten Klient-WLAN-Stacks; Empfangen, an dem zweiten Klient-WLAN-Stack, von Daten von den mehreren Schichten des ersten Klient-WLAN-Stacks; und Analysieren einer vorbestimmten Gruppe von WLAN-Parametern des Klientgeräts auf Grundlage der Daten, die von den mehreren Schichten des ersten Klient-WLAN-Stacks empfangen werden.
  • Bei einigen Ausführungsformen dient die Ausführung des Computerprogramms weiterhin zum: Berichten eines Ausgangsergebnisses der vorbestimmten Gruppe von WLAN-Parametern an ein externes Gerät.
  • Bei einigen Ausführungsformen dient die Ausführung des Computerprogramms weiterhin zu folgendem: Bestimmen, auf Grundlage einer Ausführung des zweiten Klient-WLAN-Stacks, dass die Ausführung eines oder mehrerer Prozesse des ersten Klient-WLAN-Stacks blockiert ist; Ändern von Konfigurationsdaten, die dem ersten Klient-WLAN-Stack zugeordnet sind, zum Entblocken der Ausführung des einen oder der mehreren Prozesse; und erneute Ausführung des ersten Klient-WLAN-Stacks zur Ausführung des einen oder der mehreren Prozesse auf Grundlage geänderter Konfigurationsdaten .
  • Bei einigen Ausführungsformen dient die Ausführung des Computerprogramms weiterhin dazu, die vorbestimmte Gruppe von WLAN-Parametern des Klientgeräts zu analysieren, auf Grundlage der Daten, die von den mehreren Schichten des ersten Klient-WLAN-Stacks empfangen werden, durch: zunächst Bestimmen, ob die Netzwerk-Scan-Daten und/oder Netzwerk-Konnektivitätsdaten anzeigen, dass eine Verbindung des Funkgeräts mit dem WLAN vorhanden ist; wenn die Verbindung des Funkgeräts mit dem WLAN vorhanden ist: weiterhin Analysieren der vorbestimmten Gruppe an WLAN-Parametern zur Bestimmung eines Konnektivitätszustandes des Funkgeräts; und wenn die Verbindung des Funkgeräts mit dem WLAN nicht vorhanden ist: Stoppen des Analysierens der vorbestimmten Gruppe an WLAN-Parametern.
  • 1 zeigt ein System 100 mit einem Klientgerät 101 in Kommunikationsverbindung mit einem Drahtloslokalbereich-Netzwerk (WLAN) 102, welches wie dargestellt einen Zugangspunkt 103 aufweist. Wie gezeigt, weist das System 100 darüber hinaus ein externes Gerät 105 auf, welches beispielsweise Komponenten des WLAN 102 verwaltet und/oder konfiguriert, einschließlich des Zugangspunkts 103, jedoch nicht hierauf beschränkt. Das Klientgerät 101 wird nachstehend auch als das Gerät 101 bezeichnet, und das externe Gerät 105 wird nachstehend auch als das Gerät 105 bezeichnet. Wenn das Gerät 101, das nachstehend auch als Gerät 101 bezeichnet wird, in Kommunikationsverbindung mit dem WLAN 102 steht, wird ein drahtloser Kommunikations-Link 107 zwischen dem Gerät 101 und dem WLAN 102 eingerichtet. Entsprechend steht das Gerät 105 in Kommunikationsverbindung mit Komponenten des WLAN 102 einschließlich, jedoch nicht hierauf beschränkt, dem Zugangspunkt 103, über einen Link 109, der je nach Wunsch drahtlos und/oder verdrahtet ausgeführt ist. Das Gerät 105 wird auch als ein externes Gerät bezeichnet, womit verdeutlicht wird, dass das Gerät 105 extern von dem Gerät 101 vorgesehen ist, Die Geräte 101, 105 sind so konfiguriert, dass sie unter Verwendung von Links 107, 109 kommunizieren.
  • Das Gerät 105 wird auch als ein „externes“ Gerät bezeichnet, was verdeutlicht, dass das Gerät 105 extern vom Gerät 101 vorgesehen ist. Das Gerät 105 weist im Allgemeinen einen externen Server und/oder PC (Personal Computer) mit jeweiligen Plug-Ins zur Anzeige und Analyse (nicht dargestellt) auf, einschließlich, jedoch nicht hierauf beschränkt, Analysegeräte zum Analysieren von Ausgangsergebnissen von dem Gerät 101, um das WLAN 102 besser zu verwalten und/oder zu steuern. Hierbei weist das Gerät 105, worauf es nicht hierauf beschränkt ist, ein Netzwerkanalyse-Berechnungsgerät auf, welches einer oder mehreren Kunden-IT-Einheiten zugeordnet ist, und/oder Support-Einheiten, Field-Engineers, Einrichtungen dritter Parteien, Professionaldienst-Einheiten, Debugging-Umgebungen on-site oder off-site, Kundenlabors, Bereitschaftstests in Produktionsumgebungen, Überwachungs-/ Debugging-Umgebungen und dergleichen.
  • Wie nachstehend erläutert wird, weist das Gerät 101 Komponenten auf, welche spezifisch das Gerät 101 zur Analyse einer vorbestimmten Gruppe von Parametern konfigurieren, die einer Funkkopplung zu einem WLAN zugeordnet sind, einschließlich, jedoch nicht hierauf beschränkt, zum WLAN 102. Das Ausgangsergebnis von einer derartigen Analyse wird bei einigen Ausführungsformen dem Gerät 105 zuge-leitet, zur Verwaltung und/oder Steuerung des WLAN 102 und des Geräts 101.
  • Nunmehr zeigt 2 eine schematische Darstellung des Geräts 101. Im Einzelnen weist das Gerät 101 auf: einen Speicher 116; ein Funkgerät 118, das mit zumindest einem Prozessor 120 gekoppelt ist, wobei der zumindest eine Prozessor 120 in dem Speicher 116 einen ersten Klient-WLAN-Stack 131 eines Drahtloslokalbereich-Netzwerks (WLAN) ausführt, der mehrere Schichten (nachstehend erläutert) aufweist, die dazu konfiguriert sind, das Funkgerät 118 mit einem WLAN (beispielsweise dem WLAN 102) zu koppeln; sowie einen zweiten Klient-WLAN-Stack 132, der von dem zumindest einem Prozessor 120 in dem Speicher 116 ausgeführt wird, und die mehreren Schichten des ersten Klient-WLAN-Stacks 131 emuliert, wobei der zumindest eine Prozessor 120 dazu konfiguriert ist, um an dem zweiten Klient-WLAN-Stack 132 Daten von den mehreren Schichten des ersten Klient-WLAN-Stacks 131 zu empfangen, und eine vorbestimmte Gruppe von WLAN-Parametern des Klientgeräts 101 zu analysieren, auf Grundlage der Daten, die von den mehreren Schichten des ersten Klient-WLAN-Stacks 131 empfangen werden. Die vorbestimmte Gruppe von WLAN-Parametern wird nachstehend genauer erläutert.
  • Wie dargestellt, weist das Gerät 101 weiterhin Konfigurationsdaten 133 auf, die in dem Speicher 116 gespeichert sind, und arbeiten einige Prozesse des ersten Klient-WLAN-Stacks 131 im Wesentlichen entsprechend den Konfigurationsdaten 133.
  • Wie gezeigt, weist das Gerät 101 weiterhin ein Eingabegerät 103 auf, ein Anzeigegerät 106, einen Lautsprecher 142 und ein Mikrofon 144.
  • Wie ebenfalls dargestellt, ist das Gerät 101 speziell so konfiguriert, dass es ein WLAN-Computer-Programmiergerüst 221 aufweist, welches zumindest den ersten Klient-WLAN-Stack 131 enthält, wobei das Programmiergerüst 221 in dem Speicher 116 von dem zumindest einen Prozessor 120 ausgeführt wird; und ein WLAN-Computer-Programmiergerüst 222 aufweist, welches zumindest den zweiten Klient-WLAN-Stack 132 enthält, wobei auch das Programmiergerüst 222 in dem Speicher 116 von dem zumindest einen Prozessor 120 ausgeführt wird. Im Allgemeinen weist das Programmiergerüst 221 Komponenten und/oder Funktionalität des Geräts 101 auf, welches die Kommunikation mit dem WLAN 102 unter Verwendung des Funkgeräts 118 verwaltet; so weist beispielsweise das Programmiergerüst 221, wobei es nicht hierauf beschränkt ist, den ersten Klient-WLAN-Stack 131 auf, sowie Komponenten und/oder Funktionalität zum Verwalten der Konfigurationsdaten 133, zum Verwalten und/oder Überwachen des Aussendens und des Empfangens von Paketen unter Verwendung des Funkgeräts 118, zur Durchführung von Netzwerk-Scans, und dergleichen. Derartige Komponenten können, wobei sie nicht hierauf beschränkt sind, ein DHCP (Dynamic Host Configuration Protocol) enthalten, einen Klienten des ARP (Address Resolution Protocol), und dergleichen.
  • Das Programmiergerüst 222 enthält Komponenten und/oder Funktionalität des Geräts 101 zum Analysieren einer vorbestimmten Gruppe von WLAN-Parametern des Klientgeräts auf Grundlage der Daten, die von den mehreren Schichten des ersten Klient-WLAN-Stacks 131 empfangen werden.
  • Wie dargestellt, ist das Gerät 101 ein Mobilgerät mit Telefonfunktionalität. Allerdings muss das Gerät 101 nicht als ein Mobilkommunikationsgerät ausgebildet sein, sondern kann bei anderen Ausführungsformen ein Berechnungsgerät aufweisen, das weiterhin spezifisch für eine spezialisierte Funktionalität angepasst ist. Beispielsweise ist bei einigen Ausführungsformen das Gerät 101 eine Komponente einer Fernsprechzelle, die mit dem WLAN 102 kommuniziert.
  • Bei einigen Ausführungsformen ist das Gerät 101 speziell angepasst für eine Warenhaus-Lagerbestandsverfolgung und/oder eine andere Datenakquisitionsfunktionalität unter Verwendung einer Datenaufnahmekomponente und dergleichen; bei einigen dieser Ausführungsformen weist das Gerät 101 weiterhin andere Arten von Hardware zur Warenhaus-Lagerbestandsverfolgung und/oder eine andere Datenakquisitionsfunktionalität auf, einschließlich, jedoch nicht hierauf beschränkt, eine oder mehrere der folgenden Einrichtungen: ein Lesegerät mit Funkfrequenz-Identifikation (RFID), ein Lesegerät für Nahfeldkommunikation (NFC), und/oder andere Arten von Datenakquisitionskomponenten. Bei noch weiteren Ausführungsformen ist das Gerät 101 in einem Fahrzeug anbringbar.
  • Andere Rechnergeräte, die mit einem WLAN unter Verwendung eines Funkgeräts kommunizieren, sind vom Umfang der vorliegenden Erfindung erfasst, einschließlich, jedoch nicht hierauf beschränkt, Drucker, Netzwerkgeräte, Geräte, die mit Internetof-Things-Protokollen konfiguriert sind, Geräte, die in einem WLAN adressierbar sind und/oder denen eine Netzwerkadresse zugeordnet ist, und/oder die von Komponenten eines WLAN bedient werden.
  • Das Beispiel für den zumindest einen Prozessor 120 von 2 weist eine oder mehrere Logikschaltungen auf, die speziell so konfiguriert sind, dass sie beispielsweise eine Netzwerk-Verwaltungsfunktionalität des Geräts 101 implementieren. Beispiele für derartige Logikschaltungen umfassen einen oder mehrere Prozessoren, einen oder mehrere Mikroprozessoren, eine oder mehrere ASIC (anwendungsspezifische integrierte Schaltungen) und einen oder mehrere FPGA (feldprogrammierbare Gate-Arrays). Bei einigen Beispielen ist das Gerät 101 speziell so konfiguriert, dass es eine spezifische WLAN-Kommunikationsanalyse-Funktionalität implementiert. Beispielsweise weist bei einigen Ausführungsformen das Gerät 101 und/oder der zumindest eine Prozessor 120 speziell eine computerausführbare Einrichtung auf, die zur Implementierung der hier beschriebenen WLAN-Kommunikationsanalyse konfiguriert ist.
  • Weiterhin weist, während nur der eine Prozessor 120 dargestellt ist, bei anderen Ausführungsformen das Gerät 101 mehrere Prozessoren 120 auf, beispielsweise einen ersten Prozessor, der das Programmiergerüst 221 ausführt, und einen zweiten Prozessor, der das Programmiergerüst 222 ausführt.
  • Der Speicher 116 von 2 ist ein maschinenlesbares Medium, welches maschinenlesbare Befehle speichert, um ein oder mehrere Programme oder Anwendungen zu implementieren. Beispiele für maschinenlesbare Medien umfassen eine nicht-flüchtige Speichereinheit (beispielsweise einen löschbaren elektronisch programmierbaren Nur-Lesespeicher („EEPROM“, oder einen Flash-Speicher) und/oder eine flüchtige Speichereinheit (beispielsweise einen Speicher mit wahlfreiem Zugriff („RAM“). Bei dem Beispiel von 2 werden Programmierbefehle (beispielsweise maschinenlesbare Befehle), welche die Funktionslehren des Geräts 101 implementieren, wie dies hier beschrieben wird, dauerhaft im Speicher 116 gehalten, und werden von dem zumindest einen Prozessor 120 verwendet, der geeignet die flüchtigen Speicher während der Ausführung derartiger Programmierbefehle einsetzt.
  • Der beispielhafte Speicher 116 von 2 speichert das Programmiergerüst 221, einschließlich des ersten Klient-WLAN-Stacks 131, und das Programmiergerüst 222, einschließlich des zweiten Klient-WLAN-Stacks 132, welches bei Ausführung durch den zumindest einen Prozessor 120 den zumindest einen Prozessor 120 dazu freischaltet, WLAN-Analysefunktionalität zu implementieren. Bei dem dargestellten Beispiel ist, wenn der zumindest eine Prozessor 120 in dem Speicher 116 die Programmiergerüste 221, 222 ausführt, der zumindest eine Prozessor 120 so konfiguriert, dass er folgende Schritte ausführt: Ausführen des ersten Klient-WLAN-Stacks 131, der mehrere Schichten aufweist, die zum Koppeln des Funkgeräts zu einem WLAN konfiguriert sind; Ausführen des zweiten Klient-WLAN-Stacks 132, welcher die mehreren Schichten des ersten Klient-WLAN-Stacks 131 emuliert; Empfangen, an dem zweiten Klient-WLAN-Stack 132, von Daten von den mehreren Schichten des ersten Klient-WLAN-Stacks 131; und Analysieren einer vorbestimmten Gruppe von WLAN-Para-metern des Klientgeräts 101 auf Grundlage der Daten, die von den mehreren Schichten des ersten Klient-WLAN-Stacks 131 empfangen werden.
  • Das Beispiel für ein Funkgerät 118 von 2 weist im Allgemeinen eine oder mehrere Funkgerät-Schaltungskomponenten auf, die zur Kommunikation mit dem WLAN 102 konfiguriert sind, einschließlich, jedoch nicht hierauf beschränkt, mit dem Zugangspunkt 103, entsprechend beispielsweise einem oder mehreren WLAN-Protokollen des Typs 802.11, einschließlich, jedoch nicht hierauf beschränkt, WiFi-Protokolle und dergleichen. Daher umfasst der Link 107 einen WLAN-Link einschließlich, jedoch nicht hierauf beschränkt, einen WiFi-Link und dergleichen.
  • Zwar nicht dargestellt, weist bei einigen Ausführungsformen das Gerät 101 ein oder mehrere weitere Funkgeräte und/oder Verbinder und/oder Netzwerkadapter auf, die dazu konfiguriert sind, verdrahtet und/oder drahtlos mit Netzwerkarchitektur zu kommunizieren, die dazu verwendet wird, ein oder mehrere Kommunikations-Links zwischen anderen Geräten und/oder anderen Netzwerken zu implementieren. Beispiele für Kommunikations-Links umfassen ein oder mehrere Kabel des USB (universeller serieller Bus), serielle Kabel, Drahtlos-Links, Zellulärtelefon-Links, Zellulärnetzwerk-Links (einschließlich, jedoch nicht hierauf beschränkt, 2G, 2.5G, 3G, 4G+ wie etwa UMTS (Universalmobil-Telekommunikationssystem), GSM (Globalsystem für Mobilkommunikation), CDMA (Code-Teilungsmehrfachzugriff), FDD (Frequenzteilungsduplexing), LTE (Langzeitentwicklung), TDD (Zeitunterteilungsduplex), TDD-LTE (TDD-Langzeitentwicklung), TD-SCDMA (Zeitunterteilungs-Synchron-Code-Unterteilungs-Mehrfachzugriff) und dergleichen, Drahtlosdaten, paketbasierende Links, WiMax-Links, das Internet, analoge Netzwerke, das PSTN (öffentliches Vermittlungstelefonnetzwerk), Zugangspunkte, und dergleichen, und/oder eine Kombination von diesen.
  • Das Beispiel für ein Eingabegerät 134 von 2 weist, wobei es nicht hierauf beschränkt ist, eine Tastatur auf, einen Touch-Screen des Anzeigegeräts 136, ein Berührungsfeld, ein oder mehrere Knöpfe, ein oder mehrere Aktuatoren, und dergleichen. Das Beispiel für ein Anzeigegerät 136 von 2 weist einzeln oder in Kombination Einrichtungen wie Flachbildschirmanzeigen (beispielsweise LCD (Flüssigkristallanzeige), Plasmaanzeigen, OLED-Anzeigen (Anzeigen mit organischen lichtemittierenden Dioden)) auf und dergleichen, sowie ein oder mehrere optionale Touch-Screens (einschließlich kapazitiver Touch-Screens und/oder Widerstands-Touch-Screens). Das Beispiel für einen Lautsprecher 142 und für ein Mikrofon 144 von 2 umfasst jede Kombination von Lautsprechern und Mikrofonen, welche eine Telefonkommunikation ermöglichen, und dergleichen, durch das Gerät 101, wobei beispielsweise das Funkgerät 118 und das WLAN 102 verwendet werden. Das Gerät 101 kann bei anderen Ausführungsformen jede andere Hardware und/oder Komponenten für einen spezialisierten Betrieb des Geräts 101 aufweisen. Wenn beispielsweise das Gerät 101 eine Komponente einer Fernsprechzelle oder eines Fahrzeugs ist, dann weist das Gerät 101 spezielle Komponenten auf, die zu Fernsprechzellen oder Fahrzeugen gehören.
  • Die verschiedenen Hardware-Komponenten des Geräts 101 sind gegenseitig miteinander verbunden über eine oder mehrere Kommunikationsbusleitungen. Das Gerät 101 weist weiterhin eine Energieversorgungsquelle (nicht gezeigt) auf zum Versorgen der voranstehend erwähnten Komponenten mit elektrischer Energie. Bei dem vorliegenden Beispiel weist die Energieversorgungsquelle eine Batterie auf; bei anderen Beispielen weist die Energieversorgungsquelle eine verdrahtete Verbindung zu einer Wandsteckdose oder einer anderen externen Energieversorgungsquelle zusätzlich zur Batterie oder anstelle von dieser auf.
  • Nunmehr wird Bezug auf 3 genommen, die ein Flussdiagramm zeigt, welches repräsentativ für ein beispielhaftes Verfahren 300 für WLAN-Analysefunktionalität des beispielhaften Geräts 101 ist. Die Beispiele für Operationen des Verfahrens 300 von 3 entsprechen maschinenlesbaren Befehlen, die beispielsweise von dem Gerät 101 von 2 ausgeführt werden, und spezifisch durch den zumindest einen Prozessor 120, welcher die Programmiergerüste 221, 222 ausführt. Hierbei ist das beispielhafte Verfahren 300 von 3 nur eine Art und Weise, auf welche das Gerät 101 konfiguriert ist. Allerdings erleichtert die folgende Diskussion des beispielhaften Verfahrens 300 von 3 ein besseres Verständnis des Geräts 101 und seiner verschiedenen Komponenten. Allerdings wird darauf hingewiesen, dass bei anderen Ausführungsformen das Gerät 101 und/oder das Verfahren 300 variiert werden, und daher nicht exakt so arbeiten müssen, in Zusammenarbeit, wie dies hier geschildert wird, und dass derartige Variationen vom Umfang der vorliegenden Ausführungsformen umfasst sind.
  • Darüber hinaus muss das beispielhafte Verfahren 300 von 3 nicht exakt in der dargestellten Reihenfolge ausgeführt werden, und können entsprechend bei anderen Ausführungsformen verschiedene Blöcke parallel anstatt nacheinander durchgeführt werden. Daher werden die Elemente des Verfahrens 300 hier als „Blöcke“ anstatt als „Schritte“ bezeichnet. Das beispielhafte Verfahren 300 von 3 kann ebenso bei Variationen des beispielhaften Geräts 101 implementiert sein.
  • Im Block 301 führt der zumindest eine Prozessor 120 den ersten Klient-WLAN-Stack 131 aus, der mehrere Schichten aufweist, die zum Koppeln des Funkgeräts 118 an ein WLAN (beispielsweise WLAN 102) konfiguriert sind.
  • Im Block 303 führt der zumindest eine Prozessor 120 den zweiten Klient-WLAN-Stack 132 aus, der die mehreren Schichten des ersten Klient-WLAN-Stacks 131 emuliert.
  • Im Block 305 empfängt der zumindest eine Prozessor 120 an dem zweiten Klient-WLAN-Stack 132 Daten von den mehreren Schichten des ersten Klient-WLAN-Stacks 131.
  • Im Block 307 analysiert der zumindest eine Prozessor 120 eine vorbestimmte Gruppe von WLAN-Parametern des Klientgeräts 101 auf Grundlage der Daten, die von den mehreren Schichten des ersten Klient-WLAN-Stacks 131 empfangen werden.
  • Bei den hier beschriebenen Ausführungsformen arbeiten die Blöcke 303, 303, 305, 307 im Wesentlichen parallel zueinander, so dass dann, wenn der zumindest eine Prozessor 120 den ersten Klient-WLAN-131 ausführt, der zumindest eine Prozessor 120 ebenfalls den zweiten Klient-WLAN-Stack 132 ausführt, beispielsweise basierend auf den Daten, die von den mehreren Schichten des ersten Klient-WLAN-Stacks 131 empfangen werden, und analysieren die vorbestimmte Gruppe von WLAN-Parametern.
  • Im Block 309 berichtet der zumindest eine Prozessor 120 ein Ausgangsergebnis der vorbestimmten Gruppe von WLAN-Parametern an das externe Gerät 105, beispielsweise basierend auf der Analyse des Blocks 307. Allerdings ist bei einigen Ausführungsformen der Block 309 nur als Option vorgesehen. Alternativ und/oder zusätzlich zum Block 309 speichert der zumindest eine Prozessor 120 das Ausgangsergebnis in dem Speicher 116. Weiterhin arbeitet bei einigen Ausführungsformen der Block 309 parallel zumindest mit dem Block 307, so dass das Ausgangsergebnis an das externe Gerät 105 berichtet wird, wenn das Ausgangsergebnis erzeugt wird, beispielsweise dann, wenn jede Schicht in dem zweiten Klient-WLAN-Stack 132 ausgeführt wird.
  • Im Block 311 bestimmt der zumindest eine Prozessor 120 auf Grundlage der Ausführung des zweiten Klient-WLAN-Stacks 132, dass die Ausführung eines oder mehrerer Prozesse des ersten Klient-WLAN-Stacks 131 blockiert ist. Im Block 313 ändert der zumindest eine Prozessor 120 Konfigurationsdaten 133, die dem ersten Klient-WLAN-Stack 131 zugeordnet sind, um die Ausführung des einen Prozesses oder der mehreren Prozesse zu entblocken. Im Block 315 führt der zumindest eine Prozessor 120 erneut den ersten Klient-WLAN-Stack 131 aus, damit er den einen oder die mehreren Prozesse auf Grundlage geänderter Konfigurationsdaten ausführt. Die Blöcke 311, 313 und 315 arbeiten im Allgemeinen parallel zu jedem der verbleibenden Blöcke 301, 303, 305, 307, 309 des Verfahrens 300, und daher wird, wenn das Verfahren 301 unterbrochen wird und/oder stoppt, infolge der Blockierung eines oder mehrerer Prozesse des ersten WLAN-Stacks 131 des ersten Klient-WLAN-Stacks 131, die Ausführung der Blöcke 311, 313, 315 dazu verwendet, den einen oder die mehreren Prozesse des ersten Klient-WLAN-Stacks 131 zu entblocken.
  • Die Blöcke 311, 313, 315 sind bei anderen Ausführungsformen als Option vorgesehen.
  • Das Verfahren 300 wird nachstehend unter Bezugnahme auf die 4 und 5 beschrieben. 4 zeigt im Einzelnen die Operation der Programmiergerüste 221, 222, wenn das Gerät 101 mit dem WLAN 102 unter Verwendung des Funkgeräts 119 kommuniziert, wenn der zumindest eine Prozessor 120 das Verfahren 300 implementiert. 5 zeigt ein Verfahren 500, welches eine spezielle Ausführungsform von Aspekten des Verfahrens 300 darstellt, insbesondere in Bezug auf den zumindest einen Prozessor 120, der das Programmiergerüst 222 ausführt. Tatsächlich führt die folgende Diskussion der 4 und 5 zu einem weiteren Verständnis des Verfahrens 300.
  • In 4 weist das Programmiergerüst 221 den ersten Klient-WLAN-Stack 131 und eine optionale WLAN-Treiberschnittstelle 400 auf. Die WLAN-Treiberschnittstelle 400 überwacht Interaktionen zwischen dem Funkgerät 118 und Komponenten des Programmiergerüsts 221. Tatsächlich werden bei einigen Ausführungsformen Daten zwischen dem Funkgerät 118 und Komponenten des Programmiergerüsts 221 unter Verwendung der WLAN-Treiberschnittstelle 400 übertragen. Weiterhin überwacht die WLAN-Treiberschnittstelle 400 Interaktionen zwischen dem Programmiergerüst 221 und dem Programmiergerüst 222. Tatsächlich werden bei einigen Ausführungsformen Daten zwischen dem Programmiergerüst 221 und dem Programmiergerüst 222 übertragen. Allerdings ist bei einigen Ausführungsformen die Funktionalität der WLAN-Treiberschnittstelle 400 eine Komponente zumindest des Programmiergerüsts 221 (und optional des Programmiergerüsts 222), und stellt die WLAN-Treiberschnittstelle 400 keine eigene Komponente dar. Auf jeden Fall ist das Gerät 101 dazu konfiguriert, Interaktionen zwischen dem Funkgerät 118 und Komponenten des Programmiergerüsts 221 zu überwachen, und auch dazu, Interaktionen zwischen dem Programmiergerüst 221 und dem Programmiergerüst 222 zu überwachen.
  • Der erste Klient-WLAN-Stack 131 weist mehrere Schichten auf, welche bei der dargestellten beispielhaften Ausführungsform aufweisen: eine Authentifizierungsschicht 401, eine Zuordnungsschicht 402, eine WLAN-Sicherheitsschicht 403, eine Schicht 404 mit DHCP (Dynamic Host Configuration Protocol) (die ein Teil eines DHCP-Klienten sein kann), sowie eine Schicht 405 mit ARP (Address Resolution Protocol) (die Teil eines ARP-Klienten sein kann). Die Schichten 401-405 umfassen zumindest eine Untergruppe von Netzwerk-Stacks und/oder Netzwerkschichten (beispielsweise einschließend, jedoch nicht hierauf beschränkt, Schichten eines OSI-Modells (Modell mit Open Systems Interconnection) und dergleichen, und/oder Schichten irgendeines anderen geeigneten Netzwerkmodells und/oder Netzwerk-Stacks). Zum Beispiel dann, wenn das Funkgerät 118 die Kommunikation mit dem WLAN 102 einrichtet, wird jede Schicht 401-405 ausgeführt (zum Beispiel in dem Block 301 des Verfahrens 300), und weist jeder Header der Pakete 439, die unter Einsatz des Funkgeräts 118 gesendet und/oder in dem WLAN 102 empfangen werden, während der Ausführung jeder der Schichten 401-405, einen Identifizierer in einer entsprechenden Schicht 401-405 auf. Falls sie vorhanden ist, überwacht die WLAN-Treiberschnittstelle 400 die Pakete 439.
  • Zwar sind nur fünf Schichten dargestellt, jedoch weist bei anderen Ausführungsformen der erste Klient-WLAN-Stack 131 mehr als fünf Schichten auf. Bei noch weiteren Ausführungsformen weist der erste Klient-WLAN-Stack 131 weniger als fünf Schichten auf.
  • Tatsächlich ist die Ausführung des ersten Klient-WLAN-Stacks 131 im Allgemeinen abhängig von der Hardware und/oder von Komponenten, die zum Kommunizieren mit dem WLAN 102 eingesetzt werden, und/oder von der Hardware und/oder den Komponenten des WLAN 102. Beispielsweise sind das Funkgerät 118 und/oder das WLAN 102 so konfiguriert, dass sie entsprechend Datenraten, Rahmenraten, usw. kommunizieren, die von dem Funkgerät 118 und/oder dem AP 103 abhängen, und ist die Ausführung des ersten Klient-WLAN-Stacks 131 entsprechend konfiguriert.
  • Das Programmiergerüst 221 weist weiterhin die Konfigurationsdaten 133 auf, welche Daten zum Kommunizieren mit dem WLAN 102 während der Ausführung des ersten Klient-WLAN-Stacks 131 enthalten können, einschließlich, jedoch nicht hierauf beschränkt, ein oder mehrere Pass-Words (beispielsweise ein Pass-Word für den AP 103), eine Kommunikationsdatenrate (beispielsweise verwendet mit dem AP 103), eine Kommunikationsrahmenrate (beispielsweise verwendet mit dem AP 103), und dergleichen.
  • Das Programmiergerüst 222 weist den zweiten Klient-WLAN-Stack 132 auf, welcher mehrere Schichten umfasst, die bei der dargestellten beispielhaften Ausführungsform folgendes enthalten: eine Authentifizierungsschicht 401, eine Authentifizierungsschicht 411, eine Zuordnungsschicht 412, eine WLAN-Sicherheitsschicht 413, eine DHCP-Schicht 414 und ein ARP 415. Jede der Schichten 411-415 entspricht daher einer ähnlichen Schicht des ersten Klient-WLAN-Stacks 131. Tatsächlich ist jede der Schichten 411-415 im Allgemeinen ebenso ausgebildet wie eine korrespondierende Schicht 401-405, so dass der zweite Klient-WLAN-Stack 132 den ersten Klient-WLAN-Stack 131 emuliert. Insbesondere ist die Anzahl an Schichten in dem zweiten Klient-WLAN-Stack 132 gleich der Anzahl an Schichten in dem ersten Klient-WLAN-Stack 131.
  • Wie dargestellt, weist das Programmiergerüst 222 weiterhin auf: eine Link-Qualitätskomponente 417, eine Netzwerk-Erreichbarkeitskomponente 419, einen Analysator 420, und einen Daten-Logger 426.
  • Weiterhin sind zwar die Link-Qualitätskomponente 417, die Netzwerk-Erreichbarkeitskomponente 419, der Analysator 420 und der Daten-Logger 426 als getrennte Komponenten des Programmiergerüsts 222 dargestellt, jedoch sind bei anderen Ausführungsformen die Link-Qualitätskomponente 417 und/oder die Netzwerk-Erreichbarkeitskomponente 419 und/oder der Analysator 420 und/oder der Daten-Logger 426 in einer einzigen Komponente vereinigt; so kann beispielsweise der Daten-Logger 426 in dem Analysator 420 vorgesehen sein.
  • Zum Emulieren des ersten Klient-WLAN-Stacks 131 empfängt der zweite Klient-WLAN-Stack 132 Konfigurationsdaten 133 von dem Programmiergerüst 221, sowie Ereignisdaten 440 von den mehreren Schichten 401-405 des ersten Klient-WLAN-Stacks 131. Die Ereignisdaten 440 werden von der WLAN-Treiberschnittstelle 400 überwacht, wenn sie vorhanden ist. Beispielsweise werden, wenn der zumindest eine Prozessor 120 jede Schicht 401-405 des ersten Klient-WLAN-Stacks 131 ausführt, die Ereignisdaten 440, welche Ereignisse anzeigen, die in jeder Schicht 401-405 auftreten, an dem zweiten Klient-WLAN-Stack 132 empfangen, und emuliert der zweite Klient-WLAN-Stack 132 entsprechend den ersten Klient-WLAN-Stack 131. Insbesondere wird jede der Schichten 401-405 in einer Reihenfolge ausgeführt, und werden daher auch die Ereignisdaten 440 in einer Reihenfolge empfangen. Anders ausgedrückt, sind zwar die Ereignisdaten 440 in 4 als einzelner Pfeil dargestellt, weisen jedoch die Ereignisdaten 440 mehrere Gruppen von Daten auf, beispielsweise eine Gruppe für jede der Schichten 401-405, die an dem zweiten Klient-WLAN-Stack 132 empfangen werden, wenn jede der entsprechenden Schichten 401-405 ausgeführt wird.
  • Weiterhin werden, wenn das Programmiergerüst 221 Datenpakete 439 mit dem WLAN 102 austauscht, Kopien der Pakete 441 an dem Programmiergerüst 222 empfangen, beispielsweise in einem Paketüberwachungsprozess, wie er beispielsweise unter Verwendung eines Sniffer-Moduls 442 des Programmiergerüsts 222 implementiert ist. Das Sniffer-Modul 442 ist so konfiguriert, dass es Kopien der Pakete 441 hält und/oder zwischenspeichert, wodurch es entbehrlich werden kann, dass eine Paketspeicherung am Programmiergerüst 221 erfolgt, wodurch die Speichernutzung und der Einsatz von Zeitgeber-Ressourcen des Programmiergerüsts 221 verringert werden. Das Sniffer-Modul 442 kann daher eine Ressource und/oder eine einzelne Ressource für die Komponenten des zweiten Klient-WLAN-Stacks 132 zur Verfügung stellen (ebenso wie die Link-Qualitätskomponente 417 und die Netzwerk-Erreichbarkeitskomponente 419), die zwischen dem Programmiergerüst 221 und dem WLAN 102 ausgetauscht wurden. Daher kann das Sniffer-Modul 442 einen Cache (Zwischenspeicher) aufweisen, der unverschlüsselte Kopien der Pakete 421 speichert, und auf den von anderen Komponenten des Programmiergerüsts 222 zugegriffen werden kann. Ein derartiger Paketüberwachungsprozess, der das Sniffer-Modul 442 einsetzt, ist daher ähnlich einem Paket-Sniffing und dergleichen, das außerhalb des Geräts 101 auftritt; allerdings sind im Gegensatz zum Paket-Sniffing die Kopien der Pakete 441 nicht verschlüsselt und/oder werden dem Programmiergerüst 222 unter Einsatz des Sniffer-Moduls 442 vor der Verschlüsselung, falls vorhanden, zur Verfügung gestellt. Die beispielhaften Kopien der Pakete 441 weisen daher, wie dargestellt, offene (beispielsweise unverschlüsselte) Pakete auf, einschließlich, jedoch nicht hierauf beschränkt, unverschlüsselte Pakete, die an das WLAN 102 gesendet und von dem WLAN 102 empfangen werden. Die unverschlüsselten Pakete können rohe Pakete von dem ersten Klient-WLAN-Stack 131 aufweisen, und spezieller rohe Pakete von Schichten in dem ersten Klient-WLAN-Stack 131, wo der Netzwerkverkehr in seinem Paketformat des Typs IEEE 802.11 erfolgt.
  • Als solcher spiegelt und/oder emuliert der zweite Klient-WLAN-Stack 132 den ersten Klient-WLAN-Stack 131. So führt beispielsweise die Ausführung des zweiten Klient-WLAN-Stacks 132 nicht zum Aussenden oder Empfangen von Paketen, zum Empfang derartiger und/oder ähnlicher Daten, die von dem ersten Klient-WLAN-Stack 131 verwendet und/oder empfangen und/oder gesendet werden (beispielsweise Kopien der Pakete 441, zwischengespeichert durch das Sniffer-Modul 442, durch den zweiten Klient-WLAN-Stack 132, sowie die Konfigurationsdaten 133 und die Ereignisdaten 440), was es dem zweiten Klient-WLAN-Stack 132 ermöglicht, den ersten Klient-WLAN-Stack 131 widerzuspiegeln und/oder zu emulieren.
  • Im Gegensatz zu dem ersten Klient-WLAN-Stack 131 ist der zweite Klient-WLAN-Stack 132 nicht Hardware-abhängig, da der zweite Klient-WLAN-Stack 132 auf der Grundlage empfangener Daten ausgeführt wird. Als solcher ist bei einigen Ausführungsformen der zweite Klient-WLAN-Stack 132 als eine Zustandsmaschine an dem Gerät 101 implementiert, welche die Konnektivität und dergleichen des ersten Klient-WLAN-Stacks 131 widerspiegelt und/oder emuliert.
  • Der Analysator 420 tauscht im Allgemeinen Daten 443 mit dem zweiten Klient-WLAN-Stack 132 aus (fordert beispielsweise Daten an und empfängt Daten), um zu bestimmen, ob Probleme und/oder Vorkommnisse bei jeder Schicht 411-415 des zweiten Klient-WLAN-Stacks 132 auftreten; weiterhin wird angenommen, wenn der zweite Klient-WLAN-Stack 132 den ersten Klient-WLAN-Stack 131 emuliert, wenn der Analysator Probleme und/oder Vorkommnisse bei dem zweiten Klient-WLAN-Stack 132 feststellt, dass dieselben Probleme und/oder Vorkommnisse bei dem ersten Klient-WLAN-Stack 131 aufgetreten sind, wie dies nachstehend unter Bezugnahme auf 5 beschrieben wird.
  • Wie dargestellt, empfängt der Analysator 420 weiterhin von dem Programmiergerüst 221 Netzwerk-Scan-Daten 445, welche einen Netzwerk-Scan und/oder eine Netzwerkuntersuchung anzeigen, beispielsweise um zu bestimmen, ob eine Konfiguration der Netzwerk-Konnektivität und/oder des Funkgeräts 118 zu einer erwarteten Konnektivität passt, beispielsweise unter Verwendung der Konfigurationsdaten 133. Ein derartiger Netzwerk-Scan kann erfolgen, bevor der erste Klient-WLAN-Stack 131 dazu verwendet wird, mit dem WLAN 102 zu kommunizieren, und zwar automatisch und/ oder dann, wenn dies vom Analysator 420 angefordert wird. Tatsächlich wird bei einigen Ausführungsformen ein Netzwerk-Scan durch das Programmiergerüst 221 eingeleitet, beispielsweise vor der Ausführung des ersten Klient-WLAN-Stacks 131, werden die Netzwerk-Scan-Daten 445 akquiriert, und dem Programmiergerüst 222 zur Verfügung gestellt, ohne Einleitung durch das Programmiergerüst 222 und/oder als Teil eines Netzwerk-Konnektivitätsprozesses des Programmiergerüsts 221. Beispielsweise führt vor der Verbindung zu einem Netzwerk wie beispielsweise dem WLAN 102 das Klientgerät 101 einen Netzwerk-Scan durch, um Netzwerke aufzufinden, mit welchen eine Verbindung erfolgen soll.
  • Wie dargestellt, tauscht der Analysator 420 weiterhin Daten 447 mit der Link-Qualitätskomponente 417 aus, beispielsweise zum Analysieren der Qualität des Links 107, wenn er eingerichtet ist (beispielsweise durch Ausführen des ersten Klient-WLAN-Stacks 131). Die Link-Qualitätskomponente 417 veranlasst im Allgemeinen, dass die Link-Qualität analysiert wird durch Austausch von Daten 448 mit dem Programmiergerüst 221 (wie überwacht durch die WLAN-Treiberschnittstelle 400, falls vorhanden), was wiederum veranlasst, dass Pakete unter Verwendung des Funkgeräts 118 zum Testen der Qualität des Links 107 gesendet werden, beispielsweise durch Einbringen von Paketen in Sendevorgänge des Funkgeräts 118 unter Verwendung des Links 107, und Messen einer Reaktion, falls vorhanden. Die Paketüberwachung der Kopien der Pakete 441, die sich infolge einer derartigen Sendung ergeben, gemäß Zwischenspeicherung durch das Sniffer-Modul 442, wird von dem Analysator 420 zur Bestimmung der Link-Qualität eingesetzt.
  • Auf ähnliche Weise tauscht der Analysator 420 darüber hinaus Daten 449 mit der Netzwerk-Erreichbarkeitskomponente 419 aus, beispielsweise zur Analyse der Erreichbarkeit des WLAN 102 (beispielsweise Erreichbarkeit von WLAN-Komponenten in dem WLAN 102 jenseits des AP 103). Die Netzwerk-Erreichbarkeitskomponente 419 veranlasst im Allgemeinen, dass die Netzwerk-Erreichbarkeit analysiert wird, durch Austausch von Daten 450 mit dem Programmiergerüst 221 (wie von der WLAN-Treiberschnittstelle 400 überwacht, falls vorhanden), was wiederum dazu führt, dass Pakete unter Verwendung des Funkgeräts 118 gesendet werden, um die Erreichbarkeit des WLAN 102 zu testen, beispielsweise durch Einbringen von Paketen in Sendevorgänge unter Verwendung des Links 107, und Messen einer Reaktion, falls vorhanden, von dem WLAN 102. Die Paketüberwachung der Kopien der Pakete 441, die sich bei einem derartigen Sendevorgang ergeben, zwischengespeichert durch das Sniffer-Modul 442, wird von dem Analysator 420 zur Bestimmung der Erreichbarkeit des WLAN 102 verwendet.
  • Der Analysator 420 ist weiterhin so konfiguriert, dass er das Ausgangsergebnis 452 des externen Geräts 105 berichtet und/oder das Ausgangsergebnis 454 dem Daten-Logger 426 zur Verfügung stellt, der das Ausgangsergebnis 454 in dem Speicher 116 für späteren Rückgriff und Analyse speichert. Während das Ausgangsergebnis 452 so dargestellt ist, dass es dem externen Gerät 105 ohne Verwendung des Funkgeräts 118 und des WLAN 102 zur Verfügung gestellt wird, wird das Ausgangsergebnis 452 bei einigen Ausführungsformen dem externen Gerät 105 unter Verwendung des Funkgeräts 118 zur Verfügung gestellt; allerdings wird bei anderen Ausführungsformen das Ausgangsergebnis 452 dem externen Gerät 105 zur Verfügung gestellt unter Verwendung eines oder mehrerer anderer Funkgeräte des Geräts 101 (beispielsweise eines Zellulär-Funkgeräts), unter Verwendung eines anderen Drahtlos-Links (beispielsweise kein Zellulär-Link), eines anderen Netzwerks (beispielsweise eines Zellulär-Netzwerks), und/oder einer verdrahteten Verbindung (beispielsweise einer verdrahteten Verbindung zum Internet).
  • Tatsächlich wird angenommen, dass sich das externe Gerät 105 bei dem Gerät 104 registriert hat, um das Ausgangsergebnis 452 zu empfangen, und dass jegliches Loggen von Daten und/oder Analyse des externen Geräts 105 mit einer Anwendungs-Programmierschnittstelle (API) des Analysators 420 kompatibel sind.
  • Wenn es nicht möglich ist, das Ausgangsergebnis 452 dem externen Gerät 105 zur Verfügung zu stellen, beispielsweise dann, wenn das Gerät 101 nicht mit dem externen Gerät 105 kommunizieren kann, und wenn das Ausgangsergebnis 454 in dem Speicher 116 gespeichert wird, wenn das Gerät 101 später in Kommunikationsverbindung mit dem externen Gerät 105 steht, wird das Ausgangsergebnis 454 später an das externe Gerät 105 als das Ausgangsergebnis 452 gesendet. Anders ausgedrückt, sind die Ausgangsergebnisse 452, 454 einander ähnlich.
  • Im Allgemeinen wird der Analysator 420 durch den zumindest einen Prozessor 120 als Teil des Programmiergerüsts 222 ausgeführt, um eine vorbestimmte Gruppe an WLAN-Parametern zu analysieren, welche umfassen, jedoch nicht hierauf beschränkt sind, eine oder mehrere der folgenden Größen: Konnektivität, Link-Qualität, Netzwerk-Erreichbarkeit des Funkgeräts über das WLAN 102, Authentifizierungsparameter, Zuordnungsparameter, WLAN-Sicherheitsparameter, DHCP-Parameter, und ARP-Parameter. Beispiele für derartige Parameter sind nachstehend angegeben.
  • Authentifizierungsparameter, die den Authentifizierungsschichten 401, 411 zugeordnet sind, umfassen, wobei sie nicht hierauf beschränkt sind: Zeitablauf einer Authentifizierung, De-Authentifizierung von Paketen und dergleichen.
  • Zuordnungsparameter, die den Zuordnungsschichten 402, 412 zugeordnet sind, umfassen, wobei sie nicht hierauf beschränkt sind: zeitlicher Ablauf von Zuordnungen, Aufhebung der Zuordnung von Paketen (und/oder De-Authentifizierung von Paketen) und dergleichen.
  • WLAN-Sicherheitsparameter, die den WLAN-Sicherheitsschichten 403, 413 zugeordnet sind, umfassen, wobei sie nicht hierauf beschränkt sind: Parameter, die anzeigen, ob ein vorgegebenes und/oder erwartetes Authentifizierungsverfahren und/oder -protokoll verwendet wird, beispielsweise WPA2 (WiFi Protected Access 2), WPA (WiFi Protected Access) und WEP (Wired Equivalent Privacy); Parameter, welche anzeigen, ob das Gerät 100 ein vorgegebenes und/oder erwartetes Verschlüsselungsverfahren und/oder -protokoll eingesetzt hat, beispielsweise CCMP (Counter Mode Cipher Block Chaining Message Authentification Code Protocol), TKIP (Temporal Key Integrity Protocol); und andere Parameter, welche die WLAN-Sicherheit betreffen.
  • DHCP-Parameter, die den DHCP-Schichten 404, 414 zugeordnet sind, umfassen, wobei sie nicht hierauf beschränkt sind: zeitlicher Ablauf von DHCP, DHCP-NACK-Pakete, und dergleichen.
  • ARP-Parameter, die den ARP-Schichten 405, 415 zugeordnet sind, umfassen, wobei sie nicht hierauf beschränkt sind: zeitlicher Ablauf von ARP, ARP-Antworten und dergleichen.
  • Link-Qualitätsparameter, die der Link-Qualitätskomponente 417 zugeordnet sind, umfassen, wobei sie nicht hierauf beschränkt sind: Bestimmungen eines oder mehrerer Qualitätsfaktoren (einschließlich Kombinationen von diesen) pro vorgegebenen Zeitraum, sowie Daten, welche Trends derartiger Qualitätsfaktoren anzeigen. Solche Qualitätsfaktoren umfassen, wobei sie nicht hierauf beschränkt sind: RSSI (Anzeige für empfangene Signalstärke), SNR (Signal-Rauschverhältnis), Datenraten, Anzahl an Paketen von Schicht 2, die gesendet und empfangen werden, und dergleichen.
  • Netzwerk-Erreichbarkeitsparameter, die der Netzwerk-Erreichbarkeitskomponente 419 zugeordnet sind, umfassen, wobei sie nicht hierauf beschränkt sind: ICMP-Pakete (Pakete des ICMP (Internet Control Message Protocol)) und/oder Ping-Pakete, Daten, welche die Beurteilung der Erreichbarkeit einer konfigurierbaren entfernten Destination anzeigen, und Daten, welche statistische Messungen der Erreichbarkeit der konfigurierbaren entfernten Destination anzeigen, und dergleichen.
  • Beim Analysieren der vorbestimmten Gruppe von WLAN-Parametern führen die Prozesse, die im Zusammenhang mit dem Programmiergerüst 222 auftreten, im Allgemeinen eine Validierung des Betriebs des Programmiergerüsts 221 durch. Weiterhin führt, wenn Probleme und/oder Schwierigkeiten auftreten, das Gerät 101 bei einigen Konfigurationen eine pro-aktive Reparatur durch, und/oder beseitigt die Probleme und/oder Schwierigkeiten, beispielsweise durch Änderung der Konfigurations-daten 133 und erneute Ausführung des ersten Klient-WLAN-Stacks 131.
  • Tatsächlich weist, wie dies nachstehend beschrieben wird, das Programmiergerüst 222 verschiedene Fähigkeiten auf, wie sie nachstehend zusammengefasst sind.
  • Fähigkeit-A: KLIENT-STACK-EMULATON
  • Der zweite Klient-WLAN-Stack 132 des Programmiergerüsts 222 führt im Allgemeinen eine Widerspiegelung oder Emulation des vorhandenen Klient-WLAN-Stacks 131 an dem Klientgerät 101 durch, einschließlich von Schichten, welche sich auf Funktionalität bezüglich IP/DHCP-Klient (beispielsweise DHCP-Schicht 404) und ARP-Klient beziehen (beispielsweise ARP-Schicht 405). Tatsächlich versucht der erste Klient-WLAN-Stack 131 im Allgemeinen, eine stabile Konnektivität und Erreichbarkeit mit dem WLAN 102 (zum Beispiel über den AP 103) zur Verfügung zu stellen, welches weiter entfernt verteilte Systemnetzwerkkomponenten aufweisen kann.
  • Da sich der zweite Klient-WLAN-Stack 132 an dem Gerät 101 befindet, tritt die Widerspiegelung oder Emulation des ersten Klient-WLAN-Stacks 131 im Allgemeinen in Echtzeit oder nahezu in Echtzeit auf. Als solche nimmt die an dem zweiten Klient-WLAN-Stack 132 durchgeführte Widerspiegelung/Emulation im Allgemeinen „subjektive“ Daten/Zustände/Operationen/usw. auf, die an dem Programmier-gerüst 221 auftreten, einschließlich am ersten Klient-WLAN-Stack 131, in Echtzeit und/oder nahezu in Echtzeit. Der verwendete Begriff „subjektiv“ betrifft interne Daten/Zustände/Operationen und dergleichen der Schichten 401-405 des ersten Klient-WLAN-Stacks 131.
  • Zusätzlich, wenn die Kopien der Pakete 441, wie sie durch das Sniffer-Modul 442 zwischengespeichert sind, an dem Programmiergerüst 222 bei der Paketüberwachung als rohe Pakete und/oder unverschlüsselte Pakete empfangen werden, nimmt im Allgemeinen das Programmiergerüst 222 auch „objektive“ Daten/Zustände/Operationen/usw. auf, die an dem Programmiergerüst 221 auftreten. Der hier verwendete Begriff „objektiv“ bezieht sich auf externe Daten/Zustände/Operationen und dergleichen, die in Reaktion auf und/oder als Ergebnis von internen Operationen des ersten Klient-WLAN-Stacks 131 auftreten, und/oder relativ zu Operationen des AP 103.
  • Zusätzlich, da die rohen Pakete „offen“ und/oder nicht verschlüsselt sind, wenn die Pakete von dem WLAN 102 empfangen werden, empfängt und unterteilt das Programmiergerüst 222 im Allgemeinen IEEE 802.11-Pakete an einem Punkt, an welchem sie bereits durch den ersten Klient-WLAN-Stack 131 verschlüsselt werden, was den Betrieb des Programmiergerüsts 222 von dem Link 107 entfernt, und was im Allgemeinen den Link 107 gegenüber dem Betrieb des Programmiergerüsts 222 schützt. Entsprechend, wenn die Pakete an das WLAN 102 gesendet werden, empfängt und unterteilt das Programmiergerüst 222 802.11-Pakete an einem Punkt, an welchem sie noch nicht bereits durch den ersten Klient-WLAN-Stack 131 verschlüsselt wurden, was wiederum den Betrieb des Programmiergerüsts 222 von dem Link 107 entfernt, und was daher im Allgemeinen den Link 107 gegenüber dem Betrieb des Programmiergerüsts 222 schützt.
  • Weiterhin tritt, wenn das Gerät 101 mit dem AP 103 unter Verwendung eines Protokolls gemäß IEEE-Ergänzung von 802.11b (Management Frames Protection (MFP)), der Empfang offener Pakete auch dann auf, wenn MFP-Verschlüsselung/Entschlüsselung auftritt; als solche beeinflusst MFP nicht die hier beschriebene Analyse.
  • Im Allgemeinen sind die rohen Pakete, die von dem Programmiergerüst 222 empfangen werden, dem Gerät 101 zugeordnet (beispielsweise werden die rohen Pakete entsprechend Headern gefiltert, welche eine Adresse des Geräts 101 enthalten, beispielsweise eine MAC-Adresse (Medien-Zugriffssteuerungsadresse), wenn das Gerät 101 entsprechend einer Adressenfilterung gemäß 802.11 arbeitet. Allerdings wird bei anderen Ausführungsformen das Gerät 101 in einem Roh-Sniffermodus betrieben, so dass sämtliche feststellbare Pakete, die von dem Funkgerät 118 festgestellt werden können, empfangen werden, nicht nur jene, die dem Gerät 101 zugeordnet sind. Bei diesen Ausführungsformen sind nicht sämtliche Pakete, die an dem Programmiergerüst 222 empfangen werden, roh und/oder offen und/oder unverschlüsselt, jedoch kann der Empfang derartiger Pakete den Analysator 420 bei der Bestimmung des Erfolgs der Paketfilterung durch das Programmiergerüst 221 unterstützen.
  • Weiterhin erleichtert die Bestimmung sowohl „subjektiver“ als auch „objektiver“ Zustände des Geräts 101 durch den Analysator die Bestimmung der Interoperabilität des Klientgeräts 101 mit dem AP 103, und anderen Komponenten des WLAN 102 (beispielsweise Komponenten eines verteilten Systemnetzwerks). Beispielsweise stellen die Zustände der rohen Pakete, die an dem Programmiergerüst 222 empfangen werden, eine Anzeige von Zuständen der Hardware des WLAN 102 zur Verfügung (beispielsweise einschließlich des AP 103), was entsprechend einer Anzeige von Zuständen sein kann, die durch externe Tools bestimmt werden, die zur Analyse des WLAN 102 verwendet werden (beispielsweise wie von dem externen Gerät 105 durchgeführt). Als solches verwendet, wenn das Ausgangsergebnis 452 dem externen Gerät 105 zur Verfügung gestellt wird, das externe Gerät 105 bei einigen Ausführungsformen das Ausgangsergebnis 452 zur Bestätigung der Analyse des WLAN 102, die ohne das Ausgangsergebnis 452 durchgeführt wird.
  • Fähigkeit-B: BESTIMMUNG EINER VORHER BEREITGESTELLTEN KONFIGURATION
  • Wenn die Konfigurationsdaten 133 an dem Programmiergerüst 222 empfangen werden, wird bei einigen Ausführungsformen ein Einbau der Konfigurationsdaten 133 in das Ausgangsergebnis 452 und/oder das Ausgangsergebnis 454 vorgenommen, so dass die Konfigurationsdaten 133 zur Analyse dem externen Gerät 105 zur Verfügung gestellt werden. Die Konfigurationsdaten 133 umfassen im Allgemeinen Daten, welche das Klientgerät 101 verwendet, die sich auf Netzwerkbildung und/oder Kommunikation mit dem WLAN 102 beziehen, und vorher an dem Klientgerät 101 zur Verfügung gestellt werden, beispielsweise durch eine Einheit, welche das Klientgerät 101 ausgibt und/oder verwaltet. Bei einigen Ausführungsformen sind die Konfigurationsdaten 133 statisch, jedoch werden bei anderen Ausführungsformen (zum Beispiel wenn die Blöcke 311-315 ausgeführt werden) die Konfigurationsdaten 133 geändert, um den ersten Klient-WLAN-Stack 131 zu entblocken. Die Konfigurationsdaten 133 können, wobei sie nicht hierauf beschränkt sind, folgendes umfassen: konfigurierte WLAN-Funkgerätparameter; konfigurierte WLAN-Konnektivitätsparameter; und konfigurierte DHCP/IP-Parameter. Daher wird das externe Gerät 105 mit denselben Parametern versorgt, um die Analyse des WLAN 102 zu unterstützen.
  • Fähigkeit-C: NETZWERK-SCAN
  • Die Netzwerk-Scan-Daten 445, welche einen Netzwerk-Scan und/oder ein Netzwerk anzeigen, werden bei einigen Ausführungsformen auch in das Ausgangsergebnis 452 und/oder das Ausgangsergebnis 454 eingebaut. Der Analysator 420 unterteilt bei einigen Ausführungsformen die Netzwerk-Scan-Daten 445 in granuläre Abschnitte, welche jeder der mehreren Schichten 401-405 des ersten Klient-WLAN-Stacks 131 entsprechen, so dass die Netzwerk-Scan-Daten 445 Authentifizierungsdaten enthalten, Zuordnungsdaten, WLAN-Sicherheitsdaten, DHCP-Daten und ARP-Daten, unter der Annahme, dass derartige Daten sich in den Netzwerk-Scan-Daten 445 beim Akquirieren während des Netzwerk-Scans befinden.
  • Fähigkeit-D: LINK-QUAUTÄTSTEST
  • Bei Ausführungsformen, welche die Link-Qualitätskomponente 417 aufweisen, wird dem Programmiergerüst 222 ermöglicht, pro-aktiv einen Link-Qualitätstest durchzuführen, beispielsweise durch Einbringen von Paketen in Sendungen des Funkgeräts 118, wie durch die Daten 448 angedeutet. Bei einigen Ausführungsformen umfassen die Daten 448 Befehle und/oder Konfigurationsdaten zum Senden der eingebrachten Pakete, beispielsweise unter Verwendung unterschiedlicher Datenraten und/oder Rahmendaten, oder anderer Konfigurationen, welche die Kommunikation zwischen dem Funkgerät 118 und dem AP 103 und/oder dem WLAN 102 beeinflussen. Hierbei stellt das Programmiergerüst 222 fest, ob unterschiedliche Konfigurationen des Geräts 101 zu einem effizienteren Betrieb des Geräts 101 und/oder des Funkgeräts 118 führen, etwa ob die zugrundeliegende Funkgerät-Zusammenarbeitskonfiguration (welche die Zusammenarbeit zwischen Klient und AP beeinflusst) besser ist als eine andere. Beispielsweise misst für jede getestete Konfiguration das Programmiergerüst 222 das Paketverkehrsverhalten (beispielsweise unter Verwendung der Kopien der Pakete 441, mit Zwischenspeicherung durch das Sniffer-Modul 442), durch Messen von Paketverlust und/oder Paketverzögerungen und/oder Jitter. Bei einigen Ausführungsformen umfassen derartige Messungen in Bezug auf die Messung der Link-Qualität weiterhin, wobei sie nicht hierauf beschränkt sind: Lauftests für unterschiedliche Energiesparparameter des Klientgeräts 101; Lauftests für unterschiedliche 11n-11ac-Block/Ack-Parameter des Klientgeräts 101; Lauftests für unterschiedliche Bandbreitenreservierung (beispielsweise Parametern bezüglich TSpec (Traffic Specifica tion)) und/oder für unterschiedliche Markierungsparameter bezüglich QoS (Quality of Service).
  • Allerdings ist die Variation irgendwelcher Daten-Konfigurationsparameter (einschließlich, jedoch nicht hierauf beschränkt, von Variation von Parametern der Konfigurationsdaten 133) beim Testen von Link-Qualität im Allgemeinen temporär, wobei das Ausgangsergebnis derartiger Tests dem externen Gerät 105 zur Analyse der Operation und/oder der Konnektivität des WLAN 102 zur Verfügung gestellt wird. Sobald der Link-Qualitätstest beendet ist, werden die bereitgestellten Konfigurationsdaten 133 für weitere Kommunikationsvorgänge mit dem WLAN 102 eingesetzt (werden beispielsweise die Konfigurationsdaten 133 nicht geändert).
  • Fähigkeit-E: NETZWERK-ERREICHBARKEITSTEST
  • Bei Ausführungsformen, welche die Netzwerk-Erreichbarkeitskomponente 419 enthalten, wird das Programmiergerüst 222 dazu freigeschaltet, pro-aktiv einen Netzwerk-Erreichbarkeitstest durchzuführen, beispielsweise durch Veranlassen des Einbringens von Paketen (beispielsweise gesendet von dem Funkgerät 118), die in Bezug zu einer pro-aktiven Netzwerk-Erreichbarkeits-Interaktion stehen, und/oder durch passives Erfassen und Bewerten des Verhaltens bestimmter Arten von Verkehr zwischen einer Anwendung an dem Klientgerät 101 und einem Netzwerk-Server, der dem WLAN 102 zugeordnet ist (was das externe Gerät 105 umfassen kann, jedoch nicht hierauf beschränkt ist). Das Einbringen von Paketen erfolgt über Daten 450.
  • Bei einigen Ausführungsformen führt das Programmiergerüst 222 pro-aktiv einen Netzwerk-Erreichbarkeitstest zu einem entfernten TCP-Port (Transmission Control Protocol) und/oder einem entfernten UDP-Port (User Data Protocol) durch, und/oder führt das Programmiergerüst 222 einen Erreichbarkeitstest zu einem URL (Uniform Resource Locator) eines entfernten Servers und/oder zu einer IP-Adresse durch. In diesen Fällen kann das Programmiergerüst 222 das Gerät 101 (beispielsweise über Daten 450) dazu veranlassen, einen Ping an eine direkte IP-Zieladresse durchzuführen, und/oder zunächst eine URL-Adressierung über eine Abfrageprozedur (und/oder Verfahren) mittels DNS (Dynamic Name Services) durchzuführen, und dann das Gerät 101 dazu veranlassen, diese IP-Zieladresse durch einen Ping zu erreichen. Die Reaktion auf das Pingen zeigt die Netzwerk-Erreichbarkeit an.
  • Bei noch weiteren Ausführungsformen analysiert das Programmiergerüst 222 (beispielsweise am Analysator 420) Signalverkehr (etwa über die Kopien der Pakete 441, zwischengespeichert durch das Sniffer-Modul 442) zwischen einem Sprachklient (nicht gezeigt) an dem Gerät 101 und einem Sprachserver zum Testen der Netzwerk-Erreichbarkeit des Klient/Server-Protokolls. Bei diesen Ausführungsformen erfolgt die Netzwerk-Erreichbarkeit ohne Einbringen zusätzlicher Pakete in Sendevorgänge durch das Funkgerät 118.
  • Bei noch weiteren Ausführungsformen untersucht das Programmiergerüst (beispielsweise am Analysator 420) den Web-Serververkehr (beispielsweise Pakete in Bezug auf Hypertext Transfer Protocol (HTP), wie empfangen über die Kopien der Pakete 441, zwischengespeichert durch das Sniffer-Modul 442), um die Netzwerk-Erreichbarkeit zwischen einer Web-Anwendung an dem Klientgerät 101 und einem Netzwerk-Server zu testen. Bei diesen Ausführungsformen erfolgt die Netzwerk-Erreichbarkeit ohne Einbringen zusätzlicher Pakete in Sendevorgänge von dem Funkgerät 118.
  • Allerdings ist die Variation irgendwelcher Daten-Konfigurationsparameter (einschließlich, jedoch nicht hierauf beschränkt, Variieren von Parametern der Konfigurationsdaten 133) bei Netzwerk-Erreichbarkeitstests im Allgemeinen temporär, wobei das Ausgangsergebnis derartiger Tests dem externen Gerät 105 zur Analyse des Betriebs und/oder der Konnektivität des WLAN 102 zur Verfügung gestellt wird. Sobald der Netzwerk-Erreichbarkeitstest beendet ist, werden die bereitgestellten Konfigurationsdaten 133 für weitere Kommunikationsvorgänge mit dem WLAN 102 eingesetzt (beispielsweise werden die Konfigurationsdaten 133 nicht geändert).
  • Fähigkeit-F: ENTBLOCKEN DES ERSTEN KLIENT-WLAN-STACKS
  • Bei Ausführungsformen, welche die Ausführung der Blöcke 311-315 des Verfahrens 300 umfassen, ist das Programmiergerüst 222 so konfiguriert, dass es den ersten Klient-WLAN-Stack 131 entblockt, wenn der Analysator 420 ein Vorkommnis in Bezug auf die Leistung an dem zweiten Klient-WLAN-Stack 132 feststellt, was im Allgemeinen ein aktuelles Vorkommnis in Bezug auf die Leistung des ersten Klient-WLAN-Stacks 131 repräsentiert; derartige Leistungsvorkommnisse umfassen, sind jedoch nicht hierauf beschränkt, Blockieren, wenn der erste Klient-WLAN-Stack 131 vollständig in der Hinsicht geblockt ist, die Prozesse weiterhin durchzuführen, die den Schichten 401-405 zugeordnet sind. Bei diesen Ausführungsformen führt das Programmiergerüst 222 (beispielsweise der Analysator 420) einen pro-aktiven Zugriff auf die Konfigurationsdaten 133 durch und ändert diese, mit unterschiedlichen Blöcken zum Ändern des Verhaltens einer oder mehrerer Schichten 401-405 des ersten Klient-WLAN-Stacks 131, der dem Vorkommnis zugeordnet ist. Wenn beispielsweise die Konfigurationsdaten 133 mit einer Datenrate versorgt wurden, die nicht kompatibel mit dem AP 103 ist, veranlasst das Programmiergerüst 222, dass die Datenrate, die bei den Konfigurationsdaten 133 gespeichert ist, geändert wird, und startet erneut den ersten Klient-WLAN-Stack 131. Ähnlich dem Testen der Link-Qualität werden hier unterschiedliche Datenraten geändert und getestet, und wird die Datenrate, die bei den Konfigurationsdaten 133 gespeichert ist, geändert zu einer Datenrate, die zu einem Entblocken des ersten Klient-WLAN-Stacks 131 führt (beispielsweise zu einer effizientesten Kommunikation mit dem AP 103 und/oder mit einer Datenrate, die erfolgreich zur Kommunikation mit dem AP 103 führt (beispielsweise erfolgreiches Einrichten des Links 107)). Bei anderen Ausführungsformen werden andere Parameter, die bei den Konfigurationsdaten 133 gespeichert sind, geändert und getestet, und dann aktualisiert auf Grundlage eines erfolgreichen Entblockens des ersten Klient-WLAN-Stacks 131.
  • Allerdings ist im Gegensatz zum Testen und zur Analyse, die während Link-Qualitätstests und/oder Netzwerk-Erreichbarkeitstests durchgeführt werden (wenn die Änderung von Parametern temporär ist), die Änderung von Parametern von Konfigurationsdaten 133 zum Entblocken des ersten Klient-WLAN-Stacks 131, die Änderung der Konfigurationsdaten 133 zum Entblocken des ersten Klient-WLAN-Stacks 131 im Allgemeinen permanent, zumindest zu einem nächsten Zeitpunkt, an welchem ein Entblocken des ersten Klient-WLAN-Stacks 131 auftritt. Weiterhin nehmen diese Ausführungsformen im Allgemeinen an, dass es dem Programmiergerüst 222 erlaubt ist, die Konfigurationsdaten 133 zu ändern (beispielsweise sind die Erlaubnisse bei einigen Ausführungsformen an dem Klientgerät 101 konfigurierbar).
  • Fähigkeit-G: AUFZEICHNEN/LOGGEN VON AUSGANGSERGEBNISSEN
  • Das Programmiergerüst 222 ist im Allgemeinen so konfiguriert, dass es Ausgangsergebnisse jeder der mehreren Schichten 411-415 des zweiten Klient-WLAN-Stacks 132 aufzeichnet und/oder loggt, in Echtzeit, beispielsweise unter Verwendung des Daten-Loggers 426 zum Speichern des Ausgangsergebnisses 454, einschließlich positiver und negativer Ausgangsergebnisse des Analysators 420. So zeigt beispielsweise ein positives Ausgangsergebnis an, dass eine Schicht 411-415 bei der Ausführung ihrer Funktion erfolgreich war, wogegen ein negatives Ausgangsergebnis anzeigt, dass eine Schicht 411-415 bei der Ausführung ihrer Funktion nicht erfolgreich war.
  • Wenn ein negatives Ausgangsergebnis auftritt, enthält das Ausgangsergebnis 454 einen jeweiligen Schlussfolgerungs-Code, welcher die Echtzeit-Netzwerkfunktionalität betrifft, die beteiligt ist (beispielsweise 802.11, DHCP/IP, ARP). Beispielsweise sind bei unterschiedlichen Netzwerkprotokollen (zum Beispiel 802.11, DHCP/IP, ARP) im Allgemeinen unterschiedliche Schlussfolgerungs-Codes unterschiedlichen Zuständen zugeordnet, beispielsweise Schlussfolgerungs-Codes für einen Fehler oder mehrere; AP-De-Authentifizierung; Auflösung der Zuordnung; DHCP-Fehler; ARP-Erreichbarkeitsfehler und dergleichen. Daher wird bei diesen Ausführungsformen der Analysator 420 mit derartigen Schlussfolgerungs-Codes versorgt, und wird dann, wenn ein negatives Ausgangsergebnis auftritt, der zugehörige Schlussfolgerungs-Code bei dem Ausgangsergebnis 452, 454 geloggt. Derartige Schlussfolgerungs-Codes können ganze Zahlen sein, die einen oder mehrere globale Ausfälle und/oder spezifische Ausfälle repräsentieren, und können weiterhin granulär sein und/oder ausgeleitet werden, um Einzelheiten eines gegebenen Ausfalls zur Verfügung zu stellen.
  • Fähigkeit-H: BEREITSTELLUNG EINES AUSGANGSERGEBNISSES ZU EINEM EXTERNEN GERÄT
  • Das Programmiergerüst 222 ist im Allgemeinen so konfiguriert, dass es sämtliche Echtzeit-Ausgangsergebnisse an das externe Gerät 105 als das Ausgangsergebnis 452 sendet, das im Allgemeinen ähnlich dem Ausgangsergebnis 454 ist, und daher Schlussfolgerungs-Codes und dergleichen aufweist, wie dies voranstehend geschildert wurde. Das externe Gerät 105 empfängt das Ausgangsergebnis 452 und analysiert das Ausgangsergebnis 452. Bei einigen Ausführungsformen weist das externe Gerät 105 einzeln oder zusammen folgendes auf: eine Visualisierungsanwendung, eine Analyseanwendung, eine Analyse-Cloud-Anwendung, ein lokales Gerät, ein entferntes Gerät, ein entferntes Analyseterminal einer privaten Domain, und dergleichen.
  • Weiterhin führt das externe Gerät 105 bei einigen Ausführungsformen eine visuelle Anzeige des Ausgangsergebnisses 452 und/oder einer Analyse von diesem durch. Tatsächlich empfängt bei weiteren Ausführungsformen das externe Gerät 105 ein Ausgangsergebnis von mehreren Klientgeräten, die jeweils mit einem Programmiergerüst 222 versehen sind, und kombiniert das externe Gerät 105 das Ausgangsergebnis von jedem der Klientgeräte zur Durchführung einer Mehrgeräteanalyse, die als Teil eines Vorhersagemodells für WLAN-Verhalten und dergleichen eingesetzt werden kann.
  • In 5 ist nunmehr ein Flussdiagramm dargestellt, welches ein Beispiel für ein Verfahren 500 für WLAN-Analysefunktionalität des beispielhaften Geräts 101 repräsentiert. Das Verfahren 500 kann eine bestimmte Ausführungsform von Aspekten des Verfahrens 300 umfassen. Die Beispiele für Operationen des Verfahrens 500 von 5 entsprechen maschinenlesbaren Befehlen, die zum Beispiel durch das Gerät 101 von 2 ausgeführt werden, und spezieller durch den zumindest einen Prozessor 120, der die Programmiergerüste 221, 222 ausführt. Das beispielhafte Verfahren 500 von 5 stellt tatsächlich eine Art und Weise dar, auf welche das Gerät 101 konfiguriert ist. Allerdings wird die nachfolgende Diskussion des beispielhaften Verfahrens 500 von 5 zu einem weiteren Verständnis des Geräts 101 und dessen verschiedener Komponenten führen. Allerdings wird darauf hingewiesen, dass bei anderen Ausführungsformen das Gerät 101 und/oder das Verfahren 500 variiert sind, so dass sie nicht exakt so wie hier erläutert zusammen miteinander arbeiten müssen, und dass derartige Variationen vom Umfang der vorliegenden Ausführungsformen umfasst sind.
  • Weiterhin muss das beispielhafte Verfahren 500 von 5 nicht in der exakten Reihenfolge wie gezeigt durchgeführt werden, und können entsprechend bei anderen Ausführungsformen verschiedene Blöcke parallel anstatt aufeinanderfolgend abgearbeitet werden. Daher werden hier die Elemente des Verfahrens 500 als „Blöcke“ anstelle von „Schritte“ bezeichnet. Das beispielhafte Verfahren 500 von 5 kann auch ebenso bei Variationen des beispielhaften Geräts 101 implementiert sein.
  • Es wird bei dem Verfahren 500 angenommen, dass das Programmiergerüst 222 Daten wie voranstehend beschrieben in Bezug auf 4 empfängt, beispielsweise die Daten 440, die Kopien der Pakete 441, wie zwischengespeichert durch das Sniffer-Modul 442, usw. Weiterhin wird angenommen, dass das Klientgerät 101, einschließlich der Schichten 401-405 des ersten Klient-WLAN-Stacks 131, nicht durch ein Netzwerk angeschlossen ist, und dass das Programmiergerüst 221 mit einem Netzwerk-Konnektivitätsprozess beginnt, der umfasst, dass der erste Klient-WLAN-Stack 131 in dem Speicher 116 durch den zumindest einen Prozessor 120 ausgeführt wird.
  • Im Block 501 empfängt der zumindest eine Prozessor 120 die Netzwerk-Scan-Daten 445. Im Block 503 bestimmt der zumindest eine Prozessor 120, ob eine Fehlanpassung in einer erwarteten Konfiguration irgendwelcher Netzwerke vorhanden ist, die während des Netzwerk-Scans (beispielsweise WLAN 102) festgestellt werden, gegenüber einer aktuellen Konfiguration irgendwelcher Netzwerke, die während des Netzwerk-Scans festgestellt werden. Beispielsweise umfassen bei einigen Ausführungs-formen die Netzwerk-Scan-Daten 445 rohe, den Scan betreffende Pakete des Typs 802.11 (beispielsweise Beacons und Sonden des Typs 802.11). Aus derartigen Daten kann der zumindest eine Prozessor 120 feststellen, dass eine oder mehrere der folgenden Situationen vorhanden sind: ob ein Fehler (oder nicht) in der Hinsicht vorhanden ist, wie das Programmiergerüst 221 die rohen Pakete in eine interne Scann-ing-Datenbank durch Parsen transportiert; und wie „beschäftigt“ oder iterativ (beispielsweise durch erneuten Versuch relevanter Scanning-Prozeduren) das Programmiergerüst 221 ist, wenn es die Netzwerk-Scan-Daten 445 akquiriert. Tatsächlich zeigen eine Bestimmung oder mehrere dieser Bestimmungen Bedingungen bezüglich der Funkfrequenz (RF) des Funkgeräts 118 an, da Muster und/oder Iterationen roher Scan-Pakete stark variieren.
  • Weiterhin vergleicht im Block 503 der zumindest eine Prozessor 120 die Netzwerk-Scan-Daten 445 mit den Konfigurationsdaten 133 (beispielsweise bereitgestellte Netzwerk-Konnektivitätsparameter des Klientgeräts 101) zur Feststellung, ob zwischen diesen eine Übereinstimmung vorhanden ist.
  • Zum Beispiel kann ein bereitgestellter Netzwerknamen (beispielsweise ein SSID (Service Set Identifyer)), der in den Konfigurationsdaten 133 gespeichert ist, sich nicht in den Netzwerk-Scan-Daten 445 befinden, was eine Fehlkonfiguration eines SSID-Wertes anzeigen könnte, und/oder dass sich ein Netzwerk, das einem bereitgestellten SSID zugeordnet ist, im Bereich des Funkgeräts 118 befindet.
  • Wenn weiterhin bei diesem Beispiel ein SSID, der in den Netzwerk-Scan-Daten 445 akquiriert wurde, zu einem SSID passt, der in den Konfigurationsdaten 133 gespeichert ist, könnten die Konfigurationsdaten 133 anzeigen, dass das zugehörige Netzwerk entsprechend einem ersten WLAN-Sicherheits-Verschlüsselungsverfahren (beispielsweise TKIC (Temporal Kee Integrity Control)) arbeitet, wobei jedoch die Netzwerk-Scan-Daten 445, die im Block 501 akquiriert wurden, anzeigen könnten, dass das zugehörige Netzwerk entsprechend einem zweiten WLAN-Sicherheits-verschlüsselungsverfahren (beispielsweise AES (Advanced Encryption Standard)) arbeitet (beispielsweise wie in Paketen von einem AP-Beacon des Netzwerks angezeigt). Eine Fehlanpassung bei einem der Parameter führt zu einer Feststellung im Block 503 einer Konfigurationsfehlanpassung (beispielsweise zu einer Entscheidung „Ja“), und daher würde, wenn die Ausführung des ersten Klient-WLAN-Stacks 131 fortgesetzt würde, eine Blockierung auftreten. Daher berichtet im Block 505 der zumindest eine Prozessor 120 die Konfigurationsfehlanpassung an das externe Gerät 105 unter Verwendung des Ausgangsergebnisses 452, und/oder speichert die Konfigurationsfehlanpassung im Speicher 116 unter Verwendung des Daten-Loggers 426 als das Ausgangsergebnis 454. Allerdings sind ein oder mehrere der Prozesse des Blocks 505 nur als Optionen vorhanden. Weiterhin repräsentiert der Block 505 eine Ausführungsform des Blocks 309 des Verfahrens 300.
  • Der Block 507 (der vor, nach und/oder parallel mit dem Block 505 auftreten kann) im Programmiergerüst 222 ändert wie voranstehend geschildert die Konfigurationsdaten 133. Weiterhin repräsentiert der Block 507 eine Ausführungsform der Blöcke 311-315 des Verfahrens 300.
  • Beispielsweise im Block 507 wird ein WLAN-Sicherheits-Verschlüsselungsverfahren, das fehlerhaft einem SSID zugeordnet wurde, aktualisiert auf das aktuelle WLAN-Sicherheits-Verschlüsselungsverfahren, welches dem SSID zugeordnet ist (so wird zum Beispiel das WLAN-Sicherheits-Verschlüsselungsverfahren von TKIP auf AES geändert, unter der Annahme, dass das Gerät 101 so konfiguriert ist, dass es das aktualisierte WLAN-Sicherheits-Verschlüsselungsverfahren anwendet; andernfalls endet das Verfahren 500 und/oder tritt der Block 507 nicht auf). Unter der Annahme, dass der Block 507 ausgeführt wird, werden die Blöcke 501, 503 erneut ausgeführt, bis keine Konfigurationsfehlanpassung im Block 503 auftritt (beispielsweise eine Entscheidung „Nein“ im Block 503), und macht der zumindest eine Prozessor 120 damit weiter, dass er die Blöcke 509, 511, 513 ausführt, um eine WLAN-Verbindung zu versuchen.
  • Tatsächlich arbeitet der zumindest eine Prozessor 120 damit weiter, die Blöcke 509, 511, 513 auszuführen, um eine WLAN-Verbindung zu versuchen, immer wenn eine Entscheidung „Nein“ im Block 503 auftritt, unabhängig davon, ob die Blöcke 505, 507 ausgeführt werden. Daher werden die Blöcke 509, 511, 513 zusammen gruppiert unter Verwendung eines gestrichelten Kastens in dem Verfahren 500 als Teil eines WLAN-Verbindungsversuchs.
  • In jedem der Blöcke 509, 511, 513 wird angenommen, dass Schichten 411, 412, 413 des zweiten Klient-WLAN-Stacks 132 jeweils Schichten 401, 402, 403 des ersten Klient-WLAN-Stacks 131 emulieren, wie dies voranstehend beschrieben wurde. Anders ausgedrückt, wird bei jedem der Blöcke 509, 511, 513 angenommen, dass Blöcke 301-307 des Verfahrens 300 ausgeführt werden, beispielsweise parallel und/oder miteinander zusammenarbeitend. Tatsächlich repräsentiert jeder der Blöcke 509, 511, 513 eine stärker granuläre Anzeige zumindest des Blocks 307 des Verfahrens 300. Tatsächlich wird, wie voranstehend beschrieben, in jedem der Blöcke 509, 511, 513 eine vorbestimmte Gruppe von WLAN-Parametern (beispielsweise zugeordnet jeder der Schichten 401, 402, 403) des Klientgeräts 101 analysiert, auf Grundlage der Daten 440, die von den mehreren Schichten 401-403 des ersten Klient-WLAN-Stacks 131 empfangen wurden.
  • Daher wird im Zusammenhang mit dem Block 307 weiterhin angenommen, dass der Analysator 420 die Emulation jeder Schicht 411, 412, 413 analysiert, um festzustellen, ob ein Ausfall auftritt. Tritt ein Ausfall auf, so wird angenommen, dass es sich um einen ähnlichen Ausfall handelt wie jenen, der in einer jeweiligen Schicht 401, 402, 403 des ersten Klient-WLAN-Stacks 131 auftrat.
  • Daher analysiert im Block 509 der zumindest eine Prozessor 120 die Authentifizierung, die in der Authentifizierungsschicht 411 emuliert wird (von der angenommen wird, dass sie ähnlich und/oder gleich jener ist, die als Authentifizierung in der Authentifizierungsschicht 401 auftrat). Eine derartige Analyse umfasst, wobei sie nicht hierauf beschränkt ist, die Bestimmung, ob Echtzeit-Authentifizierungspakete (beispielsweise empfangen in den Kopien der Pakete 441, zwischengespeichert durch das Sniffer-Modul 442), wie angekündigt in Beacons und/oder Sonden von dem AP 103, konform sind mit relevanten konfigurierten Parametern bei den Konfigurationsdaten 133 (so dass beispielsweise die Authentifizierungs-Information in einem Authentifizierungspaket gleich jener ist, die in den Konfigurationsdaten 133 gespeichert ist). Wenn ein Ausfall auftritt, zum Beispiel ein Ausfall innerhalb eines 802.11-Authentifizierungsprotokoll, wird wie voranstehend beschrieben ein zugehöriger Schlussfolgerungs-Code von 802.11 bestimmt.
  • Wird allerdings angenommen, dass der Block 509 erfolgreich ist (beispielsweise eine Bestimmung „Erfolg“ im Block 509), so untersucht im Block 511 der Prozessor 120 die Zuordnung, die in der Zuordnungsschicht 412 emuliert wird (von der angenommen wird, dass sie ähnlich und/oder gleich der Zuordnung ist, die in der Zuordnungsschicht 402 auftritt).
  • Eine derartige Analyse umfasst, wobei sie nicht hierauf beschränkt ist, die Bestimmung, ob Echtzeit-Zuordnungspakete (zum Beispiel empfangen in den Kopien der Pakete 441, zwischengespeichert durch das Sniffer-Modul 442), wie in Beacons und/oder Sonden von dem AP 103 angekündigt, konform mit relevanten konfigurierten Parametern bei den Konfigurationsdaten 133 sind (wobei zum Beispiel die Zuordnungs-Information in einem Zuordnungspaket gleich jener ist, die in den Konfigurationsdaten 133 gespeichert ist). Wenn ein Ausfall auftritt, wird wie voranstehend beschrieben ein zugehöriger Schlussfolgerungs-Code festgestellt.
  • Wenn allerdings angenommen wird, dass der Block 511 erfolgreich ist (also eine Bestimmung „Erfolg“ im Block 511), so analysiert im Block 513 der Prozessor 120 die WLAN-Sicherheit, die in der WLAN-Sicherheitsschicht 413 emuliert wird (von der angenommen wird, dass sie ähnlich und/oder gleich der Zuordnung ist, die in der WLAN-Sicherheitsschicht 403 auftritt).
  • Eine derartige Analyse umfasst, wobei sie nicht hierauf beschränkt ist, eine Bestimmung, ob eine Echtzeit-Konformität mit WLAN-Sicherheitsparametern sowohl beim Gerät 101 als auch dem AP 103 auftritt. Zum Beispiel könnte eine Password-Fehlanpassung zwischen dem Gerät 101 und dem AP 103 vorhanden sein. Alternativ erfolgt eine Analyse von Echtzeit-WLAN-Sicherheitspaketen (zum Beispiel jenen, die in den Kopien der Pakete 441, zwischengespeichert durch das Sniffer-Modul 442, empfangen werden).
  • Im Falle expliziter Ausfälle von WLAN-Sicherheitsprotokollen wird ein Ausfall/eine Zurückweisung/eine Schlussfolgerung bezüglich Ausfall/Zurückweisung/Zeitablauf bestimmt, beispielsweise in Form eines Schlussfolgerungs-Codes, wie dies voranstehend beschrieben wurde.
  • Im Falle eines Ausfalls in jedem der Blöcke 509, 511, 513 (zum Beispiel eine Bestimmung „Ausfall“ in jedem der Blöcke 509, 511, 513) wird der nächste Block nicht ausgeführt. Stattdessen bestimmt im Block 515 der Prozessor 120, dass der erste Klient-WLAN-Stack 131 blockiert ist und/oder unfähig ist, weiterzumachen. Bei einigen Ausführungsformen endet dann das Verfahren 300, wogegen bei anderen Ausführungsformen der Block 505 und/oder der Block 507 ausgeführt wird.
  • Wenn der Block 507 ausgeführt wird, um die Konfigurationsdaten 133 zu ändern, damit einer oder mehrere der Blöcke 509, 511, 513 entblockt wird, wird das Verfahren 300 erneut ausgeführt. Darüber hinaus kann der Block 507 dynamisch wiederholt werden, wenn Ausfälle an zwei oder mehreren der Blöcke 509, 511, 513 auftreten.
  • Wird allerdings angenommen, dass ein Erfolg in jedem der Blöcke 509, 511, 513 auftritt, so setzt der zumindest eine Prozessor 120 die Ausführung jedes der Blöcke 517, 519 fort. Eine derartige Ausführung nimmt an, dass eine WLAN-Verbindung fertiggestellt wurde, und daher sind die Blöcke 517, 519 in einer Gruppe zusammengefasst unter Verwendung eines gestrichelten Kastens in dem Verfahren 500, wie dies unter der Annahme auftritt, dass eine WLAN-Verbindung fertiggestellt ist. Anders ausgedrückt, nimmt ein Erfolg in jedem der Blöcke 509, 511, 513 an, dass das Klientgerät 101 eine WLAN-Verbindung eingerichtet hat, während die Schichten 401, 402, 403 des ersten Klient-WLAN-Stacks 131 ausgeführt werden. Daher wird angenommen, dass das Klientgerät 101 es fortgesetzt hat, die DHCP-Schicht 404 und die ARP-Schicht 405 auszuführen, um Kommunikationsvorgänge zwischen dem Klientgerät 101 (beispielsweise ein DHCP-Klient und ein ARP-Klient) und entsprechenden entfernten verteilten System-Netzwerkeinheiten auszulösen, einschließlich, jedoch nicht hierauf beschränkt, eines DHCP-Servers, Netzwerkverteilers, Routers, und dergleichen.
  • Daher wird, wie nachstehend beschrieben wird, in jedem der Blöcke 517, 519 eine vorbestimmte Gruppe von WLAN-Parametern (zum Beispiel zugeordnet jeder der Schichten 404, 405) des Klientgeräts 101 analysiert auf Grundlage der Daten 440, die von den mehreren Schichten 404, 405 des ersten Klient-WLAN-Stacks 131 empfangen werden.
  • Im Block 517 analysiert der Prozessor 120 DHCP-Prozesse, die in der DHCP-Schicht 414 emuliert werden (von der angenommen ist, dass sie ähnlich und/oder gleich den DHCP-Prozessen sind, die in der DHCP-Schicht 404 auftreten). Eine derartige Analyse umfasst, wobei sie nicht hierauf beschränkt ist, eine Bestimmung, ob eine DHCP-Adressenauflösung vollständig fertiggestellt wurde (oder nicht). Wenn ein Ausfall auftritt, wird ein zugehöriger Schlussfolgerungs-Code (und/oder Ausfall-Code) bestimmt, wie dies voranstehend beschrieben wurde; alternativ wird eine Zeitüberschreitung festgestellt.
  • Nimmt man allerdings an, dass der Block 517 erfolgreich ist (zum Beispiel eine Bestimmung „Erfolg“ im Block 517), so analysiert im Block 519 der Prozessor 120 ARP-Prozesse, die in der ARP-Schicht 415 emuliert werden (wobei angenommen wird, dass sie gleich und/oder ähnlich sind den ARP-Prozessen, die in der ARP-Schicht 41 auftreten). Eine derartige Analyse umfasst, wobei sie nicht hierauf beschränkt ist, eine Bestimmung, ob ARP-Konfigurationsdaten, die in den Konfigurationsdaten 133 gespeichert sind, dazu geführt haben, dass das Klientgerät 101 erfolgreich mit einem Standard-Gateway kommuniziert, beispielsweise einem Router-Gerät und/oder einem Netzwerk-Verteilergerät, das einem zugeordneten IP-Unternetz des Geräts 101 zugeordnet ist (zum Beispiel für Zwecke eines lokalen ARP-Zwischenspeichers).
  • Im Fall eines Ausfalls in irgendeinem der Blöcke 517, 519 (beispielsweise eine Bestimmung „Ausfall“ in jedem der Blöcke 517, 519) wird der nächste Block nicht ausgeführt. Stattdessen stellt im Block 515 der Prozessor 120 erneut fest, dass der erste Klient-WLAN-Stack 131 blockiert und/oder unfähig ist, weiterzumachen, und das Verfahren 500 geht wie voranstehend geschildert weiter, wobei DHCP-Konfigurationsdaten und/oder ARP-Konfigurationsdaten im Block 509 geändert werden, wenn er ausgeführt wird, zum Entblocken eines oder mehrerer der Blöcke 517, 519.
  • Nimmt man allerdings an, dass ein Erfolg in jedem der Blöcke 517, 519 auftritt, so setzt der zumindest eine Prozessor 120 die Ausführung jedes der Blöcke 521, 523 fort. Eine derartige Ausführung nimmt an, dass eine IP-Verbindung fertiggestellt wurde, und daher werden die Blöcke 521, 523 in einer Gruppe vereinigt unter Verwendung eines gestrichelten Kastens in dem Verfahren 500, ebenso wie dies unter der Annahme auftritt, dass eine IP-Verbindung fertiggestellt ist. In anderen Worten, nimmt ein Erfolg in jedem der Blöcke 517, 519 an, dass das Klientgerät 101 eine IP-Verbindung eingerichtet hat, während die Schichten 404, 405 des ersten Klient-WLAN-Stacks 131 ausgeführt wurden. Daher wird angenommen, dass das Klientgerät 101 so weitergearbeitet hat, dass es mit dem WLAN 102 kommuniziert, zum Beispiel unter Verwendung eines Sprachklienten und/oder einer Browser-Anwendung und dergleichen, und dass der erste Klient-WLAN-Stack 131 und/oder andere NetzwerkKomponenten (ein DHCP-Klient, ein ARP-Klient, und dergleichen) sich in einem stabilen Zustand der WLAN- und IP-Adressierung befinden. Daher werden die Link-Qualität und/oder die Netzwerk-Erreichbarkeit in den Blöcken 521, 523 bestimmt.
  • Im Block 521 analysiert der zumindest eine Prozessor 120 die Link-Qualität, wie voranstehend beschrieben, zum Beispiel zum Testen unterschiedlicher RF-Parameter und/oder anderer Link-Qualitätsparameter, unter Verwendung der Link-Qualitätskomponente 417. Im Block 523 analysiert der zumindest eine Prozessor 120 die Netzwerk-Erreichbarkeit, zum Beispiel zum Testen der Erreichbarkeit in Bezug auf einen oder mehrere entfernte TCP/UDP-Ports und/oder eine URL eines entfernten Servers und/oder eine IP-Adresse, wie dies voranstehend geschildert wurde, unter Verwendung der Netzwerk-Erreichbarkeitskomponente 419.
  • Daher umfasst entsprechend den Blöcken 521, 523 die vorbestimmte Gruppe von WLAN-Parametern, die durch den zumindest einen Prozessor 120 bestimmt wurde, die Link-Qualität und/oder die Netzwerk-Erreichbarkeit, und ist der zumindest eine Prozessor 120 weiterhin so konfiguriert, dass er die Link-Qualität und/oder die Netzwerk-Erreichbarkeit folgendermaßen analysiert: Steuern des Funkgeräts 118 zum Aussenden eines oder mehrerer Pakete, um die Link-Qualität und/oder die Netzwerk-Erreichbarkeit zu bestimmen, wie dies voranstehend beschrieben wurde.
  • Die Ausführung der Blöcke 521, 523 erfolgt in jeder Reihenfolge; wenn ein Ausfall auftritt (zum Beispiel eine Entscheidung „Ausfall“ in einem der Blöcke 521, 523), berichtet und/oder loggt der zumindest eine Prozessor 120 den Ausfall im Block 505. Bei einigen Fällen, beispielsweise dann, wenn der Ausfall katastrophal ist und/oder die Netzwerkkomponenten des Geräts 101 sich nicht mehr in einem stabilen Zustand der WLAN- und IP-Adressierung befinden, wird das Verfahren 500 erneut ausgeführt. Andernfalls endet das Verfahren. Wenn kein Ausfall in den Blöcken 521, 523 auftritt (zum Beispiel eine Entscheidung „kein Ausfall“ in einem der Blöcke 521, 523), so endet das Verfahren im Block 530.
  • Vergleicht man weiterhin das Verfahren 500 mit dem Verfahren 300, so ist gemäß den Blöcken 501, 503, die vor den Blöcken 509-513, 517, 519, 521, 523 auftreten, der zumindest eine Prozessor 120 dazu konfiguriert, eine vorbestimmte Gruppe an WLAN-Parametern zu analysieren, die der Funkkopplung zu dem WLAN 102 zugeordnet sind, auf Grundlage der Ausführung des zweiten Klient-WLAN-Stacks 132, der die mehreren Schichten 401-405 des ersten Klient-WLAN-Stacks 131 folgendermaßen emuliert: zunächst Bestimmen (beispielsweise in den Blöcken 501, 503), ob die Netzwerk-Scan-Daten 445 und/oder Netzwerk-Konnektivitätsdaten (zum Beispiel rohe Pakete) anzeigen, dass eine Verbindung des Funkgeräts 118 an das WLAN 102 auftritt; und wenn die Verbindung des Funkgeräts 118 an das WLAN 102 auftritt: weiteres Analysieren der vorbestimmten Gruppe von WLAN-Parametern zur Bestimmung eines Konnektivitätszustands des Funkgeräts 118; und wenn die Verbindung des Funkgeräts zu dem WLAN 102 nicht vorhanden ist: Stoppen der Analyse der vorbestimmten Gruppe von WLAN-Parametern.
  • Vergleicht man weiter das Verfahren 500 mit dem Verfahren 300, so ist entsprechend den Blöcken 509-513, 517, 519, die vor den Blöcken 521, 523 auftreten, der zumindest eine Prozessor 120 dazu konfiguriert, eine vorbestimmte Gruppe von WLAN-Parametern zu analysieren, die der Funkkopplung mit dem WLAN 102 zugeordnet sind, auf Grundlage der Ausführung des zweiten Klient-WLAN-Stacks 132, der die mehreren Schichten 401-405 des ersten Klient-WLAN-Stacks 131 folgendermaßen emuliert: Bestimmen, dass eine Verbindung zwischen dem Funkgerät 118 und dem WLAN 102 fertiggestellt ist (zum Beispiel nach dem Block 513 und/oder nach dem Block 519); und nachfolgendes Bestimmen der Link-Qualität und/oder der Netzwerk-Erreichbarkeit (zum Beispiel in den Blöcken 521, 523).
  • Hier beschriebene Klientgeräte und Verfahren können eine vollständige Anordnung zur exakten Analyse der Konnektivität und Erreichbarkeit eines Klientgeräts zur Verfügung stellen, und auch für Vorhersage der Konnektivität, so dass das Ausgangsergebnis der Analyse nicht nur zur Bestimmung eines Zustands der Konnektivität eines bestimmten Klientgeräts verwendet werden kann, sondern auch zur Vorhersage der Konnektivität anderer Modelle und/oder Ausführungen des Klientgeräts eingesetzt werden kann.
  • Derartige Klientgeräte und zugehörige Verfahren können daher aufgenommene Daten und aufgezeichnete Analysen bzw. Schlussfolgerungen zur Verfügung stellen, und die Lösung kann eine Schnittstelle oder ein Ausgangsergebnis für mehrere „Empfänger“-Anordnungen zur Verfügung stellen, die auf diesem technischen Gebiet von Fachleuten eingesetzt werden können.
  • Derartige Klientgeräte und zugehörige Verfahren können weiterhin Anwendungen auf dem Gerät für eine Echtzeit- oder Wiedergabeanzeige zur Verfügung stellen, zum Beispiel durch Bereitstellen eines Ausgangsergebnisses der Analyse an ein externes Gerät, welches eine entfernte zentralisierte Cloud-Analyse durchführt, und dergleichen, und welches ein Plug-In in einer Rückende-Visualisierung der WLAN-Konnektivität aufweisen kann, und welches Daten von mehreren Klientgeräten verarbeiten kann.
  • Ein Ausgangsergebnis von der Analyse kann auch an eine entfernte Drahtlossteuerung und dergleichen übertragen werden, welche die Klientgerätanalyse mit Infrastrukturanalyse kombiniert, welche, wobei sie nicht hierauf beschränkt ist, drahtlose LAN-Steuerungen (WLC) und APs aufweist.
  • Das Ausgangsergebnis von der Analyse kann auch externen Servern und/oder PC-Hosts (PC: Personal Computer) mit jeweiligen Plug-Ins für die Anzeige und die Analyse zur Verfügung gestellt werden.
  • Ein derartiges Ausgangsergebnis kann weiterhin die Analyse der WLAN-Konnektivität und dergleichen erleichtern, durch eine oder mehrere Kunden-IT-Einheiten, Support-Einheiten, Feldingenieure, Einrichtungen dritter Parteien und Einheiten für professionelle Dienste (zum Beispiel ECRT-Systeme, Ingenieure, usw.). Ein derartiges Ausgangsergebnis kann darüber hinaus die Analyse der WLAN-Konnektivität in Kunden-Debugging-Umgebungen erleichtern (On-Site/Off-Site, Kundenlabore und dergleichen), zum Bereitschaftstest in Produktionsumgebungen, und Überwachungs-/Debugging-Umgebungen (um beispielsweise bestimmte WLAN-Probleme und dergleichen zu überwachen und zu debuggen).
  • Die hier beschriebenen Klientgeräte und zugehörigen Verfahren können darüber hinaus die Analyse der WLAN-Konnektivität für nicht-professionelle Einrichtungen und/oder Benutzer erleichtern, und können daher darüber hinaus Zeit und/oder Kosten einsparen. Tatsächlich können bei einigen Ausführungsformen die hier beschriebenen Verfahren einmalig auftreten (zum Beispiel nach Einleitung einer Verbindung mit WLAN), können nach Empfang einer Eingabe an einem Eingabegerät auftreten, und/oder können vorher geplant und/oder periodisch auftreten. Insbesondere kann das Ausgangsergebnis von derartigen Verfahren das Erfordernis eines WLAN-Experten (und/oder Ingenieurs) verringern, der sich On-Site befindet und/oder in Rufbereitschaft, zur Fehlerbeseitigung von WLAN-Schwierigkeiten. Darüber hinaus kann das Ausgangsergebnis von derartigen Verfahren ein Erfordernis nach sofortigen Debugging/Tool-Fähigkeiten verringern.
  • Die hier beschriebenen Verfahren können darüber hinaus auf eine geplante „automatische“ Art und Weise getriggert werden, um WLAN-Konnektivität aufzunehmen und zu analysieren, und dergleichen, „unter der Haube“ in Klientgeräten, die nicht nur eine Analyse durchführen, sondern „Alarm“ auslösen und/oder übertragen, entsprechend einer Schwierigkeit festgestellter Probleme, und/oder Benachrichtigungen direkt an eine IT-Einheit und dergleichen senden.
  • Die hier beschriebenen Klientgeräte und zugehörigen Verfahren können darüber hinaus dazu verwendet werden, Ausfallszenarien festzustellen, welche umfassen, jedoch nicht hierauf beschränkt sind: Ausfälle eines Klientgeräts und/oder der Konfiguration, WLAN-Verbindungsausfälle, Interoperabilitätsausfälle (zum Beispiel zwischen einem Klientgerät und einem AP), WLAN-Abdeckungsschwierigkeiten, Verlust oder Wegfall von Paketen, Ausfälle bei VOIP (Voice Over Internet Protocol), Ausfälle beim Roaming, Erschöpfung von Batterien, und dergleichen.
  • Die hier beschriebenen Klientgeräte und zugehörigen Verfahren können weiterhin zur pro-aktiven Korrektur der Konfiguration an einem Klientgerät verwendet werden. Wenn zum Beispiel die hier beschriebenen Verfahren dazu führen, dass ein Problem in Bezug auf die Konfigurationsdaten an einem Klientgerät festgestellt wird, können die Konfigurationsdaten korrigiert werden.
  • Die hier beschriebenen Verfahren können darüber hinaus auf eine geplante automatische Art und Weise getriggert werden, so dass die Verfahren eine Aufnahme und/ oder Analyse „unter der Haube“ in den hier beschriebenen Geräten durchführen können. Bei einigen Ausführungsformen zeichnen die hier beschriebenen Verfahren nicht nur ein Ausgangsergebnis auf, sondern geben „Alarm“ entsprechend der Ernsthaftigkeit festgestellter Probleme aus, senden Benachrichtigungen direkt an ein IT-Gerät, usw.
  • In der voranstehenden Beschreibung wurden spezifische Ausführungsformen beschrieben. Jedoch wissen Fachleute auf diesem Gebiet, dass verschiedene Modifikationen und Änderungen vorgenommen werden können, ohne vom Umfang der Erfindung abzuweichen, wie er in den nachstehenden Patentansprüchen angegeben ist. Daher sollen die Beschreibung und die Figuren als erläuternd, aber nicht als einschränkend verstanden werden, und sollen alle derartigen Modifikationen vom Umfang der vorliegenden Lehren umfasst sein.
  • Die vorteilhaften Auswirkungen, Vorteile, Lösungen von Problemen, und jegliches Element, welches irgendeine vorteilhafte Wirkung, einen Vorteil, oder eine Lösung hervorrufen kann, oder diese verdeutlichen kann, sollen nicht als kritische, erforderliche oder wesentliche Merkmale oder Elemente irgendeines Patentanspruchs oder deren Gesamtheit verstanden werden. Die Erfindung ist nur durch die beigefügten Patentansprüche definiert, einschließlich irgendwelcher Änderungen, die während der Anhängigkeit dieser Anmeldung erfolgen, und sämtlicher Äquivalente jener Patentansprüche, die erteilt werden.
  • Weiterhin sollen in diesem Dokument Bezeichnungen wie „X und/oder Y und/oder Z“ und „ein oder mehrere unter X, Y und Z“ so verstanden werden, das nur X, nur Y, nur Z gemeint ist, oder jegliche Kombination von zwei oder mehr Größen X, Y und Z (z. B. XYZ, XY, YZ, XZ und dergleichen). Eine entsprechende Logik lässt sich anwenden für zwei oder mehr Gegenstände jedes Mal dann, wenn Begriffe wie „zumindest ein ...“ oder „ein oder mehrere ...“ verwendet werden.
  • Weiterhin sollen in diesem Dokument relative Begriffe wie beispielsweise erstes und zweites, oben und unten, und dergleichen, nur dazu verwendet werden, um eine Größe oder Aktion von einer anderen Größe oder Aktion zu unterscheiden, ohne dass notwendigerweise irgendeine tatsächliche derartige Beziehung oder Reihenfolge zwischen solchen Größen oder Aktionen erforderlich ist oder davon impliziert wird. Die Begriffe „aufweisen“, „haben“, „einschließen“, „enthalten“ und irgendwelche andere Variationen von diesen sollen einen nicht-exklusiven Einschluss abdecken, so dass ein Prozess, Verfahren, Gegenstand oder eine Einrichtung, welche eine Liste von Elementen umfasst, hat oder enthält, nicht nur diese Elemente einschließt, sondern andere Elemente einschließen kann, die nicht explizit aufgeführt oder inhärent bei einem derartigen Prozess, Verfahren, Gegenstand oder einer Einrichtung sind. Ein Element, welches „weist ... einen auf“, „hat... einen“, „enthält ... einen“ schließt nicht, ohne weitere Einschränkungen, das Vorhandensein zusätzlicher identischer Elemente in dem Prozess, Verfahren, Gegenstand oder der Einrichtung aus, welche das Element aufweisen, haben, oder enthalten. Die Begriffe „ein“ und „eine“ sind definiert als eins oder mehr, es sei denn, dies wäre ausdrücklich anders angegeben. Die Begriffe „im Wesentlichen“, „essentiell“, „annähernd“, „etwa“ oder irgendeine andere Version von diesen sind so definiert, dass sie nach dem Verständnis eines Fachmanns auf diesem Gebiet in der Nähe liegen, und bei einer nichteinschränkenden Ausführungsform sind derartige Begriffe definiert als innerhalb von 10 %, bei einer anderen Ausführungsform als innerhalb von 5 %, bei einer anderen Ausführungsform als innerhalb von 1 %, und bei einer anderen Ausführungsform als innerhalb von 0,5 %. Der hier verwendete Begriff „gekoppelt“ ist so definiert, dass eine Verbindung vorhanden ist, allerdings nicht notwendigerweise direkt und nicht notwendigerweise mechanisch. Ein Gerät oder eine Konstruktion, die auf eine bestimmte Art und Weise „konfiguriert“ ist, ist zumindest auf diese Weise konfiguriert, aber kann auch auf andere Weisen konfiguriert sein, die nicht aufgelistet sind.
  • Es wird darauf hingewiesen, dass einige Ausführungsformen ein oder mehrere generische oder spezialisierte Prozessoren (oder „Verarbeitungsgeräte“) aufweisen, beispielsweise Mikroprozessoren, Digitalsignalprozessoren, kundenspezifische Prozessoren und feldprogrammierbare Gate-Arrays (FPGAs), und spezifisch gespeicherte Programmbefehle (einschließlich sowohl Software als auch Firmware), welche den einen oder die mehreren Prozessoren steuern, im Zusammenhang mit bestimmten Schaltungen, die keine Prozessoren sind, einige, um die meisten oder sämtliche Funktionen des Verfahrens und/oder der Anordnung zu implementieren, die hier beschrieben werden. Alternativ können einige oder sämtliche Funktionen auch durch eine Zustandsmaschine implementiert sein, die keine gespeicherten Programmbefehle aufweist, oder in einer oder mehreren anwendungsspezifischen integrierten Schaltungen (ASICs), in welchen jede Funktion oder einige Kombinationen bestimmter Funktionen als kundenspezifische Logik implementiert sind. Selbstverständlich kann eine Kombination dieser beiden Vorgehensweisen eingesetzt werden.
  • Darüber hinaus kann eine Ausführungsform als ein computerlesbares Speichermedium implementiert sein, in welchem computerlesbarer Code gespeichert ist, zum Programmieren eines Computers (der beispielsweise einen Prozessor aufweist) zur Durchführung eines Verfahrens, wie es hier beschrieben und beansprucht wird. Beispiele für derartige computerlesbare Speichermedien umfassen, wobei sie nicht hierauf beschränkt sind, eine Festplatte, eine CD-ROM, ein optisches Speichergerät, ein magnetisches Speichergerät, einen ROM (Nur-Lesespeicher), einen PROM (programmierbaren Nur-Lesespeicher), einen EPROM (löschbarer programmierbarer Nur-Lesespeicher), einen EEPROM (elektrisch löschbarer programmierbarer Nur-Lesespeicher), und einen Flash-Speicher. Weiterhin wird erwartet, dass Fachleute auf diesem Gebiet, trotz möglicherweise signifikanter Anstrengungen und zahlreicher Wahlmöglichkeiten für das Design, motiviert beispielsweise durch die verfügbare Zeit, die momentane Technologie, und ökonomische Gesichtspunkte, wenn sie durch die hier offenbarten Konzepte und Prinzipien angeleitet werden, ohne Schwierigkeiten derartige Software-Befehle und Programme und ICs schaffen können, unter minimalem Versuchsaufwand.
  • Darüber hinaus ersieht man in der voranstehenden detaillierten Beschreibung, dass verschiedene Merkmale in verschiedenen Ausführungsformen als Gruppen zusammengefasst sind, um die Offenbarung nicht unnötig zu belasten. Diese Vorgehensweise der Offenbarung ist nicht so zu verstehen, dass eine Absicht vorhanden wäre, dass die beanspruchten Ausführungsformen mehr Merkmale als jene erfordern, die explizit in jedem Patentanspruch aufgeführt sind. Stattdessen besteht, wie dies aus den folgenden Patentansprüchen hervorgeht, der Gegenstand der vorliegenden Erfindung aus weniger als sämtlichen Merkmalen einer einzelnen offenbarten Ausführungsform. Daher werden die folgenden Patentansprüche in die detaillierte Beschreibung eingeschlossen, wobei jeder Patentanspruch eigenständig als getrennt beanspruchter Gegenstand ist.
  • 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
    • US 62346016 [0001]
    • US 15593558 [0001]

Claims (20)

  1. Klientgerät, welches aufweist: einen Speicher; ein mit zumindest einem Prozessor gekoppeltes Funkgerät, wobei der zumindest eine Prozessor in dem Speicher einen ersten Klient-Stack eines Drahtloslokalbereich-Netzwerks (WLAN) ausführt, und der Klient-Stack mehrere zum Koppeln des Funkgeräts zu einem WLAN konfigurierte Schichten aufweist; und einen zweiten Klient-WLAN-Stack, der von dem zumindest einen Prozessor in dem Speicher ausgeführt wird, die mehreren Schichten des ersten Klient-WLAN-Stacks emuliert, wobei der zumindest eine Prozessor dazu konfiguriert ist, an dem zweiten Klient-WLAN-Stack Daten von den mehreren Schichten des ersten Klient-WLAN-Stacks zu empfangen, und eine vorbestimmte Gruppe von WLAN-Parametern des Klientgeräts auf Grundlage der Daten zu analysieren, die von den mehreren Schichten des ersten Klient-WLAN-Stacks empfangen werden.
  2. Klientgerät nach Anspruch 1, bei welchem der Prozessor weiterhin so konfiguriert ist, dass er ein Ausgangsergebnis der vorbestimmten Gruppe von WLAN-Parametern an ein externes Gerät berichtet.
  3. Klientgerät nach Anspruch 1, bei welchem die vorbestimmte Gruppe an WLAN-Parametern aufweist: Konnektivität und/oder Link-Qualität und/oder Netzwerk-Erreichbarkeit des Funkgeräts über das WLAN.
  4. Klientgerät nach Anspruch 1, bei welchem die von dem ersten Klient-WLAN-Stack empfangenen Daten umfassen: unverschlüsselte Pakete, die an das WLAN gesendet und von dem WLAN empfangen werden und/oder Ereignisdaten, die eine oder mehreren der mehreren Schichten zugeordnet sind und/oder Konfigurationsdaten und/oder Netzwerk-Scan-Daten.
  5. Klientgerät nach Anspruch 1, bei welchem der zumindest eine Prozessor weiterhin so konfiguriert ist, um: zu bestimmen, auf Grundlage der Ausführung des zweiten Klient-WLAN-Stacks, dass die Ausführung eines oder mehrerer Prozesse des ersten Klient-WLAN-Stacks blockiert ist, Konfigurationsdaten zu ändern, die dem ersten Klient-WLAN-Stack zugeordnet sind, um die Ausführung des einen Prozesses oder der mehreren Prozesse zu entblocken, und den ersten Klient-WLAN-Stack erneut auszuführen, um den einen oder die mehreren Prozesse auf Grundlage geänderter Konfigurationsdaten auszuführen.
  6. Klientgerät nach Anspruch 1, bei welchem der zumindest eine Prozessor weiterhin so konfiguriert ist, dass er die vorbestimmte Gruppe von WLAN-Parametern analysiert, die der Funkkopplung zum WLAN zugeordnet sind, auf Grundlage der Ausführung des zweiten Klient-WLAN-Stacks, der die mehreren Schichten des ersten Klient-WLAN-Stacks emuliert, durch: zuerst Bestimmung, ob Netzwerk-Scan-Daten und/oder Netzwerk-Konnektivitätsdaten anzeigen, dass eine Verbindung des Funkgeräts zum WLAN auftritt; wenn die Verbindung des Funkgeräts zum WLAN auftritt: weiteres Analysieren der vorbestimmten Gruppe von WLAN-Parametern zur Bestimmung eines Konnektivitätszustands des Funkgeräts; und wenn die Verbindung des Funkgeräts zu dem WLAN nicht auftritt: Stoppen des Analysierens der vorbestimmten Gruppe von WLAN-Parametern.
  7. Klientgerät nach Anspruch 1, bei welchem der zumindest eine Prozessor weiterhin dazu konfiguriert ist, die vorbestimmte Gruppe von WLAN-Parametern zu analysieren, die der Funkgerätkopplung zu dem WLAN zugeordnet sind, auf Grundlage der Ausführung des zweiten Klient-WLAN-Stacks, der die mehreren Schichten des ersten Klient-WLAN-Stacks emuliert, durch: Bestimmung, dass eine Verbindung zwischen dem Funkgerät und dem WLAN fertiggestellt ist; und nachfolgendes Bestimmen der Link-Qualität und/oder der Netzwerk-Erreichbarkeit.
  8. Klientgerät nach Anspruch 1, bei welchem die vorbestimmte Gruppe von WLAN-Parametern die Link-Qualität und/oder die Netzwerk-Erreichbarkeit einschließt, und der zumindest eine Prozessor weiterhin so konfiguriert ist, dass er die Link-Qualität und/oder die Netzwerk-Erreichbarkeit analysiert durch: Steuern des Funkgeräts zum Senden eines oder mehrerer Pakete zur Bestimmung der Link-Qualität und/oder der Netzwerk-Erreichbarkeit.
  9. Verfahren bei einem Klientgerät, das einen Speicher und ein Funkgerät aufweist, das an zumindest einen Prozessor gekoppelt ist, wobei das Verfahren umfasst: Ausführen, durch den zumindest einen Prozessor, eines ersten Klient-Stacks eines Drahtloslokalbereich-Netzwerks (WLAN), wobei der Stack mehrere Schichten aufweist, die zum Koppeln des Funkgeräts an ein WLAN konfiguriert sind; Ausführen, durch den zumindest einen Prozessor, eines zweiten Klient-WLAN-Stacks, der die mehreren Schichten des ersten Klient-WLAN-Stacks emuliert; Empfangen, durch den zumindest einen Prozessor, an dem zweiten Klient-WLAN-Stack, von Daten von den mehreren Schichten des ersten Klient-WLAN-Stacks; und Analysieren, durch den zumindest einen Prozessor, einer vorbestimmten Gruppe von WLAN-Parametern des Klientgeräts auf Grundlage der Daten, die von den mehreren Schichten des ersten Klient-WLAN-Stacks empfangen wurden.
  10. Verfahren nach Anspruch 9, welches weiterhin umfasst, ein Ausgangsergebnis der vorbestimmten Gruppe von WLAN-Parametern an ein externes Gerät zu berichten.
  11. Verfahren nach Anspruch 9, bei welchem die vorbestimmte Gruppe von WLAN-Parametern aufweist: Konnektivität und/oder Link-Qualität und/oder Netzwerk-Erreichbarkeit des Funkgeräts über das WLAN.
  12. Verfahren nach Anspruch 9, bei welchem die von dem ersten Klient-WLAN-Stack empfangenen Daten umfassen: unverschlüsselte Pakete, die an das WLAN gesendet und die von dem WLAN empfangen werden; und/oder Ereignisdaten, die einer oder mehreren der mehreren Schichten zugeordnet sind; und/oder Konfigurationsdaten; und/oder Netzwerk-Scan-Daten.
  13. Verfahren nach Anspruch 9, welches weiterhin aufweist: Bestimmen, auf Grundlage der Ausführung des zweiten Klient-WLAN-Stacks, dass die Ausführung eines oder mehrerer Prozesse des ersten Klient-WLAN-Stacks blockiert ist; Ändern von Konfigurationsdaten, die dem ersten Klient-WLAN-Stack zugeordnet sind, um die Ausführung des einen oder der mehreren Prozesse zu entblocken; und erneutes Ausführen des ersten Klient-WLAN-Stacks zur Ausführung des einen oder der mehreren Prozesse auf Grundlage geänderter Konfigurationsdaten.
  14. Verfahren nach Anspruch 9, welches weiterhin aufweist, die vorbestimmte Gruppe an WLAN-Parametern des Klientgeräts auf Grundlage der Daten, die von den mehreren Schichten des ersten Klient-WLAN-Stacks empfangen werden, zu untersuchen durch: zuerst Bestimmen, ob Netzwerk-Scan-Daten und/oder Netzwerk-Konnektivitätsdaten anzeigen, dass eine Verbindung des Funkgeräts zu dem WLAN auftritt; wenn die Verbindung des Funkgeräts mit dem WLAN auftritt: Fortsetzen des Analysierens der vorbestimmten Gruppe von WLAN-Parametern zur Bestimmung eines Konnektivitätszustands des Funkgeräts; und wenn die Verbindung des Funkgeräts mit dem WLAN nicht auftritt: Stoppen der Analyse der vorbestimmten Gruppe von WLAN-Parametern.
  15. Verfahren nach Anspruch 9, welches weiterhin umfasst, die vorbestimmte Gruppe an WLAN-Parametern des Klientgeräts auf Grundlage der Daten zu analysieren, die von den mehreren Schichten des ersten Klient-WLAN-Stacks empfangen werden, durch: Bestimmen, dass eine Verbindung zwischen dem Funkgerät und dem WLAN fertiggestellt ist; und nachfolgendes Bestimmen der Link-Qualität und/oder der Netzwerk-Erreichbarkeit.
  16. Verfahren nach Anspruch 9, bei welchem die vorbestimmte Gruppe an WLAN-Parametern die Link-Qualität und/oder die Netzwerk-Erreichbarkeit umfasst, und das Verfahren weiterhin umfasst, die Link-Qualität und/oder die Netzwerk-Erreichbarkeit zu analysieren, durch: Steuern des Funkgeräts so, dass es ein oder mehrere Pakete sendet, um die Link-Qualität und/oder die Netzwerk-Erreichbarkeit zu bestimmen.
  17. Nicht-flüchtiges computerlesbares Medium eines Klientgeräts, das ein mit zumindest einem Prozessor gekoppeltes Funkgerät aufweist, wobei in dem nicht-flüchtigen computerlesbaren Medium von einem Computer ausführbare Befehle gespeichert sind, und die Befehle umfassen: Ausführen eines ersten Klient-Stacks eines Drahtloslokalbereich-Netzwerks (WLAN), der mehrere Schichten aufweist, die zum Koppeln des Funkgeräts mit einem WLAN konfiguriert sind; Ausführen eines zweiten Klient-WLAN-Stacks, der die mehreren Schichten des ersten Klient-WLAN-Stacks emuliert; Empfangen, an dem zweiten Klient-WLAN-Stack, von Daten von den mehreren Schichten des ersten Klient-WLAN-Stacks; und Analysieren einer vorbestimmten Gruppe von WLAN-Parametern des Klientgeräts auf Grundlage der Daten, die von den mehreren Schichten des ersten Klient-WLAN-Stacks empfangen werden.
  18. Nicht-flüchtiges computerlesbares Medium nach Anspruch 17, bei welchem die Befehle weiterhin umfassen, ein Ausgangsergebnis der vorbestimmten Gruppe von WLAN-Parametern an ein externes Gerät zu berichten.
  19. Nicht-flüchtiges computerlesbares Medium nach Anspruch 17, bei welchem die Befehle weiterhin umfassen: Bestimmen, auf Grundlage einer Ausführung des zweiten Klient-WLAN-Stacks, dass die Ausführung eines oder mehrerer Prozesse des ersten Klient-WLAN-Stacks blockiert ist; Ändern von Konfigurationsdaten, die dem ersten Klient-WLAN-Stack zugeordnet sind, um die Ausführung des einen oder der mehreren Prozesse zu entblocken; und erneutes Ausführen des ersten Klient-WLAN-Stacks zur Ausführung des einen oder der mehreren Prozesse auf Grundlage geänderter Konfigurationsdaten.
  20. Nicht-flüchtiges computerlesbares Medium nach Anspruch 17, bei welchem die Befehle weiterhin umfassen, die vorbestimmte Gruppe von WLAN-Parametern des Klientgeräts auf Grundlage der Daten zu analysieren, die von den mehreren Schichten des ersten Klient-WLAN-Stacks empfangen werden, durch: zuerst Bestimmen, ob Netzwerk-Scan-Daten und/oder Netzwerk-Konnektivitätsdaten anzeigen, dass eine Verbindung des Funkgeräts mit dem WLAN auftritt; wenn die Verbindung des Funkgeräts mit dem WLAN auftritt: weiterhin Analysieren der vorbestimmten Gruppe von WLAN-Parametern zur Bestimmung eines Konnektivitätszustands des Funkgeräts; und wenn die Verbindung des Funkgeräts mit dem WLAN nicht auftritt: Stoppen der Analyse der vorbestimmten Gruppe von WLAN-Parametern.
DE112017002832.9T 2016-06-06 2017-05-12 Klientgerät und Verfahren zur Analyse einer vorbestimmten Gruppe von Parmetern, die der Funkkopplung mit einem WLAN zugeordnet sind Pending DE112017002832T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662346016P 2016-06-06 2016-06-06
US62/346,016 2016-06-06
US15/593,558 US10812362B2 (en) 2016-06-06 2017-05-12 Client device and method for analysis of a predetermined set of parameters associated with radio coupling to a WLAN
US15/593,558 2017-05-12
PCT/US2017/032368 WO2017213794A1 (en) 2016-06-06 2017-05-12 Client device and method for analysis of a predetermined set of parameters associated with radio coupling to a wlan

Publications (1)

Publication Number Publication Date
DE112017002832T5 true DE112017002832T5 (de) 2019-02-21

Family

ID=60483977

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017002832.9T Pending DE112017002832T5 (de) 2016-06-06 2017-05-12 Klientgerät und Verfahren zur Analyse einer vorbestimmten Gruppe von Parmetern, die der Funkkopplung mit einem WLAN zugeordnet sind

Country Status (6)

Country Link
US (1) US10812362B2 (de)
CN (1) CN109314653B (de)
CA (1) CA3024472C (de)
DE (1) DE112017002832T5 (de)
GB (1) GB2565680B (de)
WO (1) WO2017213794A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6494704B2 (ja) * 2017-08-09 2019-04-03 キヤノン株式会社 通信装置及びその制御方法、並びにプログラム
CN108112052B (zh) * 2017-12-13 2021-09-10 广东美的制冷设备有限公司 终端的网络共享方法、装置、空气调节器及存储介质
EP3841779A1 (de) * 2018-08-24 2021-06-30 British Telecommunications public limited company Identifizierung von drahtlosen übertragungen durch ein drahtloses netzwerk
CN109413026B (zh) * 2018-08-28 2021-06-18 展讯通信(上海)有限公司 截听设备及其数据接收方法、可读存储介质
WO2020180761A1 (en) * 2019-03-04 2020-09-10 Airgap Networks Inc. Systems and methods of creating network singularities
CN110011760B (zh) * 2019-04-10 2020-07-24 中山大学 一种基于声波的全双工多载波近场通信方法
US11083005B2 (en) * 2019-07-11 2021-08-03 Rohde & Schwarz Gmbh & Co. Kg Method for reporting scheduling decisions by a communication tester
CN112748879B (zh) * 2020-12-30 2023-03-10 中科曙光国际信息产业有限公司 数据获取方法、系统、装置、计算机设备和存储介质
CN114157602B (zh) * 2021-11-03 2023-08-25 杭州迪普科技股份有限公司 一种处理报文的方法和装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7313613B1 (en) * 2002-01-03 2007-12-25 Microsoft Corporation System and method facilitating network diagnostics and self-healing
US7415513B2 (en) * 2003-12-19 2008-08-19 Intel Corporation Method, apparatus, system, and article of manufacture for generating a response in an offload adapter
US20080010523A1 (en) * 2006-05-12 2008-01-10 Samik Mukherjee Performance Testing Despite Non-Conformance
US8793117B1 (en) * 2008-04-16 2014-07-29 Scalable Network Technologies, Inc. System and method for virtualization of networking system software via emulation
US20100246416A1 (en) * 2009-03-25 2010-09-30 Amit Sinha Systems and methods for remote testing of wireless lan access points
US20130336136A1 (en) * 2011-09-16 2013-12-19 Qualcomm Incorporated Systems and methods for network quality estimation, connectivity detection, and load management
GB2511027A (en) * 2012-12-04 2014-08-27 Anite Telecoms Ltd Apparatus and method for testing
US9565085B2 (en) * 2013-03-15 2017-02-07 Apple Inc. Automatically diagnosing and resolving wireless network connectivity issues in electronic devices
US9641419B2 (en) * 2014-12-23 2017-05-02 Ixia Methods and systems for providing background pretesting of communications or storage network equipment
WO2016190655A1 (ko) * 2015-05-25 2016-12-01 엘지전자 주식회사 단말이 wlan 결합 상태를 보고하는 방법 및 장치

Also Published As

Publication number Publication date
WO2017213794A1 (en) 2017-12-14
GB2565680B (en) 2021-09-29
CA3024472C (en) 2021-05-25
US10812362B2 (en) 2020-10-20
CN109314653A (zh) 2019-02-05
GB2565680A (en) 2019-02-20
GB201818467D0 (en) 2018-12-26
CN109314653B (zh) 2022-05-17
US20170353374A1 (en) 2017-12-07
CA3024472A1 (en) 2017-12-14

Similar Documents

Publication Publication Date Title
DE112017002832T5 (de) Klientgerät und Verfahren zur Analyse einer vorbestimmten Gruppe von Parmetern, die der Funkkopplung mit einem WLAN zugeordnet sind
DE112014003964B4 (de) Adaptives Überwachen für Mobilfunknetze
DE602005000383T2 (de) Fehlererkennung und -diagnose
DE112012003770B4 (de) Überwachungssystem, Überwachungsserver, Verfahren und Programm zum Überwachen eines unberechtigten Zugriffspunktes
DE10242696A1 (de) System und Verfahren zur Fernüberwachung von Basisstationen
CN107223323B (zh) 网络诊断的方法、云端智能机器人、网络设备及专用网络
JP2016527786A (ja) ネットワークテスト方法及びそのデータ収集方法、ネットワークテスト装置及びシステム
DE112019003732T5 (de) System, verfahren und vorrichtung zum überwachen von drahtlosen kommunikationen
US20240097969A1 (en) Identifying root cause of failures through detection of network scope failures
WO2020063050A1 (zh) 数据传输方法及装置
EP4243365A1 (de) Zuordnung von datensätzen entsprechend einer client-vorrichtung
DE602004006770T2 (de) Verbesserte Fehlerbehandlung der Messkontrollprozedur in einem UMTS Funkzugriffsnetzwerk
DE112013000764T5 (de) Band-Steering für Mehrband-Funkclients
EP3420745B1 (de) System zum monitoring, überwachung, leistungsanalyse und/oder störungssuche in wlans
DE102010009642A1 (de) System und Verfahren zum Senden von Paketen mit Hilfe der Netzadresse eines anderen Geräts
DE102016117516B4 (de) WLAN Messverfahren
DE102022126090A1 (de) Sensorbasierte identifizierung von roaming problemen in einem drahtlosen netzwerk
DE102016117847A1 (de) Restaurierung von paketvermittelten Verbindungen zu einer Telematikeinheit nach einem Netzfehler
Mendoza et al. Modeling the UE-perceived cellular network performance following a controller-based approach
DE102023203827A1 (de) Verfahren, systeme und computerlesbare medien für aktives testen und überwachen eines funkzugangsnetzes und kernnetzes
DE102013206353B4 (de) Identifizieren eines nichtberechtigten oder fehlerhaft konfigurierten drahtlosen netzzugangs unter verwendung von verteilten endpunkten
DE102020213143A1 (de) Erweiterte netzwerkkonnektivität für ein vernetztes fahrzeug und benutzerausrüstung an bord
DE102021107951A1 (de) Neuer-funk kanalzugriffsverfahren für oberhalb 52,6 ghz
DE102021125778A1 (de) Gemeinsame kanalbelegungszeit für systeme, die über 52,6 ghz arbeiten
CN115037664A (zh) 一种网络连接测试方法、装置、中继器和存储介质

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012260000

Ipc: H04L0043000000