[go: up one dir, main page]

DE102005013301A1 - Verteiltes Datenmodell - Google Patents

Verteiltes Datenmodell Download PDF

Info

Publication number
DE102005013301A1
DE102005013301A1 DE102005013301A DE102005013301A DE102005013301A1 DE 102005013301 A1 DE102005013301 A1 DE 102005013301A1 DE 102005013301 A DE102005013301 A DE 102005013301A DE 102005013301 A DE102005013301 A DE 102005013301A DE 102005013301 A1 DE102005013301 A1 DE 102005013301A1
Authority
DE
Germany
Prior art keywords
data
reference model
description
generating
instance
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
DE102005013301A
Other languages
English (en)
Inventor
Geoff Smith
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.)
Agilent Technologies Inc
Original Assignee
Agilent Technologies Inc
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 Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of DE102005013301A1 publication Critical patent/DE102005013301A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Ein Verfahren und Systeme zum Übertragen von Daten von einer Sendevorrichtung zu einer Empfangsvorrichtung. Das Verfahren beginnt mit der Herstellung einer Beschreibung der Struktur der Daten, die der Sendevorrichtung und der Empfangsvorrichtung geliefert wird. Ein Referenzmodell der Datenstruktur wird an jeder der Sende- und der Empfangsvorrichtung während der Laufzeit unter Verwendung der Beschreibung der Daten erzeugt. Wie angefordert, werden Instanzen des Referenzmodells mit den Daten an der Sendevorrichtung erzeugt. Die Daten in der Instanz werden durch ein Extrahieren der Daten serialisiert und von der Sendevorrichtung zu der Empfangsvorrichtung übertragen. Die Empfangsvorrichtung erzeugt eine Instanz der Daten, basierend auf dem Referenzmodell.

