DE112016002114T5 - System zur Netzwerkentdeckung und -Synchronisierung - Google Patents

System zur Netzwerkentdeckung und -Synchronisierung Download PDF

Info

Publication number
DE112016002114T5
DE112016002114T5 DE112016002114.3T DE112016002114T DE112016002114T5 DE 112016002114 T5 DE112016002114 T5 DE 112016002114T5 DE 112016002114 T DE112016002114 T DE 112016002114T DE 112016002114 T5 DE112016002114 T5 DE 112016002114T5
Authority
DE
Germany
Prior art keywords
node
nodes
network
directional antenna
timestamp
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.)
Withdrawn
Application number
DE112016002114.3T
Other languages
English (en)
Inventor
Arunkumar Jayaraman
Rajkumar Samuel
Michael John Hart
Peter Paul Gelbmann
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.)
Google LLC
Original Assignee
Google 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 Google LLC filed Critical Google LLC
Publication of DE112016002114T5 publication Critical patent/DE112016002114T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • H04W56/0015Synchronization between nodes one node acting as a reference for the others
    • 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
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • H04W56/0025Synchronization between nodes synchronizing potentially movable access points
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/24Radio transmission systems, i.e. using radiation field for communication between two or more posts
    • H04B7/26Radio transmission systems, i.e. using radiation field for communication between two or more posts at least one of which is mobile
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W16/00Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
    • H04W16/24Cell structures
    • H04W16/28Cell structures using beam steering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Abstract

Verfahren, Systeme und Vorrichtungen, die Computerprogramme enthalten, die auf Computerspeichermedien codiert sind, zum Halten, durch eine Cloud-Steuerung, von Daten, die eine Topologie eines Netzwerks von Knoten darstellen; zum Empfangen, bei der Cloud-Steuerung, von der ersten Gruppe von Knoten einer oder mehrerer Anfragen, mit dem Netzwerk zu verbinden; zum Auswählen, durch die Cloud-Steuerung, eines ersten Knotens in der ersten Gruppe von Knoten, die die Anfrage sendeten; und zum Erzeugen, durch die Cloud-Steuerung, von Anweisungen, die konfiguriert sind, um zu veranlassen, dass der erste Knoten einen Zeitstempel des ersten Knotens zu jedem Nachbarknoten des ersten Knotens kommuniziert, und um zu veranlassen, dass jeder Nachbarknoten den Zeitstempel des ersten Knotens zu jedem anderen Nachbarknoten der Nachbarknoten kommuniziert; und zum Senden der Anweisungen zum ersten Knoten, um dadurch die Knoten im Netzwerk mit dem Zeitstempel des ersten Knotens zu synchronisieren.

