-
PRIORITÄT
-
Diese Offenbarung beansprucht den Nutzen der U.S. Provisional Application No.
63/110,275 mit dem Titel „MULTI-USER TEST INSTRUMENT“, die am 5. November 2020 eingereicht wurde und deren Offenbarung durch Bezugnahme in vollem Umfang hierin enthalten ist.
-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung bezieht sich auf Test- und Messinstrumente und insbesondere auf Systeme und Verfahren zum Betrieb eines Test- und Messinstruments.
-
STAND DER TECHNIK
-
Test- und Messinstrumente, wie z. B. ein Oszilloskop, werden häufig zur Messung von Signalen aus einer zu testenden Vorrichtung (DUT) verwendet. Manchmal muss ein DUT an einem Ort geprüft oder gemessen werden, an dem nur wenig Platz zur Verfügung steht, z. B. in einer Temperaturkammer, um die Leistung des DUT bei höheren und/oder niedrigeren Temperaturen zu testen. Oft müssen mehrere Benutzer aus verschiedenen Disziplinen die Testausrüstung und/oder das DUT benutzen. So kann beispielsweise ein Ingenieur für die Entwicklung und Validierung eines bestimmten Teils der Schaltung des DUT verantwortlich sein, während ein anderer Ingenieur für die Entwicklung und Validierung eines anderen Teils des DUT zuständig ist. Die Anzahl der DUTs kann jedoch begrenzt sein, z. B. bei einem kleinen Prototyp eines DUTs. Außerdem kann die Anzahl der Testinstrumente begrenzt sein, da Testinstrumente in der Regel teure Investitionsgüter sind. Selbst wenn mehrere Testinstrumente zur Verfügung stehen, kann es sein, dass in der Prüfkammer nur eine begrenzte Leistung zur Verfügung steht oder dass der Platz für die Installation von Testausrüstung in nützlicher Entfernung zum DUT begrenzt ist, wie im Beispiel der Temperaturprüfung.
-
Daher müssen sich die Ingenieurteams oft Testinstrumente und/oder DUTs zeitlich teilen, um die notwendigen Aufgaben der Entwurfsvalidierung seriell durchzuführen, was die Gesamtzeit für den Abschluss der Validierung erhöht. Wenn die Ingenieurteams Testausrüstung gemeinsam nutzen müssen, müssen sie diese oft neu konfigurieren. Es kann beispielsweise erforderlich sein, die Verbindungen von den Eingängen des Testinstruments zu verschiedenen bestimmten Prüfpunkten am DUT zu ändern, die Geräteeinstellungen zu ändern, um eine andere Art von Messung durchzuführen, den Speicherort der Daten zu ändern usw. Wenn sich das Testinstrument und/oder das DUT in einem Bereich wie einer Temperaturkammer befindet, können Schwierigkeiten beim physischen Zugang zum DUT und/oder zum Gerät für die Neukonfiguration auftreten. Beim Time-Sharing-Paradigma kann nur ein einziger Benutzer das Testinstrument benutzen, selbst wenn mehrere DUTe verfügbar wären.
-
Diese und andere Probleme werden durch die Bereitstellung eines Testinstruments oder einer Reihe von Testinstrumenten gelöst, die es mehreren Benutzern ermöglichen, die Instrumentierung so zu benutzen, als ob jeder Benutzer die vollständige Kontrolle über die Maschine hätte.
-
Figurenliste
-
- 1 zeigt ein Test- und Messinstrument in einer Ausführungsform.
- 2 zeigt ein Flussdiagramm einer Ausführungsform eines Verfahrens zur Lösung von Ressourcenkonflikten zwischen Instanzen auf einem Test- und Messinstrument.
- 3 zeigt ein Flussdiagramm einer Ausführungsform eines Verfahrens zur Konfiguration eines Test- und Messinstruments für mehrere Instanzen.
- 4 zeigt ein Flussdiagramm einer Ausführungsform eines Verfahrens zum Betrieb eines Test- und Messinstruments mit mehreren Instanzen.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die Ausführungsformen stellen ein oder mehrere Testinstrumente bereit, die von mehreren Benutzern verwendet werden können. Das eine oder die mehreren Testinstrumente können aus einem einzigen Testinstrument bestehen, oder es gibt seit geraumer Zeit eine Reihe von mehreren Geräten, die sich wie ein einziges Testinstrument verhalten, manchmal auch als Multiinstrumenten-„Stacks“ (Stapel) oder Konglomeratinstrumente bezeichnet. Diese konglomeraten Stacks dienen jedoch nur einem einzigen Benutzer. Im Gegensatz dazu ermöglichen es Ausführungsformen der offengelegten Technologie, dass ein einzelnes oder konglomerates Instrument seine Ressourcen willkürlich aufteilt, so dass mehr als ein Benutzer den Instrumentenstapel unabhängig nutzen kann. Mit anderen Worten, die offengelegten Ausführungsformen ermöglichen es mehreren Benutzern, diese Multi-Instrumentenstapel bei Bedarf zu „entstapeln“.
-
Der hier verwendete Begriff „Instrument“ bezieht sich auf ein einzelnes Instrument, ein Konglomerat von Instrumenten oder einen Multi-Instrumenten-Stapel, wobei sich die Begriffe „Konglomerat von Instrumenten“ und „Multi-Instrumenten-Stapel“ auf eine Gruppe von Instrumenten beziehen, die wie ein einziges Instrument funktionieren.
-
Der Begriff „Instanz“ bezieht sich auf eine Konfiguration eines Messgeräts, die den DUT oder die DUTs enthalten kann. Die Instanzen können beispielsweise die Form von virtuellen Maschinen oder Containern des Instruments annehmen, die auf dem Betriebssystem des Instruments laufen. Jede Instanz verfügt über einen eigenen Satz von Ressourcen und Triggern, die das Gerät zu einem bestimmten Verhalten veranlassen. So kann beispielsweise ein Ingenieur für die Entwicklung und Validierung eines bestimmten Teils der Schaltung des DUTs verantwortlich sein, während ein anderer Ingenieur für die Entwicklung und Validierung eines anderen Teils der zu testenden Vorrichtung (DUT) zuständig ist. Jeder Ingenieur hätte seine eigene Instanz, die Signale erzeugt, sie an das DUT anlegt und das resultierende Ausgangssignal der verschiedenen Teile des DUT überwacht. Andere Beispiele können mehr als ein DUT umfassen. So kann es sein, dass ein Ingenieur ein DUT testen möchte, während ein anderer die Funktionen zwischen den DUTs vergleichen möchte. Die Instanz des ersten Ingenieurs enthält nur das erste DUT als Ressource, während die Instanz des zweiten Ingenieurs zwei DUTs enthält, die beide an ein einziges Instrument oder verschiedene Instrumente in einem konglomerierten Instrument angeschlossen sein können. Das Instrument kann mit dem DUT oder mehreren DUTs direkt oder mit Sonden, digital über eine physikalische (PHY) Schnittstelle oder eine Software-Abstraktionsschicht oder mit Multiplexing- oder Schaltgeräten wie einer HF-Schaltmatrix verbunden sein.
-
Die Ausführungsformen umfassen ein einzelnes Test- und Messinstrument oder ein kombiniertes Test- und Messinstrument, das mehrere Benutzer in einer Weise bedienen kann, die eine unabhängige Steuerung, Messung und Manipulation von Wellenformen durch jeden angeschlossenen Benutzer ermöglicht. 1 zeigt eine Ausführungsform eines solchen Systems 10. In dem System 10 kann ein Test- und Messinstrument 12 ein einzelnes Instrument, wie z. B. ein Oszilloskop, oder ein konglomeriertes oder „Multi-Stack“-Instrument umfassen, das aus mehreren verschiedenen Instrumenten besteht, die als eines agieren. Ebenso kann der Prozessor 14 aus einem oder mehreren Prozessoren bestehen, die sich in einem Instrument oder in allen Instrumenten einer Gruppe befinden. Der Speicher 16 kann eine ähnliche Architektur aufweisen. Das Instrument verfügt in der Regel auch über ein Display 18, das für „lokale“ Benutzer zugänglich ist, d. h. für Benutzer, die sich in unmittelbarer Nähe des Instruments befinden. Das Instrument kann eine von mehreren Benutzeroberflächen anzeigen, wie z. B. die unter 19 dargestellte, die im Folgenden näher erläutert wird.
-
Das Gerät verfügt über mindestens einen Anschluss 20, über den das Instrument und die Benutzer über eine Kommunikationsverbindung 22 über ein Netzwerk 24 kommunizieren können. Die Kommunikationsverbindung kann eine kabelgebundene Verbindung sein, wie z. B. ein Ethernet-Kabel, das mit einer Netzwerkverbindung verbunden ist, oder eine drahtlose Verbindung, wie z. B. Wi-Fi gemäß IEEE-Standard 802.1 Ix. Mindestens eine weitere Kommunikationsverbindung 36 kann mit einem oder mehreren zu testenden Vorrichtungen (DUT) wie 34 verbunden sein.
-
In einer Ausführungsform weist das System eine Client-Server-Architektur auf, bei der das Instrument Daten zwischen dem Instrument 12 und der/den Benutzeroberfläche(n) überträgt, die sich auf einem anderen Gerät befinden kann/können, z. B. auf einem Computer, Mobiltelefon, Tablet usw., das als Beispiel als Gerät 30 dargestellt ist. Dies kann die Verarbeitungslast auf dem Prozessor oder den Prozessoren im Instrument 12 verringern. Das Gerät 30 kann über eine „direkte“ Verbindung 38, d. h. nicht über ein Netzwerk, zwischen dem Gerät und dem Instrument verfügen, sei es drahtgebunden oder drahtlos, oder über eine Netzwerkverbindung 32, drahtgebunden oder drahtlos, oder beides.
-
Eine Ausführungsform des Systems kann einen Server 28 umfassen, der den Betrieb unterstützt oder die Protokolle des Gesamtsystems betreibt und über eine Verbindung 26 mit dem Netzwerk verbunden ist. Der Server kann Zugang zu einem Speicher 40 haben, z. B. zu einem Cloud-basierten Speicher, der vom Test- und Messinstrument entfernt ist und in dem die Ausführungsanweisungen für jede Instanz, die Benutzerauthentifizierungsinformationen, die Benutzerzuordnung zu verschiedenen Instanzen oder alle oder einige dieser Elemente gespeichert sind. Alternativ kann das Instrument 12 mehr lokal betrieben werden, wo das Instrument einige oder alle diese Dinge speichert, oder das Instrument hat Zugriff auf den Speicher 40, entweder über eine direkte Verbindung 44 oder eine Netzwerkverbindung 42. Diese Betriebsart kann über ein Netzwerk oder über direkte Kommunikationsverbindungen mit den Benutzergeräten erfolgen.
-
Nach der Erörterung verschiedener Ausführungsformen des Gesamtsystems können wir uns nun der Methodik zuwenden, die es mehreren Benutzern ermöglicht, das Instrument gemeinsam zu nutzen und gleichzeitig Kollisionen bei der Anforderung von Ressourcen innerhalb des Systems zu vermeiden. Wie bereits erwähnt, kann jeder Benutzer die Instanz so konfigurieren, dass er das Instrument so betreibt, als ob er die Kontrolle über das Instrument hätte. Es sei darauf hingewiesen, dass der Begriff „Benutzer“ auch eine Gruppe von Benutzern bezeichnen kann, die alle ein Interesse an der jeweiligen Instanz haben, z. B. ein automatisiertes Testsystem oder eine Schnittstelle für ein maschinelles Lerngerät.
-
Wie bereits erwähnt, können der oder die Prozessoren des Instruments eine von mehreren Benutzeroberflächen entweder auf dem Display des Instruments oder auf dem Display eines Benutzergeräts darstellen. Eine Benutzeroberfläche ermöglicht die Hauptkonfiguration der Ressourcen jedes angeschlossenen Benutzers, z. B. welche Kanäle oder wie viel Aufzeichnungslänge jedem Benutzer zur Verfügung stehen. Diese Benutzeroberfläche wird hier als „Master-Benutzeroberfläche“ bezeichnet. Diese Schnittstelle ermöglicht es dem Benutzer, „seine“ Instanz zu konfigurieren, indem sie ihm die Listen der verfügbaren Ressourcen usw. zur Verfügung stellt und angibt, wie das Instrument beim Betrieb auf seiner Instanz funktionieren soll. 2 zeigt ein Flussdiagramm einer Ausführungsform eines Verfahrens zur Konfiguration einer Instanz.
-
Bei 50 stellt das Instrument die Master-Benutzeroberfläche auf einem Display dar. Wie bereits erwähnt, kann das Display ein Display am Gerät oder ein Display an einem vom Instrument entfernten Benutzergerät sein. Wenn der Benutzer das Instrument über die Schnittstelle ausbildet, werden die Signale von dem einen oder mehreren Instrument-Prozessoren bei 52 empfangen. Die Konfiguration wird dann diesem Benutzer oder dieser Benutzergruppe zugeordnet, um später bei 54 abgerufen, bei 56 in Prozessoranweisungen für den Instrumentenprozessor umgewandelt und dann bei 58 gespeichert zu werden.
-
Die Instanz kann viele Formen annehmen, jede Form, die es ermöglicht, dass die Anweisungen für diese Instanz auf dem Test- und Messinstrument funktionieren. Beispiele hierfür sind eine virtuelle Maschine oder ein Container. In virtuellen Maschinen verfügt der Softwarecode, aus dem die Maschine besteht, in der Regel über eine bestimmte Menge an Verarbeitungsleistung und/oder Zeit, Arbeitsspeicher und Speicherplatz, die den physischen Komponenten eines Host-Computers, in diesem Fall des Test- und Messinstruments, zugeordnet sind. Bei der Ausführung verhält sich die Datei, die manchmal auch als Image-Datei bezeichnet wird, wie das eigentliche Messinstrument. In der Regel ist die virtuelle Maschine vom Rest des Systems abgetrennt, damit sie das primäre Betriebssystem des Instruments nicht beeinträchtigen kann.
-
Ein weiteres Beispiel für eine Implementierung einer Instanz wäre ein Container. Container bieten eine weitere Form der Virtualisierung, bei der der Container alle für den Betrieb erforderlichen Elemente enthält. Diese Elemente können unter anderem ausführbare Dateien, Binärcode, Bibliotheken und Konfigurationsdateien umfassen und arbeiten mit den physischen CPU- und Speicherkomponenten des Geräts sowie mit jeglichem Zubehör, z. B. Kabeln zu einem DUT. Die Container haben gemeinsamen Zugriff auf das Betriebssystem und sind daher in der Regel nicht wie virtuelle Maschinen isoliert.
-
Diese Beispiele zeigen Möglichkeiten auf, wie die Instanzen verkörpert werden könnten. Sie sind nicht dazu gedacht, den Umfang der Ansprüche in irgendeiner Weise einzuschränken. Es kann jede Methode zum Betrieb der Instanz auf einem gemeinsam genutzten physischen Instrument verwendet werden. Der Speicher kann ein lokaler Speicher sein, der im Instrument verwendet wird, und kann sequestriert sein, wie es bei virtuellen Maschinen üblich ist, wo jede Instanz ihre eigene Speicherpartition hat, oder die Instanzen können den Speicher gemeinsam nutzen. Bei der gemeinsamen Nutzung des Speichers kann es sich um einen entfernten Speicher handeln, z. B. um einen Cloud-basierten Speicher.
-
Sobald der Benutzer die Instanz ausgebildet hat, kann er sie zur Interaktion mit dem Instrument verwenden. zeigt ein Flussdiagramm einer Ausführungsform eines Benutzers, der eine Instanz zur Bedienung des Geräts einsetzt. Wenn das System die Konfigurationen mit den Benutzern verknüpft hat, findet das System die mit dem Benutzer verknüpfte Instanz, wenn sich der Benutzer bei 60 am Instrument oder bei einem Dienst im Netz, der mit dem Instrument interagiert, anmeldet. Dies kann bedeuten, dass der Prozessor des Instruments oder die Prozessoren auf eine Datenbank mit Informationen zugreifen, die nach dem Benutzernamen usw. geordnet sind. Wenn dem Benutzer mehr als eine Instanz zugeordnet ist, kann das System dem Benutzer eine Liste von Optionen zur Auswahl vorlegen. Nach der Auswahl der Instanz (62) ruft der eine oder die mehreren Prozessoren die für die Erstellung der Instanz erforderlichen Anweisungen (64) ab. Die Anweisungen werden dann ausgeführt, um die Instanz in 66 zu betreiben.
-
Diese Anweisungen können die Prozessoren veranlassen, eine dynamische Instanz-Benutzeroberfläche für jeden angeschlossenen Benutzer zu erstellen, die entsprechend den diesem Benutzer zugewiesenen Ressourcen ausgebildet ist. Die Instanz-Benutzeroberfläche kann dem Benutzer Auswahlmöglichkeiten oder andere Optionen anbieten, die es ihm ermöglichen, seine Instanz zu steuern. Das Instrument arbeitet dann so, dass der Benutzer aus Sicht des Benutzers die Kontrolle über das Instrument und alle DUTs usw. hat.
-
Ein Problem, das bei der gleichzeitigen Ausführung mehrerer Instanzen auf dem Instrument auftreten kann, besteht darin, dass zwei verschiedene Instanzen gleichzeitig versuchen, auf dieselbe Ressource zuzugreifen. Die ein oder mehreren Prozessoren des Instruments benötigen eine Kollisionsvermeidungs-Engine, um die Hardware- und Ressourceneinstellungen so zu gestalten, dass jeder Benutzer den größtmöglichen Nutzen hat. Eine Methode zur Erreichung dieses Ziels wäre die Überwachung von Anforderungen, um festzustellen, ob es Konflikte gibt. Während dieser Prozess für jede Instanz abläuft, wird eine Methode einer Instanz zur Lösung der Konflikte in 4 gezeigt, wobei davon ausgegangen wird, dass mehrere Instanzen diese Art von Prozess gleichzeitig durchführen können.
-
Eine Benutzerinstanz erzeugt eine Anforderung, z. B. den Zugang zu einem bestimmten Kanal auf einer an ein DUT angeschlossenen Sonde, die von dem einen oder mehreren Prozessoren bei 70 empfangen wird. Bei 72 stellt der Prozessor fest, ob ein Konflikt vorliegt. Liegt kein Konflikt vor, bearbeiten der eine oder die mehreren Prozessoren die Anforderung bei 74. Liegt ein Konflikt vor, muss der Prozessor die Reihenfolge der Bearbeitung der Anforderungen in 76 festlegen. Wie weiter unten noch näher erläutert wird, kann das Instrument über einen Administratormodus verfügen, der jeder Instanz Prioritäten zuweisen kann. Darüber hinaus kann der Prozessor die Priorität für eine Instanz erhöhen oder senken, z. B. wenn die Anforderung eine zeitkritische Komponente hat, die zuerst bearbeitet werden muss, auch wenn die Instanz, von der sie stammt, eine niedrigere Priorität hat.
-
Sobald die Prioritäten festgelegt sind, bearbeiten die ein oder mehreren Prozessoren die Anforderungen in der Reihenfolge ihrer Prioritäten bei 78. Während der Prozessor die Liste der Anforderungen abarbeitet, können andere Sicherheitsvorkehrungen bestehen, die sicherstellen, dass die Anforderung nicht abgelaufen oder veraltet ist. Beispielsweise kann eine Anforderung eine Abfrage zu einer Reihe von Datenpunkten enthalten, aber zu dem Zeitpunkt, an dem die Anforderung zur Bearbeitung ansteht, haben sich diese Datenpunkte geändert, so dass sie nicht mehr für die Anforderung benötigt werden. In einem anderen Beispiel kann der Benutzer eine vorbestimmte Zeit festgelegt haben, bis zu der der Vorgang bearbeitet werden muss, die dann abläuft. Im Idealfall kann der Priorisierungsprozess diese Art von Konflikten vermeiden. Wenn die Anforderung bei 80 abgelaufen ist, könnte die Anforderung, je nachdem wie der Benutzer die Instanz ausgebildet hat, einfach bei 82 in die Warteschlange zurückgestellt werden, wenn die Anforderung auch nach Ablauf der Zeit noch bearbeitet werden muss. Alternativ könnte das System den Benutzer benachrichtigen, dass die Anforderung abgelaufen ist, und ihn bei 84 um Anweisungen bitten. Auf diese Weise lassen sich Ressourcenkonflikte lösen, wenn sie von mehreren gleichzeitig laufenden Instanzen genutzt werden.
-
Das System kann noch weitere Merkmale und Änderungen aufweisen. Bei den Benutzeroberflächen, zu denen die Master-Benutzeroberfläche und die Instanz-Benutzeroberfläche gehören können, kann es sich um grafische Benutzeroberflächen, programmatische Schnittstellen oder eine Anwendungsprogrammierschnittstelle handeln. Zusätzlich zum Konfigurationsmodus, in dem der Benutzer die Benutzerinstanzen ausgebildet, und zum Betriebsmodus, in dem die Instanzen tatsächlich arbeiten, kann es einen Administratormodus geben. Im Administratormodus können Berechtigungen für den Zugriff auf Ressourcen für Instanzen festgelegt werden, oder die Person in diesem Modus kann Prioritäten für Benutzerinstanzen festlegen und Bedingungen definieren, unter denen Prioritäten erhöht oder gesenkt werden können.
-
Die Benutzer sind möglicherweise nicht in der Lage zu erkennen, ob die Ressourcen ihres Instruments für die Tests ausreichen, weil sie die erforderlichen Informationen nicht beschaffen können. Andere Anweisungen, wie z. B. ein anderes Softwarepaket oder Optionen in der Konfiguration der Instanzen, könnten den Administrator darüber informieren, wie wahrscheinlich Ressourcenkonflikte auf der Grundlage von Vorkenntnissen über die Tests oder Anwendungsfälle oder unter Verwendung von Statistiken über die frühere Nutzung sind.
-
Auf diese Weise könnten mehrere Nutzer gleichzeitig dasselbe Instrument für unterschiedliche Zwecke verwenden.
-
Aspekte der Offenlegung können auf einer speziell entwickelten Hardware, auf Firmware, digitalen Signalprozessoren oder auf einem speziell programmierten Allzweckcomputer mit einem Prozessor, der nach programmierten Anweisungen arbeitet, arbeiten. Die hier verwendeten Begriffe „Controller“ oder „Prozessor“ sollen Mikroprozessoren, Mikrocomputer, anwendungsspezifische integrierte Schaltungen (ASICs) und spezielle Hardware-Controller umfassen. Ein oder mehrere Aspekte der Offenbarung können in computerverwendbaren Daten und computerausführbaren Anweisungen verkörpert sein, beispielsweise in einem oder mehreren Programmmodulen, die von einem oder mehreren Computern (einschließlich Überwachungsmodulen) oder anderen Geräten ausgeführt werden. Im Allgemeinen umfassen Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen usw., die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren, wenn sie von einem Prozessor in einem Computer oder einem anderen Gerät ausgeführt werden. Die computerausführbaren Anweisungen können auf einem nicht transitorischen, computerlesbaren Medium wie einer Festplatte, einer optischen Platte, einem Wechselspeichermedium, einem Festkörperspeicher, einem Random Access Memory (RAM) usw. gespeichert sein. Wie dem Fachmann klar sein wird, kann die Funktionalität der ProgrammModule in verschiedenen Aspekten beliebig kombiniert oder verteilt werden. Darüber hinaus kann die Funktionalität ganz oder teilweise in Firmware oder Hardware-Äquivalenten wie integrierten Schaltungen, FPGA und dergleichen verkörpert sein. Bestimmte Datenstrukturen können verwendet werden, um einen oder mehrere Aspekte der Offenbarung effektiver zu implementieren, und solche Datenstrukturen werden im Rahmen der hier beschriebenen computerausführbaren Anweisungen und computerverwendbaren Daten in Betracht gezogen.
-
Die offengelegten Aspekte können in einigen Fällen in Hardware, Firmware, Software oder einer Kombination davon implementiert werden. Die offengelegten Aspekte können auch in Form von Befehlen implementiert werden, die auf einem oder mehreren nicht-übertragbaren computerlesbaren Medien gespeichert sind, die von einem oder mehreren Prozessoren gelesen und ausgeführt werden können. Solche Anweisungen können als Computerprogrammprodukt bezeichnet werden. Computerlesbare Medien, wie hier beschrieben, sind alle Medien, auf die ein Computer zugreifen kann. Computerlesbare Medien können zum Beispiel Computerspeichermedien und Kommunikationsmedien umfassen, ohne darauf beschränkt zu sein.
-
Computerspeichermedien sind alle Medien, die zur Speicherung von computerlesbaren Informationen, einschließlich der Speicherung von Daten in der Cloud, verwendet werden können. Zu den Computerspeichermedien gehören beispielsweise RAM, ROM, EEPROM (Electrically Erasable Programmable Read-Only Memory), Flash-Speicher oder andere Speichertechnologien, CD-ROM (Compact Disc Read Only Memory), DVD (Digital Video Disc) oder andere optische Plattenspeicher, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen sowie alle anderen flüchtigen oder nicht flüchtigen, entfernbaren oder nicht entfernbaren Medien, die in einer beliebigen Technologie eingesetzt werden. Computerspeichermedien schließen Signale als solche und vorübergehende Formen der Signalübertragung aus.
-
Kommunikationsmedien sind alle Medien, die für die Übertragung von computerlesbaren Informationen verwendet werden können. Zu den Kommunikationsmedien gehören beispielsweise Koaxialkabel, Glasfaserkabel, Luft oder jedes andere Medium, das für die Übertragung von elektrischen, optischen, Hochfrequenz- (HF), Infrarot-, akustischen oder anderen Signalen geeignet ist.
-
Außerdem wird in dieser schriftlichen Beschreibung auf bestimmte Merkmale verwiesen. Es ist davon auszugehen, dass die Offenbarung in dieser Spezifikation alle möglichen Kombinationen dieser besonderen Merkmale umfasst. Wenn beispielsweise ein bestimmtes Merkmal im Zusammenhang mit einem bestimmten Aspekt offenbart wird, kann dieses Merkmal, soweit möglich, auch im Zusammenhang mit anderen Aspekten verwendet werden.
-
Wenn in dieser Anmeldung auf ein Verfahren mit zwei oder mehr definierten Schritten oder Vorgängen Bezug genommen wird, können die definierten Schritte oder Vorgänge in beliebiger Reihenfolge oder gleichzeitig ausgeführt werden, es sei denn, der Kontext schließt diese Möglichkeiten aus.
-
BEISPIELE
-
Im Folgenden werden Beispiele für die offengelegten Technologien aufgeführt. Eine Ausführungsform der Technologien kann eines oder mehrere und jede Kombination der unten beschriebenen Beispiele umfassen.
-
Beispiel 1 ist ein Test- und Messinstrument, das Folgendes umfasst: einen oder mehrere Prozessoren zum Ausführen von Code, um die Prozessoren zu veranlassen: auf eine Benutzerinstanz des Test- und Messinstruments zuzugreifen; eine oder mehrere Anforderungen von der Benutzerinstanz des Test- und Messinstruments zu empfangen; alle Kollisionen zwischen der einen oder den mehreren Anforderungen und allen anderen Anforderungen für Elemente des Test- und Messinstruments zu bestimmen; alle Kollisionen nach Bedarf aufzulösen; eine oder mehrere Operationen durchzuführen, um die Anforderung zu erfüllen; und Informationen, die sich aus der einen oder den mehreren Operationen ergeben, auf einer Instanz-Benutzeroberfläche anzuzeigen.
-
Beispiel 2 ist das Test- und Messinstrument von Beispiel 1, wobei der Code weiterhin Code umfasst, um den einen oder die mehreren Prozessoren zu veranlassen, die Instanz-Benutzeroberfläche auf einem vom Test- und Messinstrument entfernten Benutzergerät darzustellen.
-
Beispiel 3 ist das Test- und Messinstrument aus einem der Beispiele 1 oder 2, wobei der Code ferner einen Code umfasst, der den einen oder die mehreren Prozessoren veranlasst, einem Benutzer eine Benutzeroberfläche des Instruments zu präsentieren und in Reaktion auf Signale von der Benutzeroberfläche des Instruments die Benutzerinstanz des Testinstruments zu definieren, indem der Benutzerinstanz Ressourcen zugewiesen werden.
-
Beispiel 4 ist das Test- und Messinstrument von Beispiel 3, wobei der Code weiterhin einen Code umfasst, der den einen oder die mehreren Prozessoren veranlasst, eine Instanz-Benutzeroberfläche für jede Instanz in Übereinstimmung mit den der Instanz zugewiesenen Ressourcen zu erzeugen.
-
Beispiel 5 ist das Test- und Messinstrument aus einem der Beispiele 1 bis 4, wobei der Code außerdem einen Code umfasst, der den einen oder die mehrere Prozessoren veranlasst, den Instanzen Prioritäten zuzuweisen.
-
Beispiel 6 ist das Test- und Messinstrument aus Beispiel 5, wobei der Code weiterhin einen Code umfasst, der den einen oder die mehreren Prozessoren veranlasst, Anforderungen nach Ressourcen von allen Instanzen, die gleichzeitig mit der Benutzerinstanz aktiv sind, auf der Grundlage der zugewiesenen Prioritäten für alle Instanzen zu priorisieren.
-
Beispiel 7 ist das Test- und Messinstrument nach einem der Beispiele 1 bis 6, wobei der Code ferner einen Code umfasst, der den einen oder die mehreren Prozessoren veranlasst, Daten, die auf dem Instrument für die Benutzerinstanz erzeugt wurden, an ein Gerät zu übertragen, das von dem in dieser Instanz bezeichneten Testinstrument entfernt ist.
-
Beispiel 8 ist das Test- und Messinstrument aus einem der Beispiele 1 bis 7, wobei der Code ferner einen Code umfasst, der den einen oder die mehreren Prozessoren veranlasst, in einen Administratormodus einzutreten.
-
Beispiel 9 ist das Test- und Messinstrument von Beispiel 8, wobei der Code, der den einen oder die mehreren Prozessoren veranlasst, in den Administratormodus einzutreten, den einen oder die mehreren Prozessoren veranlasst, mindestens eine der folgenden Aufgaben auszuführen: Zuweisen von Prioritäten, Umschalten von Betriebsmodi des Test- und Messinstruments und Neustarten des Test- und Messinstruments.
-
Beispiel 10 ist das Test- und Messinstrument nach einem der Beispiele 1 bis 9, das außerdem einen lokalen Speicher, der entweder sequestriert, gemeinsam genutzt oder eine Kombination aus beiden ist, oder einen vom Test- und Messinstrument entfernten Speicher umfasst.
-
Beispiel 11 ist das Test- und Messinstrument eines der Beispiele 1 bis 10, wobei der Code, der den einen oder die mehreren Prozessoren veranlasst, Anforderungen zu verwalten, den einen oder die mehreren Prozessoren veranlasst: zu erkennen, dass eine Anforderung von der Benutzerinstanz mit mindestens einer anderen Anforderung von anderen Instanzen kollidiert; eine Priorität jeder Anforderung zu bestimmen; die Anforderungen in der Reihenfolge der Priorität in eine Warteschlange zu stellen; und auf die Anforderungen in der Reihenfolge zu antworten, bis alle Anforderungen verarbeitet worden sind.
-
Beispiel 12 ist das Test- und Messinstrument von Beispiel 11, wobei der Code, der den einen oder die mehreren Prozessoren veranlasst, auf die Anforderungen zu antworten, einen Code umfasst, der den einen oder die mehreren Prozessoren veranlasst: festzustellen, dass für eine Anforderung in der Warteschlange eine vorbestimmte Zeit verstrichen ist; und die Anforderung erneut zu übermitteln.
-
Beispiel 13 ist das Test- und Messinstrument von Beispiel 11, wobei der Code, der den einen oder die mehreren Prozessoren veranlasst, die Anforderung erneut zu übermitteln, entweder als Reaktion auf einen Benutzer der Benutzerinstanz, der die erneute Übermittlung der Anforderung verlangt, oder durch den einen oder die mehreren Prozessoren, die die Anforderung automatisch erneut übermitteln, arbeitet.
-
Beispiel 14 ist das Test- und Messinstrument aus einem der Beispiele 1 bis 13, wobei das Test- und Messinstrument entweder ein einzelnes Test- und Messinstrument oder ein kombiniertes Test- und Messinstrument ist.
-
Beispiel 15 ist das Test- und Messinstrument aus einem der Beispiele 1 bis 14, wobei eine oder mehrere der Benutzeroberflächen des Instruments und der Instanz eine grafische, programmartige oder eine Anwendungsprogrammierschnittstelle ist.
-
Beispiel 16 ist das Test- und Messinstrument aus einem der Beispiele 1 bis 15, wobei die Benutzeroberfläche des Instruments so ausgebildet ist, dass sie entweder mit einem automatisierten System oder einem maschinellen Lernsystem interagiert.
-
Beispiel 17 ist ein Verfahren zum Konfigurieren einer oder mehrerer Instanzen in einem Test- und Messinstrument, das Folgendes umfasst: Wiedergeben einer Master-Benutzeroberfläche auf einer Benutzervorrichtung; Empfangen von Signalen über die Master-Benutzeroberfläche, die Konfigurationsinformationen für jede Benutzerinstanz bereitstellen, Zuordnen jeder Benutzerinstanz zu einem bestimmten Benutzer oder einer Gruppe von Benutzern, Umwandeln der Konfigurationsinformationen für jede Benutzerinstanz in Anweisungen, die von einem oder mehreren Prozessoren ausgeführt werden sollen, um Ressourcen in dem Test- und Messinstrument für jede Benutzerinstanz zuzuweisen, und Speichern der Anweisungen für jede Benutzerinstanz in einem Speicher.
-
Beispiel 18 ist das Verfahren aus Beispiel 17, wobei die Umwandlung der Konfigurationsinformationen in Anweisungen für jede Benutzerinstanz entweder das Erstellen einer virtuellen Maschine für jede Benutzerinstanz oder das Erstellen eines Containers für jede Benutzerinstanz umfasst.
-
Beispiel 19 ist das Verfahren aus einem der Beispiele 17 oder 18, das ferner Folgendes umfasst: Empfangen von Authentifizierungsinformationen für einen Benutzer; Bestimmen einer diesem Benutzer zugeordneten Benutzerinstanz; Zugreifen auf den Speicher, um die Anweisungen für die Benutzerinstanz abzurufen; und Ausführen der Anweisungen als eine Instanz auf dem Test- und Messinstrument.
-
Beispiel 20 ist ein Verfahren zum Betreiben eines Test- und Messinstruments, das Folgendes umfasst: Wiedergeben einer Instanz-Benutzeroberfläche auf einem vom Test- und Messinstrument entfernten Benutzergerät; Empfangen einer oder mehrerer Anforderungen über die Instanz-Benutzeroberfläche; Bestimmen aller Kollisionen zwischen der einen oder den mehreren Anforderungen und allen anderen Anforderungen für Elemente des Test- und Messinstruments; Auflösen aller Kollisionen nach Bedarf; Durchführen einer oder mehrerer Operationen, um die Anforderung zu erfüllen; und Anzeigen von Informationen, die sich aus der einen oder den mehreren Operationen ergeben, auf der Instanz-Benutzeroberfläche.
-
Beispiel 21 ist das Verfahren von Beispiel 20, wobei das Bestimmen jeglicher Kollisionen das Bestimmen umfasst, ob die eine oder mehreren Anforderungen den Zugriff auf mindestens ein Element des Test- und Messinstruments beinhalten, das mit einer anderen Instanz beschäftigt ist.
-
Beispiel 22 ist das Verfahren nach einem der Beispiele 20 oder 21, wobei das Auflösen etwaiger Kollisionen das Einreihen der einen oder mehreren Anforderungen und anderer Anforderungen für die Elemente in eine Warteschlange entweder in der Reihenfolge der Priorität oder auf der Grundlage einer empfangenen Zeit umfasst.
-
Beispiel 23 ist das Verfahren nach einem der Beispiele 20 bis 22, wobei die Durchführung einer oder mehrerer Operationen einen oder mehrere der folgenden Schritte umfasst: Erzeugen einer Wellenform, die auf eine zu testenden Vorrichtung anzuwenden ist; Erfassen von Daten von einer zu testenden Vorrichtung; Erfassen von Wellenformdaten; Rekonfigurieren des Test- und Messinstruments; und Rekonfigurieren einer zu testenden Vorrichtung.
-
Obwohl bestimmte Aspekte der Offenbarung zum Zwecke der Veranschaulichung dargestellt und beschrieben wurden, können verschiedene Änderungen vorgenommen werden, ohne von Geist und Umfang der Offenbarung abzuweichen. Dementsprechend sollte die Offenbarung nicht eingeschränkt werden, außer durch die beigefügten Ansprüche.
-
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
-