Description

  • Netzwerkvorrichtungen, z. B. Router, werden umfassend getestet, um sicherzustellen, dass fehlerhafte Übertragungen und schwere Fehler minimiert sind. Eine Vielzahl von Testvorrichtungen sind auf dem Markt erhältlich, einschließlich des ROUTER TESTER von AGILENT TECHNOLOGIES, Anmelderin der vorliegenden Anmeldung. Derartige Testvorrichtungen überwachen üblicherweise das Ansprechverhalten von Routern auf eine Vielzahl von simulierten Eingaben.
  • Der Prozess des Leitens bzw. Routens kann schnell so zusammengefasst werden, dass ein Knoten den Weg zu jedem möglichen Bestimmungsort findet. Routen findet überall statt, von Schicht 1 (der physischen Schicht) aufwärts. Das Routen, das die meisten Leute kennen, findet jedoch bei Schicht 3 (der Netzwerkschicht) statt, und somit erfolgt hier nur eine Bezugnahme auf ein Schicht-3- (und im Einzelnen) Internetprotokoll-(IP)Routen. Router verwenden Tabellen, um zu bestimmen, wo Pakete hingeleitet werden sollen. Ein Aktualisieren dieser Tabellen ist eine Funktion, die durch Leitprotokolle durchgeführt wird. Jeder Router spricht auf ein oder mehr Protokolle an.
  • Protokolle zum Austauschen von Leitinformationen verbinden mehrere Router auf der ganzen Welt, um denselben eine gemeinsame Ansicht des Netzwerkes durch ihre heterogenen, jedoch im Allgemeinen vereinbaren Leittabellen zu liefern. Leittabellen speichern alle Informationen, die für den Router notwendig sind, um jeden Bestimmungsort in dem Netzwerk unabhängig von der Größe zu erreichen. Es existiert eine große Vielzahl von verschiedenen Leitprotokollen, die verwendet werden, um über ein Netzwerk zu den Leittabellen beizutragen. Mit Hilfe von Protokollen wie z. B. BGP, OSPF, RIP und ISIS wird ein korrektes und kohärentes Bild des Netzwerks an alle Router in dem Netzwerk übermittelt.
  • Bekannte Routertester simulieren einen Netzwerkverkehr, wobei sie speziell erzeugte „Testpakete" von Daten verwenden, die typisch für die tatsächlichen Daten sind, die in dem Netzwerk vorliegen. Diese Testpakete werden über ein zu testendes Netzwerk an die Netzwerkvorrichtung gesendet. Parameter, die durch Verkehrsimulatorsysteme (einschließlich ROUTER TESTER) getestet werden, umfassen eine Leitprüfung, ein Erreichen von Dienstgüte-(QoS) Niveaus unter Last und eine korrekte Zusammenarbeit mit anderen Vorrichtungen. Viele dieser so genannten „Paketlader" testen auch die Fähigkeit der Netzwerkvorrichtung, sich an Protokolle zu halten, indem sie Nachrichten gemäß den Protokollen formulieren und senden.
  • 1 ist ein Blockdiagramm eines Verkehrsimulatortestsystems 100. Insbesondere ist das Verkehrsimulatortestsystem 100 eine allgemeine Darstellung des ROUTER TESTER, der von AGILENT TECHNOLOGIES angeboten wird. ROUTER TESTER ist nur ein Beispiel eines Routertestsystems und wird insbesondere angeboten als Mehrtorverkehrerzeugungs-, Protokollemulations- und Analysetestsystem zum Prüfen der Leistung von Unternehmens-, Metro/Edge-, Kernleit- und optischen Netzwerkvorrichtungen. Das System weist allgemein eine Mehrzahl von Protokollemulationskarten 102n auf, die mit einem zu testenden System, in diesem Fall einem Router 104, verbunden sind. Jede der Protokollemulationskarten 102n weist allgemein einen Prozessor mit zugeordnetem Speicher und I/O auf. Die Protokollemulationskarten 102n werden durch einen Computer 106, wie z. B. einen PC, auf dem eine WINDOWS-Umgebung läuft, gesteuert. Der Computer 106 spricht auf eine Schnittstelle 108, wie z. B. eine graphische Benutzerschnittstelle, an.
  • Die Testpakete, die durch die Protokollemulationskarten 102n erzeugt werden, werden gemäß den Regeln und Interpretationen von Kommunikationsprotokollen erzeugt, wie z. B. denjenigen, die durch die vielen Standardkörper in der Industrie definiert sind. Es befinden sich viele Kommunikationsprotokolle in Gebrauch und neue Protokolle werden weiterhin entwickelt. Normalerweise werden neue Protokolle anfangs durch Ausrüstungshersteller entwickelt und weisen eine proprietäre Beschaffenheit auf. Oft werden die Protokolle nachfolgend durch Standardeinrichtungen zur verbreiteten Implementierung in der Industrie übernommen.
  • Die aktuelle Softwarearchitektur, die Verkehrsimulatortestsystemen zugeordnet ist, erfordert eine feste Codierung aller Teile der Protokollemulationslösung, einschließlich graphischer Benutzerschnittstelle, Skript-API, Konfigurations- und Steuerkomponenten und der Protokollzustandsmaschine selbst. Die feste Codierung, die für jedes Protokoll erforderlich ist, hat zum Einsatz einer großen Menge menschlichen Talents geführt, um den großen Codekörper zu erzeugen. Ein Großteil dieses Codes ist dem Bilden einer Schnittstelle zwischen einem Computer 106 und jeder neuen Protokollemulationskarte 102n gewidmet.
  • Der herkömmliche Lösungsansatz zum Bilden einer Schnittstelle zwischen dem Computer 106 und jeder neuen Protokollemulationskarte 102n erfordert, dass Verfahren und zugeordnete Parameter zu der Zeit, zu der die Schnittstelle in einer Schnittstellenbeschreibungssprache (IDL) geschrieben und fest codiert wird, bekannt sind. Unter diesem Paradigma werden ständig jedes Mal neue Verfahren und Parameter erzeugt, wenn neue Protokollemulationen geschrieben oder alte Protokolle erweitert werden. Dies hat zu einer enormen API (Anwendungsprogrammierschnittstelle) geführt, die viele hundert Verfahren und Parameter enthält, was zu einem Codekörper führt, dessen Unterhalt teuer ist. Ferner führen die bekannten Lösungsansätze dazu, dass die API an mehreren unterschiedlichen Schichten nachgebildet wird, wodurch sich die Probleme vergrößern. Somit erfordert jede Veränderung der API (egal wie gering) die Aktualisierung einer beträchtlichen Codemenge und unterschiedlicher Ebenen in dem System. Eine Nebenwirkung dieses Lösungsansatzes besteht darin, dass eine einzigartige GUI für jedes Protokoll und jede Aktualisierung desselben erzeugt werden muss. Genau wie bei der API gilt, dass die Anzahl der benötigten GUI-Implementierungen mit der Anzahl von Protokollen wechselt.
  • Es werden nun Anstrengungen unternommen, allgemeine Systeme zu entwerfen, die einige der genannten Probleme abmildern. Ein Beispiel ist beschrieben in der ebenfalls anhängigen US-Patentanmeldung Seriennummer: 10/266,507, Veröffentlichungsnr.: US20040068681 A1, mit dem Titel: Building packets of data. Die US20040068681 A1, die hier durch Bezugnahme aufgenommen ist, verwendet eine externe XML-Protokollbeschreibung, um eine allgemeine PDU-Codier/Decodiermaschine zu treiben. Ein nächster Schritt besteht darin, eine allgemeine Schnittstelle mit den Protokollemulatoren herzustellen, die keinen neuen Code oder fest codierte Schnittstellenveränderungen für jeden neuen Emulator oder eine Veränderung daran erfordern.
  • Ein bekannter Lösungsansatz für dieses Problem ist die Verwendung einer Schnittstellendefinitionssprache (IDL), wie z. B. DCOM oder CORBA. IDLs haben sich jedoch als ungeeignet erwiesen, da dieselben erfordern, dass alle Details jeder Schnittstelle zum Kompilierungszeitpunkt bekannt sind. Eine weitere Option ist die Verwendung von ASN.1 – einer Sprache zum Definieren einer beliebigen Datenstruktur. Bekannte ASN.1-Kompilierer erzeugen Schnittstellencode zum Codieren und Decodieren derartiger Strukturen. Wie bei IDLs handelt es sich bei ASN.l jedoch um eine Kompilierungszeitlösung, die einen speziell geschriebenen Code für jede Schnittstelle erfordert. Eine weitere Option ist die Verwendung eines der verfügbaren XML-Datenmodelle, wie z. B. DOM (Dokumentobjektmodell). XML-Daten werden jedoch als Textdateien übertragen, die eine ineffiziente Verwendung von Bandbreite aufweisen. Ferner erfordern XML-Daten normalerweise sehr prozessorintensive Berechnungen zusammen mit einem zeitaufwendigen syntaktischen Analysieren. Ferner ist die Navigation einer DOM-Struktur langsam und stellt typischerweise nicht tabellarische Daten dar (was bei Protollemulatorschnittstellen vorwiegend der Fall ist).
  • Dementsprechend haben die Erfinder der vorliegenden Erfindung einen Bedarf an einem neuen Schnittstellenmechanismus erkannt, der in der Lage ist, alle Befehle, Konfigurationsdaten und Ausgangssignale von einer Protokollemulation darzustellen. Ferner sollte ein derartiger Mechanismus gleichermaßen für hierarchische Daten wie für tabellarische Daten geeignet sein.
  • Es ist die Aufgabe der vorliegenden Erfindung, ein Verfahren zum Übertragen von Daten, ein Verfahren zum Kommunizieren mit einer Protokollemulation, ein System zum Übertragen von Daten und ein System zum Steuern eines Protokollemulators mit verbesserten Charakteristika zu schaffen.
  • Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1, ein Verfahren gemäß Anspruch 15, ein System gemäß Anspruch 33 sowie ein System gemäß Anspruch 45 gelöst.
  • Ein Verständnis der vorliegenden Erfindung kann aus der folgenden detaillierten Beschreibung bestimmter Ausführungsbeispiele der vorliegenden Erfindung zusammengenommen mit den beiliegenden Zeichnungen gewonnen werden. Es zeigen:
  • 1 ein Blockdiagramm eines Verkehrsimulatortestsystems;
  • 2 ein Blockdiagramm, das allgemein ein Verfahren zum Übertragen von Daten gemäß einem Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht;
  • 3 ein Blockdiagramm eines Protokollemulationssystems gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 4 ein Blockdiagramm, das die Verwendung einer Paketdefinition veranschaulicht, um ein Paketreferenzmodell und ein Paketobjekt gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zu erzeugen;
  • 5 ist ein Flussdiagramm eines Verfahrens zum Herstellen eines Paketobjekts;
  • 6 eine Bildschirmaufnahme einer Schnittstelle, die basierend auf einer Tabellenstruktur, die einer Paketdefinition definiert ist, aufgebaut ist; und
  • 7 eine Bildschirmaufnahme einer Schnittstelle, die basierend auf einem Satz von Werten, die in einer Paketdefinition definiert sind, aufgebaut ist.
  • In der Beschreibung, die im Folgenden enthalten ist, bezeichnet die Verwendung eines kleinen „n" neben einem Elementidentifizierer eine nicht spezifische Instanz des Elements anstelle eines spezifischen Elements, wie es in den Figuren gezeigt ist oder in der Beschreibung mit einem nicht kursiv geschrieben Buchstaben neben der Elementnummer erörtert ist.
  • Es wird nun Bezug genommen auf Ausführungsbeispiele der vorliegenden Erfindung, wobei Beispiele derselben in den beiliegenden Zeichnungen veranschaulicht sind, wobei gleiche Bezugszeichen sich durchweg auf gleiche Elemente beziehen. Die folgende detaillierte Beschreibung präsentiert Verfahren, die durch Routinen und symbolische Darstellungen von Operationen von Datenbits in einem computerlesbaren Medium, zugeordneten Prozessoren, Datenerzeugungs- und – erfassungskarten und dergleichen ausgeführt sein können. Eine Routine wird hier und allgemein als eine Sequenz von Schritten oder Aktionen verstanden, die zu einem gewünschten Ergebnis führen, und umfasst somit Fachtermini wie „Programm", „Objekte", „Funktionen", „Subroutinen" und „Prozeduren". Diese Beschreibungen und Darstellungen sind die Mittel, die von Fachleuten verwendet werden, um die Materie ihrer Arbeit anderen Fachleuten wirksam zu vermitteln. Aus praktischen Gründen wird das Wort „Netzwerk" im Folgenden in der Beschreibung und den Ansprüchen verwendet, um sich auf eines oder mehr der Folgenden zu beziehen: ein Kommunikationsnetzwerk, eine Netzwerkvorrichtung, eine andere Kommunikationsvorrichtung und einen beliebigen Aspekt oder Aspekte eines Kommunikationssystems, das unter Verwendung von Datentestpaketen getestet werden kann.
  • Ausführungsbeispiele, die Verfahren aufweisen, werden mit Bezug auf eine Implementierung bei einem Routertester beschrieben, der eine ähnliche Konfiguration wie der AGILENT ROUTER TESTER aufweist, aber die Verfahren, die hier aufgeführt sind, können bei jedem beliebigen einer Vielzahl von Routertestern wirksam sein. Genauer gesagt beziehen sich die hier vorgestellten Verfahren nicht inhärent auf eine bestimmte Vorrichtung; stattdessen können verschiedene Vorrichtungen bei Routinen gemäß den hier dargestellten Lehren verwendet werden. Insbesondere können die Verfahren, die hier für eine Übertragung von Daten von einer Vorrichtung zu einer anderen beschrieben sind, obwohl dieselben mit Bezug auf eine Routertesterfunktion beschrieben sind, in dem Datenkommunikationsgebiet im Allgemeinen anwendbar sein. Maschinen, die die hier beschriebenen Funktionen ausführen können, umfassen diejenigen, die durch Unternehmen wie AGILENT TECHNOLOGIES, INC., HEWLETT PACKARD und TEKTRONIX, INC. sowie andere Hersteller von Kommunikationsausrüstung hergestellt werden.
  • Mit Bezug auf die hier beschriebene Software werden Durchschnittsfachleute erkennen, dass eine Vielzahl von Platt formen und Sprachen zum Erzeugen von Software zum Durchführen der hier umrissenen Prozeduren existiert. Ausführungsbeispiele der vorliegenden Erfindung können unter Verwendung einer beliebigen einer Anzahl von Varietäten von C, einschließlich C++, implementiert sein. Durchschnittsfachleute werden jedoch auch erkennen, dass die Auswahl der genauen Plattform und Sprache oft durch die speziellen Vorgaben des tatsächlichen hergestellten Systems vorgegeben sind, sodass es sein kann, dass bei einem Systemtyp funktioniert, was bei einem anderen System nicht effizient ist. Es sei ebenfalls darauf hingewiesen, dass die hier beschriebenen Routinen und Berechnungen nicht darauf beschränkt sind, als Software auf einem Computer ausgeführt zu werden, sondern auch in einem Hardwareprozessor implementiert sein können. Zum Beispiel könnten die Routinen und Berechnungen mit HDL (Hardwareentwurfssprache) bei einer ASIC oder bei einer FGPA unter Verwendung einer Vielzahl von Entwurfswerkzeugen implementiert sein.
  • Verfahren zum Übertragen von Daten
  • 2 ist ein Blockdiagramm, das allgemein ein Verfahren zum Übertragen von Daten gemäß einem Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht. Das veranschaulichte Verfahren dient zum Übertragen von Daten von einem ersten Ort 200a zu einem zweiten Ort 200b. Im Zusammenhang mit Protokollemulatoren, wie es in 1 gezeigt ist, kann der erste Ort 200a als ein Computer 106 (oder „Client") angenommen werden, auf dem die Steueranwendungen laufen, und der zweite Ort kann als die Protokollemulationskarte 102n (oder „Server") angenommen werden, auf dem Dienstanwendungen laufen. Die Steueranwendungen umfassen die graphische Benutzerschnittstelle zusammen mit Kommunikationsroutinen zum Senden und Empfangen von Daten. Die Dienstanwendungen umfassen Protokollemulationsanwendungen zusammen mit Kommunikationsroutinen zum Senden und Empfangen von Daten.
  • Aus praktischen Gründen werden die Datenstrukturen, die durch die beschriebenen Ausführungsbeispiele der vorliegenden Erfindung verwendet werden, als „Pakete" bezeichnet. Ein Paket kann als eine flexible, kommentierte Datenstruktur betrachtet werden, die Befehle, Konfigurationsdaten und Ausgangssignale von einer beliebigen Routine darstellen kann. Pakete, die durch den Client erzeugt werden, enthalten: Befehle; Sitzungsdaten; und Topologie. Pakete, die durch die Protokollemulationskarte erzeugt werden, enthalten: Statistik; Topologie; und Nachrichtenverfolgung.
  • Das Übertragungsverfahren, das in 2 veranschaulicht ist, beginnt mit einer Paketdefinition 202a (hier auch als eine „Definition" oder „Beschreibung" bezeichnet). Eine Paketdefinition 202n liefert eine Beschreibung der Elemente von einem oder mehr Paketen zusammen mit Attributen davor. Die bevorzugte Datenstruktur eines Pakets ist hierarchisch, wobei jeder Knoten einen Wert, Unterknoten, eine Funktion, ein Array von Werten oder eine Tabelle von Werten enthalten kann. Eine Paketdefinition 202a kann einfach eine Textdatei sein, die eine Liste von Paketen liefert und die Elemente (hier als die „Knoten" bezeichnet), die jedes Paket bilden, den Typ jedes Knotens und die Beziehung der Knoten untereinander spezifiziert. Jeder Knoten kann unter Verwendung von beschreibenden Attributen (Beispiele sind im Folgenden erörtert) kommentiert sein.
  • Es kann bevorzugt, aber nicht notwendig, sein, die Paketdefinition 202a in XML zu formulieren. Genauer gesagt ist es erwünscht, die Paketbeschreibung in einem leicht zugänglichen Format zu formatieren, um die Erzeugung und Modifizierung derselben zu erleichtern. Die verschachtelte Tag-Struktur, die durch XML geliefert wird, erleichtert die Dokumentierung von hierarchischen Beziehungen und Tabellenstrukturen. Die Paketdefinition 202a ist allgemein an dem ersten Ort 200a gespeichert und wird zur Laufzeit durch Anwendungen, die an dem ersten Ort 200a laufen, wiedergewonnen.
  • Die Paketdefinition 202a wird syntaktisch analysiert, um ein Paketreferenzmodell 204a (auch als ein „Referenzmodell" bezeichnet) zu erzeugen. Allgemein ist das Paketreferenzmodell eine Datenstruktur, wie bei C++, aus der Instanzen eines Pakets, z. B. das Paketobjekt 206b, erzeugt oder instantiiert werden können. Die vielleicht ähnlichste analoge Struktur wäre ein allgemeiner Typ in c++. Ein Unterschied liegt darin, dass ein Paket während einer Laufzeit eingebracht werden kann, während allgemeine Typen bei einer Kompilierung definiert werden müssen. Bei Paketen ist der Typ durch das Referenzmodell 204a definiert, von dem das tatsächliche Paket abgeleitet ist. Bei der Verwendung kann es sich als vorteilhaft erweisen, alle Paketdefinitionen 202n bei einem Systemstart syntaktisch zu analysieren, um ein Referenzmodell aller möglichen Pakete, die während des Betriebs erforderlich sein können, zu erzeugen. Falls Zeit und Speicherung berücksichtigt werden müssen, kann es jedoch ratsam sein, nur diejenigen Referenzmodelle zu erzeugen, bei denen es wahrscheinlich ist, dass sie für die aktuelle Sitzung benötigt werden.
  • Paketobjekte können unter Verwendung einer Paket-API, die im Folgenden beschrieben ist, die eine allgemeine Schnittstelle zum Arbeiten mit Paketdaten liefern kann, verwaltet werden. Im Zusammenhang mit der vorliegenden Erfindung besteht ein Verfahren zum Arbeiten mit Paketen darin, dieselben für eine Übermittlung an den zweiten Ort 202b zu serialisieren. Ein Paket kann zu einer Vielzahl von Formen serialisiert werden, einschließlich XML, das für Sichern/Wiederherstellen-Zwecke geeignet ist, und einer binären Form, die zur Kommunikation mit anderen Orten geeignet ist. Konzeptionell kann eine Serialisierung betrachtet werden als ein Abziehen der Daten von der Datenstruktur und ein Bilden einer linearen Datei oder eines Datenstroms zur Übertragung. Eine ausreichende Datenstruktur wird geliefert, um das Referenzmodell 204n zu identifizieren, das verwendet werden sollte, um den Binärstrom zu decodieren und das Paket auf der Empfangsseite wiederherzustellen. Während dieser Wiederherstellung werden die Strukturinformationen, die in dem Referenzmodell 204n enthalten sind, verwendet, um die Daten in dem Binärstrom syntaktisch zu analysieren.
  • Dementsprechend ist der zweite Ort 200b mit einer Kopie der Paketdefinition 202a ausgestattet – die als die Paketdefinition 202b gezeigt ist. Der zweite Ort 200b analysiert die Paketdefinition 202a syntaktisch, um ein Referenzmodell 204b zu erzeugen, bei dem es sich um eine Kopie des Referenzmodells 204a handeln sollte. Auf den Empfang der Binärdaten 208 hin bildet der zweite Ort 200b durch ein Instantiieren des Paketreferenzmodells 204b und ein Bestücken der resultierenden Datenstruktur mit den Binärdaten 208 ein Paketobjekt.
  • Ein ähnlicher Prozess kann verwendet werden, um Paketobjekte zu bilden. Die Paketdefinition 202a kann verwendet werden, um eine graphische Benutzerschnittstelle mit den geeigneten Eingabemechanismen, z. B. Texteingabefelder, Wahlknöpfe, usw. ...., für jedes der definierten Elemente zu erzeugen. Wenn der Benutzer die gewünschten Eingangsdaten liefert, wird das Referenzmodell 204n instantiiert, und das Paketobjekt 206n wird mit den Eingangsdaten bestückt. Vorteilhafterweise kann eine allgemeine API entwickelt werden, wobei Beispiele derselben hier im Folgenden offenbart sind, die die Erzeugung und Aufrechterhaltung eines beliebigen Paketobjekts 206n, für das eine Paketdefinition 202n bereitgestellt ist, handhaben kann.
  • Im Gegensatz zu auf IDL basierenden Lösungen ist ein Paket außerhalb des kompilierten Codes definiert und verwendet eine allgemeine API, die nicht verändert werden muss, wenn neue Pakete definiert werden. Dies ermöglicht es, einen Anwendungsrahmen herzustellen, der zukünftigen Protokolllösungen gerecht werden kann, ohne den Rahmen verändern oder vergrößern zu müssen. Dies erlaubt auch die Erzeugung einer stabilen Schnittstelle, auf der Dritte oder Kunden ihre eigenen Lösungen aufbauen können. Im Gegensatz zu herkömmlichen XML-Lösungen wird die Paketstruktur einmal im Voraus definiert – nicht für jedes empfangene Datenpaket. Benötigte Paketreferenzmodelle können zum Anwendungsstartzeitpunkt erzeugt werden, was die Notwendigkeit vermindert, ständig XML syntaktisch zu analysieren. Pakete können für eine effiziente Navigation konzipiert sein, und ein Suchen wird im Gegensatz zu XML-DOM minimiert. Pakete können für ein effizientes Binärcodieren und -decodieren konzipiert sein, die verglichen mit XML-Text relativ kleine Binärdatenpakete zur Übermittlung zwischen Softwaresystemen benötigen. Pakete können konzipiert sein, um tabellarische Daten zu umfassen, die eine natürliche Anpassung an viele Anwendungen liefern.
  • Verwendung von Paketen bei einem Protokollemulator
  • 3 ist ein Blockdiagramm eines Protokollemulationssystems 300 gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung. Das System 300 weist allgemein einen Host 302, wie z. B. einen Personalcomputer, auf dem eine Version des MICROSOFT-WINDOWS-Systems läuft, und zumindest eine Protokollemulatorkarte 304 (auch als ein Protokollemulator bezeichnet) auf, die im Allgemeinen einen Prozessor mit zugeordnetem Speicher und I/O-Einrichtungen aufweist. Es kann sich als vorteilhaft erweisen, wenn der Protokollemulator in seiner Architektur einem Personalcomputer ähnelt. Gemäß zumindest einem Ausführungsbeispiel kann der Host 302 als ein Client konfiguriert sein, wohingegen der Protokollemulator 304 als ein Server konfiguriert sein kann.
  • Auf dem Host 302 läuft, zusammen mit anderen Anwendungen und dem Betriebssystem, eine Anwendung 306, die Routinen für die Steuerung des Protokollemulators 304 und speziell zur Kommunikation mit der Protokollemulatorkarte 304 liefert. Gemäß zumindest einem Ausführungsbeispiel handelt es sich bei der Anwendung um eine allgemeine protokollunabhän gige Anwendung. Dies bedeutet, dass die Anwendung 306 bevorzugt keine protokollspezifische Funktionalität aufweist. Eine derartige Funktionalität wird tatsächlich dynamisch unter Verwendung der Paketdefinitionen 202n erzeugt. Die Anwendung 306 ist für die Erzeugung, Aufrechterhaltung und Verwendung des Paketreferenzmodells 204n (siehe 2) zuständig, sowie außerdem für Serialisierung, Übertragung, Empfang und Deserialisierung der Daten, die in Instanzen des Referenzmodells, z. B. den Paketobjekten 206n, enthalten sind. Wie bereits erwähnt, kann es bevorzugt werden, für diese Funktionen eine API-artige Schnittstelle bereitzustellen, wodurch eine einzige allgemeine Schnittstelle für jede unterschiedliche Protokollemulation bereitgestellt wird.
  • Eine graphische Benutzerschnittstelle 310 ist derart bereitgestellt, dass die Anwendung 306, wenn ein Benutzer anfordert, dass eine Protokollemulation gestartet wird, mit einem Client 312 in der graphischen Benutzerschnittstelle 310 in Wechselwirkung tritt, um Formulare für die Eingabe von Parametern, die benötigt werden, um den Protokollemulator 304 zu steuern, anzuzeigen. Dies kann unter Verwendung der Paketdefinition 202n oder des Paketreferenzmodells 204n (siehe 2) erreicht werden. Wenn die geeigneten Daten eingegeben worden sind, erzeugt die Anwendung 306 eine Instanz des Referenzmodells 204n, um ein Paketobjekt 206n zu bilden. Die Anwendung 306 serialisiert das Paketobjekt 206n und sendet das serialisierte Objekt an den Protokollemulator 304.
  • Auf dem Protokollemulator 304 läuft unter anderem eine Anwendung 308, die Module zur Emulation von ausgewählten Protokollen 309n umfasst. Gemäß zumindest einem bevorzugten Ausführungsbeispiel umfasst die Anwendung 308 Routinen zur Kommunikation mit dem Host 302 unter Verwendung von Paketen. Allgemein kann es bevorzugt sein, dass die Anwendung 308 Routinen umfasst, die denjenigen ähnlich sind, die in der Anwendung 306 enthalten sind. Dies kann erreicht werden durch die Erzeugung von allgemeinen API-artigen Routinen, die mit Paketen eine Schnittstelle bilden. Beispiele für derartige Routinen werden im Folgenden geliefert.
  • Dem Protokollemulator 304 sollten periodisch aktualisierte Kopien der Paketdefinitionen 202n geliefert werden. Es kann von Vorteil sein, dass der Host 302 die Definitionen 202n bei jedem Starten an den Protokollemulator 304 liefert. Der Protokollemulator 304 erzeugt auf den Empfang der Paketdefinitionen 202n hin einen Satz von Paketreferenzmodellen 204n, aus denen Paketobjekte 206n instantiiert werden können. Wenn ein serialisiertes Paketobjekt von dem Host 302 empfangen wird, wird ein neues Paketobjekt basierend auf dem zugeordneten Paketobjekt 206n instantiiert. Dieses Objekt wird dann verwendet, um die Daten zu liefern, die von Protokollemulationsroutinen benötigt werden, die auf dem Protokollemulator 304 laufen. Wenn somit dem Protokollemulator 304 neue Protokollemulationen hinzugefügt werden, muss nur eine neue Paketdefinition 202n definiert werden, um eine Kommunikation zwischen dem Host 302 und dem Protokollemulator 304 (und dem Modul 309n) zu erlauben.
  • Pakete
  • Obwohl sich die folgende Erörterung auf ein Ausführungsbeispiel eines Paket konzentriert, werden Durchschnittsfachleute erkennen, dass Abweichungen von der beschriebenen Paketstruktur möglich sind und trotzdem in den Schutzbereich der Erfindung fallen. Bei dem beschriebenen Ausführungsbeispiel weisen Pakete allgemein einen Kopfblock und einen Satz von Elementen auf. Die Elemente gehören im Allgemeinen zu zwei Kategorien, Behälterelementen, die eine Struktur liefern, und Datenelementen, die einen Wert oder Reihen von Werten speichern. Ein Beispiel eines Satzes von Element- (nicht „Knoten"-) Typen für ein Paket sind in TABELLE 1 gezeigt.
  • TABELLE 1
    Figure 00150001
  • Jedes Element kann unter Verwendung von beschreibenden Attributen kommentiert sein. Derartige Attribute dokumentieren das Paket und ermöglichen, dass das Paket selbstdokumentierend ist. Durch ein Speichern der Attribute mit der Paketdefinition und eventuell dem Paketreferenzmodell können die Routinen, die bereitgestellt sind, um ein Paket zu handhaben und eine Schnittstelle mit demselben zu bilden, allgemein beschaffen sein, z. B. ist die Datenstruktur nicht in den Routinen codiert, stattdessen wird die Datenstruktur während der Laufzeit geliefert. Zum Beispiel können Attribute verwendet werden, um alle Informationen zu liefern, die benötigt werden, um ein beliebiges Paket unter Verwendung einer allgemeinen graphischen Benutzerschnittstelle zu präsentieren und zu editieren. Einige Beispiele für mögliche Attribute sind in Tabelle 2 gezeigt. Durchschnittsfachleute werden erkennen, dass die Liste, die in Tabelle 2 vorliegt, nicht erschöpfend ist, sondern dass sich andere Attribute als vorteilhaft erweisen können, abhängig von der Implementierung der vorliegenden Erfindung.
  • TABELLE 2
    Figure 00160001
  • Tabelle 3 enthält ein Beispiel für eine Paketdefinition in XML. Insbesondere enthält Tabelle 3 die Definition von zwei Paketen: bgpSessionData und routePools, zusammen mit zwei Befehlen: addIpv4RoutePool und addIpv6RoutePool. Das Paket bgp definiert die Startdaten, die benötigt werden, um eine bgp-Emulationssitzung zu erzeugen. Das Paket routePools definiert einen Satz von erreichbaren Adressen, die durch ein Leitprotokoll angezeigt werden sollen. Zwei Tabellen sind in routePools definiert: eine für IPv4-Adressen und eine für IPv6-Adressen. Der Adressbereich ist parametrisch defi niert unter Verwendung einer Startadresse, einer Präfixlänge und eines Zählwerts. Die Befehle verweisen auf das routePools-Paket, um seinen Inhalt zu bestücken. Die Befehle verwenden eine ausgewählte Zeile aus einer Routepool-Tabelle als Parameter. TABELLE 3
    Figure 00170001
    Figure 00180001
  • Oft müssen Voreinstellungswerte für Elemente eingestellt werden, die gemäß anderen Werten, die innerhalb oder außerhalb der Definition spezifiziert sind, variieren. In solchen Fällen kann es von Vorteil sein, Werkzeugbefehlssprache-(TCL)Prozeduren zu integrieren, die aufgerufen werden können, um derartige Aufgabe auszuführen. Eine derartige Funktion kann in der XML-Paketdefinition spezifiziert sein. Eine Integration von TCL gehört zu den Fähigkeiten von Durchschnittsfachleuten, und somit werden die spezifischen Details einer derartigen Integration hier nicht erörtert. Ein Beispiel für einen Teil einer Paketdefinition, die TCL-Funktionen umfasst, ist in Tabelle 4 gezeigt: TABELLE 4
    Figure 00190001
  • Bei diesem Beispiel wird der Voreinstellungswert für keepalive (aktivhalten) bei dem doppelten holdTimer (Haltezeitgeber) gehalten, unabhängig davon, welcher Wert für holdTimer eingestellt ist. Die TCL-Funktionen können ausgeführt werden, wenn ein Paket instantiiert wird, z. B. eine Instanz eines Pakets erzeugt wird. Ferner können Routinen erzeugt werden, um während der Laufzeit die Paketdefinition und/oder das -modell zu prüfen und die Werte, die durch derartige Funktionen beeinflusst werden, zu aktualisieren.
  • ARBEITEN MIT PAKETEN
  • 4 ist ein Blockdiagramm, das die Verwendung einer Paketdefinition 202 veranschaulicht, um ein Paketreferenzmodell 204 und ein Paketobjekt 206 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zu erzeugen. Allgemein dient das Referenzmodell 204 als ein Depot für alle Paketattribute, die Details der Datenstruktur umfassen. Bei den beschriebenen Ausführungsbeispielen umfassen die Strukturen hierarchische Knoten und Basistabellen, die Erfindung ist jedoch nicht auf diese Strukturen beschränkt und kann erweitert werden, um z. B. relationale Strukturen zu umfassen. Zusätzlich löst das Referenzmodell 204 alle Querverweise in der XML zwischen einem Paket oder Paketknoten und einem anderen.
  • 5 ist ein Flussdiagramm eines Verfahrens zum Erzeugen eines Paketobjekts 206. Das Verfahren beginnt bei Schritt 500. Bei Schritt 502 werden die verfügbaren XML-Paketdefinitionsdateien (z. B. die Paketdefinitionsdateien 206) nach <parcel> (Paket-) Tags abgetastet, und eine Nachschlagetabelle von Tag-Namen für Dateien wird erzeugt.
  • Bei Schritt 504 geht das Verfahren, wenn ein Paketobjekt 206 angefordert wird, für das kein Paketreferenzmodell 204 gebildet worden ist, zu Schritt 506 über. Ansonsten geht das Verfahren zu Schritt 514 über, wie es hier im Folgenden erörtert ist. Bei Schritt 506 wird die Nachschlagetabelle, die bei Schritt 502 erzeugt wurde, abgetastet, um die XML-Datei zu identifizieren, die dem angeforderten Paketobjekt 206 entspricht. Anschließend wird bei Schritt 508 die identifizierte XML-Datei syntaktisch analysiert, z. B. unter Verwendung einer Öffentlicher-Bereich-XML-Parser-Software, wie z. B. expat. Der XML-Parser bzw. Analysierer erzeugt einen Vektor von C++-Tag-Objekten, die verwendet werden, um das zugeordnete Referenzmodell 204 in Schritt 510 zu erzeugen.
  • Mit Bezugnahme auf das Beispiel, das in 4 gezeigt ist, enthält das Referenzmodell 204 einen Oberste-Ebene-Knoten, Satz (1), der einen Tabellenknoten (2) und einen Wertknoten (6) enthält. Der Tabellenknoten (2) enthält drei Knoten: einen Wertknoten (3), einen Arrayknoten (4) und einen Wertknoten (5). Durch ein Erzeugen von drei Zeilen des Tabellenknotens (2) werden bei dem exemplarischen Paketobjekt 206 zwölf Knoten erzeugt.
  • Es kann vorteilhaft sein, alle XML-Dateien zur Startzeit syntaktisch zu analysieren, um sicherzustellen, dass alle Modelle für die gesamte Sitzung verfügbar sind. Dies kann sich jedoch als unnötig erweisen, da eine gegebene Testsitzung eventuell nur einen Teilsatz von Paketen erfordert. Deshalb kann es sich als vorteilhaft erweisen, nach Bedarf syntaktisch zu analysieren, wie es mit Bezug auf 5 beschrieben ist.
  • Bei Schritt 512 wird eine Karte erzeugt und dem Referenzmodell 204 zugeordnet, das eine Karte von Referenzpaketobjekten aufrechterhält, d. h. Paketobjekten, die durch das Referenzmodell 204 beschrieben sind, die per Name indexiert sind. Dies ist erwünscht, da ein einziges Referenzmodell 204 die Beschreibung einer Mehrzahl von Referenzpaketobjekten enthalten kann. Die Karte kann verwendet werden, um ein geeignetes Referenzmodell 204 (oder einen Teil desselben), das das gewünschte Paket beschreibt, wiederzugewinnen, wenn ein Paketobjekt 206 instantiiert werden soll.
  • Anschließend wird bei Schritt 514 das Referenzmodell 204 an eine Routine weitergegeben, die das Paketobjekt 206 erzeugt. Auf diese Weise wird ein neues Paketobjekt 206 aus dem zugeordneten Referenzmodell 204 erzeugt, eigentlich instantiiert. Allgemein weist ein Paketobjekt 206 einen Kopfblock, der das zugeordnete Referenzmodell 204 anzeigt, und eine Datenstruktur zum Halten der Daten auf, die mit den Elementen in Beziehung stehen, die in dem Referenzmodell 204 beschrieben sind. Wenn es zunächst erzeugt ist, kann die Datenstruktur, wo verfügbar, mit Voreinstellungswerten, die in den Attributen definiert sind, bestückt werden. Wo es nötig ist, können Werte aktualisiert oder durch einen Benutzer oder eine andere Routine eingegeben werden.
  • Jeder Knoten in dem Paketobjekt 206 weist einen entsprechenden Referenzpaketknoten auf. Das Vorliegen von Tabellen bedeutet jedoch, dass die Entsprechung nicht unbedingt eins zu eins ist. Das liegt daran, dass ein Paketobjekt 206 mehrere Instanzen eines bestimmten Knotens aufweisen kann – eine für jede Zeile in der Tabelle. Das Paketobjekt 206 muss die Attributinformationen, die in dem Referenzmodell 204 enthalten sind, nicht umfassen (kann jedoch). Attributinformationen können, wenn nötig, von dem Referenzpaket 204 erhalten werden.
  • Jedem Knoten in dem Paket einen Index zuzuweisen kann eine effiziente Navigation zwischen Knoten des Paketobjekts 206 erleichtern. Die Zahl in Klammern bei jedem Knoten in 4 zeigt ein Beispiel eines Indexiersystems. Bei dem Referenzmodell 204 ist jedem Referenzknoten ein Index zugeteilt. Jeder Referenzknoten, der ein Behälter ist, wie z. B. ein Satz oder eine Tabelle, kann konfiguriert sein, um die Indizes seiner Gliedknoten aufzuzeichnen. Jeder Knoten in einem Paketobjekt 206 bekommt den gleichen Index wie sein entsprechender Referenzknoten 204. Ein Paketindexvektor von aktiven Knoten in einem Paketobjekt 206 kann für eine effiziente Navigation von Knoten in dem Objekt verwendet werden. Jeder aktive Knoten zeichnet seinen Index in dem Vektor auf. In dem Fall von Tabellen kann das Vorhandensein von mehreren Zeilen (und somit Knoteninstanzen) durch ein Bezeichnen einer aktuellen (oder ausgewählten) Zeile in der Tabelle verwaltet werden. Wenn eine Zeile ausgewählt ist, registrieren sich die Knoten in der ausgewählten Zeile selbst mit dem Paketindexvektor. Auf diese Weise können nur die Knoten in der aktuellen Zeile navigiert werden – eine Zeile muss ausgewählt sein, bevor auf Knoten zugegriffen werden kann.
  • Um ein Verständnis des Prozesses zum Umwandeln einer Paketdefinition in ein Paketmodell zu erleichtern, sind die folgenden Tabellen präsentiert. Tabelle 6 zeigt eine Teilpaketdefinition (die drei einzelne Pakete umfasst), während Tabelle 7 ein konzeptzionelles Beispiel eines Referenzmodells ist, das auf der Paketdefinition basiert, die in Tabelle 6 enthalten ist. TABELLE 6
    Figure 00230001
    TABELLE 7
    Figure 00230002
    Figure 00240001
  • API
  • Da ein Paket tatsächlich ein selbstdokumentierendes Datenmodell ist, kann eine Gruppe von allgemeinen Routinen formuliert sein, um mit den Paketen eine Schnittstelle zu bilden. Derartige Routinen können hinsichtlich ihrer Funktionen als Anwendungsprogrammschnittstellen (APIs) betrachtet werden. Es ist erwünscht, Routinen für die Erzeugung, z. B. Instantiierung, von Paketen, das Lesen von Paketen und das Schreiben von Paketen zu liefern. Tabelle 8 liefert Beispiele für Routinen, die einen selbstdokumentierenden Code verwenden, die eine allgemeine Schnittstelle mit Paketen beschreiben, einschließlich Lese- und Schreibschnittstellen. TABELLE 8
    Figure 00240002
    Figure 00250001
    Figure 00260001
    Figure 00270001
    Figure 00280001
    Figure 00290001
    Figure 00300001
    Figure 00310001
    Figure 00320001
    Figure 00330001
  • Es kann bevorzugt werden, eine Reihe von Routinen für die Verwaltung von Paketen bereitzustellen. Eine derartige Verwaltung kann durch die Client-Anwendungen, z. B. den Host 302 und die Protokollemulatorkarte 304 in dem in 3 gezeigten Ausführungsbeispiel, geliefert werden. Es kann sich jedoch als vorteilhaft erweisen, eine Sammlung von Verwaltungsroutinen bereitzustellen, die durch die Client-Anwendungen verbunden sein können, wobei derartige Routinen hier zusammen als Paketspeicher bezeichnet sind. Bevorzugt wird ein Paketspeicher durch jede Softwarekomponente, die unter Verwendung von Paketen kommuniziert, bereitgestellt. Beispielsweise kann ein Paketspeicher zuständig sein für: Erzeugen von Paketen für Clients; Codieren und Senden von Paketen zu einem Bestimmungsortpaketspeicher (z. B. Serialisierung); Decodieren und Puffern von ankommenden Paketen von einem anderen Paketspeicher; und Benachrichtigen der Clients, wenn neue Paketdaten verfügbar sind. Tabelle 9 liefert ein Muster eines selbstdokumentierten Codes für eine Schnittstelle zu einem Paketspeicher. Tabelle 9
    Figure 00330002
    Figure 00340001
    Figure 00350001
    Figure 00360001
    Figure 00370001
  • Eine Grundfunktion des oben beschriebenen Paketspeichers, die bei jedem Nachrichtenübermittlungssystem erwünscht sein kann, ist Puffern. Im Allgemeinen bedeutet puffern das vorübergehende Halten von Paketen, bis das empfangende (oder sendende) System bereit ist, die Informationen, die in dem Paket enthalten sind, zu verarbeiten. Zum Beispiel können Pakete durch einen Client aus einem Puffer auf der Sendeseite gezogen werden, wenn dies erforderlich ist, um eine Hostlast zu minimieren. Alternativ dazu können Pakete durch die Sendeseite zu einer Vielzahl von Typen von Puffern auf der Empfangsseite geschoben werden, um eine Ansprechempfindlichkeit zu optimieren. Der Puffertyp kann in der XML-Paketdefinition spezifiziert sein und durch das Paketreferenzmodell bekannt gegeben werden. Alternativ dazu könnte der Typ basierend auf Informationen in dem serialisierten Paket bestimmt werden. Die Anwendung kann leistungsabgestimmt sein durch ein Einstellen der Paketpuffertypen in der XML, ohne dass die Client-Schnittstelle beeinflusst wird oder es erforderlich ist, Software neu zu schreiben oder neu zu kompilieren.
  • Einige Beispiele für geeignete Puffertypen sind in Tabelle 10 offenbart: TABELLE 10
    Figure 00380001
    Figure 00390001
  • Um Bandbreite zu sparen, können Pakete vor dem Senden serialisiert werden. Wie derselbe hier verwendet wird, bezeich net der Begriff Serialisierung allgemein einen Prozess, durch den Daten in einem Paket auseinandergenommen und in einer seriellen Weise angeordnet werden, normalerweise basierend auf dem Index jedes der Elemente. Eine minimale Menge Identifikationsmaterial wird in dem Kopfblock des se rialisierten Pakets geliefert, um die Wiederherstellung des Pakets am Empfangsende zu ermöglichen. Tabelle 11 beschreibt einen möglichen Prozess der Serialisierung für die verschiedenen Elemente eines Pakets. TABELLE 11
    Figure 00390002
  • VERSCHIEDENES
  • Obwohl bestimmte Ausführungsbeispiele der vorliegenden Erfindung gezeigt und beschrieben wurden, ist für Fachleute zu erkennen, dass Veränderungen an diesen Ausführungsbeispielen vorgenommen werden können, ohne von den Grundsätzen und der Wesensart der Erfindung abzuweichen, deren Schutzbereich in den Ansprüchen und ihren Äquivalenten definiert ist.
  • Zum Beispiel besteht ein Vorteil des Verwendens einer Paketstruktur einschließlich Definition und Referenzmodell darin, dass die Erzeugung von Graphische-Benutzerschnittstelle-(GUI)Elementen automatisiert werden kann. In anderen Worten kann der Inhalt eines Pakets unter Verwendung eines Formats angezeigt werden, das basierend auf dem Paket selbst abgeleitet ist. Durch ein syntaktisches Analysieren der Paketdefinition oder des Referenzmodells kann eine Schnittstelle während des Betriebs hergestellt werden. Eine derartige Schnittstelle kann zum Betrachten des Inhalts eines Pakets oder zur Paketerzeugung und -editierung verwendet werden.
  • 6 zeigt eine Schnittstelle, die basierend auf der Tabellenstruktur erzeugt ist, die in der Paketdefinition definiert ist, die in Tabelle 13 enthalten ist. TABELLE 13
    Figure 00400001
  • 7 zeigt eine Schnittstelle, die basierend auf den Sätzen von Werten erzeugt ist, die in der Paketdefinition definiert sind, die in Tabelle 14 enthalten ist. In 7 ist eine Baumstruktur ausgewählt, um die hierarchische Beschaffenheit der in der Definition beschriebenen Daten zu betonen. TABELLE 14
    Figure 00410001
  • Ein weiteres Beispiel für Veränderungen, die an diesen Ausführungsbeispielen vorgenommen werden können, ohne von den Grundsätzen und der Wesensart der Erfindung abzuweichen, ist die Bereitstellung einer Einrichtung, um iterativ Paketinstanzen zu erzeugen. Sollte z. B. eine Reihe von Paketen erwünscht sein, wobei sich ein oder mehr Werte unter Paketen unterscheiden, kann eine iterative Funktion bereitgestellt sein, die diese Paketwerte in relativer Form definiert, wie z. B. +1. Auf diese Weise kann ein einzelnes Paket verwendet werden, um parametrisch durch die Verwendung von Paketiteration viele unterschiedliche Pakete zu erzeugen. Wird das Beispiel einer Protokollemulationsanwendung verwendet, kann es erwünscht sein, einen Sitzungspool von vielen Sitzungen zu erzeugen, der unter Verwendung der Pakete nur einer Sitzung definiert ist. Dies kann implementiert sein durch ein Etikettieren bestimmter Werte in dem XML-Modell mit Voreinstellungsinkrementattributen. Das In krement wird verwendet, um jeden Wert für jede Iteration des Pakets einzustellen. Zum Beispiel kann ein Wert ein Voreinstellungsinkrement von „10" spezifizieren. Falls der Wert bei dem ersten Paket 50 beträgt, beträgt der Wert, wenn das Paket einmal iterativ wiederholt wird, 60. Falls das Paket zweimal iterativ wiederholt wird, beträgt der Wert 70. Das Voreinstellungsinkrement kann auch durch eine Inkrementierfunktion berechnet werden. Dies ermöglicht, dass der Voreinstellungsinkrementwert basierend auf anderen Werten in dem Paket intelligent zugewiesen wird.

Claims (45)

  1. Verfahren zum Übertragen von Daten von einer Sendevorrichtung zu einer Empfangsvorrichtung, wobei das Verfahren folgende Schritte aufweist: Herstellen einer Beschreibung (202n) der Struktur der Daten; Liefern der Beschreibung der Daten an die Sendevorrichtung und die Empfangsvorrichtung; Erzeugen eines Referenzmodells (204n) der Datenstruktur unter Verwendung der Beschreibung der Daten während der Laufzeit bei jeder der Sende- und der Empfangsvorrichtung; wie angefordert, Erzeugen einer Instanz des Referenzmodells mit den Daten an der Sendevorrichtung; Serialisieren der Daten in der Instanz; Übertragen der serialisierten Daten von der Sendevorrichtung zu der Empfangsvorrichtung; und Erzeugen einer Instanz der Daten an der Empfangsvorrichtung basierend auf dem Referenzmodell.
  2. Verfahren gemäß Anspruch 1, bei dem der Schritt des Herstellens einer Beschreibung (202n) der Struktur der Daten ein Erzeugen einer XML-Datei aufweist, die die Datenstruktur beschreibt.
  3. Verfahren gemäß Anspruch 1 oder 2, bei dem die Beschreibung (202n) der Struktur der Daten ein Aufrufen von externen Prozessen umfasst.
  4. Verfahren gemäß Anspruch 1 oder 2, bei dem die Beschreibung (202n) der Struktur der Daten Werte umfasst, die auf anderen Werten in der Datenstruktur basieren.
  5. Verfahren gemäß einem der Ansprüche 1 bis 4, bei dem der Schritt des Herstellens einer Beschreibung (202n) der Struktur der Daten ein Beschreiben der Daten auf eine hierarchische Weise aufweist.
  6. Verfahren gemäß einem der Ansprüche 1 bis 4, bei dem der Schritt des Herstellens einer Beschreibung (202n) der Struktur der Daten ein Beschreiben der Daten unter Verwendung von Tabellen aufweist.
  7. Verfahren gemäß einem der Ansprüche 1 bis 4, bei dem der Schritt des Herstellens einer Beschreibung (202n) der Struktur der Daten ein Beschreiben der Daten auf eine hierarchische Weise und unter Verwendung von Tabellen aufweist.
  8. Verfahren gemäß einem der Ansprüche 1 bis 4, bei dem der Schritt des Herstellens einer Beschreibung (202n) der Struktur der Daten ein Beschreiben der Daten unter Verwendung von definierten Elementen, wie z. B. Wert, Array, Satz, Tabelle und mit Schlüssel versehene Tabelle, aufweist.
  9. Verfahren gemäß einem der Ansprüche 1 bis 8, bei dem der Schritt des Herstellens einer Beschreibung (202n) der Struktur der Daten ein Definieren von Elementen zum Halten von Werten oder anderen Elementen und Attributen der Elemente aufweist.
  10. Verfahren gemäß Anspruch 9, bei dem die Attribute einen beschreibenden Namen des Elements, eine Beschreibung des Elements, eine Länge des Elements, ein Dar stellungsformat des Elements und einen Bereich von möglichen Werten für das Element umfassen.
  11. Verfahren gemäß einem der Ansprüche 1 bis 10, bei dem der Schritt des Erzeugens eines Referenzmodells (204n) folgende Schritte aufweist: Erzeugen eines Knotens für jedes Element der Daten; und Indexieren der Knoten des Referenzmodells.
  12. Verfahren gemäß Anspruch 11, bei dem der Schritt des Serialisierens der Daten ein Ordnen der Daten auf lineare Weise basierend auf dem Index eines Knotens, von dem ein Datenelement genommen wurde, aufweist.
  13. Verfahren gemäß einem der Ansprüche 1 bis 12, bei dem der Schritt des Serialisierens der Daten ein Erzeugen einer Binärdatei mit den Daten aufweist, die auf lineare Weise basierend auf dem Index des Knotens, von dem ein Datenelement genommen wurde, geordnet sind.
  14. Verfahren gemäß einem der Ansprüche 1 bis 11, bei dem der Schritt des Serialisierens der Daten ein Erzeugen einer XML-Datei aufweist.
  15. Verfahren zum Kommunizieren mit einer Protokollemulation, wobei das Verfahren folgende Schritte aufweist: Herstellen einer Beschreibung (202n) der Struktur der Daten, die benötigt wird, um die Protokollemulation zu steuern; Liefern der Beschreibung der Daten an eine Steuerung und die Protokollemulation; Erzeugen eines Referenzmodells (204n) der Datenstruktur unter Verwendung der Beschreibung der Daten während der Laufzeit bei jedem der Steuerung und der Protokollemulation; wie angefordert, Erzeugen einer Instanz des Referenzmodells mit den Daten an der Steuerung; Serialisieren der Daten in der Instanz; Übertragen der serialisierten Daten von der Steuerung zu der Protokollemulation; und Erzeugen einer Instanz der Daten an der Protokollemulation basierend auf dem Referenzmodell.
  16. Verfahren gemäß Anspruch 15, bei dem der Schritt des Herstellens einer Beschreibung (202n) der Struktur der Daten ein Erzeugen einer XML-Datei aufweist, die die Struktur der Datenstruktur beschreibt.
  17. Verfahren gemäß Anspruch 15 oder 16, bei dem die Beschreibung (202n) der Struktur der Daten ein Aufrufen von externen Prozessen umfasst.
  18. Verfahren gemäß Anspruch 15 oder 16, bei dem die Beschreibung (202n) der Struktur der Daten Werte umfasst, die auf anderen Werten in der Datenstruktur basieren.
  19. Verfahren gemäß einem der Ansprüche 15 bis 18, bei dem der Schritt des Herstellens einer Beschreibung (202n) der Struktur der Daten ein Beschreiben der Daten auf eine hierarchische Weise aufweist.
  20. Verfahren gemäß einem der Ansprüche 15 bis 18, bei dem der Schritt des Herstellens einer Beschreibung (202n) der Struktur der Daten ein Beschreiben der Daten unter Verwendung von Tabellen aufweist.
  21. Verfahren gemäß einem der Ansprüche 15 bis 18, bei dem der Schritt des Herstellens einer Beschreibung (202n) der Struktur der Daten ein Beschreiben der Daten auf eine hierarchische Weise und unter Verwendung von Tabellen aufweist.
  22. Verfahren gemäß einem der Ansprüche 15 bis 18, bei dem der Schritt des Herstellens einer Beschreibung (202n) der Struktur der Daten ein Beschreiben der Daten unter Verwendung von definierten Elementen, wie z. B. Wert, Array, Satz, Tabelle und mit Schlüssel versehene Tabelle, aufweist.
  23. Verfahren gemäß einem der Ansprüche 15 bis 22, bei dem der Schritt des Herstellens einer Beschreibung (202n) der Struktur der Daten ein Definieren von Elementen zum Halten von Werten oder anderen Elementen und Attributen der Elemente aufweist.
  24. Verfahren gemäß Anspruch 23, bei dem die Attribute einen beschreibenden Namen des Elements, eine Beschreibung des Elements, eine Länge des Elements, ein Darstellungsformat des Elements und einen Bereich von möglichen Werten für das Element umfassen.
  25. Verfahren gemäß einem der Ansprüche 15 bis 24, bei dem der Schritt des Erzeugens eines Referenzmodells (204n) folgende Schritte aufweist: Erzeugen eines Knotens für jedes Element der Daten; und Indexieren der Knoten des Referenzmodells.
  26. Verfahren gemäß Anspruch 25, bei dem der Schritt des Serialisierens der Daten ein Ordnen der Daten auf lineare Weise basierend auf dem Index eines Knotens, von dem ein Datenelement genommen wurde, aufweist.
  27. Verfahren gemäß einem der Ansprüche 15 bis 26, bei dem der Schritt des Serialisierens der Daten ein Erzeugen einer Binärdatei mit den Daten aufweist, die auf lineare Weise basierend auf dem Index des Knotens, von dem ein Datenelement genommen wurde, geordnet sind.
  28. Verfahren gemäß einem der Ansprüche 15 bis 26, bei dem der Schritt des Serialisierens der Daten ein Erzeugen einer XML-Datei aufweist.
  29. Verfahren gemäß einem der Ansprüche 15 bis 28, das ferner folgende Schritte aufweist: wie angefordert, Erzeugen einer Instanz des Referenzmodells (204n) mit einem zweiten Datensatz an der Protokollemulation; Serialisieren des zweiten Datensatzes in der Instanz; Übertragen des serialisierten zweiten Datensatzes von der Protokollemulation zu der Steuerung; und Erzeugen einer Instanz des zweiten Datensatzes an der Steuerung basierend auf dem Referenzmodell.
  30. Verfahren gemäß einem der Ansprüche 15 bis 29, bei dem die Daten zumindest eines von Befehlen; Sitzungsdaten; und Topologie aufweisen.
  31. Verfahren gemäß Anspruch 29, bei dem der zweite Datensatz zumindest eines von Statistik; Topologie; und Nachrichtenverfolgung aufweist.
  32. Verfahren gemäß einem der Ansprüche 15 bis 31, bei dem der Schritt des Erzeugens folgenden Schritt aufweist: Erzeugen einer Mehrzahl von Instanzen des Referenzmodells (204n) mit den Daten an der Steuerung, wobei jede Instanz basierend auf Anweisungen, die durch einen Benutzer geliefert werden, variiert.
  33. System zum Übertragen von Daten, das folgende Merkmale aufweist: einen Client-Computer (302), der eine Beschreibung (202n) einer Struktur eines Datensatzes umfasst; eine Software, die auf dem Client-Computer wirksam ist, die während der Laufzeit ein Referenzmodell (204n) der Struktur unter Verwendung der Beschreibung erzeugt und, wie angefordert, eine Instanz des Referenzmodells erzeugt, die mit einem Datensatz bestückt ist; eine Kommunikationssoftware, die auf dem Client-Computer wirksam ist, die den Datensatz in der Instanz serialisiert und sendet; und einen Server (304), der den serialisierten Datensatz empfängt und eine Instanz des Datensatzes an der Empfangsvorrichtung basierend auf dem Referenzmodell erzeugt.
  34. System gemäß Anspruch 33, bei dem dem Server (304) die Beschreibung (202n) der Struktur der Daten geliefert wird und derselbe unter Verwendung der Beschreibung eine Kopie des Referenzmodells (204n) erzeugt.
  35. System gemäß Anspruch 34, bei dem der Client-Computer (302) dem Server (304) die Beschreibung (202n) beim Start liefert.
  36. System gemäß einem der Ansprüche 33 bis 35, bei dem der Server (304) einen Protokollemulator aufweist und die Daten Befehle, Sitzungsdaten und Topologieinformationen aufweisen.
  37. System gemäß einem der Ansprüche 33 bis 36, das ferner folgende Merkmale aufweist: eine Software, die auf dem Server (304) wirksam ist, die ein zweites Referenzmodell (204n) einer zweiten Datenstruktur unter Verwendung der Beschreibung (202n) der Struktur der zweiten Datenstruktur erzeugt und, wie angefordert, eine Instanz des zweiten Referenzmodells erzeugt, die mit einem zweiten Datensatz bestückt ist; und eine Kommunikationssoftware, die auf dem Servercomputer wirksam ist, die den zweiten Datensatz in der Instanz serialisiert und die serialisierten Daten an den Client-Computer (202) sendet.
  38. System gemäß einem der Ansprüche 35 bis 37, bei dem der Server (304) einen Protokollemulator aufweist und der zweite Datensatz zumindest eines von Statistik; Topologie; und Nachrichtenverfolgung aufweist.
  39. System gemäß einem der Ansprüche 33 bis 38, bei dem die Software das Referenzmodell (204n) eine Mehrzahl von Malen instantiiert, um eine Mehrzahl von Objekten (206) zu erzeugen.
  40. System gemäß einem der Ansprüche 33 bis 39, bei dem sich jedes Objekt (206) von anderen Objekten auf eine definierte Weise unterscheidet.
  41. System gemäß einem der Ansprüche 33 bis 40, das ferner folgendes Merkmal aufweist: eine Anwendungsprogrammierschnittstelle zum Bilden einer Schnittstelle mit der Software auf eine Weise, die von den Daten unabhängig- ist.
  42. System gemäß einem der Ansprüche 33 bis 41, das ferner folgendes Merkmal aufweist: eine Graphikbenutzerschnittstelle (312), die dynamisch eine Schnittstelle basierend auf dem Referenzmodell (204n) erzeugt.
  43. System gemäß einem der Ansprüche 33 bis 42, bei dem das Referenzmodell (204n) Attribute umfasst, die die Daten beschreiben.
  44. System gemäß Anspruch 43, das ferner folgendes Merkmal aufweist: eine Graphikbenutzerschnittstelle (312), die dynamisch eine Schnittstelle zum Anzeigen von Daten in der Instanz des Referenzmodells (204n) erzeugt, basierend auf den Attributen, die in dem Referenzmodell enthalten sind.
  45. System zum Steuern eines Protokollemulators (304), das folgende Merkmale aufweist: eine Einrichtung zum Umwandeln einer Beschreibung (202n) einer Struktur eines Datensatzes, die verwendet wird, um den Protokollemulator zu steuern, in ein Referenzmodell (204n) der Struktur; eine Einrichtung zum Instantiieren des Referenzmodells, um Objekte (206n) zum Halten des Datensatzes zu erzeugen; eine Kommunikationseinrichtung an dem Host zum Serialisieren und Senden des Datensatzes in dem Objekt; und eine Servereinrichtung zum Empfangen des serialisierten Datensatzes und zum Erzeugen einer Instanz des Datensatzes an der Empfangsvorrichtung basierend auf dem Referenzmodell; wobei der Protokollemulator gemäß dem Datensatz an der Servereinrichtung wirksam ist.
DE102005013301A 2004-05-21 2005-03-22 Verteiltes Datenmodell Withdrawn DE102005013301A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/851,303 US8086660B2 (en) 2004-05-21 2004-05-21 Distributed data model
US10/851,303 2004-05-21

Publications (1)

Publication Number Publication Date
DE102005013301A1 true DE102005013301A1 (de) 2006-02-16

Family

ID=34465815

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005013301A Withdrawn DE102005013301A1 (de) 2004-05-21 2005-03-22 Verteiltes Datenmodell

Country Status (5)

Country Link
US (1) US8086660B2 (de)
JP (1) JP4991124B2 (de)
CN (1) CN1700665A (de)
DE (1) DE102005013301A1 (de)
GB (1) GB2414312A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021200191B3 (de) 2021-01-11 2022-04-07 Geze Gmbh Verfahren zum Verarbeiten von Konfigurations-Daten einer Vielzahl von Entitäten, damit zusammenwirkende Verfahren und Vorrichtungen sowie Computerprogrammprodukt und Signalfolge

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7984294B1 (en) * 2005-04-14 2011-07-19 Avaya Inc. Method and apparatus for trust based routing in data networks
WO2008054790A2 (en) * 2006-10-31 2008-05-08 Live Cargo, Inc. Systems and methods for optimized serialization
US8462369B2 (en) 2007-04-23 2013-06-11 International Business Machines Corporation Hybrid image processing system for a single field of view having a plurality of inspection threads
US8675219B2 (en) 2007-10-24 2014-03-18 International Business Machines Corporation High bandwidth image processing with run time library function offload via task distribution to special purpose engines
US9135073B2 (en) 2007-11-15 2015-09-15 International Business Machines Corporation Server-processor hybrid system for processing data
US9332074B2 (en) 2007-12-06 2016-05-03 International Business Machines Corporation Memory to memory communication and storage for hybrid systems
US8379963B2 (en) * 2008-03-28 2013-02-19 International Business Machines Corporation Visual inspection system
US7958387B2 (en) 2008-05-30 2011-06-07 Spirent Communications, Inc. Realtime test result promulgation from network component test device
US8264972B2 (en) * 2008-05-30 2012-09-11 Spirent Communications, Inc. Method and apparatus for emulating network devices
CN101957851B (zh) * 2010-09-26 2012-07-18 清华大学 一种用于仿真系统的配置数据的存储管理方法和装置
CN102594583B (zh) * 2011-11-23 2014-09-17 华为技术有限公司 流量监测和切换的方法、装置及系统
US9152740B1 (en) * 2012-01-18 2015-10-06 Msc.Software Corporation Interactive simulation and solver for mechanical, fluid, and electro-mechanical systems
CN103428192A (zh) * 2012-05-25 2013-12-04 腾讯科技(北京)有限公司 一种封装与解析二进制协议数据的方法和装置
US9652264B2 (en) * 2012-09-21 2017-05-16 Ixia Methods, systems, and computer readable media for providing a unified framework to support diverse data generation engines
US9628356B2 (en) * 2013-10-10 2017-04-18 Ixia Methods, systems, and computer readable media for providing user interfaces for specification of system under test (SUT) and network tap topology and for presenting topology specific test results
US9356855B2 (en) * 2013-10-10 2016-05-31 Ixia Methods, systems, and computer readable media for providing for specification or autodiscovery of device under test (DUT) topology information
US11182399B2 (en) 2018-09-04 2021-11-23 Spirent Communications, Inc. Effective correlation of multiple time-series result sets
US10917326B1 (en) 2019-08-23 2021-02-09 Keysight Technologies, Inc. Methods, systems, and computer readable media for debugging test traffic generation

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4745593A (en) 1986-11-17 1988-05-17 American Telephone And Telegraph Company, At&T Bell Laboratories Arrangement for testing packet switching networks
US5818603A (en) 1996-03-29 1998-10-06 Ricoh Company, Ltd. Method and system for controlling and communicating with machines using multiple communication formats
US5680585A (en) 1995-03-31 1997-10-21 Bay Networks, Inc. Method and apparatus for defining data packet formats
US5822520A (en) 1995-12-26 1998-10-13 Sun Microsystems, Inc. Method and apparatus for building network test packets
US5948060A (en) 1997-01-24 1999-09-07 International Business Machines Corporation Speeding-up communication rates on links transferring data structures by a method of handing scatter/gather of storage blocks in commanded computer systems
JPH10285252A (ja) * 1997-02-10 1998-10-23 Advantest Corp 通信機器の試験・測定方法及び装置
US5961589A (en) * 1997-09-09 1999-10-05 Intel Corporation Emulation of analog modem signaling over IDSN for translation-less interoperability with PSTN based H.324 system
US6167537A (en) 1997-09-22 2000-12-26 Hewlett-Packard Company Communications protocol for an automated testing system
US20010011215A1 (en) * 1998-08-31 2001-08-02 Scott A. Beeker Network device simulation system and method
US6654761B2 (en) * 1998-07-29 2003-11-25 Inxight Software, Inc. Controlling which part of data defining a node-link structure is in memory
US6373822B1 (en) 1999-01-08 2002-04-16 Cisco Technology, Inc. Data network protocol conformance test system
US6356950B1 (en) 1999-01-11 2002-03-12 Novilit, Inc. Method for encoding and decoding data according to a protocol specification
US6710893B1 (en) 1999-11-02 2004-03-23 Ricoh Co., Ltd. Automated system and method of testing a facsimile machine
US20040268242A1 (en) 2000-08-09 2004-12-30 Microsoft Corporation Object persister
JP2002108665A (ja) 2000-09-29 2002-04-12 Toshiba Information Systems (Japan) Corp 電子データ配信システム、データベース・タグ書式データ変換インターフェース、タグ名・セル名変換インターフェース、セルデータ書込みインターフェース及び電子データ配信方法
JP2002152206A (ja) * 2000-11-10 2002-05-24 Hitachi Ltd ルータ装置の検証方式
JP2002152317A (ja) 2000-11-10 2002-05-24 Fujitsu Ltd 試験装置
US6993037B2 (en) 2001-03-21 2006-01-31 International Business Machines Corporation System and method for virtual private network network address translation propagation over nested connections with coincident local endpoints
US20020156885A1 (en) * 2001-04-23 2002-10-24 Thakkar Bina Kunal Protocol emulator
US6928488B1 (en) * 2001-06-27 2005-08-09 Microsoft Corporation Architecture and method for serialization and deserialization of objects
JP3985944B2 (ja) 2001-11-22 2007-10-03 株式会社日立超エル・エス・アイ・システムズ ネットワーク装置およびプログラム
US8089888B2 (en) 2001-12-10 2012-01-03 Qualcomm Incorporated Method and apparatus for testing traffic and auxiliary channels in a wireless data communication system
US20030156548A1 (en) 2002-02-15 2003-08-21 Sapp Kevin Allen Methods and systems for testing throughput of a packet-based communications node
FR2836568A1 (fr) 2002-02-28 2003-08-29 Bull Sa Procede iteratif de serialisation d'objets logiciels structures
US7278061B2 (en) 2002-10-08 2007-10-02 Agilent Technologies, Inc. Building packets of data for testing a communication network
US7970779B2 (en) * 2003-09-12 2011-06-28 Oracle International Corporation Application interface including dynamic transform definitions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021200191B3 (de) 2021-01-11 2022-04-07 Geze Gmbh Verfahren zum Verarbeiten von Konfigurations-Daten einer Vielzahl von Entitäten, damit zusammenwirkende Verfahren und Vorrichtungen sowie Computerprogrammprodukt und Signalfolge

Also Published As

Publication number Publication date
GB0504878D0 (en) 2005-04-13
JP4991124B2 (ja) 2012-08-01
US8086660B2 (en) 2011-12-27
GB2414312A (en) 2005-11-23
CN1700665A (zh) 2005-11-23
JP2005339538A (ja) 2005-12-08
US20050259594A1 (en) 2005-11-24

Similar Documents

Publication Publication Date Title
DE102005013301A1 (de) Verteiltes Datenmodell
DE102005016032A1 (de) Tragbarer verteilter Anwendungsrahmen
DE68926567T2 (de) Nachrichten- und Bildschirmübertragung für Rechner in einem mehrsprachigen Netzwerk
DE69534334T2 (de) Stapelübertragungssystem und -verfahren für graphische Hochleistungsdarstellung von Netztopologie
DE69216130T2 (de) Verfahren und Vorrichtung zur verbesserten Verteilung von elektronischen Mitteilungen
DE69801816T2 (de) Vorrichtung und verfahren zur aktualisierung und zur synchronisierung von informationen zwischen einem klient und einem server
DE60313371T2 (de) Verwendung von baumartigen &#34;Bitmap&#34; Datenstrukturen
DE69832354T2 (de) Netzwerkverwaltungsrahmenwerk
DE69827747T2 (de) Druckersystem und Übertragungsvorrichtung um Druckersteuerungsprogramm zu übertragen
DE69931473T2 (de) Eingang/ausgang scanner für ein steuersystem mit gleichrangiger ermittlung
DE60112103T2 (de) Verfahren und Vorrichtung zur effizientes Verringerung von graphischen Anzeigedaten für ihre Übertragung mittels eines Übertragungsprotokolls für niedrige Bandbreiten
DE69637436T2 (de) Objektorientiertes Kommunikationssystem mit Unterstützung für mehrere entfernte Maschinentypen
DE69534411T2 (de) Offenes Transaktionverwaltungszugriffsystem und Verfahren
DE69637142T2 (de) Netzwerkverwaltung mit Erfassung von formatierten Abzugdaten aus einem Fernprozess
DE102005011845A1 (de) Protokollemulator
DE602004004601T2 (de) Verteilung von Mitgliedschaftsinformationen für Mehrfachteilnehmersitzungen auf der Applikationsebene
DE10205108A1 (de) System und Verfahren zum Zugreifen auf Softwarekomponenten in einer verteilten Netzwerkumgebung
DE10024715B4 (de) Verfahren und Vorrichtung zum Einrichten einer Zwei-Wege-Übertragung zwischen einem Host-System und einer Vorrichtung
DE4319912A1 (de) Echtzeitdaten-Abbildungsnetzwerksystem und Verfahren zum Betreiben desselben
DE19810807A1 (de) Gerät und Verfahren zum Umsetzen von Meldungen
DE10065656A1 (de) Faserkanalschnittstellensteuerungseinrichtung, die eine nicht blockierende Ausgabe und Eingabe von Faserkanaldatenrahmen und Quittierungsrahmen in und von einem Faserkanal durchführt
DE60124722T2 (de) Verfahren zur übertragung eines mobilen agenten in einem netzwerk; sender, empfänger und zugehöriger mobiler agent
EP1128602B1 (de) Vorrichtung zum Aufbau eines Protokoll-Stacks und zugehöriges Verfahren
DE112010004809B4 (de) Mehrfachgranulare Datenstromverarbeitung
DE60128622T2 (de) Betriebssystem für strukturierte Verarbeitung von Information

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: AGILENT TECHNOLOGIES, INC. (N.D.GES.D. STAATES, US

8139 Disposal/non-payment of the annual fee