Description

  • HINTERGRUND
  • Diese Beschreibung betrifft ein System zum Entdecken und Synchronisieren von Knoten in einem Netzwerk.
  • Ein Maschennetz von Knoten hat eine Netzwerktopologie bei welcher jeder Knoten Daten für das Netzwerk weiterleitet. Jeder Knoten kann Daten soweit wie ein Nachbarknoten senden. Daten können über lange Entfernungen durch Aufteilen der Sendung in eine Reihe von kurzen Sprüngen zwischen Nachbarknoten gesendet werden.
  • Das Netzwerk kann zuverlässig sein und Redundanz bieten. Wenn ein Knoten nicht mehr arbeiten kann, können übrige Knoten noch direkt oder über einen oder mehrere dazwischenliegende Knoten miteinander kommunizieren.
  • ZUSAMMENFASSUNG
  • Im Allgemeinen beschreibt diese Beschreibung ein System zum Entdecken und Synchronisieren von Knoten, die drahtlos mit Richtantennen kommunizieren.
  • Im Allgemeinen kann ein innovativer Aspekt des in dieser Beschreibung beschriebenen Gegenstands in Verfahren verkörpert bzw. ausgeführt werden, die die Aktionen eines Haltens, durch eine Cloud-Steuerung, von Daten enthält, die eine Topologie eines Netzwerks von Knoten darstellen, wobei die Daten eine erste Gruppe von Knoten anzeigen, die mit der Cloud-Steuerung verbunden sind, und für jeden Knoten im Netzwerk einen oder mehrere jeweilige Nachbarknoten für den Knoten anzeigen, und wobei jeder Knoten drahtlos mit einem Nachbarknoten kommuniziert, indem er ein Sendeknoten- und Empfangsknotenpaar während eines bestimmten Zeitintervalls ausbildet, wobei der Sendeknoten des Paars Daten zum Empfangsknoten des Paars während eines bestimmten Zeitintervalls kommuniziert, wenn der Sendeknoten in einem Sendemode ist und der Empfangsknoten in einem Empfangsmode ist; eines Empfangens, bei der Cloud-Steuerung, von der ersten Gruppe von Knoten von einer oder mehreren Anfragen, mit dem Netzwerk zu verbinden; eines Auswählens, durch die Cloud-Steuerung, eines ersten Knotens in der ersten Gruppe von Knoten, die die Anfrage sendeten; und eines Erzeugens, durch die Cloud-Steuerung, von Anweisungen, die konfiguriert sind, um zu veranlassen, dass der erste Knoten einen Zeitstempel des ersten Knotens zu jedem Nachbarknoten des ersten Knotens kommuniziert, und um zu veranlassen, dass jeder Nachbarknoten den Zeitstempel des ersten Knotens zu jeweils anderen Nachbarknoten des Nachbarknotens kommuniziert, wobei Knoten ihre jeweiligen Zeitstempel auf einen Empfang des Zeitstempels des ersten Knotens hin synchronisieren, wobei ein Kommunizieren des Zeitstempels andauert, bis jeder Knoten im Netzwerk mit dem Zeitstempel des ersten Knotens synchronisiert worden ist; und eines Sendens der Anweisungen zum ersten Knoten, um dadurch die Knoten im Netzwerk mit dem Zeitstempel des ersten Knotens zu synchronisieren.
  • Implementierungen können ein oder mehrere der folgenden Merkmale enthalten. Auf ein Empfangen der Anweisungen hin durch den ersten Knoten scannt der erste Knoten nach Nachbarknoten, und wobei jeder Nachbarknoten seinen jeweiligen Zeitstempel mit dem Zeitstempel des ersten Knotens synchronisiert. Für jeden Nachbarknoten scannt der Nachbarknoten nach anderen jeweiligen Nachbarknoten, und wobei jeder der anderen jeweiligen Nachbarknoten seinen jeweiligen Zeitstempel mit dem Zeitstempel des ersten Knotens synchronisiert. Durchdrücken eines Zeitplans zum ersten Knoten, um zu jedem Knoten im Netzwerk ausgebreitet zu werden, wobei der Zeitplan spezifiziert, wann jeder Knoten in jedem Paar von Nachbarknoten im Sendemode oder im Empfangsmode ist. Das Bestimmen umfasst: Bestimmen, von einer Topologie-Datenbank, dass eine zweite Gruppe von Knoten nicht mit dem Zeitstempel des ersten Knotens synchronisiert worden ist, Identifizieren von Nachbarknoten von jedem Knoten in der zweiten Gruppe von Knoten von der Topologie-Datenbank; Erzeugen zusätzlicher Anweisungen, die konfiguriert sind, um zu veranlassen, dass die Nachbarknoten von jedem Knoten in der zweiten Gruppe von Knoten damit fortfährt, den Zeitstempel zu kommunizieren, bis die Nachbarknoten ein Anzeichen empfangen, dass jeder Knoten der zweiten Gruppe von Knoten mit dem Zeitstempel des ersten Knotens synchronisiert worden ist; und Senden der zusätzlichen Anweisungen zu den Nachbarknoten von jedem Knoten in der zweiten Gruppe von Knoten. Der erste Knoten umfasst eine Vielzahl von Millimeterwellen-Funkeinheiten, wobei die Anweisungen, die konfiguriert sind, um zu veranlassen, dass der erste Knoten einen Zeitstempel des ersten Knotens kommuniziert, umfasst: Auswählen, durch den ersten Knoten, eines ersten Zeitstempels von einer der Millimeterwellen-Funkeinheiten; Synchronisieren von Zeitstempeln von jeder der anderen Millimeterwellen-Funkeinheiten zum ersten Zeitstempel; und Kommunizieren des Zeitstempels zu Nachbarknoten des ersten Knotens unter Verwendung der Vielzahl von Millimeterwellen-Funkeinheiten. Der erste Knoten umfasst eine erste Richtantenne und ein Knoten, der benachbart zum ersten Knoten ist, umfasst eine zweite Richtantenne, weiterhin umfassend: Identifizieren von Koordinaten der zweiten Richtantenne aus den Daten; und wobei die Anweisungen die Koordinaten umfassen und veranlassen, dass die erste Richtantenne zu den Koordinaten der zweiten Richtantenne lenkt. Ein erster Knoten im Netzwerk hat eine erste Richtantenne und ein zweiter Knoten im Netzwerk hat eine zweite Richtantenne, und wobei der erste Knoten Daten zum zweiten Knoten kommuniziert, wenn die erste Richtantenne zur zweiten Richtantenne gelenkt ist und die zweite Richtantenne zur ersten Richtantenne gelenkt ist. Die erste Gruppe von Knoten verbindet sich mit der Cloud-Steuerung, ohne durch irgendeinen anderen Knoten im Netzwerk zu gehen. Ein bestimmter Knoten im Netzwerk sendet periodisch eine Anfrage zur Synchronisierung mit seinen Nachbarknoten, um zu veranlassen, dass die Nachbarknoten ihre jeweiligen Zeitstempel mit einem Zeitstempel des Knotens synchronisieren, und um zu veranlassen, dass jeder Nachbarknoten eine Anfrage zur Synchronisierung mit anderen Nachbarknoten des Nachbarknotens sendet.
  • Ein weiterer innovativer Aspekt enthält die Aktionen eines Haltens, durch eine Cloud-Steuerung, von Daten, die eine Topologie eines Netzwerks von Knoten darstellen, wobei die Daten eine erste Gruppe von Knoten anzeigen, die mit der Cloud-Steuerung verbunden sind, und, für jeden Knoten im Netzwerk, einen oder mehrere jeweilige Nachbarknoten für den Knoten anzeigen, und wobei jeder Knoten drahtlos mit einem Nachbarknoten kommuniziert, indem er ein Sendeknoten- und Empfangsknotenpaar während eines bestimmten Zeitintervalls ausbildet, wobei der Sendeknoten des Paars Daten zum Empfangsknoten des Paars während eines bestimmten Zeitintervalls kommuniziert, wenn der Sendeknoten in einem Sendemode ist und der Empfangsknoten in einem Empfangsmode ist; eines Auswählens, durch die Cloud-Steuerung, eines ersten Knotens, der nicht zum Netzwerk hinzugefügt worden ist, gemäß den Daten; eines Verwendens der Daten, um, durch die Cloud-Steuerung, Nachbarknoten um den ersten Knoten zu bestimmen; eines Erzeugens, durch die Cloud-Steuerung, von Anweisungen, die konfiguriert sind, um zu veranlassen, dass die Nachbarknoten den ersten Knoten entdecken; eines Sendens der Anweisungen zu den Nachbarknoten, um dadurch zu veranlassen, dass die Nachbarknoten den ersten Knoten entdecken; und eines Empfangens einer Anzeige, dass der erste Knoten drahtlos mit den Nachbarknoten kommuniziert.
  • Implementierungen können eines oder mehrere der folgenden Merkmale enthalten. Die Anweisungen veranlassen, dass der erste Knoten seinen Zeitstempel mit einem Zeitstempel von einem der Nachbarknoten synchronisiert. Ein Verteilen eines Zeitplans über das Netzwerk von Knoten, wobei der Zeitplan zukünftige Kommunikation zwischen jedem Knoten im Netzwerk koordiniert. Ein erster Knoten im Netzwerk hat eine erste Richtantenne und ein zweiter Knoten im Netzwerk hat eine zweite Richtantenne, und wobei der erste Knoten Daten zum zweiten Knoten kommuniziert, wenn die erste Richtantenne zur zweiten Richtantenne gelenkt ist und die zweite Richtantenne zur ersten Richtantenne gelenkt ist. Der erste Knoten ist in einem Empfangsmode, und wobei der erste Knoten eine Richtantenne in einem vollständigen Bewegungsbereich lenkt, und wobei die Anweisungen, die konfiguriert sind, um zu veranlassen, dass die Nachbarknoten den ersten Knoten entdecken, umfasst: Lenken von Richtantennen der Nachbarknoten in einem vollständigen Bewegungsbereich, während sie in einem Sendeknoten sind; Bestimmen, für einen der Nachbarknoten, dass die Richtantenne des ersten Knotens zu einer jeweiligen Richtantenne des Nachbarknotens gelenkt wird; und Speichern der Bestimmung in den Daten. Ein Identifizieren von Koordinaten einer ersten Richtantenne des ersten Knotens aus den Daten; und wobei die Anweisungen die Koordinaten umfassen und Veranlassen, dass die Richtantennen der Nachbarknoten zu den Koordinaten der ersten Richtantenne lenken.
  • Bestimmte Ausführungsformen des in dieser Beschreibung beschriebenen Gegenstands können implementiert werden, um einen oder mehrere der folgenden Vorteile zu realisieren. Einige Knoten können nur kommunizieren, wenn ihre Richtantennen zu Richtantennen von anderen Knoten gelenkt werden. Eine Cloud-Steuerung kann eine Kommunikation zwischen Knoten mit Richtantennen koordinieren, wenn Zeiten bei Knoten über ein Netzwerk synchronisiert sind. Die Cloud-Steuerung kann ein skalierbares Management eines komplexen Netzwerks von Knoten ermöglichen. Die Cloud-Steuerung kann auf einfache Weise einen Knoten zum Netzwerk hinzufügen und eine Zeit des Knotens synchronisieren, nachdem der Knoten hinzugefügt ist. Wenn ein Knoten ein Kommunizieren mit dem Netzwerk stoppt, kann die Cloud-Steuerung den Knoten wieder mit dem Netzwerk verbinden und eine Zeit des Knotens automatisch erneut synchronisieren.
  • Die Details von einer oder mehreren Ausführungsformen des Gegenstands dieser Beschreibung sind in den beigefügten Zeichnungen und der nachstehenden Beschreibung dargelegt. Andere Merkmale, Aspekte und Vorteile des Gegenstands werden aus der Beschreibung, den Zeichnungen und den Ansprüchen offensichtlich werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 stellt eine beispielhafte Architektur für ein System dar, das eine Zeit über ein Netzwerk von Knoten synchronisiert.
  • 2 stellt eine beispielhafte Architektur für einen bestimmten Knoten im Netzwerk dar.
  • 3 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Synchronisieren einer Zeit durch eine Cloud-Steuerung.
  • 4A–B sind Diagramme, die darstellen, wie eine Zeit durch Knoten des Netzwerks synchronisiert wird.
  • 5 ist ein Ablaufdiagramm eines beispielhaften Prozesses dafür, einen nicht hinzugefügten Knoten im Netzwerk durch Nachbarknoten entdeckt zu haben.
  • Gleiche Bezugszeichen und Bezeichnungen in den verschiedenen Zeichnungen zeigen gleiche Elemente an.
  • DETAILLIERTE BESCHREIBUNG
  • 1 stellt eine beispielhafte Architektur 100 für ein System dar, das eine Zeit für ein Netzwerk von Knoten synchronisiert. Das Netzwerk von Knoten ermöglicht Anwendern, über große Gebiete, wo Internet nicht allgegenwärtig ist, drahtlos auf Hochgeschwindigkeits-Internet zuzugreifen. Beispielsweise kann das Netzwerk von Knoten in einem entfernten Dorf implementiert sein, das eine geringe Infrastruktur hat, um sich mit dem Internet zu verbinden.
  • Das System enthält eine Cloud-Steuerung 102, die zum Managen einer Zeitsynchronisierung über dem Netzwerk von Knoten verantwortlich ist. Bei einigen Implementierungen ist das Netzwerk von Knoten als ein Maschennetz organisiert.
  • Das Netzwerk von Knoten enthält Hub-Knoten 106, 120 und reguläre Knoten 108, 118. Reguläre Knoten können Relais-Knoten oder Zugangsendpunkte sein, z. B. für einen Wi-Fi-Zugriff. Ein Relais-Knoten kann Daten zu anderen Knoten im Netzwerk weiterleiten. Ein Zugangsendpunkt lässt zu, dass Anwender mit einem externen Netzwerk, z. B. dem Internet, über den Zugangsendpunkt verbinden, und kann auch Daten zu anderen Knoten im Netzwerk weiterleiten. Hub-Knoten können Relais-Knoten bzw. Weiterleitungsknoten oder Zugangsendpunkte sein und können auch mit der Cloud-Steuerung 102 direkt kommunizieren. Das bedeutet, dass, während Nicht-Hub-Knoten auf die Cloud-Steuerung 102 über irgendeinen Hub-Knoten zugreifen können, Hub-Knoten mit der Cloud-Steuerung 102 verbinden können, ohne über irgendeinen anderen Knoten zu gehen. Beispielsweise haben Hub-Knoten 106, 120 eine direkte Verbindung zur Cloud-Steuerung 102, was entgegengesetzt zum Knoten 110 ist, der mit der Cloud-Steuerung 102 über den Hub-Knoten 106 verbinden kann. Bei einigen Implementierungen sind Hub-Knoten 106, 120 mit dem externen Netzwerk verdrahtet, und sind die anderen Knoten drahtlos.
  • Jeder Knoten hat eine oder mehrere Richtantennen, die verwendet werden, um mit Nachbarknoten zu kommunizieren. Beispielsweise kann jeder Knoten mehrere Millimeterwellen-Funkeinheiten enthalten, die jeweils eine Richtantenne haben.
  • Allgemein stellen Knoten mit stark gerichteten Antennen eine höhere Bandbreite zur Verfügung, aber auf Kosten dessen, dass sie dazu fähig sind, mit nur einem anderen Funk von einem anderen Knoten gleichzeitig zu kommunizieren. Insbesondere kann für die Knoten, um zu kommunizieren, die Richtantenne der gegebenen Funkeinheiten zu einer Richtantenne der anderen Funkeinheiten in dem anderen Knoten gelenkt werden. Ebenso kann ein gegebener Knoten mit zwei Nachbarknoten gleichzeitig kommunizieren, wenn der gegebene Knoten zwei Richtantennen enthält, die jeweils zu einem jeweiligen Nachbarknoten gelenkt sind.
  • Wenn zwei Knoten während eines bestimmten Zeitintervalls miteinander kommunizieren, können die Knoten ein Sende- und Empfangs-Knotenpaar für das bestimmte Zeitintervall bilden. Anhand einer Darstellung kann dann, wenn der Hub-Knoten 106 und der Knoten 108 kommunizieren, der Hub-Knoten 106 in einem Sendemode sein und kann der Knoten 108 in einem Empfangsmode sein. Insbesondere wird eine Richtantenne des Hub-Knotens 106 zu einer Richtantenne des Knotens 108 gelenkt, um dadurch zu ermöglichen, dass der Hub-Knoten 106 Daten zum Knoten 108 sendet. Bei einigen Implementierungen geht der Hub-Knoten 106 dann, wenn der Knoten 108 eine Antwort zum Hub-Knoten 106 sendet, über zu einem Empfangsmode und geht der Knoten 108 über zu einem Sendemode.
  • Das Netzwerk von Knoten in der Architektur 100 zeigt eine beispielhafte Topologie mit aktiven Verbindungen und abwechselnden Verbindungen zu einem bestimmten Zeitpunkt. Aktive Verbindungen sind mit einer durchgezogenen Linie gezeigt, z. B. die aktive Verbindung 124, und wechselnde Verbindungen sind mit gestrichelten Linien gezeigt, z. B. die wechselnde Verbindung 122. Aktive Verbindungen zwischen Knoten sind Verbindungen, bei welchen Daten zwischen den Knoten aktiv transferiert werden. Wechselnde Verbindungen zwischen Knoten sind Verbindungen, bei welchen Daten potentiell, aber nicht aktuell, zwischen den Knoten transferiert werden. Für die wechselnde Verbindung zwischen zwei Knoten, um eine aktive Verbindung zu werden, können Richtantennen der zwei Knoten in Richtung zueinander gelenkt werden, wie es oben beschrieben ist.
  • Anhand einer Darstellung hat der Hub-Knoten 106 eine aktive Verbindung mit dem Knoten 108, was anzeigt, dass eine Richtantenne des Hub-Knotens 106 zu einer Richtantenne des Knotens 108 zu dem bestimmten Zeitpunkt gelenkt ist.
  • Der Knoten 108 hat eine aktive Verbindung mit dem Knoten 112, 106 und eine abwechselnde bzw. alternative Verbindung 122 mit dem Knoten 116, was anzeigt, dass der Knoten 108 mit dem Hub-Knoten 106 und dem Knoten 112 kommuniziert, aber nicht mit dem Knoten 116 kommuniziert, und zwar zu dem bestimmten Zeitpunkt.
  • Um über das Netzwerk zu kommunizieren, kann die Cloud-Steuerung 102 aktive Verbindungen in wechselnde Verbindungen wechseln, und umgekehrt. Bei einigen Implementierungen bestimmt die Cloud-Steuerung 102 einen Zeitplan für die Wechsel der Verbindungen über jedem Knoten, was unter Bezugnahme auf 3 beschrieben werden wird. Beispielsweise kann zu einem zukünftigen Zeitpunkt der Knoten 108 seine Richtantenne von einer Richtantenne des Knotens 112 zu einer Richtantenne des Knotens 116 lenken, um dadurch eine aktive Verbindung zwischen dem Knoten 108 und dem Knoten 116 zu erzeugen, und eine wechselnde Verbindung zwischen dem Knoten 108 und dem Knoten 112.
  • Die Cloud-Steuerung 102 kommuniziert auch mit einer Topologie-Datenbank 122. Die Topologie-Datenbank 122 kann Information über jeden Knoten im Netzwerk enthalten, die eine Topologie des Netzwerks von Knoten darstellt. Die Information für einen bestimmten Knoten kann eine Anzahl von Funk im Knoten, eine Rolle des Knotens, z. B. Hub, Relais oder Zugangspunkt, Knoten, die benachbart zum Knoten sind, und ob der Knoten hinzugefügt ist zu, d. h. verbunden ist mit, dem Netzwerk, enthalten. Bei einigen Implementierungen spezifiziert die Topologie-Datenbank 122 auch einen optimalen Pfad für irgendeinen gegebenen Knoten, um mit irgendeinem anderen gegebenen Knoten im Netzwerk zu kommunizieren. Insbesondere kann der optimale Pfad eine Reihe von dazwischenliegenden Knoten spezifizieren, die Daten weiterleiten, die eine Latenz minimieren.
  • Die Cloud-Steuerung 102 kann mit der Topologie-Datenbank 122 zum Hinzufügen oder Wiederverbinden von Knoten mit dem Netzwerk kommunizieren. Die Topologie-Datenbank 122 wird nachstehend unter Bezugnahme auf 3 detaillierter beschrieben werden.
  • In dieser Beschreibung wird der Ausdruck ”Datenbank” allgemein verwendet werden, um sich auf irgendeine geeignete Sammlung von Daten zu beziehen, die Beziehungen zwischen Datenelementen aufrechthalten bzw. halten. Die Daten, die nicht als Tabellen, auf irgendeine bestimmte Weise strukturiert oder überhaupt strukturiert gespeichert sein müssen, und die Daten in der Datenbank können auf Speichervorrichtungen bei einem oder mehreren Standorten gespeichert werden. Somit kann beispielsweise die Topologie-Datenbank 122 mehrere Sammlungen von Daten enthalten, von welchen jede unterschiedlich organisiert sein kann und auf welche jeweils unterschiedlich zugegriffen werden kann.
  • 2 stellt eine beispielhafte Architektur 200 für einen bestimmten Knoten im Netzwerk dar, der mehrere Funkeinheiten 204208 hat. Jede Funkeinheit 204208 kann eine jeweilige Richtantenne haben, die in Richtung zu einem anderen unterschiedlichen Knoten im Netzwerk gelenkt ist. Der Knoten kann einen Netzwerkprozessor 202 haben, der mit jeder Funkeinheit 204208 kommuniziert. Bei einigen Implementierungen synchronisiert der Netzwerkprozessor 202 die Zeit im Knoten durch Synchronisieren eines Hardware-Zeitstempels, z. B. eines Medienzugriffssteuerungs-(MAC-)Zeitstempels, in jeder Funkeinheit. Dies wird unter Bezugnahme auf 3 weiter beschrieben werden.
  • 3 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Synchronisieren einer Zeit durch eine Cloud-Steuerung. Allgemein kann ein System den beispielhaften Prozess verwenden, um Knoten im Netzwerk zu synchronisieren. Ein Synchronisieren von Knoten erfordert allgemein auch eine Entdeckung der Knoten. Jedoch kann das System alternativ den beispielhaften Prozess nur zum Entdecken von Knoten im Netzwerk durchführen. Der Bequemlichkeit halber wird der Prozess derart beschrieben werden, dass er durch ein geeignet programmierbares System von einem oder mehreren Computern durchgeführt wird, z. B. die Cloud-Steuerung 102 der 1.
  • Das System hält Daten, die eine Topologie eines Netzwerks von Knoten darstellen (Schritt 302). Die Daten können in einer Topologie-Datenbank gespeichert werden, z. B. der Topologie-Datenbank 122 der 1. Die Daten können eine erste Gruppe von Knoten im Netzwerk spezifizieren, das mit dem System verbunden ist. Die erste Gruppe von Knoten kann Hub-Knoten sein, die direkt mit dem System verbunden sind, d. h. Knoten, die mit dem System verbinden können, ohne über andere Knoten zu gehen.
  • Das System empfängt eine oder mehrere Anfragen von der ersten Gruppe von Knoten, mit dem Netzwerk zu verbinden (Schritt 304). Bei einigen Implementierungen kann jeder Knoten versuchen, mit dem System zu verbinden, d. h. durch dieses entdeckt zu werden. Der Versuch, zu verbinden, kann auf ein Booten bzw. Hochfahren des Knotens hin erfolgen.
  • Jeder Knoten kann seinen Zeitstempel in Antwort auf ein Verbinden mit dem System synchronisieren. Das bedeutet, dass der Prozess eines Verbindens eines Knotens mit dem Netzwerk enthält, dass der Knoten seinen Zeitstempel mit anderen Knoten im Netzwerk synchronisiert. Dies wird nachstehend unter Bezugnahme auf 5 weiter beschrieben werden.
  • Das System wählt aus der ersten Gruppe von Knoten einen bestimmten Knoten aus, der mit dem System verbindet (Schritt 306). Bei einigen Implementierungen wählt das System den Knoten aus, der zuerst auf die Anfrage antwortet. Bei einigen anderen Implementierungen wählt das System den Knoten zufällig aus der ersten Gruppe aus. Bei noch einigen anderen Implementierungen wählt das System den Knoten aus, der eine höchste Anzahl von Nachbarknoten hat. Allgemein kann die erste Gruppe von Knoten, z. B. die Hub-Knoten des Netzwerks, direkt mit einem externen Netzwerk verdrahtet sein, z. B. dem Internet, und kann daher die Knoten in dem Netzwerk sein, die am zuverlässigsten mit dem System kommunizieren.
  • Das System erzeugt Anweisungen, die konfiguriert sind, um zu veranlassen, dass der ausgewählte Knoten eine Anfrage kommuniziert, um jeden Nachbarknoten des ausgewählten Knotens zu synchronisieren (Schritt 308), und die Anweisungen zum ausgewählten Knoten sendet (Schritt 310).
  • Auf ein Empfangen der Anweisungen hin kann der ausgewählte Knoten nach Nachbarknoten scannen. Bei einigen Implementierungen enthält das System in den Anweisungen Koordinaten von der Topologie-Datenbank, zu welchen die Richtantennen des ausgewählten Knotens lenken können, um die Nachbarknoten zu lokalisieren. Die Anweisungen können veranlassen, dass der ausgewählte Knoten die Anfrage zu jedem seiner Nachbarknoten ausbreitet, um ihre jeweiligen Zeitstempel mit einem Zeitstempel des ausgewählten Knotens zu synchronisieren. Die Anfrage, z. B. ein Synchronisierungsframe, kann auch den Zeitstempel des ausgewählten Knotens enthalten. Dies wird unter Bezugnahme auf die 4A–B beschrieben werden.
  • Wenn das System nur eine Entdeckung und keine Synchronisierung durchführt, kann das System eine Anfrage für jeden Nachbarknoten ausbreiten, um entdeckt zu werden, auf was als Entdeckungsframe Bezug genommen werden kann. Die Anfrage kann veranlassen, dass der Nachbarknoten kontinuierlich versucht, mit dem System zu verbinden, z. B. durch Verbinden mit der Cloud-Steuerung. Hub-Knoten direkt mit dem System verbinden, während reguläre Knoten mit dem System über drahtlose Verbindungen mit den Hub-Knoten verbinden können. Bei einigen Implementierungen veranlasst die Anfrage sowohl, dass die Knoten entdeckt werden, als auch für die Knoten, dass sie ihre Zeitstempel synchronisieren.
  • Bei einigen Implementierungen enthält die Anfrage auch einen Topologie-Identifizierer. Jeder Knoten kann mit dem Topologie-Identifizierer vorgespannt sein. Jeder Knoten kann dann den vorgespannten Topologie-Identifizierer mit dem Topologie-Identifizierer in den Anweisungen vergleichen. Wenn die Topologie-Identifizierer übereinstimmen, kann der Knoten damit fortfahren, seinen Zeitstempel mit dem Zeitstempel in den Anweisungen zu synchronisieren. Dies stellt sicher, dass der Knoten mit einem beabsichtigten Zeitstempel synchronisiert.
  • Jede durch einen Knoten empfangene Anfrage kann veranlassen, dass der Knoten die Anfrage zu Nachbarknoten des Knotens ausbreitet. Dies kann andauern, bis jeder Knoten im Netzwerk mit dem Zeitstempel des ausgewählten Knotens synchronisiert worden ist. Um einen Zeitstempel eines gegebenen Knotens mit dem Zeitstempel des ausgewählten Knotens zu synchronisieren, kann der Knoten den Zeitstempel des ausgewählten Knotens zu einem Speicher des gegebenen Knotens speichern.
  • Wenn die Anfrage zum Synchronisieren der Knoten verwendet wird, kann jeder Knoten periodisch die Anfrage senden, um eine Zeit mit Nachbarknoten zu synchronisieren. Dies ergibt geringfügige Driften von internen Takten von jedem Knoten im Verlaufe der Zeit, was z. B. in der Größenordnung von Mikrosekunden sein kann. Dies kann auch eine Zeitsynchronisierung vom System zusammenfassen, d. h. der Cloud-Steuerung. Das bedeutet, dass das System annehmen kann, dass jeder Knoten im Netzwerk einen synchronisierten Zeitstempel über dem bzw. im gesamten Netzwerk hat. Daher kann das System einen Zeitplan basierend auf dem synchronisierten Zeitstempel durchdrücken, was nachstehend weiter beschrieben werden wird.
  • Bei einigen Implementierungen startet dann, wenn die Anfrage gesendet wird, Zeit zu synchronisieren, ein bestimmter Knoten einen Zeitgeber. Bis der Zeitgeber abläuft, kann der Knoten verhindern, dass er selbst in einen Empfangsmode eintritt, d. h. der Knoten wird nicht irgendwelche Anfragen zur Synchronisierung empfangen. Der Zeitstempel kann etwas kleiner als eine Periodizität eines Sendens der Anfrage sein, Zeit zu synchronisieren. Dies kann eine Überlastung des Netzwerks mit Anfragen zur Synchronisierung verhindern.
  • Bei einigen anderen Implementierungen sendet der gegebene Knoten dann, wenn der gegebene Knoten einmal synchronisiert ist, ein Anzeichen einer Synchronisierung zum System, z. B. über andere Knoten, die mit dem System verbunden sind, was das Anzeichen einer Synchronisierung in der Topologie-Datenbank speichern kann. Wenn jeder Knoten einmal mit einem Zeitstempel synchronisiert ist, kann das System den Zeitplan basierend auf dem Zeitstempel durchdrücken.
  • Bei einigen Implementierungen hat der Knoten mehrere Funkeinheiten, wie es oben unter Bezugnahme auf 2 beschrieben ist. Der Knoten kann die Anweisungen zur Synchronisierung mit einem Zeitstempel des ausgewählten Knotens bei einem Netzwerkprozessor des Knotens empfangen. Der Netzwerkprozessor kann verbunden, z. B. verdrahtet, sein mit jeder Funkeinheit und kann veranlassen, dass jede Funkeinheit ihren Zeitstempel mit dem Zeitstempel des ausgewählten Knotens synchronisiert.
  • Bei einigen Implementierungen bestimmt das System dann, wenn die Topologie-Datenbank Anzeichen einer Synchronisierung speichert, dass eine zweite Gruppe von Knoten im Netzwerk nicht mit dem Zeitstempel des ausgewählten Knotens synchronisiert worden ist, aus der Topologie-Datenbank, die Anzeichen von Synchronisierungen speichert, wie es oben beschrieben ist. Dies kann passieren, wenn Knoten in der zweiten Gruppe unfähig sind, mit den übrigen Knoten im Netzwerk zu kommunizieren. Beispielsweise können die Knoten in der zweiten Gruppe ihre Antennen zu Nachbarknoten gelenkt haben, aber eine Sichtlinie kann physikalisch durch ein Objekt blockiert sein.
  • Das System kann unter Verwendung der Topologie-Datenbank Nachbarknoten jedes Knotens in der zweiten Gruppe von Knoten identifizieren, die eine synchronisierte Zeit mit dem Zeitstempel des ausgewählten Knotens haben.
  • Das System kann zusätzliche Anweisungen erzeugen und sie zu den identifizierten Nachbarknoten senden, die konfiguriert sind, um zu veranlassen, dass die identifizierten Nachbarknoten mit einem Senden der Anfrage zur Synchronisierung zu Knoten in der zweiten Gruppe fortfahren, bis das System ein Anzeichen einer Synchronisierung von jedem Knoten in der zweiten Gruppe empfängt. Die Anweisungen können zu den identifizierten Nachbarknoten durch Weiterleiten der zusätzlichen Anweisungen über das Netzwerk unter Verwendung der Topologie-Datenbank gesendet werden. Bei einigen Implementierungen versucht das System wiederholt, z. B. unter Verwendung eines exponentiellen Backoff-Algorithmus, ein Senden der Anfrage zur Synchronisierung, was den Zeitstempel des ausgewählten Knotens enthält.
  • Nachdem jeder Knoten im Netzwerk mit dem Zeitstempel des ausgewählten Knotens synchronisiert ist, kann das System einen Zeitplan zu dem ausgewählten Knoten durchdrücken, der eine Kommunikation über das Netzwerk koordiniert. Der Zeitplan kann spezifizieren, wann jeder Knoten in jedem Paar von Nachbarknoten in einem Sendemode oder einem Empfangsmode ist. Mit synchronisierten Zeiten können Knoten ihre Richtantennen zu geeigneten Positionen zur gleichen Zeit lenken. Beispielsweise kann der Zeitplan den ausgewählten Knoten spezifizieren, um seine Antenne zu einem ersten Nachbarknoten von einem Zeitstempel X zu einem Zeitstempel Y zu lenken, wobei X und Y ein Zukunftsdelta von einem aktuellen Zeitstempel des ausgewählten Knotens sind. Der Zeitplan kann dann den ausgewählten Knoten spezifizieren, um seine Antenne zu einem zweiten Nachbarknoten von einem Zeitstempel Y zu einem Zeitstempel Z zu lenken, wobei der ausgewählte Knoten in einem Sendemode ist, während der zweite Nachbarknoten in einem Empfangsmode ist.
  • 4A ist ein Diagramm 400, das darstellt, wie eine Zeit nach einem Empfangen von Anweisungen zur Synchronisierung bei einem Hub-Knoten 406 des Netzwerks synchronisiert wird. Der Hub-Knoten 406 kann die Anweisungen von einer Cloud-Steuerung 402 empfangen. Der Hub-Knoten 406 kann einen Zeitstempel von Zeit_A haben. Der Hub-Knoten 406 hat aktive Verbindungen mit Knoten 408, 410, was anzeigt, dass der Hub-Knoten 406 mehrere Richtantennen hat, die jeweils zu den jeweiligen Knoten 408, 410 gelenkt sind. Der Hub-Knoten 406 kann eine Anfrage zur Synchronisierung zusammen mit dem Zeitstempel des Hub-Knotens 406, d. h. Zeit_A, zu den Knoten 408, 410 senden.
  • 4B ist ein Diagramm 422, das darstellt, wie eine Zeit synchronisiert wird, nachdem die Knoten 408, 410 die Anfrage zur Synchronisierung vom Hub-Knoten 406 empfangen. Auf ein Empfangen der Anfrage zur Synchronisierung hin können die Knoten 408, 410 ihre jeweiligen Zeitstempel auf Zeit_A synchronisieren.
  • Der Knoten 408 hat eine aktive Verbindung mit dem Knoten 412 und eine wechselnde Verbindung mit dem Knoten 416. Daher sendet der Knoten 408 die Anfrage zur Synchronisierung mit einem Zeitstempel Zeit_A zum Knoten 412. Weil eine Richtantenne des Knotens 408 nicht zu einer Richtantenne des Knotens 416 gelenkt ist, kann der Knoten 408 die Anfrage zur Synchronisierung zum aktuellen Zeitpunkt nicht zum Knoten 416 senden.
  • Bei einigen Implementierungen kann der Knoten 408, nachdem der Knoten 408 die Anfrage einschließlich Zeit_A zum Knoten 412 sendet, in einen Scan-Mode eintreten. Der Scan-Mode kann veranlassen, dass der Knoten 408 nach anderen Nachbarknoten sucht. Beispielsweise kann der Scan-Mode veranlassen, dass die Richtantenne in einem vollständigen Bewegungsbereich lenkt, bis der Knoten 408 eine Richtantenne eines anderen Knotens lokalisiert. Der Knoten 408 kann bestimmen, ob der andere Knoten nicht mit seinem Zeitstempel zu Zeit_A synchronisiert hat. Bei einigen Implementierungen sendet das System Momentaufnahmen von Anzeichen einer Synchronisierung zu den Hub-Knoten 406, 420 zur Verteilung. Bei einigen anderen Implementierungen wartet der Knoten 408 auf eine Antwort von dem anderen Knoten, was anzeigt, ob der andere Knoten synchronisiert worden ist. Bei noch einigen anderen Implementierungen sendet der Knoten 408 die Anfrage zur Synchronisierung zum anderen Knoten ungeachtet dessen, ob der andere Knoten seinen Zeitstempel Zeit_A synchronisiert hat.
  • Bei einigen Implementierungen wartet der Knoten, nachdem der Knoten 408 die Anfrage einschließlich Zeit_A zum Knoten 412 sendet, auf Anweisungen von der Cloud-Steuerung 402. Die Cloud-Steuerung 402 kann bestimmen, dass der Knoten 416 seinen Zeitstempel nicht mit Zeit_A synchronisiert hat, z. B. weil der Knoten 416 nicht mit der Cloud-Steuerung 402 verbunden ist, und Anweisungen erzeugen, um zu veranlassen, dass der Knoten 408 eine aktive Verbindung mit dem Knoten 416 bildet und eine Anfrage sendet, den Zeitstempel des Knotens 416 mit Zeit_A zu synchronisieren, wie es oben unter Bezugnahme auf 3 beschrieben ist.
  • Gleichermaßen stellt der Knoten 410 auf ein Empfangen der Anfrage zur Synchronisierung vom Hub-Knoten 406 hin seinen Zeitstempel auf Zeit_A und sendet eine Anfrage zur Synchronisierung einschließlich Zeit_A zum Knoten 412 über eine aktive Verbindung. Bei einigen Implementierungen ignoriert der Knoten 412 die Anfrage, wenn der Knoten 412 seinen Zeitstempel bereits synchronisiert hat, und zwar aufgrund einer Anfrage zur Synchronisierung vom Knoten 408.
  • 5 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Entdeckthaben eines nicht hinzugefügten Knotens im Netzwerk durch Nachbarknoten. Der Annehmlichkeit halber wird der Prozess derart beschrieben werden, dass er durch ein geeignet programmiertes System von einem oder mehreren Computern durchgeführt wird, z. B. die Cloud-Steuerung 102 der 1. Bei einigen Implementierungen versucht das System, jeden nicht entdeckten Knoten zu entdecken, wie es in einer Topologie-Datenbank identifiziert ist, vor einem Synchronisieren einer Zeit über dem Netzwerk.
  • Das System unterhält Daten, die eine Topologie des Netzwerks darstellen (Schritt 502). Die Daten können in der Topologie-Datenbank gespeichert sein, wie es oben unter Bezugnahme auf 3 beschrieben ist.
  • Das System wählt einen bestimmten Knoten aus, der nicht zum Netzwerk hinzugefügt worden ist, gemäß den Daten (Schritt 504). Das System kann die Topologie-Datenbank analysieren, die speichert, ob ein bestimmter Knoten zum Netzwerk hinzugefügt worden ist, um den bestimmten Knoten auszuwählen. In einigen Fällen kann der ausgewählte Knoten im Voraus versucht haben, zum Netzwerk hinzugefügt zu werden, kann aber fehlgeschlagen haben, z. B. aufgrund eines physikalischen Hindernisses.
  • Wenn der ausgewählte Knoten versucht, zum Netzwerk hinzugefügt zu werden, kann der ausgewählte Knoten in einen Empfangsmode eintreten. Der ausgewählte Knoten kann auch eine Richtantenne innerhalb ihres vollständigen Bereichs sweepen, um zu versuchen, mit einem Nachbarknoten zu verbinden. Der vollständige Bereich kann durch die Funkeinheit vorbestimmt sein.
  • Das System verwendet die Daten, um Nachbarknoten um den ausgewählten Knoten zu bestimmen (Schritt 506). Bei einigen Implementierungen fragt das System die Topologie-Datenbank an, Koordinaten der Nachbarknoten zu bestimmen. Insbesondere kann die Topologie-Datenbank Koordinaten einer Richtantenne des ausgewählten Knotens enthalten, zu welcher die Richtantennen der Nachbarknoten lenken sollten.
  • Das System erzeugt Anweisungen, die konfiguriert sind, um den ausgewählten Knoten zu entdecken (Schritt 508), und sendet die Anweisungen zu den Nachbarknoten, um dadurch zu veranlassen, dass die Nachbarknoten den ausgewählten Knoten entdecken (Schritt 510). Die Anweisungen können veranlassen, dass die Nachbarknoten ihre jeweiligen Richtantennen zu Koordinaten der Richtantenne des ausgewählten Knotens lenken. Bei einigen Implementierungen veranlassen die Anweisungen, dass die jeweiligen Richtantennen der Nachbarknoten in einem vollständigen Bereich lenken, um nach einer stärkeren Verbindung mit dem ausgewählten Knoten zu suchen. Die Nachbarknoten können jeweils in einem Sendemode sein. Das System kann für einen der Nachbarknoten bestimmen, dass die Richtantenne des ausgewählten Knotens zu einer jeweiligen Richtantenne des einen Nachbarknotens gelenkt ist. Bei einigen Implementierungen ist nur einer der Nachbarknoten nötig, um die Verbindung für den ausgewählten Knoten herzustellen, um zu dem Netzwerk hinzugefügt zu werden. Wenn der ausgewählte Knoten mit dem einen Nachbarknoten verbindet, kann der ausgewählte Knoten ein Anzeichen Senden, dass eine Verbindung mit dem System hergestellt wurde. Der ausgewählte Knoten kann dann drahtlos mit dem einen Nachbarknoten kommunizieren.
  • Bei einigen Implementierungen veranlassen die Anweisungen, dass der ausgewählte Knoten seinen Zeitstempel mit einem Zeitstempel des Nachbarknotens synchronisiert, wie es oben unter Bezugnahme auf 3 beschrieben ist.
  • Das System kann auch einen Zeitplan über das Netzwerk von Knoten verteilen, wie es oben unter Bezugnahme auf 3 beschrieben ist.
  • Ausführungsformen des Gegenstands und der funktionellen Operationen, die in dieser Beschreibung beschrieben sind, können in einer digitalen elektronischen Schaltung, in einer greifbar ausgeführten Computersoftware oder -firmware, in Computerhardware, einschließlich der Strukturen, die in dieser Beschreibung offenbart sind, und ihrer strukturellen Äquivalente, oder in Kombinationen von einem oder mehreren von ihnen implementiert sein. Ausführungsformen des in dieser Beschreibung beschriebenen Gegenstands können implementiert sein als ein oder mehrere Computerprogramme, d. h. als ein oder mehrere Module von Computerprogrammanweisungen, die auf einem greifbaren nicht flüchtigen Programmträger zur Ausführung durch eine oder zum Steuern des Betriebs von einer Datenverarbeitungsvorrichtung codiert sind. Alternativ oder zusätzlich können die Programmanweisungen auf einem künstlich erzeugten ausgebreiteten Signal codiert sein, z. B. einem maschinenerzeugten elektrischen, optischen oder elektromagnetischen Signal, das erzeugt ist, um Information zur Sendung zu einer geeigneten Empfängervorrichtung zur Ausführung durch eine Datenverarbeitungsvorrichtung zu codieren. Das Computerspeichermedium kann eine maschinenlesbare Speichervorrichtung, ein maschinenlesbares Speichersubstrat, eine Speichervorrichtung mit direktem oder seriellem Zugriff oder eine Kombination von einem oder mehreren von ihnen sein. Das Computerspeichermedium ist jedoch nicht ein ausgebreitetes Signal.
  • Der Ausdruck ”Datenverarbeitungsvorrichtung” umfasst alle Arten von Gerät, Vorrichtungen und Maschinen zum Verarbeiten von Daten, einschließlich, anhand eines Beispiels, eines programmierbaren Prozessors, eines Computers oder mehrerer Prozessoren oder Computer. Die Vorrichtung kann eine spezielle Logikschaltung enthalten, z. B. ein FPGA (feldprogrammierbares Gate-Array) oder eine ASIC (anwendungsspezifische integrierte Schaltung). Die Vorrichtung kann auch zusätzlich zu Hardware einen Code enthalten, der eine Ausführungsumgebung für das infrage stehende Computerprogramm erzeugt, z. B. einen Code, der eine Prozessorfirmware, einen Protokollstapel, ein Datenbankmanagementsystem, ein Betriebssystem oder eine Kombination von einem oder mehreren von ihnen bildet.
  • Ein Computerprogramm (auf das auch als Programm Bezug genommen werden kann oder als solches beschrieben werden kann, Software, eine Softwareanwendung, ein Modul, ein Softwaremodul, ein Skript oder ein Code) kann in irgendeiner Form einer Programmiersprache geschrieben sein, einschließlich kompilierter oder interpretierter Sprachen oder deklarativer oder verfahrensorientierter Sprachen, und es kann in irgendeiner Form genutzt werden, einschließlich als ein alleinstehendes Programm oder als ein Modul, eine Komponente, ein Unterprogramm oder eine andere Einheit, die zur Verwendung in einer Computerumgebung geeignet ist. Ein Computerprogramm kann, muss aber nicht, einer Datei in einem Dateiensystem entsprechen. Ein Programm kann in einem Teilbereich einer Datei gespeichert sein, die andere Programme oder Daten hält, z. B. ein oder mehrere Skripte, die in einem Auszeichnungssprachendokument gespeichert sind, in einer einzelnen Datei, die für das infrage stehende Programm bestimmt ist, oder in mehreren koordinierten Dateien, z. B., Dateien, die ein oder mehrere Module, Unterprogramme oder Teilbereiche eines Codes speichern. Ein Computerprogramm kann genutzt werden, um auf einem Computer oder auf mehreren Computern ausgeführt zu werden, der oder die an einer Stelle lokalisiert sind oder über mehrere Stellen verteilt sind und durch ein Kommunikationsnetzwerk miteinander verbunden sind.
  • Wie es in dieser Beschreibung verwendet ist, bezieht sich ”Maschine” oder ”Softwaremaschine” auf ein softwareimplementiertes Eingabe/Ausgabe-System, das eine Ausgabe zur Verfügung stellt, die unterschiedlich von der Eingabe ist. Eine Maschine kann ein codierter Block einer Funktionalität sein, wie beispielsweise eine Bibliothek, eine Plattform, ein Softwaredevelopmentkit (”SDK”) oder ein Objekt. Jede Maschine kann auf irgendeinem geeigneten Typ einer Computervorrichtung implementiert sein, z. B. Servern, Mobiltelefonen, Tablet-Computern, Notebook-Computern, Musikabspielgeräten, E-Book-Lesegeräten, Laptop- oder Desktop-Computern, PDAs, Smartphones, oder andere stationäre oder tragbare Vorrichtungen, die einen oder mehrere Prozessoren und computerlesbare Medien enthalten. Zusätzlich können zwei oder mehr der Maschinen auf derselben Computervorrichtung oder auf unterschiedlichen Computervorrichtungen implementiert sein.
  • Die Prozesse und logischen Abläufe, die in dieser Beschreibung beschrieben sind, können durch einen oder mehrere programmierbare Computer durchgeführt werden, die ein oder mehr Computerprogramme ausführen, um Funktionen durch Arbeiten an Eingangsdaten und Erzeugen einer Ausgabe durchzuführen. Die Prozesse und logischen Abläufe können auch durchgeführt werden durch, und eine Vorrichtung kann auch implementiert sein als, eine spezielle Logikschaltung, z. B. ein FPGA (feldprogrammierbares Gate-Array) oder eine ASIC (anwendungsspezifische integrierte Schaltung).
  • Computer, die für die Ausführung eines Computerprogramms geeignet sind, enthalten, anhand eines Beispiels, oder können basieren auf allgemeinen oder speziellen Mikroprozessoren oder beiden, oder irgendeiner anderen Art von zentraler Verarbeitungseinheit. Allgemein wird eine zentrale Verarbeitungseinheit Anweisungen und Daten von einem Nurlesespeicher oder einem Direktzugriffsspeicher oder von beiden empfangen. Die wesentlichen Elemente eines Computers sind eine zentrale Verarbeitungseinheit zum Durchführen oder Ausführen von Anweisungen und eine oder mehrere Speichervorrichtungen zum Speichern von Anweisungen und Daten. Allgemein wird ein Computer auch eine oder mehrere Massenspeichervorrichtungen zum Speichern von Daten, z. B. magnetische, magnetooptische Platten oder optische Platten, enthalten, oder betriebsmäßig gekoppelt sein, um Daten davon zu empfangen oder Daten dorthin zu transferieren, oder beides. Jedoch muss ein Computer keine solchen Vorrichtungen haben. Darüber hinaus kann ein Computer in einer anderen Vorrichtung eingebettet sein, z. B. einem Mobiltelefon, einem persönlichen digitalen Assistenten (PDA), einem mobilen Audio- oder Video-Abspielgerät, einer Spielkonsole, einem Empfänger für ein globales Positioniersystem (GPS) oder einer tragbaren Speichervorrichtung, z. B. einem Flash-Laufwerk für einen universellen seriellen Bus (USB), um nur einige zu nennen.
  • Computerlesbare Medien, die zum Speichern von Computerprogrammanweisungen und Daten geeignet sind, enthalten alle Formen von nicht flüchtigem Speicher, Medien und Speichervorrichtungen, einschließlich, anhand eines Beispiels, Halbleiterspeichervorrichtungen, z. B. EPROM, EEPROM und Flash-Speichervorrichtungen; magnetischer Platten, z. B. interner Festplatten oder entfernbarer Platten, magnetooptischer Platten und CD-ROM- und DVD-ROM-Scheiben. Der Prozessor und der Speicher können ergänzt sein durch eine spezielle Logikschaltung, oder darin eingebaut sein.
  • Um für eine Interaktion mit einem Anwender zu sorgen, können Ausführungsformen des in dieser Beschreibung beschriebenen Gegenstands auf einem Computer implementiert sein, die eine Anzeigevorrichtung hat, z. B. einen CRT-(Kathodenstrahlröhren-)Monitor, einen LCD-(Flüssigkristallanzeigen-)Monitor oder eine OLED-Anzeige, zum Anzeigen von Information zum Anwender sowie Eingabevorrichtungen zum Liefern einer Eingabe zum Computer, z. B. eine Tastatur, eine Maus oder eine präsenzempfindliche Anzeige oder eine andere Oberfläche. Andere Arten von Vorrichtungen können ebenso gut verwendet werden, um für eine Interaktion mit einem Anwender zu sorgen; beispielsweise kann eine zum Anwender gelieferte Rückmeldung irgendeine Form einer sensorischen Rückmeldung sein, z. B. eine visuelle Rückmeldung, eine akustische Rückmeldung oder eine taktile Rückmeldung; und eine Eingabe vom Anwender kann in irgendeiner Form empfangen werden, einschließlich einer akustischen, einer sprachlichen oder einer taktilen Eingabe. Zusätzlich kann ein Computer mit einem Anwender durch Senden von Ressourcen zu und Empfangen von Ressourcen von einer Vorrichtung interagieren, die durch den Anwender verwendet wird; beispielsweise durch Senden von Web-Seiten zu einem Web-Browser auf einer Client-Vorrichtung eines Anwenders in Antwort auf Anfragen, die vom Web-Browser empfangen sind.
  • Ausführungsformen des in dieser Beschreibung beschriebenen Gegenstands können in einem Computersystem implementiert sein, das eine Backend-Komponente enthält, z. B. als einen Datenserver, oder das eine Middleware-Komponente enthält, z. B. einen Anwendungsserver, oder das eine Frontend-Komponente enthält, z. B. einen Client-Computer mit einer graphischen Anwenderschnittstelle oder einem Web-Browser, über welchen ein Anwender mit einer Implementierung des in dieser Beschreibung beschriebenen Gegenstands interagieren kann, oder irgendeine Kombination von einer oder mehreren von solchen Backend-, Middleware- oder Frontend-Komponenten. Die Komponenten des Systems können durch irgendeine Form oder Medium einer digitalen Datenkommunikation miteinander verbunden sein, z. B. ein Kommunikationsnetzwerk. Beispiele von Kommunikationsnetzwerken enthalten ein lokales Netz (”LAN”) und ein Weitverkehrsnetz (”WAN”), z. B. das Internet.
  • Das Computersystem kann Clients und Server enthalten. Ein Client und ein Server sind allgemein entfernt voneinander und interagieren typischerweise über ein Kommunikationsnetzwerk. Die Beziehung von Client und Server entsteht mittels Computerprogrammen, die auf den jeweiligen Computern laufen und eine Client-Server-Beziehung zueinander haben.
  • Während diese Beschreibung viele spezifische Implementierungsdetails enthält, sollten diese nicht als Beschränkungen für den Schutzumfang von irgendeiner Erfindung oder von dem, was beansprucht sein kann, angesehen werden, sondern vielmehr als Beschreibungen von Merkmalen, die spezifisch für bestimmte Ausführungsformen von bestimmten Erfindungen sein können. Bestimmte Merkmale, die in dieser Beschreibung im Zusammenhang mit getrennten Ausführungsformen beschrieben sind, können auch in Kombination in einer einzigen Ausführungsform implementiert sein. Gegensätzlich dazu können verschiedene Merkmale, die im Zusammenhang mit einer einzigen Ausführungsform beschrieben sind, auch in mehreren Ausführungsformen separat oder in irgendeiner geeigneten Unterkombination implementiert sein. Darüber hinaus können, obwohl Merkmale oben derart beschrieben sein können, dass sie in bestimmten Kombinationen agieren, und sogar anfangs als solche beansprucht sind, ein oder mehrere Merkmale aus einer beanspruchten Kombination in einigen Fällen von der Kombination ausgeschlossen werden, und die beanspruchte Kombination kann auf eine Unterkombination oder eine Variation einer Unterkombination gerichtet sein.
  • Gleichermaßen sollte, während Operationen in den Zeichnungen in einer bestimmten Reihenfolge gezeigt sind, dies nicht derart verstanden werden, dass es erforderlich ist, dass solche Operationen in der bestimmten Reihenfolge durchgeführt werden, die gezeigt ist, oder in einer sequentiellen Reihenfolge, oder dass alle dargestellten Operationen durchgeführt werden, um erwünschte Ergebnisse zu erreichen. Unter gewissen Umständen kann Multitasking und Parallelverarbeitung vorteilhaft sein. Darüber hinaus sollte die Trennung von verschiedenen Systemmodulen und/oder Komponenten bei den oben beschriebenen Ausführungsformen nicht derart verstanden werden, dass eine solche Trennung bei allen Ausführungsformen erforderlich ist, und es sollte verstanden werden, dass die beschriebenen Programmkomponenten und Systeme allgemein zusammen in einem einzigen Softwareprodukt integriert sein können oder in mehrere Softwareprodukte gepackt sein können.
  • Bestimmte Ausführungsformen des Gegenstands sind beschrieben worden. Andere Ausführungsformen sind innerhalb des Schutzumfangs der folgenden Ansprüche. Beispielsweise können die in den Ansprüchen wiedergegebenen Aktionen in einer anderen Reihenfolge durchgeführt werden und noch erwünschte Ergebnisse erreichen. Als ein Beispiel erfordern die in den beigefügten Figuren gezeigten Prozesse nicht notwendigerweise die gezeigte bestimmte Reihenfolge oder eine sequentielle Reihenfolge, um erwünschte Ergebnisse zu erreichen. Bei bestimmten Implementierungen kann Multitasking und Parallelverarbeitung vorteilhaft sein.

