-
Verwandte Anmeldungen
-
Diese Anmeldung beansprucht Priorität gegenüber der vorläufigen
US-Patentanmeldung Nr. 62 / 472,643 , eingereicht am 17. März 2017, deren Gesamtheit hiermit durch Bezugnahme aufgenommen wird.
-
TECHNISCHES GEBIET DER ERFINDUNG
-
Die vorliegende Offenlegung bezieht sich auf Netzwerkbetrieb elektronischer Anordnungen und insbesondere auf einen vereinheitlichten zentralisierten Netzwerk-Stack.
-
HINTERGRUND DER ERFINDUNG
-
Elektronische Anordnungen können in einer Vielzahl von Topologien unter Verwendung einer Vielzahl von Kommunikationsstandards oder -techniken vernetzt werden. In einem Netzwerk müssen die elektronischen Anordnungen mit einer Vielzahl von Einstellungen, Software und Konfigurationen versehen werden, um mit anderen vernetzten elektronischen Anordnungen zu kommunizieren. Dementsprechend ist jede elektronische Anordnung von den Einstellungen, der Software und den Konfigurationen anderer elektronischer Anordnungen abhängig, um erfolgreich im Netzwerk zu kommunizieren.
-
Verschiedene elektronische Anordnungen im Netzwerk können von verschiedenen Anbietern bereitgestellt werden. Darüber hinaus kann Software auf solchen elektronischen Anordnungen im Netzwerk von verschiedenen Anbietern bereitgestellt werden. Darüber hinaus kann die Software auf den elektronischen Anordnungen unterschiedliche Versionen aufweisen oder es können unterschiedliche Einstellungen oder andere Konfigurationen aktiviert sein.
-
Ein Netzwerk-Stack kann Software aufweisen, die zum Interpretieren von Kommunikationsprotokollen konfiguriert ist. Innerhalb des Netzwerk-Stacks können gemäß den durch das Kommunikationsprotokoll definierten Schichten verschiedene Softwareschichten existieren. Ein Netzwerk-Stack kann sich typischerweise in einer gegebenen elektronischen Anordnung befinden. Ein Netzwerk-Stack kann geladen werden, wobei Software, die zur Kommunikation für eine bestimmte Protokollschicht benötigt wird, in den Speicher geladen werden kann, damit ein Prozessor sie ausführen kann. Ein Netzwerk-Stack kann eingebunden sein, wobei die Softwareprotokolle gemäß einer Kennung der elektronischen Anordnung oder deren Hardware eingestellt sein können, wie zum Beispiel einer Netzwerkschnittstellenkarte (NIC).
-
Figurenliste
-
- 1 ist eine Darstellung eines beispielhaften Systems 100 zur zentralisierten Netzwerkverwaltung gemäß Ausführungsformen der vorliegenden Offenlegung.
- 2 zeigt eine detailliertere Ansicht des Systems 100 und des Betriebs des Systems 100 gemäß Ausführungsformen der vorliegenden Offenlegung.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Ausführungsformen der vorliegenden Offenlegung umfassen einen Fertigungsgegenstand. Der Gegenstand weist ein nichtflüchtiges maschinenlesbares Medium mit Anweisungen auf, die beim Laden und Ausführen auf einem Prozessor den Prozessor so konfigurieren, dass er eine erste entfernte Anordnung identifiziert, den Netzwerkbetrieb der ersten entfernten Anordnung konfiguriert und einen Netzwerk-Stack für die erste entfernte Anordnung hostet. In Kombination mit einer der obigen Ausführungsformen kann das Medium weiterhin Anweisungen zum Konfigurieren des Netzwerkbetriebs der ersten entfernten Anordnung basierend auf einer Spezifikation und einer Kennung der ersten entfernten Anordnung aufweisen. In Kombination mit einer der obigen Ausführungsformen kann das Medium weiterhin Anweisungen zum Konfigurieren des Netzwerkbetriebs der ersten entfernten Anordnung basierend auf einer Spezifikation und einer Kennung aufweisen, die von der ersten entfernten Anordnung gemeldet werden, um die erste entfernte Anordnung eindeutig zu identifizieren. In Kombination mit einer der obigen Ausführungsformen kann das Medium weiterhin Anweisungen zum Konfigurieren des Netzwerkbetriebs der ersten entfernten Anordnung auf der Grundlage einer Spezifikation und einer Kennung aufweisen, die von der ersten entfernten Anordnung gemeldet werden und ein Modell der ersten entfernten Anordnung identifizieren. In Kombination mit einer der obigen Ausführungsformen kann das Medium weiterhin Anweisungen zum Identifizieren einer zweiten entfernten Anordnung, zum Konfigurieren des Netzwerkbetriebs der zweiten entfernten Anordnung, zum Hosten eines Netzwerk-Stacks für die zweite entfernte Anordnung und zum Erstellen von Lese- und Schreibanforderungen zwischen der ersten entfernten Anordnung und der zweiten entfernten Anordnung aufweisen. In Kombination mit einer der obigen Ausführungsformen kann das Medium weiterhin Anweisungen zum Konfigurieren des Netzwerkbetriebs der ersten entfernten Anordnung durch Ausführen eines Skripts auf einer Netzwerkschnittstellenkarte der ersten entfernten Anordnung aufweisen. In Kombination mit einer der obigen Ausführungsformen kann das Medium weiterhin Anweisungen zum Auswählen eines auszuführenden Skripts zum Konfigurieren des Netzwerkbetriebs der ersten entfernten Anordnung auf der Grundlage eines Modells der ersten entfernten Anordnung aufweisen. In Kombination mit einer der obigen Ausführungsformen kann das Medium weiterhin Anweisungen zum Auswählen eines auszuführenden Skripts zum Konfigurieren des Netzwerkbetriebs der ersten entfernten Anordnung basierend darauf aufweisen, ob die erste entfernte Anordnung einen Prozessor enthält. In Kombination mit einer der obigen Ausführungsformen weist die erste entfernte Anordnung möglicherweise keinen Universalprozessor auf. In Kombination mit einer der obigen Ausführungsformen weist die erste entfernte Anordnung möglicherweise keinen Netzwerk-Stack auf.
-
Ausführungsformen der vorliegenden Offenlegung können einen Prozessor und einen Fertigungsgegenstand gemäß einer der obigen Ausführungsformen umfassen.
-
Ausführungsformen der vorliegenden Offenlegung können ein Verfahren umfassen, das von einem Prozessor ausgeführt wird, der Anweisungen aus den obigen Ausführungsformen ausführt.
-
DETAILLIERTE BESCHREIBUNG
-
1 ist eine Darstellung eines beispielhaften Systems 100 zur zentralisierten Netzwerkverwaltung gemäß Ausführungsformen der vorliegenden Offenlegung.
-
Obwohl eine bestimmte Anzahl von Elementen im System 100 gezeigt wird, kann das System 100 jede geeignete Anzahl und Art von Elementen aufweisen. Das System 100 kann einen Root-Knoten 102 und einen oder mehrere Slave-Knoten wie den Slave-Knoten 114 und den Slave-Knoten 124 aufweisen. Jeder Knoten 102, 114, 124 kann eine geeignete Konfiguration von Hardware und Software aufweisen. Jeder Knoten 102, 114, 124 kann beispielsweise entsprechende Anwendungshardware 104, 116, 134 aufweisen; entsprechende Zentraleinheiten (CPU) 106, 118; entsprechende Treibersoftware 128, 122; entsprechende Anwendungen 112, 120; und entsprechende Netzwerkcontroller (NWC) 126, 132, 136. Wie in 1 gezeigt, können der Slave-Knoten 114 und der Slave-Knoten 124 auf verschiedene Arten implementiert werden. Beispielsweise weist der Slave-Knoten 124 möglicherweise keine CPU und keinen Treiber auf, sondern lediglich Anwendungshardware 134, die mit den anderen Knoten kommuniziert. Die CPU jedes Elements kann auf irgendeine geeignete Weise implementiert werden, wie beispielsweise durch einen Prozessor, einen Mikrocontroller, einen Kern oder einen anderen geeigneten Mechanismus. Die Treibersoftware jedes Elements kann eine reduzierte Netzwerksoftware aufweisen, da der Netzwerk-Stack vollständig oder teilweise auf den Stammknoten 102 ausgelagert werden kann. Die Anwendungshardware 104 kann anwendungsspezifische Prozessoren, anwendungsspezifische integrierte Schaltungen (ASICs), Field-programmable Gate-Arrays (FPGAs), integrierte Schaltkreise oder andere Mechanismen aufweisen, einschließlich Schaltkreisen, die zur Ausführung bestimmter Aufgaben konfiguriert sind, bei denen möglicherweise der Netzwerkbetrieb genutzt wird. Darüber hinaus können die Anwendungen 112, 120 Software aufweisen, die auf den jeweiligen CPUs ausgeführt wird, die möglicherweise die Vernetzung nutzen. Solche Anwendungen können weitere Software wie die Treiber 128, 122 verwenden, um auf die jeweiligen NWCs zuzugreifen. Die NWCs 126, 132, 136 können durch irgendeine geeignete Kombination von Schaltungen und Anweisungen zur Ausführung auf einem Prozessor, wie einem Prozessor in dem NWC, implementiert werden. Die NWCs 126, 132, 136 können konfiguriert sein, um eine Verbindung zu den anderen Knoten über ein Netzwerk 130 herzustellen. Die NWCs 126, 132, 136 können eine Netzwerkschnittstellenkarte (NIC) oder eine intelligente NIC (INIC) aufweisen. Das Netzwerk 130 kann ein beliebiges geeignetes Netzwerk umfassen, wie beispielsweise ein Intranet, das Internet, Ethernet, drahtlose Kommunikationsnetzwerke oder ein anderes Netzwerk, das durch ein geeignetes Protokoll und eine geeignete Topologie implementiert ist. Das Netzwerk 130 kann zum Beispiel Ethernet, CAN, TCP / IP, MOST NetServices-Funktionsblöcke (FBlocks) oder benutzerspezifische Standards und Protokolle zulassen.
-
Der Root-Knoten 102 kann konfiguriert sein, um eine Netzwerkverwaltung durchzuführen. Die Netzwerkverwaltung kann am Root-Knoten 102 durch Software wie einen zentralen Netzwerk-Stack (Centralized Network Stack, CNS) 110 durchgeführt werden. Der CNS 110 kann durch irgendeine geeignete Kombination von Software, Routinen, Funktionen, Bibliotheken, Skripten, Anwendungen oder anderem Code zur Ausführung durch einen Prozessor wie beispielsweise die CPU 106 implementiert werden.
-
In einer Ausführungsform kann der CNS 110 so konfiguriert sein, dass er Netzwerkteilnehmer im System 100 identifiziert. Die Netzwerkteilnehmer können sich in den verschiedenen Slave-Knoten 114, 124 befinden. In einer weiteren Ausführungsform kann der CNS 110 so konfiguriert sein, dass er die Adresszuweisung für alle Netzwerkknoten durchführt, wie zum Beispiel die Slave-Knoten 114, 124. In noch einer weiteren Ausführungsform kann der CNS 110 so konfiguriert sein, dass er die Zuordnung von Dienstgütekanälen zwischen den Elementen des Netzwerks durchführt. In einer anderen Ausführungsform kann der CNS 110 konfiguriert sein, um Bandbreitensteuerungen zwischen zwei beliebigen Punkten im Netzwerk zuzuweisen. In noch einer weiteren Ausführungsform kann der CNS 110 betreibbar sein, um die Anwendungsschnittstellen der NWCs 126, 132, 136 des Netzwerks 130 zu konfigurieren. In einer weiteren Ausführungsform kann der CNS 110 betreibbar sein, um die Anwendungshardware 104, 116, 134 der Knoten des Netzwerks 130 zu konfigurieren Die Konfiguration von Knoten des CNS 110 kann über In-Band-Verbindungen oder Out-of-Band-Verbindungen wie zum Beispiel General Purpose Input-Output (GPIO), 12C- oder Serial Peripheral Interface (SPI) Busse erfolgen. In einer Ausführungsform kann der CNS 110 eine Netzwerkverwaltung zur Wiederherstellung nach Ausfallzuständen durchführen. Einmal bereitgestellt, können die Knoten des Netzwerks 130 stattdessen über Peer-to-Peer-Netzwerkprotokolle miteinander kommunizieren.
-
Jeder Slave-Knoten 114, 124 kann gemäß einem Systemdeskriptor 108 konfiguriert oder definiert sein. Der Systemdeskriptor 108 kann geschrieben oder generiert sein und kann eine Codierung eines Zielzustands jedes solchen Knotens aufweisen, wie zum Beispiel in Extensible Markup Language (XML). Der Systemdeskriptor 108 kann vom CNS 110 verarbeitet werden, der Einstellungen auf die Slave-Knoten 114, 124 anwenden kann. Einstellungen, die wie im Systemdeskriptor 108 beschrieben vom CNS 110 angewendet werden, können Netzwerkkonfigurationen für Slave-Knoten 114, 124 vollständig oder teilweise ersetzen. In einer Ausführungsform kann der Systemdeskriptor 108 den Netzwerkbetrieb von Knoten wie dem Slave-Knoten 124 ermöglichen, die keinen lokalen Mehrzweck-Mikrocontroller oder lokalen Mehrzweck- oder Universalprozessor aufweisen. Der Inhalt des Systemdeskriptors 108 kann durch das CNS 110 implementiert werden, indem Einstellungen über ihre jeweiligen NWCs auf die Slave-Knoten 114, 124 angewendet werden.
-
In 1 ist ein einzelner Root-Knoten 102 gezeigt. Der Root-Knoten 102 kann beispielsweise in einem Server, einem Computer, einer Kopfeinheit oder einer anderen geeigneten elektronischen Anordnung implementiert sein. Es sind zwei Slave-Knoten 114, 124 gezeigt. Der Slave-Knoten 114 kann in einer elektronischen Anordnung implementiert sein, die einen Universal- oder Mehrzweckmikrocontroller oder -prozessor aufweist. Dies können beispielsweise Mediaplayer, Smartphones, Computer oder Autoradios sein. Der Slave-Knoten 124 kann in einer elektronischen Anordnung implementiert sein, die keinen Universal- oder Mehrzweckmikrocontroller oder -prozessor aufweist, wie zum Beispiel ein Mikrofon, einen Kopfhörerverstärker, ein Netzteil oder einen Sensor. Verschiedene Slave-Knoten können auch Bildschirme, Berührungseingaben, Wählscheiben, Anzeigen und Kameras aufweisen. Der auf dem Root-Knoten 102 arbeitende CNS 110 kann ein einheitlicher zentralisierter Netzwerkverwaltungsstapel sein.
-
Der CNS 110 kann den Systemdeskriptor 108 empfangen oder lesen. Der Systemdeskriptor 108 kann im Speicher gespeichert, von einem Benutzer eingegeben oder von einer anderen Entität empfangen und in einer geeigneten Datenstruktur, Datei oder einem anderen Speichermechanismus implementiert werden. Der Systemdeskriptor 108 kann eine Liste aller unterstützten Knoten, eine Zielkonfiguration jedes dieser Knoten, audiovisuelle Verbindungen und Einstellungen, eine Liste von Kommunikationskanälen, die zwischen erkannten Knoten herzustellen sind, und andere geeignete Informationen beschreiben. Die Kanäle können als zwischen bestimmten Knoten, zwischen Slave-Knoten und dem Root-Knoten oder allgemein definiert sein. Die Kanäle können gemäß einem Kommunikationsprotokoll oder -medium wie GPIO, I2C oder SPI definiert sein.
-
Der CNS 110 kann konfiguriert sein, um über den Treiber 128 mit dem NWC 126, 132, 136 jedes jeweiligen Knotens zu kommunizieren. Die Kommunikation unter Verwendung des Treibers 128 kann beispielsweise unter Verwendung von USB, 12C, SPI oder MLB durchgeführt werden. Entsprechend dem Inhalt des Systemdeskriptors 108 kann jede lokale NWC 126, 132, 136 so eingerichtet sein, dass sie eine Netzwerkschnittstelle und eine Anwendungsschnittstelle aufweist. Die Anwendungsschnittstelle kann gemäß einem verwendeten Protokoll wie zum Beispiel 12C, USB, MLB, SPI, I2S oder GPIO definiert werden.
-
Wenn ein Netzwerkzugriff mit gegebenen Slave-Knoten wie den Slave-Knoten 114, 124 hergestellt wird, kann der CNS 110 die Anordnungen im Netzwerk erkennen. Ein gespeicherter Schlüssel, eine Signatur oder eine andere Kennung in jedem Slave-Knoten in der jeweiligen NWC kann gelesen und bei der Kommunikation verwendet werden. Die gespeicherte Kennung kann verwendet werden, um Knoten voneinander zu unterscheiden. Die gespeicherte Kennung kann während der Fertigung der Anordnung oder in einem anderen geeigneten Konfigurationsprozess installiert werden. Anschließend kann durch CNS 110 jedem Knoten eine Netzwerkadresse zugewiesen werden. Die Netzwerkschnittstelle für jeden Knoten kann von CNS 110 eingerichtet werden. Die Anwendungsschnittstellen der jeweiligen NWC können eingerichtet werden. Die Hardwareanwendungen jedes Knotens können unter Verwendung von 12C, GPIO oder SPI mit dem NWC verbunden werden. Die Hardwareanwendungen in jedem Knoten können diese eingerichteten Verbindungen verwenden, um in verschiedenen Slave-Knoten 114, 124 miteinander und mit dem Root-Knoten 102 zu kommunizieren. Die Hardwareanwendungen 104, 116, 132 können beispielsweise in reiner Hardware ohne einen Allzweckprozessor oder Mikrocontroller betrieben werden, wie beispielsweise im zweiten Slave-Knoten 124. Die entsprechenden NWCs 126, 132, 136 können eingerichtet werden, um sicherzustellen, dass an der NWC ankommende Streaming-Daten einer korrekten Schnittstelle der Hardwareanwendung oder der Anwendungssoftware 112, 120 zugeführt werden. Während der NWC-Einrichtung können Routing, Multiplexing oder andere Verbindungen im Netzwerk 130 mit der entsprechenden Anwendungshardware 104, 116, 134 der jeweiligen Anordnung hergestellt werden. Weiterhin kann Anwendungssoftware 112, 120 auf der jeweiligen Anordnung eingerichtet werden. In einigen Fällen kann ein Chip auf der jeweiligen Anordnung die von dem NWC kommenden Streaming-Daten aufnehmen. Der Chip muss möglicherweise gebootet, initialisiert oder parametriert werden, um den ordnungsgemäßen Betrieb zu gewährleisten. Wenn beispielsweise ein Verstärker in der Anwendungshardware 134 auf dem Slave-Knoten 124 ohne einen Universalprozessor oder Mikrocontroller implementiert ist, benötigt der Verstärker möglicherweise Parameter zum Auswählen des Mono- oder Stereomodus, zum Einstellen der Lautstärke oder andere Parameter. Die Einrichtung des NWC 136 kann erforderlich sein, die Einrichtung der Anwendungshardware 134 kann jedoch in Abhängigkeit von den Erfordernissen der einzelnen Anwendungen und Anordnungen separat als erforderlich oder optional definiert werden.
-
Das System 100 kann im Unterschied zu Systemen arbeiten, bei denen Anordnungen ohne Allzweckprozessor oder Mikrocontroller mit anderen Knoten mit einem Hostcontroller wie USB, I2C oder SPI verbunden sind. Die Anordnungen sind im Allgemeinen nicht in der Lage, Peer-to-Peer-Verbindungen zu anderen Elementen herzustellen, sondern können nur über den Host-Controller mit den anderen Anordnungen kommunizieren. Darüber hinaus kann das System 100 im Unterschied zu den meisten dezentral konfigurierten Netzwerken arbeiten. Zusätzlich kann das System 100 im Gegensatz zu Netzwerken arbeiten, in denen Slave-Knoten individuelle Software-Stapel und Allzweck-Controller erfordern. Das Ergebnis kann eine technische Verbesserung gegenüber bestehenden Netzwerken sein, wobei Anordnungen ohne Allzweckprozessoren in der Lage sind, mit anderen Elementen in einer Peer-to-Peer-Weise zu kommunizieren, Netzwerkelemente, zu denen diese Kommunikation erfolgen kann, zentral konfiguriert werden und somit konsistent konfiguriert werden können und Netzwerkelemente möglicherweise keine einzelnen Software-Stacks und Allzweck-Controller erfordern, was in Bezug auf Verarbeitung und Speicherung teuer sein kann.
-
Im Root-Knoten 102 können der CNS 110 und die Anwendungssoftware 112 unter Verwendung des Treibers 128 mit dem NWC 126 kommunizieren. In ähnlicher Weise kann im Slave-Knoten 114 die Anwendungssoftware 120 unter Verwendung des Treibers 122 mit dem NWC 132 kommunizieren. Da der Slave-Knoten 124 jedoch keine CPU aufweist, können Funktionen der Anwendungshardware 134 über die NWC 136 kommunizieren. In anderen Knoten kann die Anwendungshardware 116 über die NWC 132 kommunizieren. Die Kommunikation zwischen der Anwendungshardware und einer NWC kann mit einer Host-Controller-Technologie wie USB, I2C oder SPI erfolgen. Die Kommunikation zwischen den NWCs 136, 132, 126 kann gemäß Peer-to-Peer-Netzwerkprotokollen und -Stacks erfolgen, die vom CNS 110 eingerichtet und gesteuert werden.
-
Das CNS 110, die Anwendungen 112, die Treibersoftware 128, die Anwendungen 120 und die Treibersoftware 122 können durch Anweisungen zur Ausführung durch einen Prozessor (wie die jeweiligen CPUs 106, 118) implementiert werden, die den Prozessor beim Laden und Ausführen so konfigurieren, dass er die Funktionalität der vorliegenden Offenlegung ausführt. Die Anweisungen können sich nach Bedarf in einem oder mehreren Speichern befinden, um die Anweisungen zur Ausführung zu speichern oder zu laden. Ein oder mehrere Prozessoren oder Prozessorkerne können die Anweisungen ausführen. Die Anweisungen können in einem geeigneten Skript, einer Datei, einer ausführbaren Datei, einer Bibliothek, einer Anwendung, einer Funktion, einer Anwendungsprogrammierschnittstelle oder einer Kombination davon implementiert werden. Der CNS 110 kann unter Verwendung einer Zustandsmaschine implementiert werden, die Anforderungen von verschiedenen Slave-Knoten oder Eingaben von einem Benutzer überwacht.
-
2 veranschaulicht eine detailliertere Ansicht des Systems 100 und des Betriebs des Systems 100 gemäß Ausführungsformen der vorliegenden Offenlegung. In dem Beispiel von 2 kann der Root-Knoten 102 Knoten in einem Kraftfahrzeugsystem verwalten. Die Knoten können zwei Instanzen des Slave-Knotens 114, gezeigt als 114A und 114B, und eine Instanz des Slave-Knotens 124, gezeigt als 124A, aufweisen. Der Root-Knoten 102 kann eine Haupteinheit zur Infotainment- und Fahrzeughilfssystemsteuerung sein. Der Slave-Knoten 114A und der Slave-Knoten 114B können USB-Hosts, Stereosysteme oder irgendeinen anderen geeigneten Mechanismus aufweisen. Der Slave-Knoten 114A und der Slave-Knoten 114B können eine CPU aufweisen, während der Slave-Knoten 124A möglicherweise keine CPU aufweist. Der Slave-Knoten 124A kann beispielsweise ein Mikrofon sein, das mit den anderen Komponenten des Systems 100 verwendbar sein kann.
-
Der CNS 110 kann seinen eigenen NWC 126 des Root-Knotens 102 konfigurieren. Der Root-Knoten 102 kann in seinem NWC 126 zum Beispiel eine INIC mit einer Signatur von 311 aufweisen. Der CNS 110 kann dem Root-Knoten 102 eine Netzwerkadresse von 200 zuweisen.
-
Der CNS 110 kann anderen Knoten Netzwerkadressen zuweisen. Der CNS 110 kann dem Slave-Knoten 114A eine Netzwerkadresse von 210, dem Slave-Knoten 114B eine Adresse von 220 und dem Slave-Knoten 124A eine Adresse von 500 zuweisen. Der Slave-Knoten 114A kann in seiner NWC 132 eine Signatur 324 einer INIC aufweisen. Wenn der Slave-Knoten 114B das gleiche Fabrikat und Modell der Anordnung hat, kann der Slave-Knoten 114B die gleiche Signatur 324 aufweisen. In einigen Ausführungsformen kann die Signatur jedes Slave-Knotens unterschiedlich sein, auch wenn zwei solcher Slave-Knoten von gleichem Fabrikat und Modell sind.
-
Der CNS 110 kann die Slave-Knoten 114A, 114B, 124A gemäß Kennungen innerhalb der Slave-Knoten konfigurieren. Beispielsweise kann der CNS 110 mit einer Kennung von 324 auf den Slave-Knoten 114A zugreifen. Basierend auf der Kennung 324 kann der CNS 110 auf den Systemdeskriptor 108 zugreifen, wobei spezifiziert ist, dass eine solche Anordnung mit einer bestimmten Konfigurationsroutine konfiguriert werden muss. Diese kann als „execute_aux_script“ bezeichnet werden und kann spezifisch für die Art der Anordnung sein, die durch den Slave-Knoten 114A implementiert wird. Darüber hinaus kann ein solches Skript für Anwendungssoftware, Treibersoftware oder andere Elemente dienen, die auf einer CPU ausgeführt werden können. Das „aux script“ kann zum Konfigurieren von Knoten verwendet werden, die MCUs aufweisen. Der CNS 110 kann „aux_script“ ausführen, um den Slave-Knoten 114A zu konfigurieren und eine Netzwerkadresse zuzuweisen. In ähnlicher Weise kann der CNS 110 „aux script“ ausführen, um die Anwendungen und den NWC des Slave-Knotens 114B zu konfigurieren. Diese zwei entfernten Knoten können audiovisuelle Anordnungen eines gleichen oder ähnlichen Typs für Automobile sein.
-
Der CNS 110 kann auf den Slave-Knoten 124A zugreifen und festlegen, dass der Slave-Knoten 124A eine Kennung von 375 aufweist. Wie oben diskutiert, kann der Slave-Knoten 124A eine elektronische Anordnung ohne einen Mikrocontroller aufweisen, wie beispielsweise ein Mikrofon. Basierend auf der Identifikation des entfernten Knotens als 375 kann der Systemdeskriptor 108 spezifizieren, dass der entfernte Knoten unter Verwendung eines bestimmten Skripts konfiguriert werden soll, das in dem Beispiel als „micro_script“ bezeichnet wird. Während „aux_script“ zum Konfigurieren von entfernten Knoten verwendet wurde, die einen Mikrocontroller oder Prozessor aufweisen, kann „micro_script“ zum Konfigurieren von entfernten Knoten verwendet werden, die keinen Mikrocontroller oder Prozessor aufweisen. Der CNS 110 kann „micro_script“ ausführen, um den NWC 136 des Slave-Knotens 124A zu konfigurieren. Während des Setups kann der CNS 110 dem Slave-Knoten 124A die Netzwerkadresse 500 zuweisen. Audio- / visuelle (AV-) Verbindungen für die Knoten können hergestellt werden.
-
In einer Ausführungsform kann der CNS 110 so konfiguriert sein, dass er die Netzwerkkonfiguration der Slave-Knoten 114, 124 unabhängig davon ausführt, ob der Slave-Knoten einen Prozessor aufweist. Somit kann der CNS 110 konfiguriert sein, um ein Skript wie „aux_script“ oder „micro_script“ im Auftrag des jeweiligen Slave-Knotens auszuführen. Der CNS 110 kann die Operationen des ausgeführten Skripts verwenden, um den jeweiligen Slave-Knoten fernzusteuern. Der CNS 110 kann die Operationen des ausgeführten Skripts auf das adressierte Ziel anwenden, ob lokal oder entfernt. Der CNS 110 kann über einen Kommunikationskanal oder einen Steuerkanal zwischen den Chips mit den Slave-Knoten 114, 124 verbunden sein. Ein solcher Kanal kann ein Out-of-Band-Kanal sein.
-
An jedem entfernten Knoten können Befehle, die aus dem Skript resultieren, von dem jeweiligen NWC empfangen werden. Der jeweilige NWC kann sich gemäß dem empfangenen Skript selbst konfigurieren. Der NWC kann I2C- und GPIO-Nachrichten an seine lokale Hardware weiterleiten, wenn kein Mikrocontroller oder Prozessor vorhanden ist.
-
Darüber hinaus kann der CNS 110 jedem Knoten Bandbreitenzuweisungen oder Dienstgütekriterien zuweisen. Datenverbindungen, Bandbreitenzuweisungen, Audio-Video-Verbindungen oder andere Parameter können dynamisch durch erneutes Ausgeben von Befehlen an die Knoten geändert werden. Rekonfigurationen von entfernten Knoten können zum Beispiel durchgeführt werden, wenn neue Anordnungen angeschlossen werden oder wenn Anordnungen von dem Netzwerk 130 gelöst werden.
-
Nach der Konfiguration über einen Steuerkanal kann die nachfolgende Kommunikation durch Senden von Nachrichten über das Netzwerk erfolgen. Das Einstellen der Lautstärke eines Verstärkers oder das Auswählen einer Medienspur kann zum Beispiel solche nachfolgenden Nachrichten beinhalten. Diese Nachrichten können über den Steuerkanal, auf anderen Kanälen wie I2C oder auf einem Ethernet-Kanal gesendet werden, der während der Konfiguration eingerichtet wurde. Die Entscheidung, auf welchem Kanal die Nachrichten gesendet werden sollen, kann von den Bandbreitenanforderungen der Nachrichten abhängen, da unterschiedliche Kanäle unterschiedliche Bandbreitenkapazitäten aufweisen. Der CNS 110 kann festlegen, welche Kanäle für verschiedene Arten von Verkehr verwendet werden sollen, und kann Bandbreitenbeschränkungen gemäß den Dienstgüteanforderungen (Quality-of-Service, QOS) durchsetzen. Wenn ein Kanal wie Ethernet ausfällt, können andere Kanäle wie der Steuerkanal verwendet werden, um solche Fehler zu identifizieren. Der Fehler kann mit solchen anderen Kanälen diagnostiziert werden, die als Sicherungskanal dienen.
-
Ein vom CNS 110 gehosteter Netzwerk-Stack kann so konfiguriert sein, dass er Nachrichten an Elemente der Root- 102 und der Slave-Knoten 114, 124 lokal oder entfernt auslöst. Die Zustände der Schnittstellenanschlüsse der NWCs 126, 132, 136 können vom CNS 110 bezogen oder entsprechend eingestellt werden. Lokal an den Slave-Knoten 114, 124 können die Zustände solcher Schnittstellenanschlüsse durch Schaltungen, Knöpfe oder andere Mensch-Maschine-Schnittstellen an den Slave-Knoten 114, 124 eingestellt worden sein. Somit kann eine Anforderung nach Informationen an anderer Stelle im System durch Slave-Knoten 124 ohne Allzweckprozessor erzeugt werden. Die Anfrage kann von CNS 110 an einem Anschluss von NWC 136 bezogen und anschließend bearbeitet werden. Die Anforderung kann beispielsweise eine Anforderung zum Senden oder Empfangen von Daten, Herstellen einer Verbindung mit einem anderen Element oder eine andere geeignete Aufgabe sein.
-
Der CNS 110 kann konfiguriert sein, um alle Verbindungen in dem Netzwerk 130 zu erzeugen und zu steuern. Der CNS 110 kann als eine Fernbedienung für die Slave-Einheiten 114A, 114B, 124A dienen. Der CNS 110 kann zum Beispiel eine Verbindung zwischen einer von der Slave-Einheit 114A implementierten Kopfeinheit und einem von der Slave-Einheit 124A implementierten Mikrofon herstellen. Das Mikrofon der Slave-Einheit 124A weist möglicherweise keine Multimedia-Kartenschnittstelle auf. Die Kommunikation kann durch den CNS 110 hergestellt werden, der den NWC 136 bereitstellt. In einem solchen Beispiel kann ein I2C-Bus-Master des CNS 110 Lese- und Schreibvorgänge zum Mikrofon verwalten. Daten und Befehle, die zu und von der Slave-Einheit 124A übertragen werden sollen, können an den CNS 110 ausgelagert werden. Somit kann die vorhandene Verarbeitungsleistung in dem Root-Knoten 102 verwendet werden, um Steuersoftware für ferngesteuerte Knoten auszuführen. Die zentrale Steuerung von Software im Stammknoten 102 kann Entwicklungsprozesse vereinfachen, da nur eine Software-Instanz entwickelt und bereitgestellt werden muss. Daher erfordert nur der CNS 110-Software-Stack im Stammknoten 102 Netzwerkbetriebskenntnisse. Entwickler von Software für das System 100 müssen möglicherweise nicht so viele Anforderungen in den Knoten programmieren. Stattdessen müssen Entwickler möglicherweise nur den Systemdeskriptor 108 konfigurieren. Die Architektur und Topologie des Systems 100 kann die Systempartitionierung, den Platinenplatzbedarf und die Verlustleistung für entfernte Anordnungen begünstigen. Knoten können ohne zusätzlichen Speicher und ohne zusätzliche Rechenleistung auf entfernten Knoten entwickelt werden.
-
Obwohl oben beispielhafte Ausführungsformen beschrieben wurden, können andere Variationen und Ausführungsformen aus dieser Offenlegung abgeleitet werden, ohne vom Geist und Schutzumfang dieser Ausführungsformen abzuweichen.
-
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
-