-
Diese Anmeldung ist eine internationale Anmeldung der nicht vorläufigen US-Anmeldung Nr.
16/022,286 , eingereicht am 28. Juni 2018, die den Nutzen der vorläufigen US-Anmeldung Nr.
62/642,307 , eingereicht am 13. März 2018, beansprucht und den Nutzen der vorläufigen US-Anmeldung Nr.
62/642,445 , eingereicht am 13. März 2018, beansprucht. Der Inhalt beider vorangehend genannten Anmeldungen ist durch Literaturhinweis vollumfänglich hierin enthalten.
-
ALLGEMEINER STAND DER TECHNIK
-
Einrichtungen, wie etwa Recheneinrichtungen oder elektronische Einrichtungen, sind häufig mittels Netzen miteinander verbunden (z. B. ein Computernetz). Ein Netz kann drahtgebundene oder drahtlose Infrastruktur umfassen, die Übermittlungen (z. B. Daten, Nachrichten, Pakete, Frames usw.) zwischen Einrichtungen leitet, die Teil des Netzes sind. Bei einem Netz kann es sich um ein öffentliches Netz (z. B. das Internet), ein privates Netz (z. B. ein Personal Area Network (PAN), ein lokales Netz (Local Area Network (LAN) oder ein Wide Area Network (WAN)) oder eine Kombination davon handeln.
-
Figurenliste
-
Die beschriebenen Ausführungsformen und die Vorteile derselben können am besten mit Verweis auf die nachfolgende Beschreibung bei Betrachtung in Verbindung mit den beiliegenden Zeichnungen verstanden werden. Diese Zeichnungen schränken etwaige Änderungen bezüglich Form und Detail, die von einem Fachmann an den beschriebenen Ausführungsformen vorgenommen werden können, ohne vom Gedanken und Umfang der beschriebenen Ausführungsformen abzuweichen, in keiner Weise ein.
- 1 zeigt eine beispielhafte Netzarchitektur gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
- 2 zeigt eine beispielhafte Netzarchitektur gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
- 3 zeigt eine beispielhafte Netzarchitektur gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
- 4 zeigt eine beispielhafte Netzarchitektur gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
- 5 zeigt eine beispielhafte Netzarchitektur gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
- 6 zeigt eine beispielhafte Netzarchitektur gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
- 7 ist ein Ablaufdiagramm eines Verfahrens zum Übermitteln von Daten in einem Maschennetz gemäß einigen Ausführungsformen der vorliegenden Offenbarung.
- 8 ist ein Blockdiagramm einer beispielhaften Einrichtung, die einen oder mehrere der hierin beschriebenen Abläufe ausführen kann, gemäß einigen Ausführungsformen der vorliegenden Erfindung.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Wie vorangehend erörtert, ermöglichen Netze, das Einrichtungen Daten untereinander übermitteln. Zum Beispiel kann ein drahtloses Netz es einer Einrichtung ermöglichen, Daten mittels eines Funkfrequenzsignals an eine andere Einrichtung zu übertragen. Netze können verschiedene Protokolle oder Standards verwenden. Zum Beispiel kann ein drahtloses Netz das Bluetooth-Protokoll, Bluetooth-Formate oder Bluetooth-Standards verwenden. Bei einer Art von Netzarchitektur kann es sich um ein Maschennetz handeln. Bei einem Maschennetz kann es sich um ein Netz handeln (z. B. ein Computernetz, ein drahtloses Netz usw.), das eine Netztopologie aufweist, die verschiedene Knoten umfasst (z. B. Einrichtungen, die das Netz bilden, oder die sich innerhalb des Netzes befinden). In einem Maschennetz können die Knoten direkt und nicht-hierarchisch miteinander kommunizieren. Ein Senderknoten kann die anderen Knoten des Netzes verwenden, um ein Paket (z. B. eine Nachricht, einen Frame usw.) an einen Empfängerknoten weiterzuleiten, wie nachfolgend ausführlicher beschrieben wird. Ein Maschennetz kann außerdem eine Flutungstechnik verwenden, um Pakete zwischen einem Sender und einem Empfänge weiterzuleiten. Die Flutungstechnik kann bewirken, dass Einrichtungen mehr Bandbreite nutzen, da redundante Duplikate von Paketen übertragen werden können, obwohl die redundanten Duplikate nicht zum Weiterleiten eines Pakets an einen Empfänger beitragen. Darüber hinaus können die Einrichtungen in dem Netz mehr Strom verbrauchen, da sie redundante Duplikate von Paketen übertragen, die nicht zum Weiterleiten eines Pakets an einen Empfänger beitragen.
-
Die hierin beschriebenen Beispiele, Umsetzungen und Ausführungsformen können ermöglichen, dass eine Einrichtung (z. B. ein Knoten in einem Netz) nach dem Empfangen eines Pakets einen Zeitraum abwartet, um zu sehen, ob eine andere Einrichtung das Paket weiterleitet. Die Dauer des Zeitraums kann auf der Stärke eines Funkfrequenzsignals basieren. Je stärker das Funkfrequenzsignal, desto länger die Zeitdauer, und umgekehrt. Wenn die Einrichtung bestimmt, dass eine andere Einrichtung das Paket innerhalb des Zeitraums weitergeleitet oder übertragen hat, kann die Einrichtung das Übertragen (z. B. Senden oder Weiterleiten) des Pakets unterlassen. Das kann die Menge an in dem Netz genutzter Bandbreite verringern. Das kann außerdem die Menge des von der Einrichtung genutzten Stroms verringern (z. B. den Stromverbrauch verringern), da die Einrichtung das redundante Paket möglicherweise nicht überträgt, wenn eine andere Einrichtung das Paket bereits übertragen hat.
-
1 zeigt eine beispielhafte Netzarchitektur 100 gemäß einigen Ausführungsformen der vorliegenden Offenbarung. Die Netzarchitektur 100 umfasst den Knoten 111, den Knoten 112, den Knoten 113, den Knoten 114, den Knoten 115 und den Knoten 116. Die Netzarchitektur 100 kann Übermittlungen (z. B. Daten, Nachrichten, Pakete, Frames usw.) zwischen den Knoten 111, 112, 113, 114, 115 und 116 (z. B. elektronischen Einrichtungen, Netzeinrichtungen, Recheneinrichtungen usw.) leiten. Obwohl sechs Knoten (z. B. Knoten 111, 112, 113, 114, 115 und 116) in 1 gezeigt sind, kann die Netzarchitektur 100 bei anderen Ausführungsformen eine beliebige geeignete Anzahl von Knoten umfassen.
-
Bei einer Ausführungsform kann es sich bei der Netzarchitektur 100 um ein Maschennetz handeln. Bei einem Maschennetz kann es sich um ein Netz handeln (z. B. ein Computernetz, ein drahtloses Netz usw.), das eine Netztopologie aufweist, die verschiedene Knoten umfasst (z. B. Einrichtungen, die das Netz bilden oder die sich innerhalb des Netzes befinden). In einem Maschennetz können die Knoten direkt und nicht-hierarchisch miteinander kommunizieren. Zum Beispiel kann ein Knoten direkt Daten übertragen oder Daten von einem anderen Knoten empfangen. Ein Senderknoten kann die anderen Knoten des Netzes verwenden, um ein Paket (z. B. eine Nachricht, einen Frame usw.) zu einem Empfängerknoten weiterzuleiten, wie nachfolgend ausführlicher beschrieben wird. Außerdem können die Einrichtungen, die sich in einem Maschennetz befinden, dynamisch zu dem Netz hinzugefügt oder aus dem Netz entfernt werden. Zum Beispiel kann es sich bei einem Knoten in einem Netz um ein Smartphone handeln und der Knoten kann sich aus der Reichweite des Maschennetzes herausbewegen, wenn ein Benutzer das Smartphone wegträgt. Des Weiteren können die Knoten, die sich in einem Maschennetz befinden, mobil sein. Somit kann sich die Konfiguration des Maschennetzes (z. B. die Lagen der Knoten, die Zahl der Knoten in dem Maschennetz usw.) ständig ändern.
-
Bei einer Ausführungsform kann es sich bei der Netzarchitektur 100 um ein Bluetooth-Maschennetz handeln. Bei einem Bluetooth-Maschennetz kann es sich um ein drahtloses Netz handeln, das Netzeinrichtungen umfasst, die unter Verwendung von Funkfrequenzen, Protokollen, Standards, Datenformaten usw. kommunizieren, die von der Bluetooth Special Interest Group (Bluetooth SIG) definiert wurden. Bei manchen Ausführungsformen kann das Bluetooth-Maschennetz (z. B. die Einrichtungen innerhalb des Bluetooth-Maschennetzes) den Bluetooth-Low-Energy-Standard verwenden.
-
Bei einer Ausführungsform kann es sich bei einem Knoten um eine oder mehrere Einrichtungen handeln, die Daten mit anderen Knoten in der Netzarchitektur 100 austauschen (z. B. Daten übertragen, Daten empfangen usw.). Zum Beispiel kann es sich bei einem Knoten um eine Recheneinrichtung handeln. Eine Recheneinrichtung kann Hardware, wie etwa Verarbeitungseinrichtungen (z. B. Prozessoren, zentrale Verarbeitungseinheiten (Central Processing Units, CPUs), Speicher (z. B. Direktzugriffsspeicher (Random Access Memory, RAM), Speichereinrichtungen (z. B. Festplattenlaufwerke (Hard-Disk Drive, HDD), Festkörperlaufwerke (Solid-State Drive, SSD) usw.) und andere Hardwareeinrichtungen (z. B. Soundkarte, Videokarte usw.) umfassen. Eine Recheneinrichtung kann eine beliebige geeignete Art von Recheneinrichtung oder -maschine beinhalten, die einen programmierbaren Prozessor aufweist, einschließlich zum Beispiel Server-Computer, Desktop-Computer, Laptop-Computer, Tablet-Computer, Smartphones, persönliche digitale Assistenten (PDAs), Set-Top-Boxen, eine Smartwatch, eine Kamera (z. B. eine Sicherheitskamera), einen Sensor (z. B. ein intelligentes Thermometer), intelligente Haushaltsgeräte (z. B. einen intelligenten Kühlschrank, eine intelligente Glühbirne usw.), Fitness-/Gesundheitseinrichtungen usw. Bei manchen Beispielen kann die Recheneinrichtung eine einzige Maschine beinhalten oder kann mehrere miteinander verbundene Maschinen umfassen (z. B. in einem Cluster konfigurierte mehrere Server). Die Recheneinrichtung kann ein Betriebssystem (Operating System, OS) ausführen oder umfassen. Das OS der Recheneinrichtung kann die Ausführung anderer Komponenten verwalten (z. B. Software, Anwendungen usw.) und/oder kann den Zugriff auf die Hardware (z. B. Prozessoren, Speicher, Speichereinrichtungen usw.) der Recheneinrichtung verwalten.
-
In einem anderen Beispiel kann es sich bei einem Knoten um eine Einrichtung eines Internet der Dinge (Internet of Things, IOT) handeln. Eine IOT-Einrichtung kann es einer Einrichtung (z. B. einer Recheneinrichtung) ermöglichen, mit anderen Einrichtungen (z. B. anderen Recheneinrichtungen) zu kommunizieren. Zum Beispiel kann es eine IOT-Einrichtung einer Recheneinrichtung ermöglichen, Daten mittels einer drahtlosen Infrastruktur auszutauschen (z. B. Nachrichten, Pakete, Frames, Daten usw. zu übertragen oder zu empfangen). Bei einer Ausführungsform kann es sich bei einer IOT-Einrichtung um eine Netzschnittstelle für die Recheneinrichtung handeln. Zum Beispiel kann es sich bei der IOT-Einrichtung um einen Netzadapter handeln, der in der Lage sein kann, Funkfrequenzsignale zu übertragen und zu empfangen. Bei manchen Ausführungsformen kann es sich bei der IOT-Einrichtung um einen Teil einer anderen Einrichtung, wie etwa einer Recheneinrichtung, handeln. Zum Beispiel kann die IOT-Einrichtung in einem Gehäuse einer Recheneinrichtung installiert sein oder sich darin befinden. Bei anderen Ausführungsformen kann die IOT-Einrichtung von der anderen Einrichtung getrennt sein. Zum Beispiel kann es sich bei der IOT-Einrichtung um eine Netzschnittstelle handeln, die in einen Universal-Serial-Bus(USB)-Port einer Recheneinrichtung eingesteckt ist.
-
Bei einer Ausführungsform kann ein Knoten einen Transceiver umfassen (z. B. einen Bluetooth-Transceiver), der es dem Knoten ermöglichen kann, Funkfrequenzsingale zu übertragen und/oder zu empfangen. Bei einem Transceiver kann es sich um eine einzelne Komponente/Einrichtung handeln oder er kann in getrennte Komponenten/Einrichtungen unterteilt sein. Zum Beispiel kann ein Transceiver einen Sender und einen getrennten Empfänger umfassen.
-
Wie vorangehend erörtert, kann es sich bei der Netzarchitektur 100 um ein Maschennetz (z. B. ein Bluetooth-Maschennetz handeln). Der Knoten 111 kann ein Paket 120 (z. B. eine Nachricht, einen Frame, eine Dateneinheit, ein Datagramm oder andere Daten) zum Übertragen an den Knoten 116 aufweisen. Da es sich bei der Netzarchitektur 100 um ein Maschennetz handelt, kann der Knoten 111 das Paket 120 durch Senden des Pakets 120 (z. B. Übertragen des Pakets 120) an alle Knoten innerhalb der Reichweite des Knotens 111 übertragen. Zum Beispiel kann der Knoten 111 das Paket 120 an alle Knoten übertragen, die ausreichend nah am Knoten 111 liegen, um von dem Knoten 111 übertragene Funkfrequenzsignale zu empfangen. Ein Übertragungsknoten kann andere Knoten in der Netzarchitektur 100 verwenden, um ein Paket durch Senden des Pakets an einen Empfängerknoten weiterzuleiten.
-
Der in 1 dargestellte Kreis 151 kann die Reichweite der von dem Knoten 111 übertragenen Funkfrequenzsignalen darstellen. Knoten, die innerhalb des Kreises 151 liegen, können in der Lage sein, von dem Knoten 111 übertragene Funkfrequenzsignale oder Daten zu empfangen. Wie in 1 gezeigt, liegen die Knoten 112 und 113 innerhalb des Kreises 151 (z. B. innerhalb der Reichweite des Knotens 111). Somit kann das Paket 120 von den Knoten 112 und 113 empfangen werden (z. B. der Knoten 111 kann das Paket 120 an die Knoten 112 und 113 senden).
-
Bei manchen Ausführungsformen kann ein Maschennetz Daten unter Verwendung einer Flut-/Flutungstechnik oder eines Flut-/Flutungsprotokolls zwischen den Knoten übermitteln. Wenn ein erster Knoten ein Paket (z. B. eine Nachricht, einen Frame, Daten usw.) an einen zweiten Knoten übertragen möchte, kann der erste Knoten das Paket an alle Knoten senden, die innerhalb der Reichweite des ersten Knotens liegen. Zum Beispiel kann der Knoten 111 das Paket 120 an alle Knoten innerhalb der Reichweite des Knotens 111 senden (z. B. an die Knoten 112 und 113). Jeder Knoten, der das Paket empfängt, kann außerdem das Paket an andere Knoten, die innerhalb der Reichweite liegen, senden (z. B. das Paket weiterübertragen). Das ermöglicht, dass das Paket durch das Maschennetz „geflutet“ oder weitergeleitet wird, und ermöglicht, dass das Paket von dem ersten Knoten an den zweiten Knoten übertragen wird. Ein Knoten kann Daten speichern, die angeben, welche Pakete zuvor übertragen wurden. Zum Beispiel kann ein Knoten Daten speichern, die die letzten drei oder zehn Pakete oder irgendeine geeignete Anzahl von Paketen angibt, die der Knoten zuvor übertragen hat. In einem anderen Beispiel kann der Knoten Daten speichern, die angeben, welche Pakete in der letzten Minute, Stunde oder anderen geeigneten Zeitraum übertragen wurden. Wenn ein Knoten ein Paket empfängt und der Knoten das Paket zuvor übertragen hat, überträgt der Knoten das Paket nicht weiter. Das kann dazu beitragen, das Übertragen von Paketen in einem Kreislauf in dem Maschennetz zu verhindern.
-
2 zeigt eine beispielhafte Netzarchitektur 200 gemäß einigen Ausführungsformen der vorliegenden Offenbarung. Die Netzarchitektur 200 umfasst den Knoten 111, den Knoten 112, den Knoten 113, den Knoten 114, den Knoten 115 und den Knoten 116. Die Netzarchitektur 200 kann Übermittlungen zwischen den Knoten 111, 112, 113, 114, 115 und 116 leiten. Obwohl sechs Knoten (z. B. die Knoten 111, 112, 113, 114, 115 und 116) in 2 gezeigt sind, kann die Netzarchitektur 200 bei anderen Ausführungsformen eine beliebige geeignete Anzahl von Knoten umfassen. Bei einer Ausführungsform kann es sich bei der Netzarchitektur 200, wie vorangehend erörtert, um ein Maschennetz handeln. Zum Beispiel kann es sich bei der Netzarchitektur 200 um ein Bluetooth-Maschennetz handeln. Bei einer Ausführungsform kann es sich bei einem Knoten um eine oder mehrere Einrichtungen handeln, die Daten mit anderen Knoten in der Netzarchitektur 200 austauschen (z. B. Daten übertragen, Daten empfangen usw.), wie vorangehend erörtert. Zum Beispiel kann es sich bei einem Knoten um eine Recheneinrichtung handeln. In einem anderen Beispiel kann es sich bei einem Knoten um eine Einrichtung eines Internet-of-Things (IOT) handeln.
-
Wie vorangehend erörtert, kann es sich bei der Netzarchitektur 200 um ein Maschennetz (z. B. ein Bluetooth-Maschennetz) handeln. Ein Maschennetz kann Daten unter Verwendung einer Flut-/Flutungstechnik oder eines Flut-/Flutungsprotokolls zwischen den Knoten übermitteln. Mit Verweis auf 1 kann der Knoten 111 das Paket 120 an die Knoten 112 und 113 übertragen (z. B. senden). Wie in 2 gezeigt, haben die Knoten 112 und 113 das Paket 120 empfangen. Die Knoten 112 und 113 können jeweils bestimmen, ob sie das Paket 120 zuvor übertragen haben. Zum Beispiel können die Knoten 112 und 113 in einem Speicher gespeicherte Daten (z. B. eine Tabelle, eine Liste usw.) prüfen, um zu bestimmen, ob die Knoten 112 und 113 das Paket 120 zuvor übertragen haben. In einem anderen Beispiel können die Knoten 112 und 113 eine Kennung (z. B. eine Laufnummer, einen Hash des Pakets 120 usw.) verwenden, um zu bestimmen, ob die Knoten 112 und 113 das Paket 120 zuvor übertragen haben. In 2 haben die Knoten 112 und 113 das Paket 120 nicht zuvor übertragen. Da es sich bei der Netzarchitektur 200 um ein Maschennetz handelt, können die Knoten 112 und 113 ein Paket 120 übertragen, indem sie das Paket 120 an alle Knoten innerhalb der Reichweite der Knoten 112 und 113 senden (z. B. das Paket 12 übertragen).
-
Der Kreis 251 kann die Reichweite der von dem Knoten 112 übertragenen Funkfrequenzsignale darstellen und der Kreis 252 kann die Reichweite der von dem Knoten 113 übertragenen Funkfrequenzsignale darstellen. Knoten, die innerhalb des Kreises 251 liegen, können in der Lage sein, von dem Knoten 112 übertragene Funkfrequenzsignale oder Daten zu empfangen, und innerhalb des Kreises 252 liegende Knoten können in der Lage sein, von dem Knoten 113 übertragene Funkfrequenzsignale oder Daten zu empfangen. Wie in 2 gezeigt, liegen der Knoten 111 und der Knoten 113 innerhalb des Kreises 251 (z. B. innerhalb der Reichweite des Knotens 112). Wie ebenfalls in 2 gezeigt, liegen die Knoten 111, 112 und 114 innerhalb des Kreises 252 (z. B. innerhalb der Reichweite des Knotens 113). Somit kann das Paket 120 von den Knoten 111, 112, 113 und 114 empfangen werden.
-
3 zeigt eine beispielhafte Netzarchitektur 300 gemäß einigen Ausführungsformen der vorliegenden Offenbarung. Die Netzarchitektur 300 umfasst den Knoten 111, den Knoten 112, den Knoten 113, den Knoten 114, den Knoten 115 und den Knoten 116. Die Netzarchitektur 300 kann Übermittlungen zwischen den Knoten 111, 112, 113, 114, 115 und 116 leiten. Obwohl sechs Knoten (z. B. die Knoten 111, 112, 113, 114, 115 und 116) in 3 gezeigt sind, kann die Netzarchitektur 300 bei anderen Ausführungsformen eine beliebige geeignete Anzahl von Knoten umfassen. Bei einer Ausführungsform kann es sich bei der Netzarchitektur 300, wie vorangehend erörtert, um ein Maschennetz handeln. Zum Beispiel kann es sich bei der Netzarchitektur 300 um ein Bluetooth-Maschennetz handeln. Bei einer Ausführungsform kann es sich bei einem Knoten um eine oder mehrere Einrichtungen handeln, die Daten mit anderen Knoten in der Netzarchitektur 300 austauschen (z. B. Daten übertragen, Daten empfangen usw.), wie vorangehend erörtert. Zum Beispiel kann es sich bei einem Knoten um eine Recheneinrichtung handeln. In einem anderen Beispiel kann es sich bei einem Knoten um eine Einrichtung eines Internet-of-Things (IOT) handeln.
-
Wie vorangehend erörtert, kann es sich bei der Netzarchitektur 300 um ein Maschennetz (z. B. ein Bluetooth-Maschennetz) handeln. Ein Maschennetz kann Daten unter Verwendung einer Flut-/Flutungstechnik oder eines Flut-/Flutungsprotokolls zwischen den Knoten übermitteln. Mit Verweis auf 2 haben die Knoten 112 und 113 das Paket 120 an die Knoten 111, 112, 113 und 114 übertragen (z. B. gesendet). Wie in 2 gezeigt, können die Knoten 112, 113 und 114 das Paket 120 empfangen. Die Knoten 112, 113 und 114 können jeweils bestimmen, ob sie das Paket 120 zuvor übertragen haben (z. B. können eine Kennung für das Paket 120 und eine Liste, Tabelle usw. verwenden). In 3 haben die Knoten 111, 112 und 113 das Paket 120 zuvor übertragen. Somit können die Knoten 111, 112 und 113 das Übertragen (z. B. Weiterübertragen oder Weitersenden) des Pakets 120 unterlassen. Der Knoten 114 hat das Paket 120 nicht zuvor übertragen. Da es sich bei der Netzarchitektur 300 um ein Maschennetz handelt, kann der Knoten 114 das Paket 120 übertragen, indem er das Paket 120 an alle Knoten innerhalb der Reichweite des Knotens 114 überträgt (z. B. das Paket 120 sendet).
-
Der Kreis 351 kann die Reichweite der von dem Knoten 114 übertragenen Funkfrequenzsignalen darstellen. Knoten, die innerhalb des Kreises 351 liegen, können in der Lage sein, von dem Knoten 114 übertragene Funkfrequenzsignale oder Daten zu empfangen. Wie in 3 gezeigt, liegen die Knoten 113, 115 und 116 innerhalb des Kreises 351 (z. B. innerhalb der Reichweite des Knotens 114). Somit kann das Paket 120 von den Knoten 113, 115 und 116 empfangen werden. Wie vorangehend erörtert, kann es sich bei dem Knoten 116 um den bestimmungsgemäßen Empfänger des Pakets 120 handeln (z. B. das Paket 120 kann an den Knoten 116 adressiert sein oder kann eine Kennung dafür umfassen).
-
Wie in 1 bis 3 gezeigt, haben die Knoten 111, 112, 113 und 114 jeweils das Paket 120 übertragen. Das kann zu unnötigen redundanten Übertragungen führen oder dazu, dass Duplikate des Pakets 120 über die Netzarchitektur (z. B. über ein Maschennetz) übertragen werden (z. B. gesendet). Redundante Übertragungen von Paketen können zu weniger Netzbandbreite in der Netzarchitektur führen, da Knoten die Netzbandbreite zum Übertragen der redundanten Pakete verwenden. Außerdem können Knoten mehr Strom verbrauchen, da sie redundante Duplikate des Pakets 120 übertragen, wenn die redundanten Duplikate des Pakets 120 möglicherweise nicht benötigt werden, um das Paket 120 an den bestimmungsgemäßen Empfänger weiterzuleiten (z. B. an den Knoten 116).
-
4 zeigt eine beispielhafte Netzarchitektur gemäß einigen Ausführungsformen der vorliegenden Offenbarung. Die Netzarchitektur 400 umfasst den Knoten 111, den Knoten 112, den Knoten 113, den Knoten 114, den Knoten 115 und den Knoten 116. Die Netzarchitektur 400 kann Übermittlungen zwischen den Knoten 111, 112, 113, 114, 115 und 116 leiten. Obwohl sechs Knoten (z. B. die Knoten 111, 112, 113, 114, 115 und 116) in 4 gezeigt sind, kann die Netzarchitektur 400 bei anderen Ausführungsformen eine beliebige geeignete Anzahl von Knoten umfassen. Bei einer Ausführungsform kann es sich bei der Netzarchitektur 400, wie vorangehend erörtert, um ein Maschennetz handeln. Zum Beispiel kann es sich bei der Netzarchitektur 400 um ein Bluetooth-Maschennetz handeln. Bei einer Ausführungsform kann es sich bei einem Knoten um eine oder mehrere Einrichtungen handeln, die Daten mit anderen Knoten in der Netzarchitektur 400 austauschen (z. B. Daten übertragen, Daten empfangen usw.), wie vorangehend erörtert. Zum Beispiel kann es sich bei einem Knoten um eine Recheneinrichtung handeln. In einem anderen Beispiel kann es sich bei einem Knoten um eine Einrichtung eines Internet-of-Things (IOT) handeln.
-
Wie vorangehend erörtert, kann es sich bei der Netzarchitektur 400 um ein Maschennetz (z. B. ein Bluetooth-Maschennetz handeln). Da es sich bei der Netzarchitektur 400 um ein Maschennetz handelt, kann der Knoten 111 das Paket 120 durch Senden des Pakets 120 (z. B. Übertragen des Pakets 120) an alle Knoten innerhalb der Reichweite des Knotens 111 übertragen. Der Kreis 451 kann die Reichweite der von dem Knoten 111 übertragenen Funkfrequenzsignale darstellen. Knoten, die innerhalb des Kreises 451 liegen, können in der Lage sein, von dem Knoten 111 übertragene Funkfrequenzsignale oder Daten zu empfangen. Wie in 4 gezeigt, liegen die Knoten 112 und 113 innerhalb des Kreises 451 (z. B. innerhalb der Reichweite des Knotens 111). Somit kann das Paket 120 von den Knoten 112 und 113 empfangen werden.
-
5 zeigt eine beispielhafte Netzarchitektur gemäß einigen Ausführungsformen der vorliegenden Offenbarung. Die Netzarchitektur 500 umfasst den Knoten 111, den Knoten 112, den Knoten 113, den Knoten 114, den Knoten 115 und den Knoten 116. Die Netzarchitektur 500 kann Übermittlungen zwischen den Knoten 111, 112, 113, 114, 115 und 116 leiten. Obwohl sechs Knoten (z. B. die Knoten 111, 112, 113, 114, 115 und 116) in 5 gezeigt sind, kann die Netzarchitektur 500 bei anderen Ausführungsformen eine beliebige geeignete Anzahl von Knoten umfassen. Bei einer Ausführungsform kann es sich bei der Netzarchitektur 500, wie vorangehend erörtert, um ein Maschennetz handeln. Zum Beispiel kann es sich bei der Netzarchitektur 500 um ein Bluetooth-Maschennetz handeln. Bei einer Ausführungsform kann es sich bei einem Knoten um eine oder mehrere Einrichtungen handeln, die Daten mit anderen Knoten in der Netzarchitektur 500 austauschen (z. B. Daten übertragen, Daten empfangen usw.), wie vorangehend erörtert. Zum Beispiel kann es sich bei einem Knoten um eine Recheneinrichtung handeln. In einem anderen Beispiel kann es sich bei einem Knoten um eine Einrichtung eines Internet-of-Things (IOT) handeln.
-
Wie vorangehend erörtert, kann es sich bei der Netzarchitektur 500 um ein Maschennetz (z. B. ein Bluetooth-Maschennetz) handeln). Mit Verweis auf 4 kann der Knoten 111 das Paket 120 an die Knoten 112 und 113 übertragen (z. B. senden). Wie in 5 gezeigt, können die Knoten 112 und 113 das Paket 120 empfangen. Die Knoten 112 und 113 können jeweils bestimmen, ob sie das Paket 120 zuvor übertragen haben (z. B. unter Verwendung einer Kennung für das Paket 120 und einer Tabelle/Liste). In 2 haben die Knoten 112 und 113 das Paket 120 nicht zuvor übertragen.
-
Bei einer Ausführungsform können der Knoten 112 und der Knoten 113 die Stärke (oder ein Maß/eine Angabe der Stärke) des von dem Knoten 111 her empfangenen Funkfrequenzsignals (das verwendet wurde, um das Paket 120 zu übertragen) bestimmen. Zum Beispiel können die Knoten 112 und 113 jeweils eine Angabe der empfangenen Signalstärke (Received Signal Strength Indication, RSSI) für das von dem Knoten 111 her empfangene Funkfrequenzsignal bestimmen. Obwohl die vorliegende Offenbarung auf RSSI verweisen kann, können andere Ausführungsformen andere Einheiten, Messwerte usw. verwenden, um die Stärke des Funkfrequenzsignals anzugeben oder darzustellen. Außerdem können verschiedene andere Techniken, Verfahren, Algorithmen, Funktionen usw. verwendet werden, um die Stärke (oder ein Maß/eine Angabe der Stärke) des Funkfrequenzsignals, die Fähigkeit eines Knotens, ein Funkfrequenzsignal oder Daten an einen anderen Knoten zu übertragen, oder den Abstand zwischen zwei Knoten bei anderen Ausführungsformen zu bestimmen. Zum Beispiel kann ein Knoten die Fehlerrate in Daten bestimmen, die von einem übertragenden Knoten her empfangen werden. Eine höhere Fehlerrate kann angeben, dass das von einem empfangenden Knoten von dem übertragenden Knoten her empfangene Funkfrequenzsignal schwächer ist, dass der übertragende Knoten eine geringere Fähigkeit aufweist, ein Funkfrequenzsignal an den empfangenden Knoten zu übertragen, oder, dass der übertragende Knoten weiter von dem empfangenen Knoten entfernt ist, und umgekehrt. In einem anderen Beispiel kann eine höhere oder größere RSSI angeben, dass das von einem empfangenden Knoten von dem übertragenden Knoten her empfangene Funkfrequenzsignal stärker ist, dass der übertragende Knoten eine bessere Fähigkeit aufweist, ein Funkfrequenzsignal an den empfangenden Knoten zu übertragen, oder dass der übertragende Knoten näher an dem empfangenen Knoten liegt, und umgekehrt.
-
Bei einer Ausführungsform können die Knoten 112 und 113 jeweils basierend auf der Stärke (oder z. B. einem Maß/einer Angabe der Stärke, wie etwa RSSI) einen Zeitraum des von dem Knoten 111 her empfangenen Funkfrequenzsignals bestimmen. Die Dauer des Zeitraums kann mit der Stärke (oder dem Maß der Stärke) des Funkfrequenzsignals korreliert werden (z. B. kann direkt korreliert, linear korreliert, kubisch korreliert werden usw.). Zum Beispiel ist die Zeitdauer desto länger, je größer die Stärke (oder das Maß der Stärke) des Funkfrequenzsignals ist. In einem anderen Beispiel ist die Zeitdauer desto kürzer, je geringer die Stärke (oder das Maß der Stärke) des Funkfrequenzsignals ist. Durch Abwarten eines längeren Zeitraums, wenn das Funkfrequenzsignal stärker ist, kann dadurch ermöglicht werden, dass Knoten, die weiter von dem Knoten 111 entfernt sind (und näher bei dem Empfängerknoten liegen können), das Paket 120 zuerst weiterübertragen oder weitersenden. Wenn die weiter entfernt liegenden Knoten das Paket 120 zuerst weiterübertragen oder weitersenden, können die näher bei dem Knoten 111 liegenden Knoten das Weiterübertragen oder Weitersenden des Pakets 120 unterlassen, wie nachfolgend ausführlicher erörtert wird.
-
Bei manchen Ausführungsformen kann der Zeitraum auf einer Funktion der Stärke (oder des Maßes der Stärke) des Funkfrequenzsignals basieren. Zum Beispiel kann der Zeitraum basierend auf einer linearen Funktion, einer kubischen Funktion, einer quintischen Funktion usw. der Stärke (oder des Maßes der Stärke) des Funkfrequenzsignals berechnet werden. Die untenstehende Gleichung (1) zeigt eine beispielhafte Gleichung oder Funktion, die zum Bestimmen des Zeitraums verwendet werden kann:
wobei Zeitraum die Dauer des Zeitraums in Millisekunden (ms) ist, wobei Signalstärke die Stärke oder das Maß der Stärke des Funkfrequenzsignals, ausgedrückt als RSSI-Wert (in Dezibel (dB)) ist, wobei Emp die Empfindlichkeit der einen oder der mehreren Antennen eines Knotens ist und wobei K ein Skalierungsfaktor ist. Gleichung (1) ist als lediglich ein Beispiel einer Funktion/Gleichung bereitgestellt, die zum Bestimmen oder Berechnen des Zeitraums oder der Dauer des Zeitraums verwendet werden kann. Bei anderen Ausführungsformen können andere Funktionen oder Gleichungen verwendet werden.
-
Bei anderen Ausführungsformen kann der Zeitraum (z. B. die Dauer des Zeitraums) basierend auf einer Liste oder einer Tabelle bestimmt werden. Zum Beispiel gibt die untenstehende Tabelle 1 beispielhafte Zeiträume für verschiedene Bereiche von RSSI-Werten an (z. B. Stärken von Funkfrequenzsignalen). Ein Knoten (z. B. Knoten
112) kann die in Tabelle 1 gezeigten RSSI-Werte und Zeiträume angebende Daten speichern. Ein Knoten kann den Zeitraum basierend auf den in Tabelle 1 gezeigten beispielhaften Bereichen von RSSI-Werten und beispielhaften Zeiträumen bestimmen oder auswählen.
Tabelle 1
RSSI-Wert | Zeitraum |
> -30 dB | 500 ms |
-31 dB bis -50 dB | 400 ms |
-51 dB bis -70 dB | 300 ms |
-71 dB bis -90 dB | 200 ms |
< -91 dB | 100 ms |
-
Wie in 5 gezeigt, liegt der Knoten 112 näher bei dem Knoten 111 als der Knoten 113. Da der Knoten 112 näher bei dem Knoten 111 liegt, kann die Stärke (oder das Maß der Stärke) des von dem Knoten 112 erfassten Funkfrequenzsignals größer sein als die Stärke des von dem Knoten 113 erfassten Funkfrequenzsignals. Wie vorangehend erörtert, ist der Zeitraum (z. B. die Zeitdauer) desto länger, je größer die Stärke des Funkfrequenzsignals ist, und der Zeitraum ist desto kürzer, je geringer die Stärke des Funkfrequenzsignals ist. Somit kann der Knoten 112 einen ersten Zeitraum bestimmen, der länger als ein von dem Knoten 113 bestimmter zweiter Zeitraum ist. Bei einer Ausführungsform können die Knoten 112 und 113 ihre jeweiligen Zeiträume abwarten, um zu bestimmen, ob das Paket 120 erneut empfangen wird (z. B. um zu bestimmen, ob ein weiteres Duplikat des Pakets 120 empfangen wird). Zum Beispiel kann der Knoten 112 bestimmen, dass das Funkfrequenzsignal von dem Knoten 111 einen RSSI-Wert von -45 dB aufweist, und kann 400 ms abwarten, um zu sehen, ob ein weiteres Duplikat des Pakets 120 in den 400 ms (z. B. während des Zeitraums von 400 ms) empfangen wird. Der Knoten 113 kann bestimmen, dass das Funkfrequenzsignal von dem Knoten 111 einen RSSI-Wert von -93 dB aufweist und kann 100 ms abwarten, um zu sehen, ob ein weiteres Duplikat des Pakets 120 in den 100 ms (z. B. während des Zeitraums von 100 ms) empfangen wird. Nach 100 ms bestimmt der Knoten 113, dass das Paket 120 nicht nochmals empfangen wurde (z. B. es wurde kein weiteres Duplikat des Pakets 120 empfangen).
-
Bei einer Ausführungsform kann der Knoten 112 bestimmen, ob ein weiteres Duplikat des Pakets 120 empfangen wird, indem er die Nutzdaten (z. B. den Nutzanteil, den Datenanteil usw.) der Pakete vergleicht. Zum Beispiel können sich die Kopfdaten und/oder die Fußdaten der Pakete ändern, wenn Knoten Pakete an andere Knoten weitersenden oder weiterübertragen, um ein Paket von einem Sender an einen Empfänger weiterzuleiten. Die Kopfdaten und/oder die Fußdaten können geändert werden, um identifizierende Informationen eines übertragenden Knoten, wie oft das Paket weiterübertragen oder weitergesendet wurde usw. anzugeben. Obwohl sich die Kopfdaten/Fußdaten der Pakete ändern können, kann der Knoten bestimmen, dass ein weiteres Duplikat eines Pakets empfangen wurde, wenn die Nutzdaten eines ersten Pakets den Nutzdaten eines zweiten Pakets entsprechen.
-
Der Knoten 113 kann als Reaktion auf das Bestimmen, dass das Paket 120 während der 100 ms (z. B. während des Zeitraums) nicht erneut empfangen wurde, das Paket 120 übertragen (z. B. senden). Da der Knoten 112 innerhalb der Reichweite des Knotens 113 liegt (wie durch den Kreis 552 dargestellt), empfängt der Knoten 113 das Paket 120 von dem Knoten 112 erneut. Wie vorangehend erörtert, kann der Knoten 112 400 ms abwarten, um zu bestimmen, ob das Paket 120 erneut empfangen wird. Da der Knoten 112 einen längeren Zeitraum abwartet als der Knoten 113 (z. B. 400 ms abwartet, statt 100 ms), befindet sich der Knoten 112 noch innerhalb des Zeitraums von 400 ms, wenn er das Paket 120 von dem Knoten 113 empfängt. Wenn der Knoten 112 bestimmt, dass das Paket 120 von dem Knoten 113 her erneut empfangen wurde, kann der Knoten 112 das Übertragen des Pakets 120 unterlassen. Zum Beispiel kann der Knoten 112 als Reaktion auf das Bestimmen, dass das Paket 120 innerhalb des Zeitraums von 400 ms erneut empfangen wurde, entscheiden, dass das Paket 120 nicht an das Maschennetz gesendet werden soll.
-
Der Kreis 552 kann die Reichweite der von dem Knoten 113 gesendeten Funkfrequenzsignalen darstellen. Knoten, die innerhalb des Kreises 552 liegen, können in der Lage sein, von dem Knoten 113 gesendete Funkfrequenzsignale oder Daten zu empfangen. Wie in 5 gezeigt, liegen die Knoten 111, 112 und 114 innerhalb des Kreises 552 (z. B. innerhalb der Reichweite des Knotens 113). Somit kann das Paket 120 von den Knoten 111, 112 und 114 empfangen werden.
-
6 zeigt eine beispielhafte Netzarchitektur 600 gemäß einigen Ausführungsformen der vorliegenden Offenbarung. Die Netzarchitektur 600 umfasst den Knoten 111, den Knoten 112, den Knoten 113, den Knoten 114, den Knoten 115 und den Knoten 116. Die Netzarchitektur 600 kann Übermittlungen zwischen den Knoten 111, 112, 113, 114, 115 und 116 leiten. Obwohl sechs Knoten (z. B. die Knoten 111, 112, 113, 114, 115 und 116) in 6 gezeigt sind, kann die Netzarchitektur 600 bei anderen Ausführungsformen eine beliebige geeignete Anzahl von Knoten umfassen. Bei einer Ausführungsform kann es sich bei der Netzarchitektur 600, wie vorangehend erörtert, um ein Maschennetz handeln. Zum Beispiel kann es sich bei der Netzarchitektur 600 um ein Bluetooth-Maschennetz handeln. Bei einer Ausführungsform kann es sich bei einem Knoten um eine oder mehrere Einrichtungen handeln, die Daten mit anderen Knoten in der Netzarchitektur 600 austauschen (z. B. Daten übertragen, Daten empfangen usw.), wie vorangehend erörtert. Zum Beispiel kann es sich bei einem Knoten um eine Recheneinrichtung handeln. In einem anderen Beispiel kann es sich bei einem Knoten um eine Einrichtung eines Internet-of-Things (IOT) handeln.
-
Wie vorangehend erörtert, kann es sich bei der Netzarchitektur 600 um ein Maschennetz (z. B. ein Bluetooth-Maschennetz handeln). Mit Verweis auf 6 kann der Knoten 114 das Paket 120 an die Knoten 113, 115 und 115 übertragen (z. B. senden). Der Kreis 651 kann die Reichweite der von dem Knoten 114 übertragenen Funkfrequenzsignale darstellen. Knoten, die innerhalb des Kreises 651 liegen, können in der Lage sein, von dem Knoten 114 gesendete Funkfrequenzsignale oder Daten zu empfangen. Wie in 6 gezeigt, liegen die Knoten 113, 115 und 116 innerhalb des Kreises 351 (z. B. innerhalb der Reichweite des Knotens 114). Somit kann das Paket 120 von den Knoten 113, 115 und 116 empfangen werden. Wie vorangehend erörtert, kann es sich bei dem Knoten 116 um den vorgesehenen Empfänger des Pakets 120 handeln (z. B. das Paket kann an den Knoten 116 adressiert sein oder kann eine Kennung dafür umfassen).
-
Wie vorangehend in 1 bis 3 erörtert, haben die Knoten 111, 112, 113 und 114 jeweils das Paket 120 übertragen. Das kann zu vielen redundanten Übertragungen führen oder dazu, dass Duplikate des Pakets 120 über die Netzarchitektur (z. B. über ein Maschennetz) übertragen werden (z. B. gesendet). Redundante Übertragungen von Paketen können zu weniger Netzbandbreite in der Netzarchitektur führen, da Knoten die Netzbandbreite zum Übertragen der redundanten Pakete verwenden. Zum Beispiel wurden mit Verweis auf 1 bis 3 zehn Duplikate des Pakets 120 übertragen, um das Paket 120 von dem Knoten 111 an den Knoten 116 zu übertragen. Mit Verweis auf 4 bis 6 wurden jedoch acht Duplikate des Pakets 120 übertragen, um das Paket 120 von dem Knoten 111 an den Knoten 116 zu übertragen. Da der Knoten 112 einen Zeitraum abgewartet hat, um zu sehen, ob ein anderer Knoten (z. B. der Knoten 113), der möglicherweise näher bei dem Empfängerknoten (z. B. Knoten 116) liegt, das Paket 120 überträgt, konnte der Knoten 112 das Übertragen redundanter Duplikate des Pakets 120 unterlassen. Das kann ermöglichen, dass die Knoten weniger Netzbandbreite nutzen.
-
Da der Knoten 112 keine redundanten Duplikate des Pakets 120 übertragen hat, konnte der Knoten 112 außerdem weniger Strom verbrauchen. Indem er einen Zeitraum abwartet, um zu sehen, ob ein anderer Knoten möglicherweise ein Paket überträgt, kann ein Knoten in der Lage sein, Strom zu sparen, da der Knoten das Übertragen des Pakets unterlassen kann, wenn ein anderer Knoten das Paket bereits übertragen hat.
-
Bei den hierin erörterten Ausführungsformen, Beispielen und Umsetzungen kann es sein, dass das Paket, das ein Knoten möglicherweise empfängt, und das Paket, dass der Knoten möglicherweise überträgt, weiterüberträgt, sendet, weitersendet, weitergibt, weiterleitet usw., nicht komplett identisch sind. Zum Beispiel kann ein Knoten ein Paket empfangen und kann basierende auf den Nutzdaten der Pakete bestimmen, ob während eines Zeitraums ein weiteres Duplikat des Pakets empfangen wurde, wie vorangehend erörtert. Wenn der Knoten bestimmt, dass während des Zeitraums kein weiteres Duplikat des Pakets empfangen wurde, kann der Knoten ein zweites Paket, das die gleichen Nutzdaten aufweist wie das empfangene Paket, weiterübertragen oder weitersenden. Die Kopfdaten und/oder die Fußdaten des zweiten Pakets können sich von den Kopfdaten und/oder Fußdaten des empfangenen Pakets unterscheiden.
-
Bei manchen Ausführungsformen können die Netzarchitekturen 400, 500 und 600 (in 4 bis 6 gezeigt) Knoten umfassen, die einen Zeitraum basierend auf einem Maß einer Stärke eines Funkfrequenzsignals bestimmen können und den Zeitraum abwarten können, um zu bestimmen, ob ein weiteres Duplikat eines Pakets empfangen wird, und können außerdem einen oder mehrere Knoten umfassen, die diese Abläufe, Aktionen, Funktionen usw. nicht ausführen. Zum Beispiel können die Netzarchitekturen 400, 500 und 600 zusätzliche Knoten (in 4 bis 6 nicht gezeigt) umfassen, die Pakete weitersenden oder weiterübertragen können, ohne basierend auf einem Maß einer Stärke eines Funkfrequenzsignals einen Zeitraum zu bestimmen und ohne den Zeitraum abzuwarten. Die Knoten, die die hierin beschriebenen Abläufe, Aktionen und Funktionen usw. ausführen können, können in Verbindung mit Knoten arbeiten, die die hierin beschriebenen Abläufe, Aktionen und Funktionen usw. nicht ausführen.
-
7 ist ein Ablaufdiagramm eines Verfahrens 700 zum Übermitteln von Daten in einem Maschennetz gemäß einigen Ausführungsformen der vorliegenden Offenbarung. Das Verfahren 700 kann von einer Verarbeitungslogik durchgeführt werden, die Hardware (z. B. Schaltungen, dedizierte Logik, programmierbare Logik, einen Prozessor, eine Verarbeitungseinrichtung, eine zentrale Verarbeitungseinheit (Central Processing Unit, CPU), einen Mehrkernprozessor, ein System-on-Chip (SoC) usw.), Software (z. B. Anweisungen, die auf einer Verarbeitungseinrichtung laufen/ausgeführt werden), Firmware (z. B. Mikrocode) oder eine Kombination davon beinhalten kann. Bei manchen Ausführungsformen kann das Verfahren 700 von einem Knoten (z. B. dem in 5 gezeigten Knoten 113), einer Recheneinrichtung (z. B. der in 8 gezeigten Einrichtung 800), einer IOT-Einrichtung oder einer Verarbeitungseinrichtung (z. B. der in 8 gezeigten Verarbeitungseinrichtung 802) durchgeführt werden.
-
Das Verfahren 700 beginnt mit Block 705, wo das Verfahren 700 ein Paket empfängt. Zum Beispiel kann ein Paket mittels eines von einem Knoten in einem Maschennetz übertragenen Funkfrequenzsignals empfangen werden. Im Block 710 bestimmt das Verfahren, ob das Paket zuvor übertragen wurde. Zum Beispiel kann das Verfahren 700 eine Kennung (z. B. eine Laufnummer) für das Paket und eine Tabelle verwenden, um zu bestimmen, ob das Paket zuvor übertragen wurde. Wenn das Paket zuvor übertragen wurde, kann das Verfahren 700 das Übertragen (z. B. das erneute Übertragen, Senden usw.) des Pakets unterlassen. Wenn das Paket nicht zuvor übertragen wurde, fährt das Verfahren 700 mit Block 715 fort.
-
Im Block 715 bestimmt das Verfahren 700 die Stärke eines Maßes der Stärke des empfangenen Funkfrequenzsignals. Zum Beispiel kann das Verfahren 700 einen RSSI-Wert bestimmen, der die Stärke des Funkfrequenzsignals darstellen kann. Das Verfahren 700 kann basierend auf der Stärke des Funkfrequenzsignals einen Zeitraum 700 bestimmen. Zum Beispiel kann das Verfahren 700 eine Funktion (z. B. die vorangehend gezeigte Gleichung (1)) verwenden oder kann eine Tabelle (z. B. die vorangehend gezeigte Tabelle 1) verwenden, um basierend auf der Stärke des Funkfrequenzsignals einen Zeitraum zu bestimmen.
-
Im Block 725 kann das Verfahren 700 den Zeitraum abwarten (z. B. eine Zeit lang warten), um zu bestimmen, ob ein weiteres Duplikat des Pakets während des Zeitraums empfangen wurde (z. B. um zu bestimmen, ob das Paket während des Zeitraums erneut empfangen wurde). Zum Beispiel kann das Verfahren 700 2 Sekunden, 500 ms oder einen anderen geeigneten Zeitraum lang abwarten, um zu bestimmen, ob eine andere Einrichtung das Paket überträgt. Wenn während des Zeitraums kein weiteres Duplikat des Pakets empfangen wurde, kann das Verfahren 700 das Paket im Block 730 übertragen. Wenn ein weiteres Duplikat des Pakets während des Zeitraums empfangen wurde, kann das Verfahren 700 das Übertragen des Pakets im Block 735 unterlassen (z. B. überträgt das Paket nicht).
-
Obwohl die vorliegende Offenbarung möglicherweise auf Bluetooth verweist, können bei anderen Ausführungsformen andere Drahtlosprotokolle, -standards, -formate, und/oder -techniken genutzt werden. Zum Beispiel können die hierin beschriebenen Knoten und/oder die hierin beschriebenen Netze die Funkfrequenzen, Formate, Protokolle nutzen, die von einem oder mehreren der 802.11-Standards, dem Wi-Fi-Standard, dem 802.15.4-Standard, dem Zigbee-Standard, dem Z-Wave-Standard usw. definiert werden.
-
8 ist ein Blockdiagramm einer beispielhaften Einrichtung 800, die einen oder mehrere der hierin beschriebenen Abläufe durchführen kann, gemäß einigen Ausführungsformen. Die Einrichtung 800 kann mit anderen Einrichtungen in einem LAN, einem Intranet, einem Extranet und/oder dem Internet verbunden sein. Die Einrichtung kann in der Kapazität einer Server-Maschine in einem Client-Server-Netzumgebung oder in der Kapazität eines Client in einer Peer-to-Peer-Netzumgebung arbeiten. Bei der Einrichtung kann es sich um eine elektronische oder eine Recheneinrichtung (wie etwa einen Personal-Computer (PC), einen Tablet-Computer, einen PDA, ein Smartphone, eine Set-Top-Box (STB), einen Server-Computer usw.), eine Netzeinrichtung (wie etwa einen Router, einen Schalter oder eine Brücke) oder eine beliebige Maschine, die in der Lage ist, einen Satz von von dieser Maschine auszuführenden Aktionen festlegenden Anweisungen auszuführen (sequentiell oder anderweitig), handeln. Obwohl nur eine einzige Einrichtung gezeigt ist, soll der Begriff „Einrichtung“ des Weiteren auch als eine beliebige Sammlung von Einrichtungen umfassend aufgefasst werden, die einzeln oder gemeinsam einen Satz (oder mehrere Sätze) von Anweisungen zum Durchführen der hierin erörterten Verfahren ausführen. Bei einer Ausführungsform kann es sich bei der Einrichtung 800 um einen Knoten handeln, wie in 1 bis 7 vorangehend gezeigt und erörtert. Bei anderen Ausführungsformen kann die Einrichtung 800 eine Teilmenge der in 8 gezeigten Komponenten umfassen (z. B. sind in der Einrichtung 800 möglicherweise nicht alle der in 8 gezeigten Komponenten vorhanden). Zum Beispiel kann die Einrichtung 800 die Verarbeitungseinrichtung 802, die Netzschnittstelle 808 und die Datenspeichereinrichtung 818 umfassen.
-
Die beispielhafte Einrichtung 800 kann eine Verarbeitungseinrichtung (z. B. einen Allzweckprozessor, eine PLD usw.) 802, einen Hauptspeicher 804 (z. B. synchronen dynamischen Direktzugriffsspeicher (Dynamic Random Access Memory, DRAM), Festspeicher (Read-Only Memory, ROM)), einen statischen Speicher 806 (z. B. Flash-Speicher und eine Datenspeichereinrichtung 818) umfassen, die mittels eines Busses 830 miteinander kommunizieren können.
-
Die Verarbeitungseinrichtung 802 kann von einer oder mehreren Allzweckverarbeitungseinrichtungen, wie etwa einem Mikroprozessor, einer zentralen Verarbeitungseinheit oder dergleichen, bereitgestellt werden. In einem veranschaulichenden Beispiel kann die Verarbeitungseinrichtung 802 einen Complex-Instruction-Set-Computing(CISC)-Mikroprozessor, einen Reduced-Instruction-Set-Computing(RISC)-Mikroprozessor, einen Very-Long-Instruction-Word(VLlW)-Mikroprozessor oder einen andere Anweisungssätze implementierenden Prozessor oder eine Kombination von Anweisungssätzen implementierende Prozessoren beinhalten. Die Verarbeitungseinrichtung 802 kann außerdem einen oder mehrere Sonderzweck-Verarbeitungseinrichtungen, wie etwa eine anwendungsspezifische integrierte Schaltung (Application Specific Integrated Circuit, ASIC), ein feldprogrammierbares Gate-Array (FPGA), einen Digitalsignalprozessor (DSP), einen Netzprozessor oder dergleichen, beinhalten. Die Verarbeitungseinrichtung 802 kann dazu konfiguriert sein, die hierin beschriebenen Abläufe gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung zum Durchführen der hierin erörterten Abläufe und Schritte auszuführen.
-
Die Einrichtung 800 kann ferner eine Netzschnittstelleneinrichtung 808 umfassen, die mit einem Netz 820 kommunizieren kann. Die Einrichtung 800 kann außerdem eine Videoanzeigeeinheit 810 (z. B. ein Flüssigkristall-Display (Liquid Crystal Display, LCD) oder eine Kathodenstrahlröhre (Cathode Ray Tube, CRT)), eine alphanumerische Eingabeeinrichtung 812 (z. B. eine Tastatur), eine Cursorsteuereinrichtung 814 (z. B. eine Maus) und eine Akustiksignalerzeugungseinrichtung 816 (z. B. einen Lautsprecher) umfassen. Bei einer Ausführungsform können die Videoanzeigeeinheit 810, die alphanumerische Eingabeeinrichtung 812 und die Cursorsteuereinrichtung 814 zu einer einzigen Komponente oder Einrichtung kombiniert sein (z. B. einem LCD-Berührungsbildschirm).
-
Die Datenspeichereinrichtung 818 kann ein computerlesbares Speichermedium 828 umfassen, auf dem ein oder mehrere Sätze von Anweisungen gespeichert sein können, z. B. Anweisungen zum Durchführen der hierin beschriebenen Abläufe gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung. Anweisungen, die die Anweisungen 826 für eine oder mehrere von einer Profiling-Komponente oder einer Sicherheitskomponente implementieren, können außerdem während der Ausführung derselben durch die Einrichtung 800 vollständig oder mindestens teilweise in dem Hauptspeicher 804 und/oder in der Verarbeitungseinrichtung 802 liegen, wobei der Hauptspeicher 804 und die Verarbeitungseinrichtung 802 außerdem computerlesbare Medien bilden. Die Anweisungen können ferner mittels der Netzschnittstelleneinrichtung 808 über ein Netz 820 übertragen oder empfangen werden.
-
Obwohl das computerlesbare Speichermedium 828 in einem veranschaulichenden Beispiel als ein einziges Medium gezeigt ist, ist der Begriff „computerlesbares Speichermedium“ als ein einziges Medium oder mehrere Medien umfassend aufzufassen (z. B. eine zentrale oder verteilte Datenbank und/oder zugehörige Caches und Speicher), die den einen oder die mehreren Sätze von Anweisungen speichern. Der Begriff „computerlesbares Speichermedium“ soll außerdem als jedes Medium umfassend aufgefasst werden, das in der Lage ist, einen Satz von Anweisungen zur Ausführung durch die Maschine zu speichern, zu codieren oder zu tragen, und das die Maschine veranlasst, die hierin beschriebenen Verfahren durchzuführen. Der Begriff „computerlesbares Speichermedium“ soll dementsprechend als Halbleiterspeicher, optische Medien und magnetische Medien umfassend, aber nicht darauf beschränkt aufgefasst werden.
-
Bei manchen Ausführungsformen kann die beispielhafte Einrichtung 800 eine Teilmenge der in 6 gezeigten Komponenten umfassen. Zum Beispiel kann die beispielhafte Einrichtung 800 die Verarbeitungseinrichtung, den Hauptspeicher 804 (oder eine andere Art von Datenspeichereinrichtung, wie etwa eine persistente Datenspeichereinrichtung) und die Netzschnittstelleneinrichtung 808 umfassen.
-
Wenn nicht speziell anders angegeben, verweisen Begriffe wie „Empfangen“, „Bestimmen“, „Übertragen“, „Unterlassen“, „Senden“, „Berechnen“, „Erzeugen“, „Auswählen“ oder dergleichen auf von Recheneinrichtungen durchgeführte oder implementierte Aktionen und Prozesse, die als physikalische (elektronische) Größen in den Registern und Speichern der Recheneinrichtung dargestellte Daten manipulieren und in andere Daten umwandeln, die ebenso als physikalische Größen in den Speichern oder Registern der Recheneinrichtung oder anderen derartigen Informationsspeicher-, -übertragungs-, oder -anzeigeeinrichtungen dargestellt sind.
-
Hierin beschriebene Beispiele beziehen sich außerdem auf eine Vorrichtung zum Durchführen der hierin beschriebenen Abläufe. Diese Vorrichtung kann speziell für die benötigten Zwecke ausgelegt sein oder sie kann eine Allzweckrecheneinrichtung umfassen, die von einem in der Recheneinrichtung gespeicherten Computerprogramm selektiv programmiert wird. Ein derartiges Computerprogramm kann in einem computerlesbaren nicht-flüchtigen Speichermedium gespeichert sein.
-
Gewisse Ausführungsformen können als Computerprogramprodukt implementiert werden, das auf einem maschinenlesbaren Medium gespeicherte Anweisungen umfassen kann. Diese Anweisungen können verwendet werden, um einen Allzweckprozessor oder einen Prozessor für einen besonderen Zweck zu programmieren, um die beschriebenen Abläufe durchzuführen. Ein maschinenlesbares Medium umfasst einen beliebigen Mechanismus zum Speichern oder Übertragen von Informationen in einer Form (z. B. Software, Verarbeitungsanwendung), die von einer Maschine lesbar ist (z. B. einem Computer). Das maschinelesbare Medium kann ein magnetisches Speichermedium (z. B. Diskette); ein optisches Speichermedium (z. B. CD-ROM); ein magneto-optisches Speichermedium; einen Festspeicher (Read-Only Memory, ROM); einen Direktzugriffsspeicher (Random Access Memory, RAM); einen löschbaren programmierbaren Speicher (z. B. EPROM und EEPROM); einen Flash-Speicher oder eine andere Art von zum Speichern von elektronischen Anweisungen geeignetes Medium umfassen, ist aber nicht darauf beschränkt. Auf das maschinenlesbare Medium kann als ein nichtflüchtiges maschinenlesbares Medium verwiesen werden.
-
Die hierin beschriebenen Verfahren und veranschaulichenden Beispiele hängen nicht grundsätzlich mit irgendeinem bestimmten Computer oder irgendeiner anderen Vorrichtung zusammen. Es können verschiedene Allzwecksysteme gemäß den hierin beschriebenen Lehren verwendet werden, oder es kann sich als praktisch erweisen, spezialisiertere Vorrichtungen zum Durchführen der erforderlichen Verfahrensschritte zu entwickeln. Der erforderliche Aufbau für verschiedene dieser Systeme wird aus der vorangehenden Beschreibung klar.
-
Die vorangehende Beschreibung soll veranschaulichend und nicht einschränkend sein. Obwohl die vorliegende Offenbarung mit Verweisen auf spezifische veranschaulichende Beispiele beschrieben wurde, versteht sich, dass die vorliegende Offenbarung nicht auf die beschriebenen Beispiele beschränkt ist. Der Umfang der Offenbarung ist daher mit Verweis auf die nachfolgenden Ansprüche, zusammen mit dem vollen Umfang von Entsprechungen, zu dem derartige Ansprüche berechtigt sind, zu bestimmen.
-
Wie hierin verwendet, sollten die Singularformen „ein/e“ und „der/die/das“ auch die Pluralformen umfassen, es sei denn, der Zusammenhang schließt dies eindeutig aus. Es versteht sich ferner, dass die Begriffe „beinhaltet“, „beinhaltend“, „umfasst“ und/oder „umfassend“, wenn hierin verwendet, das Vorliegen genannter Merkmale, ganzer Zahlen, Schritte, Abläufe, Elemente und/oder Komponenten angeben, jedoch das Vorliegen oder das Hinzufügen eines oder mehrerer anderer Merkmale, ganzer Zahlen, Schritte, Abläufe, Elemente, Komponenten und/oder Gruppen derselben nicht ausschließen. Außerdem sind die Begriffe „erste/s/r“, „zweite/s/r“, „dritte/s/r“, „vierte/s/r“ usw., wie sie hierin verwendet werden, als Kennzeichen gemeint, um zwischen verschiedenen Elementen zu unterscheiden und müssen nicht unbedingt eine ihrer numerischen Bezeichnung entsprechende Ordnungsbedeutung aufweisen. Daher dienen die hierin verwendeten Begriffe lediglich dem Zweck der Beschreibung bestimmter Ausführungsformen und sollen nicht einschränkend sein.
-
Es ist außerdem zu beachten, dass bei manchen alternativen Umsetzungen die aufgeführten Funktionen/Handlungen in einer anderen Reihenfolge als der in den Figuren aufgeführten vorkommen können. Zum Beispiel können zwei aufeinanderfolgend dargestellte Figuren abhängig von der einbezogenen Funktionalität/den einbezogenen Handlungen tatsächlich im Wesentlichen gleichzeitig ausgeführt werden oder können manchmal in umgekehrter Reihenfolge ausgeführt werden.
-
Obwohl die Verfahrensabläufe in einer bestimmten Reihenfolge beschrieben wurden, versteht sich, dass andere Abläufe zwischen beschriebenen Abläufen durchgeführt werden können, beschriebene Abläufe angepasst werden können, sodass sie zu etwas anderen Zeiten stattfinden oder die beschriebenen Abläufe in einem System verteilt sein können, das das Vorkommen der Verarbeitungsabläufe in verschiedenen mit der Verarbeitung assoziierten Intervallen ermöglicht.
-
Verschiedene Einheiten, Schaltungen oder andere Komponenten können als „dazu konfiguriert“ oder „dazu konfigurierbar“, eine Aufgabe oder Aufgaben durchzuführen, beschrieben oder beansprucht sein. In derartigen Zusammenhängen wird der Ausdruck „dazu konfiguriert“ oder „dazu konfigurierbar“ verwendet, um eine Struktur zu suggerieren, indem angedeutet wird, dass die Einheiten/Schaltungen/Komponenten eine Struktur (z. B. Stromkreise) umfassen, die die Aufgabe oder die Aufgaben während des Betriebs durchführt. Von daher lässt sich sagen, dass die Einheit/Schaltung/Komponente dazu konfiguriert ist, die Aufgabe durchzuführen, oder dazu konfiguriert ist, die Aufgabe durchzuführen, selbst wenn die angegebene Einheit/Schaltung/Komponente gegenwärtig nicht betriebsfähig ist (z. B. nicht eingeschaltet ist). Die Einheiten/Schaltungen/Komponenten, die mit den Worten „dazu konfiguriert“ oder „dazu konfigurierbar“ verwendet werden, umfassen Hardware - zum Beispiel Schaltungen, Speicher, die zum Umsetzen des Ablaufs ausführbare Anweisungen speichern, usw. Das Vortragen, dass eine Einheit/Schaltung/Komponente „dazu konfiguriert“ ist, eine oder mehrere Aufgaben durchzuführen, oder „dazu konfigurierbar“ ist, eine oder mehrere Aufgaben durchzuführen, soll sich ausdrücklich nicht auf 35 U.S.C. 112, sechster Absatz für diese Einheit/Schaltung/Komponente berufen. Außerdem kann „dazu konfiguriert“ oder „dazu konfigurierbar“ eine generische Struktur umfassen (z. B. generische Stromkreise), die von Software und/oder Firmware (z. B. einem Software ausführenden FPGA oder Allzweckprozessor) manipuliert wird, um auf eine Weise zu arbeiten, die in der Lage ist, die betreffende(n) Aufgabe(n) durchzuführen. „Dazu konfiguriert“ kann außerdem das Anpassen eines Herstellungsprozesses (z. B. einer Halbleiterfertigungsanlage) umfassen, um Einrichtungen (z. B. integrierte Schaltungen) zu fertigen, die dazu angepasst sind, eine oder mehrere Aufgaben durchzuführen. „Dazu konfigurierbar“ soll ausdrücklich nicht für leere Medien, einen unprogrammierten Prozessor oder unprogrammierten generischen Computer oder eine unprogrammierte Logikeinrichtung, ein programmierbares Gate-Array oder eine andere unprogrammierte Einrichtung gelten, außer wenn von programmierten Medien begleitet, die der unprogrammierten Einrichtung die Fähigkeit verleihen, dazu konfiguriert zu werden, die offenbarte(n) Funktion(en) durchzuführen.
-
Die vorangehende Beschreibung wurde zum Zweck der Erläuterung mit Verweis auf bestimmte Ausführungsformen beschrieben. Die vorangehenden veranschaulichenden Erörterungen sollten jedoch nicht erschöpfend sein oder die Erfindung auf die genauen offenbarten Formen beschränken. In Anbetracht der vorangehenden Lehren sind viele Abwandlungen und Änderungen möglich. Die Ausführungsformen wurden gewählt und beschrieben, um die Grundsätze der Ausführungsformen und ihre praktischen Anwendungen am besten zu beschreiben, um es dadurch anderen Fachleuten zu ermöglichen, die Ausführungsformen und verschiedenen Abwandlungen am besten so zu nutzen, wie es für die bestimmte erwogene Verwendung möglicherweise geeignet ist. Dementsprechend sollen die vorliegenden Ausführungsformen als veranschaulichend und nicht einschränkend betrachtet werden, und die Erfindung darf nicht auf die hierin angegebenen Einzelheiten beschränkt werden, darf jedoch innerhalb des Umfangs und der Entsprechungen der angehängten Ansprüche abgewandelt werden.
-
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 16/022286 [0001]
- US 62/642307 [0001]
- US 62/642445 [0001]