Claims (26)

  1. Verfahren, umfassend: Halten, durch eine Cloud-Steuerung, von Daten, die eine Topologie eines Netzwerks von Knoten darstellen, wobei die Daten eine erste Gruppe von Knoten anzeigen, die mit der Cloud-Steuerung verbunden sind, und für jeden Knoten im Netzwerk einen oder mehrere jeweilige Nachbarknoten für den Knoten anzeigen, und wobei jeder Knoten drahtlos mit einem Nachbarknoten kommuniziert, indem ein Sendeknoten- und Empfangsknoten-Paar während eines bestimmten Zeitintervalls gebildet wird, wobei der Sendeknoten des Paars Daten zu dem Empfangsknoten des Paars während eines bestimmten Zeitintervalls kommuniziert, wenn der Sendeknoten in einem Sendemode und der Empfangsknoten in einem Empfangsmode ist; Empfangen, bei der Cloud-Steuerung, von der ersten Gruppe von Knoten von einer oder mehreren Anfragen, mit dem Netzwerk zu verbinden; Auswählen, durch die Cloud-Steuerung, eines ersten Knoten in der ersten Gruppe von Knoten, der die Anfrage sendete; und Erzeugen, durch die Cloud-Steuerung, von Anweisungen, die konfiguriert sind, um zu veranlassen, dass der erste Knoten einen Zeitstempel des ersten Knotens zu jedem Nachbarknoten des ersten Knotens kommuniziert, und um zu veranlassen, dass jeder Nachbarknoten den Zeitstempel des ersten Knotens zu jedem anderen Nachbarknoten des Nachbarknotens kommuniziert, wobei Knoten ihre jeweiligen Zeitstempel auf einen Empfang des Zeitstempels des ersten Knotens hin synchronisieren, wobei ein Kommunizieren des Zeitstempels andauert, bis jeder Knoten im Netzwerk mit dem Zeitstempel des ersten Knotens synchronisiert worden ist; und Senden der Anweisungen zum ersten Knoten, um dadurch die Knoten im Netzwerk mit dem Zeitstempel des ersten Knotens zu synchronisieren.
  2. Verfahren nach Anspruch 1, wobei auf ein Empfangen der Anweisungen durch den ersten Knoten hin der erste Knoten nach Nachbarknoten scannt, und wobei jeder Nachbarknoten seinen jeweiligen Zeitstempel mit dem Zeitstempel des ersten Knotens synchronisiert.
  3. Verfahren nach Anspruch 2, wobei für jeden Nachbarknoten der Nachbarknoten nach anderen jeweiligen Nachbarknoten scannt und wobei jeder der anderen jeweiligen Nachbarknoten seinen jeweiligen Zeitstempel mit dem Zeitstempel des ersten Knotens synchronisiert.
  4. Verfahren nach einem der Ansprüche 1 bis 3, weiterhin umfassend: Durchdrücken eines Zeitplans zum ersten Knoten, um zu jedem Knoten im Netzwerk ausgebreitet zu werden, wobei der Zeitplan spezifiziert, wann jeder Knoten in jedem Paar von Nachbarknoten in dem Sendemode oder dem Empfangsmode ist.
  5. Verfahren nach einem der vorangehenden Ansprüche, weiterhin umfassend: Bestimmen, aus einer Topologie-Datenbank, dass eine zweite Gruppe von Knoten nicht mit dem Zeitstempel des ersten Knotens synchronisiert worden ist; Identifizieren von Nachbarknoten von jedem Knoten in der zweiten Gruppe von Knoten aus der Topologie-Datenbank; Erzeugen von zusätzlichen Anweisungen, die konfiguriert sind, um zu veranlassen, dass die Nachbarknoten von jedem Knoten in der zweiten Gruppe von Knoten damit fortfahren, den Zeitstempel zu kommunizieren, bis die Nachbarknoten ein Anzeichen empfangen, dass jeder Knoten der zweiten Gruppe von Knoten mit dem Zeitstempel des ersten Knotens synchronisiert worden ist; und Senden der zusätzlichen Anweisungen zu den Nachbarknoten von jedem Knoten in der zweiten Gruppe von Knoten.
  6. Verfahren nach einem der vorangehenden Ansprüche, wobei der erste Knoten eine Vielzahl von Millimeterwellen-Funkeinheiten umfasst, wobei die Anweisungen, die konfiguriert sind, um zu veranlassen, dass der erste Knoten einen Zeitstempel des ersten Knotens kommuniziert, umfassen: Auswählen, durch den ersten Knoten, eines ersten Zeitstempels von einer der Millimeterwellen-Funkeinheiten; Synchronisieren von Zeitstempeln von jeder der anderen Millimeterwellen-Funkeinheiten mit dem ersten Zeitstempel; und Kommunizieren des Zeitstempels zu Nachbarknoten des ersten Knotens unter Verwendung der Vielzahl von Millimeterwellen-Funkeinheiten.
  7. Verfahren nach einem der vorangehenden Ansprüche, wobei der erste Knoten eine erste Richtantenne umfasst und ein Knoten, der zum ersten Knoten benachbart ist, eine zweite Richtantenne umfasst, weiterhin umfassend: Identifizieren von Koordinaten der zweiten Richtantenne aus den Daten; und wobei die Anweisungen die Koordinaten umfassen und veranlassen, dass die erste Richtantenne zu den Koordinaten der zweiten Richtantenne lenkt.
  8. Verfahren nach einem der Ansprüche 1 bis 6, wobei ein erster Knoten im Netzwerk eine erste Richtantenne hat und ein zweiter Knoten im Netzwerk eine zweite Richtantenne hat, und wobei der erste Knoten Daten zum zweiten Knoten kommuniziert, wenn die erste Richtantenne zur zweiten Richtantenne gelenkt ist und die zweite Richtantenne zur ersten Richtantenne gelenkt ist.
  9. Verfahren nach einem der vorangehenden Ansprüche, wobei die erste Gruppe von Knoten mit der Cloud-Steuerung verbindet, ohne über irgendeinen anderen Knoten im Netzwerk zu gehen.
  10. Verfahren nach einem der vorangehenden Ansprüche, wobei ein bestimmter Knoten im Netzwerk periodisch eine Anfrage zur Synchronisierung mit seinen Nachbarknoten sendet, um zu veranlassen, dass die Nachbarknoten ihre jeweiligen Zeitstempel mit einem Zeitstempel des Knotens synchronisieren, und um zu veranlassen, dass jeder Nachbarknoten eine Anfrage zur Synchronisierung zu anderen Nachbarknoten des Nachbarknotens sendet.
  11. Verfahren, umfassend: Halten, durch eine Cloud-Steuerung, von Daten, die eine Topologie eines Netzwerks von Knoten darstellen, wobei die Daten eine erste Gruppe von Knoten anzeigen, die mit der Cloud-Steuerung verbunden sind, und für jeden Knoten im Netzwerk einen oder mehrere jeweilige Nachbarknoten für den Knoten anzeigen, und wobei jeder Knoten drahtlos mit einem Nachbarknoten kommuniziert, indem ein Sendeknoten und Empfangsknoten-Paar während eines Empfangsknoten-Paar während eines bestimmten Zeitintervalls gebildet wird, wobei der Sendeknoten des Paars Daten zu dem Empfangsknoten des Paars während eines bestimmten Zeitintervalls kommuniziert, wenn der Sendeknoten in einem Sendemode ist und der Empfangsknoten in einem Empfangsmode ist; Auswählen, durch die Cloud-Steuerung, eines ersten Knotens, der nicht zum Netzwerk hinzugefügt worden ist, gemäß den Daten; Verwenden der Daten, um durch die Cloud-Steuerung Nachbarknoten um den ersten Knoten zu bestimmen; Erzeugen, durch die Cloud-Steuerung, von Anweisungen, die konfiguriert sind, um zu veranlassen, dass die Nachbarknoten den ersten Knoten entdecken; Senden der Anweisungen zu den Nachbarknoten, um dadurch zu veranlassen, dass die Nachbarknoten den ersten Knoten entdecken; und Empfangen eines Anzeichens, dass der erste Knoten drahtlos mit den Nachbarknoten kommuniziert.
  12. Verfahren nach Anspruch 11, wobei die Anweisungen veranlassen, dass der erste Knoten seinen Zeitstempel mit einem Zeitstempel von einem der Nachbarknoten synchronisiert.
  13. Verfahren nach Anspruch 11 oder 12, weiterhin umfassend ein Verteilen eines Zeitplans über das Netzwerk von Knoten, wobei der Zeitplan eine zukünftige Kommunikation zwischen jedem Knoten im Netzwerk koordiniert.
  14. Verfahren nach einem der Ansprüche 11 bis 13, wobei ein erster Knoten im Netzwerk eine erste Richtantenne hat und ein zweiter Knoten im Netzwerk eine zweite Richtantenne hat und wobei der erste Knoten Daten zum zweiten Knoten kommuniziert, wenn die erste Richtantenne zur zweiten Richtantenne gelenkt ist und die zweite Richtantenne zur ersten Richtantenne gelenkt ist.
  15. Verfahren nach einem der Ansprüche 11 bis 13, wobei der erste Knoten in einem Empfangsmode ist und wobei der erste Knoten eine Richtantenne in einem vollständigen Bewegungsbereich lenkt und wobei die Anweisungen, die konfiguriert sind, um zu veranlassen, dass die Nachbarknoten den ersten Knoten entdecken, umfassen: Lenken von Richtantennen der Nachbarknoten in einem vollständigen Bewegungsbereich, während sie in einem Sendeknoten sind; Bestimmen, für einen der Nachbarknoten, dass die Richtantenne des ersten Knotens zu einer jeweiligen Richtantenne des Nachbarknotens gelenkt ist; und Speichern der Bestimmung in den Daten.
  16. Verfahren nach einem der Ansprüche 11 bis 13, weiterhin umfassend: Identifizieren von Koordinaten der ersten Richtantenne des ersten Knotens aus den Daten; und wobei die Anweisungen die Koordinaten umfassen und veranlassen, dass Richtantennen der Nachbarknoten zu den Koordinaten der ersten Richtantenne lenken.
  17. System, umfassend: einen Prozessor; und ein computerlesbares Medium, das mit dem Prozessor gekoppelt ist und Anweisungen hat, die darauf gespeichert sind, die dann, wenn sie durch den Prozessor aufgeführt werden, veranlassen, dass der Prozessor Operationen durchführt, die umfassen: Halten, durch eine Cloud-Steuerung, von Daten, die eine Topologie eines Netzwerks von Knoten darstellen, wobei die Daten eine erste Gruppe von Knoten anzeigen, die mit der Cloud-Steuerung verbunden sind und für jeden Knoten im Netzwerk einen oder mehrere jeweilige Nachbarknoten für den Knoten anzeigen, und wobei jeder Knoten drahtlos mit einem Nachbarknoten kommuniziert, indem ein Sendeknoten- und Empfangsknoten-Paar während eines bestimmten Zeitintervalls gebildet wird, wobei der Sendeknoten des Paars Daten zum Empfangsknoten des Paars während eines bestimmten Zeitintervalls kommuniziert, wenn der Sendeknoten in einem Sendemode ist und der Empfangsknoten in einem Empfangsmode ist; Empfangen, bei der Cloud-Steuerung, von der ersten Gruppe von Knoten, einer oder mehrerer Anfragen, mit dem Netzwerk zu verbinden; Auswählen, durch die Cloud-Steuerung, eines ersten Knotens in der ersten Gruppe von Knoten, die die Anfrage sendeten; und Erzeugen, durch die Cloud-Steuerung, von Anweisungen, die konfiguriert sind, um zu veranlassen, dass der erste Knoten einen Zeitstempel des ersten Knotens zu jedem Nachbarknoten des ersten Knotens kommuniziert, und um zu veranlassen, dass jeder Nachbarknoten den Zeitstempel des ersten Knotens zu jedem anderen Nachbarknoten des Nachbarknotens kommuniziert, wobei Knoten ihre jeweiligen Zeitstempel auf einen Empfang des Zeitstempels des ersten Knotens hin synchronisieren, wobei ein Kommunizieren des Zeitstempels andauert, bis jeder Knoten im Netzwerk mit dem Zeitstempel des ersten Knotens synchronisiert worden ist; und Senden der Anweisungen zum ersten Knoten, um dadurch die Knoten im Netzwerk mit dem Zeitstempel des ersten Knotens zu synchronisieren
  18. System nach Anspruch 17, wobei auf ein Empfangen durch den ersten Knoten der Anweisungen hin der erste Knoten nach Nachbarknoten scannt und wobei jeder Nachbarknoten seinen jeweiligen Zeitstempel mit dem Zeitstempel des ersten Knotens synchronisiert.
  19. System nach Anspruch 18, wobei für jeden Nachbarknoten der Nachbarknoten nach anderen jeweiligen Nachbarknoten scannt und wobei jeder der anderen jeweiligen Nachbarknoten seinen jeweiligen Zeitstempel mit dem Zeitstempel des ersten Knotens synchronisiert.
  20. System nach einem der Ansprüche 17 bis 19, wobei die Operationen weiterhin umfassen: Durchdrücken eines Zeitplans zum ersten Knoten, um zu jedem Knoten im Netzwerk ausgebreitet zu werden, wobei der Zeitplan spezifiziert, wann jeder Knoten in jedem Paar von Nachbarknoten im Sendemode oder im Empfangsmode ist.
  21. System nach einem der Ansprüche 17 bis 20, wobei das Bestimmen umfasst: Bestimmen, aus einer Topologie-Datenbank, dass eine zweite Gruppe von Knoten nicht mit dem Zeitstempel des ersten Knotens synchronisiert worden ist; Identifizieren von Nachbarknoten von jedem Knoten in der zweiten Gruppe von Knoten aus der Topologie-Datenbank; Erzeugen zusätzlicher Anweisungen, die konfiguriert sind, um zu veranlassen, dass die Nachbarknoten von jedem Knoten in der zweiten Gruppe von Knoten mit einem Kommunizieren des Zeitstempels fortfahren, bis die Nachbarknoten ein Anzeichen empfangen, dass jeder Knoten der zweiten Gruppe von Knoten mit dem Zeitstempel des ersten Knotens synchronisiert worden ist; und Senden der zusätzlichen Anweisungen zu den Nachbarknoten von jedem Knoten in der zweiten Gruppe von Knoten.
  22. System nach einem der Ansprüche 17 bis 21, wobei der erste Knoten eine Vielzahl von Millimeterwellen-Funkeinheiten umfasst, wobei die Anweisungen, die konfiguriert sind, um zu veranlassen, dass der Knoten einen Zeitstempel des ersten Knotens kommuniziert, umfassen: Auswählen, durch den ersten Knoten, eines ersten Zeitstempels von einer der Millimeterwellen-Funkeinheiten; Synchronisieren von Zeitstempeln, von jeder der anderen Millimeterwellen-Funkeinheiten mit dem ersten Zeitstempel; und Kommunizieren des Zeitstempels zu Nachbarknoten des ersten Knotens unter Verwendung der Vielzahl von Millimeterwellen-Funkeinheiten.
  23. System nach einem der Ansprüche 17 bis 22, wobei der erste Knoten eine erste Richtantenne umfasst und ein Knoten, der zum ersten Knoten benachbart ist, eine zweite Richtantenne umfasst, weiterhin umfassend: Identifizieren von Koordinaten der zweiten Richtantenne aus den Daten; und wobei die Anweisungen die Koordinaten umfassen und veranlassen, dass die erste Richtantenne zu den Koordinaten der zweiten Richtantenne lenkt.
  24. System nach einem der Ansprüche 17 bis 22, wobei ein erster Knoten im Netzwerk eine erste Richtantenne hat und ein zweiter Knoten im Netzwerk eine zweite Richtantenne hat und wobei der erste Knoten Daten zum zweiten Knoten kommuniziert, wenn die erste Richtantenne zur zweiten Richtantenne gelenkt ist und die zweite Richtantenne zur ersten Richtantenne gelenkt ist.
  25. System nach einem der Ansprüche 17 bis 24, wobei die erste Gruppe von Knoten mit der Cloud-Steuerung verbindet, ohne über irgendeinen anderen Knoten im Netzwerk zu gehen.
  26. System nach einem der Ansprüche 17 bis 25, wobei ein bestimmter Knoten im Netzwerk periodisch eine Anfrage zur Synchronisierung zu seinen Nachbarknoten sendet, um zu veranlassen, dass die Nachbarknoten ihre jeweiligen Zeitstempel mit einem Zeitstempel des Knotens synchronisieren, und um zu veranlassen, dass jeder Nachbarknoten eine Anfrage zur Synchronisierung mit anderen Nachbarknoten des Nachbarknotens sendet.
DE112016002114.3T 2015-07-09 2016-07-08 System zur Netzwerkentdeckung und -Synchronisierung Withdrawn DE112016002114T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/795,859 US10051587B2 (en) 2015-07-09 2015-07-09 System for network discovery and synchronization
US14/795,859 2015-07-09
PCT/US2016/041549 WO2017008030A1 (en) 2015-07-09 2016-07-08 System for network discovery and synchronization

Publications (1)

Publication Number Publication Date
DE112016002114T5 true DE112016002114T5 (de) 2018-03-15

Family

ID=56616015

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016002114.3T Withdrawn DE112016002114T5 (de) 2015-07-09 2016-07-08 System zur Netzwerkentdeckung und -Synchronisierung

Country Status (8)

Country Link
US (1) US10051587B2 (de)
EP (1) EP3308599B1 (de)
JP (1) JP6385593B2 (de)
KR (1) KR102015070B1 (de)
CN (1) CN107852770B (de)
DE (1) DE112016002114T5 (de)
GB (1) GB2554584A (de)
WO (1) WO2017008030A1 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10007710B2 (en) 2015-09-21 2018-06-26 Splunk Inc. Adaptive control of data collection requests sent to external data sources
US10536356B2 (en) * 2015-09-21 2020-01-14 Splunk Inc. Generating and displaying topology map time-lapses of cloud computing resources
US10693743B2 (en) 2015-09-21 2020-06-23 Splunk Inc. Displaying interactive topology maps of cloud computing resources
US10459819B2 (en) 2015-09-21 2019-10-29 Splunk Inc. Circular timeline displays of timestamped event data
US9813973B2 (en) * 2016-04-03 2017-11-07 Siklu Communication ltd. Embedded millimeter-wave components
US10694526B2 (en) * 2016-09-30 2020-06-23 Drexel University Adaptive pursuit learning method to mitigate small-cell interference through directionality
JP6898448B2 (ja) 2016-12-09 2021-07-07 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 分散マッシブmimoのための改良されたアンテナ装置
US10575268B2 (en) 2017-05-15 2020-02-25 Apple Inc. NAN solicited synchronization
WO2019076513A1 (en) * 2017-10-17 2019-04-25 Telefonaktiebolaget Lm Ericsson (Publ) DISTRIBUTED MIMO SYNCHRONIZATION
US10531412B2 (en) * 2017-11-06 2020-01-07 Sony Corporation On demand route synchronization and beamforming in wireless networks
EP3714551A1 (de) 2017-11-21 2020-09-30 Telefonaktiebolaget LM Ericsson (publ) Verbesserte antennenanordnung für verteilten massiven mimo
EP3573386A1 (de) 2018-05-25 2019-11-27 Sword Health, S.A. Verfahren und vorrichtung zur synchronisierung von datenpaketen aus eingebetteten datensensoren zur überwachung der körperbewegung eines patienten
US10849020B2 (en) * 2019-01-09 2020-11-24 Cisco Technology, Inc. Scheduling relay of traffic between access point(s) and client device(s)
AU2020245450B2 (en) * 2019-03-25 2022-03-03 S&C Electric Company Topology detection
CN110446253A (zh) * 2019-07-26 2019-11-12 杭州微萤科技有限公司 一种通过uwb定位过程中卫星的同步方法
US11777619B2 (en) 2020-02-10 2023-10-03 Telefonaktiebolaget Lm Ericsson (Publ) Dielectric waveguide signal transfer function compensation
US20230171310A1 (en) * 2021-11-30 2023-06-01 Tencent America LLC Method and apparatus for using nonstop controller with local area network (lan) for local cloud

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008544592A (ja) * 2005-03-18 2008-12-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ネットワークノードの同期方法
US8599822B2 (en) * 2005-03-23 2013-12-03 Cisco Technology, Inc. Slot-based transmission synchronization mechanism in wireless mesh networks
US7899027B2 (en) * 2005-03-23 2011-03-01 Cisco Technology, Inc. Automatic route configuration in hierarchical wireless mesh networks
US7505450B2 (en) * 2005-03-23 2009-03-17 Cisco Technology, Inc. Configuration of failure and acquire timeouts to facilitate recovery from failures in hierarchical mesh networks
US7606175B1 (en) * 2005-04-15 2009-10-20 Nvidia Corporation Extended service set mesh path selection
US20070183439A1 (en) * 2006-01-05 2007-08-09 Osann Robert Jr Combined directional and mobile interleaved wireless mesh network
WO2008031049A2 (en) 2006-09-07 2008-03-13 Osann Robert Jr Synchronized wireless mesh network
US7688802B2 (en) * 2008-05-23 2010-03-30 Honeywell International Inc. System and method for time synchronization in a wireless network
US9516615B2 (en) * 2011-11-18 2016-12-06 Apple Inc. Selection of synchronization stations in a peer-to-peer network environment
KR101629339B1 (ko) * 2012-10-30 2016-06-10 엘지전자 주식회사 무선랜 시스템에서 고속 링크 동기화 방법 및 장치
US9386551B2 (en) * 2012-11-30 2016-07-05 Qualcomm Incorporated Systems and methods for synchronization of wireless devices in an ad-hoc network
US10244459B2 (en) * 2013-03-08 2019-03-26 Qualcomm Incorporated Systems and methods for synchronization within a neighbor aware network
US9215644B2 (en) 2013-03-15 2015-12-15 Facebook, Inc. Distribution node and client node for next generation data network
US9516595B2 (en) * 2013-03-27 2016-12-06 Qualcomm Incorporated Systems and methods for synchronization within a neighborhood aware network
US9872227B2 (en) * 2013-04-23 2018-01-16 Qualcomm Incorporated Systems and methods for identification in a neighborhood aware network
US9843995B2 (en) * 2013-05-15 2017-12-12 Qualcomm Incorporated Method and metrics for merging with a neighborhood aware network
WO2015126220A2 (ko) * 2014-02-24 2015-08-27 엘지전자 주식회사 무선 통신 시스템에서 nan 클러스터로의 참가 방법 및 이를 위한 장치
CN103916231A (zh) * 2014-03-25 2014-07-09 汉柏科技有限公司 云计算平台及其服务器时间同步方法
US20160065405A1 (en) * 2014-08-27 2016-03-03 Aviacomm Inc. Policy-based intelligent ad-hoc network architecture for grouping nodes based on common activities
US9565620B2 (en) * 2014-09-02 2017-02-07 Mueller International, Llc Dynamic routing in a mesh network
US10863431B2 (en) * 2014-11-06 2020-12-08 Qualcomm Incorporated Systems and methods for synchronization within a neighborhood aware network
KR102253868B1 (ko) * 2014-12-12 2021-05-20 삼성전자주식회사 무선 통신 네트워크에서 애드 혹 모드를 운용하는 장치 및 방법
US10051664B2 (en) * 2015-01-01 2018-08-14 Intel IP Corporation Apparatus, system and method of communicating during a discovery window
US9602998B2 (en) * 2015-01-21 2017-03-21 Intel IP Corporation Apparatus, system and method of communicating in a data link group
US10104531B2 (en) * 2015-06-22 2018-10-16 Intel IP Corporation Apparatus, system and method of communicating in a data path group
US9794163B2 (en) * 2015-06-24 2017-10-17 Terranet Ab Enhanced peer discovery in a mesh network

Also Published As

Publication number Publication date
JP2018518881A (ja) 2018-07-12
EP3308599B1 (de) 2019-04-17
EP3308599A1 (de) 2018-04-18
GB2554584A (en) 2018-04-04
JP6385593B2 (ja) 2018-09-05
WO2017008030A1 (en) 2017-01-12
KR102015070B1 (ko) 2019-08-27
KR20170132292A (ko) 2017-12-01
US10051587B2 (en) 2018-08-14
GB201717844D0 (en) 2017-12-13
CN107852770A (zh) 2018-03-27
CN107852770B (zh) 2020-08-14
US20170013572A1 (en) 2017-01-12

Similar Documents

Publication Publication Date Title
DE112016002114T5 (de) System zur Netzwerkentdeckung und -Synchronisierung
DE112014000650B4 (de) WIFI Echtzeit-Streaming und Bluetooth-Koexistenz
DE202015009298U1 (de) Dynamische Anpassung von Shard-Zuweisungen
DE112019001293B4 (de) Übermitteln von paketen in einem maschennetz
DE102014108903B4 (de) Skalierbare Web-Real-Time-Communications(WebRTC)-Medienengines und verwandte Verfahren, Systeme und computerlesbare Medien
DE69909791T2 (de) Verteilte rechnerumgebung mit echt-zeit ablauffolgenlogik und zeit-deterministischer architektur
DE112016000890B4 (de) Nachbarbewusstseinsnetzwerkbetrieb (Neighbor Awareness Networking)-Datenpfad - Wechselseitigkeit und Koexistenz
DE112015003507T5 (de) PEER-TO-PEER-Gruppenumbildung
DE112016001075T5 (de) Verteiltes speichern und abrufen von datensätzen
DE102016103733A1 (de) Kanaleigentum in einem Veröffentlichungs-/Abonnier-System
DE202014010967U1 (de) Multi-Master-Auswahl in einem Software-basierten Netzwerk
DE112013002674T5 (de) Bewerben, Ermitteln und Verwenden von Diensten durch virtuelle Zugriffspunkt-Schnittstellen
EP3101837B1 (de) Verfahren zur gruppierung von benutzerendgeräten, konferenzserver und konferenzsystem
US20170034033A1 (en) Monitoring control system, monitoring control device, and controller
CN106973050A (zh) 一种跨网闸信息共享的方法及装置
DE202016107383U1 (de) System für das automatische Erstellen und Teilen einer Besprechungsnotiz mithilfe von Kontext und räumlicher Nähe des Benutzers
DE112011103289T5 (de) Zusammenführen von mobilen Breitband-Netzwerkschnittstellen
DE102016114625A1 (de) Kommunikationsvorrichtung und Steuerungsverfahren für diese
DE202014010940U1 (de) Dynamische Shuffle-Rekonfiguration
DE112013000465T5 (de) Verwaltung einer fernen Datenreplikation
DE112016000587T5 (de) Interoperabilität von entdeckungs- und verbindungsprotokollen zwischen clientvorrichtungen und ersten bildschirmvorrichtungen
DE202014010924U1 (de) Nichtflüchtiges Shuffle-System
DE202015009265U1 (de) Einheitliche api zur programmierung beider server und des fabric für die feinoptimieirung von netzwerken
DE202016107125U1 (de) Systeme zum Erkennen der Topologie von Fernnetzwerken
DE112016005989T5 (de) Zuverlässiges, ausserhalb der reihenfolge liegendes end-to-end-protokoll mit robustem fensterstatusüberlaufmanagement und einem mehrknotensystem durch verwenden desselben

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R120 Application withdrawn or ip right abandoned