DE60031665T2 - System und verfahren zur dateienfernübertragung - Google Patents

System und verfahren zur dateienfernübertragung Download PDF

Info

Publication number
DE60031665T2
DE60031665T2 DE60031665T DE60031665T DE60031665T2 DE 60031665 T2 DE60031665 T2 DE 60031665T2 DE 60031665 T DE60031665 T DE 60031665T DE 60031665 T DE60031665 T DE 60031665T DE 60031665 T2 DE60031665 T2 DE 60031665T2
Authority
DE
Germany
Prior art keywords
file
data
messages
message
data messages
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.)
Expired - Fee Related
Application number
DE60031665T
Other languages
English (en)
Other versions
DE60031665D1 (de
Inventor
S. Gregory Odessa POVOLNY
Michael Lutz RIVERA
Randy Seffner TORRES
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.)
Metastorm Inc
Original Assignee
Metastorm 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 Metastorm Inc filed Critical Metastorm Inc
Publication of DE60031665D1 publication Critical patent/DE60031665D1/de
Application granted granted Critical
Publication of DE60031665T2 publication Critical patent/DE60031665T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • G06F16/1787Details of non-transparently synchronising file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Description

  • GEBIET DER ERFINDUNG
  • Die Erfindung bezieht sich allgemein auf das Gebiet der Dateiübertragungen und insbesondere auf ein System und ein Verfahren für das Übertragen von Dateien zwischen Computern in asynchroner Weise und über mehrere logische Verbindungen. Die Oberbegriffe der Ansprüche 1 und 13 beziehen sich auf ein System und ein Verfahren für das Übertragen einer Datei von einem ersten an einen zweiten Ort. Eine solche Offenbarung kann man der EP-A-0862304 entnehmen. Aus der US-A-5 680 400 ist schon ein Hochgeschwindigkeitsdatenübertragungsmechanismus bekannt. Aus der WO 9736405 ist ein Warteschlangenverwaltungssystem für das Lenken von Datenpaketen bekannt.
  • Das Aufkommen des Internets hat die Erzeugung einer Anzahl von Protokollen für das Übertragen von Dateien oder allgemeiner von Datenobjekten zwischen zwei Orten voran getrieben. Die am häufigsten verwendeten Protokolle umfassen das Dateiübertragungsprotokoll (file transfer protocol, FTP), das Übertragungssteuerprotokoll/Internetprotokoll (transfer control protocol/Internet protocol, TCP/IP) und das Telnet. Um eine Datei zu übertragen, verwendet jedes dieser Protokolle eine Punkt-zu-Punkt-Kommunikationsverbindung zwischen dem Ausgangsort der zu übertragenden Datei und dem Zielort, an den die Datei übertragen wird. Im allgemeinen muss die Anfrage für die Dateiübertragung vom Ausgangssystem aus gemacht werden. Die Datei wird dann über die Punkt-zu-Punkt-Kommunikationsverbindung gemäß den Regeln des speziellen Protokolls übertragen. Beispielsweise können die Protokolle die zu übertragende Datei in eine Anzahl von Segmenten aufteilen, die statt eines großen Bündels eines nach dem anderen gesendet werden.
  • Bei jedem dieser Protokolle wird eine Datei über eine einzelne logische Verbindung, die der Kommunikationsverbindung zwischen den Ausgangs- und Zielsystemen entspricht, übertragen. Zusätzlich erfolgt die Übertragung der Dateien synchron, wobei das Zielsystem eine Bestätigung sendet nach jedem Segment der Datei, das gesendet wurde. Teilweise müssen durch die synchrone Natur der Dateiübertragung die Ausgangs- und Zielsysteme beide miteinander arbeiten und kommunizieren, damit die Übertragung beginnen kann. Die Kommunikation muss auch für die Dauer der Dateiübertragung betriebsfähig gehalten werden, oder die Verarbeitung muss neu aufgenommen werden.
  • Wenn eine Dateiübertragung zwischen zwei Orten vorgenommen wird, werden die Daten in der Datei typischerweise auf einer Platte gespeichert, die als eine Archivaufzeichnung dient. Der Zweck von Archivaufzeichnungen besteht darin, die Daten, die übertragen werden, zu speichern, so das beim Auftreten eines Problems oder eines Fehlers während der Übertragung die Daten durch eine Übertragung von der Archivaufzeichnung neu gesendet werden können. Archivaufzeichnungen sind jedoch kostspielig, und der Schutz von großen oder vielen Dateien kann die Systemleistung vermindern.
  • Die Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren und ein System für die Dateiübertragung zu liefern, die eine größere Robustheit als im Stand der Technik liefern.
  • Gemäß der vorliegenden Erfindung werden ein System für das Übertragen einer Datei gemäß Anspruch 1 und ein Verfahren für das Übertragen einer Datei gemäß Anspruch 13 geliefert. Bevorzugte Ausführungsformen sind Gegenstand der Unteransprüche.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1A ist ein Blockdiagramm eines Dateiübertragungssystems gemäß der vorliegenden Erfindung.
  • 1B ist ein Blockdiagramm einer Nachrichtenstruktur, die in einem Dateiübertragungssystem gemäß der vorliegenden Erfindung verwendet werden kann.
  • 2 ist Flussdiagramm der Ausführung eines Dateiübertragungsverfahrens gemäß der vorliegenden Erfindung.
  • 3 ist ein Blockdiagramm eines Nachrichtenwarteschlangensystems für das Verwalten von Dateiübertragungen in einem Dateiübertragungssystem gemäß der vorliegenden Erfindung.
  • 4 ist ein Flussdiagramm eines Verfahrens für das Übertragen einer Datei unter Verwendung des Nachrichtenwarteschlangensystems der 3.
  • 5 ist ein Blockdiagramm eines Dateiübertragungssystems für das Übertragen einer Datei über mehrere Kanäle gemäß einem anderen Aspekt der vorliegenden Erfindung.
  • 6 ist ein Blockdiagramm eines Verfahrens für das Übertragen einer Datei über mehrere Kanäle gemäß einem anderen Aspekt der vorliegenden Erfindung.
  • 7 ist ein anderes Blockdiagramm eines Dateiübertragungssystems gemäß einem anderen Aspekt der vorliegenden Erfindung.
  • 8 ist ein Flussdiagramm eines Synchronisationswarteschlangenverfahrens für das Verwalten der Übertragung von Dateien in einem Dateiübertragungssystem gemäß der vorliegenden Erfindung.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Die vorliegende Erfindung wird im Kontext einer spezifischen Ausführungsform beschrieben, aber die Erfindung soll nicht darauf begrenzt sein.
  • 1A ist ein Blockdiagramm eines Dateiübertragungssystems 100 gemäß der vorliegenden Erfindung. Das Dateiübertragungssystem 100 umfasst einen Anfrageknoten 10, einen Verwaltungsknoten 20 für das Verarbeiten und Verwalten der Dateiübertragungsanfragen, der eine Synchronisationswarteschlange 22 aufweist, einen Ausgangsknoten 30 und einen Zielknoten 50. Der Ausgangsknoten 30 umfasst einen Ausgangsspeicher 32, wie ein Festplattenlaufwerk, für das Speichern einer Quelldatei, und eine Vielzahl von Übertragungswarteschlangen, um Nachrichten vor der Übertragung zu speichern. Der Zielknoten 50 umfasst eine oder mehrere Zielwarteschlangen für das Empfangen von Nachrichten und einen Zielspeicher 52, wie ein Festplattenlaufwerk, für das Speichern einer Zieldatei. Jeder der Knoten kann beispielsweise als ein Personalcomputer oder ein Arbeitsplatzrechner implementiert werden. Zusätzlich können die Kommunikationsverbindungen, die die physikalischen Kanäle zwischen den Knoten darstellen, über ein Netz, ein Modem, eine direkte Verbindung, wie ein Kabel oder eine drahtlose Übertragung, das Internet oder andere Kommunikationsverbindungen, die einem Fachmann bekannt sind, errichtet werden. Unter Verwendung dieser physikalischen Kanäle können die Knoten einen oder mehrere logische Kanäle über jedem physikalischen Kanal errichten. Jeder logische Kanal entspricht einer anderen Punkt-zu-Punkt-Kommunikationssitzung zwischen den Ausgangs- und Zielsystemen und ist vorzugsweise unidirektional, kann aber auch bidirektional sein. Mindestens eines der Ausgangs- und Zielsysteme umfasst einen Vielzahl von logischen Adressen, wobei jede logische Adresse ihren eigenen logischen Kanal errichten kann. Wenn es beispielsweise zwei logische Adressen beim Ausgangssystem und zwei logische Adressen beim Zielsystem gibt, kann eine erste logische Adresse beim Ausgangssystem eine logische Verbindung zu einer ersten logischen Adresse beim Zielsystem aufweisen, und eine zweite logische Adresse beim Ausgangssystem kann eine logische Verbindung zu einer zweiten logischen Adresse beim Zielsystem aufweisen. Ein logischer Kanal kann über eine unabhängige physikalische Kommunikationsverbindung existieren oder die physikalische Verbindung mit einem oder mehreren anderen logischen Kanälen gemeinsam nutzen.
  • Das Dateiübertragungssystem 100 verwendet einen oder mehrere logische Kanäle über jedem physikalischen Kanal, um eine Datei vom Ausgangsknoten 30 zum Zielknoten 50 zu übertragen. Die Datei wird an ein Nachrichtentransportsystem, wie der MQ-Serie (ein Produkt von IBM) geliefert, das die Daten, die der zu übertragenden Datei entsprechen, über eine physikalische Verbindung überträgt.
  • 2 ist ein Flussdiagramm der Funktion eines Dateiübertragungsverfahrens gemäß der vorliegenden Erfindung. Um eine Datei von einem Ausgangsknoten 30 zu einem Zielknoten 50 zu übertragen, gibt ein Benutzer eine Dateiübertragungsanfrage am Anfrageknoten 10 ein (Schritt 205). Der Benutzer gibt die Anfrage über eine Schnittstelle am Anfrageknoten 10 ein. Die Schnittstelle kann beispielsweise als eine Anwendungsprogrammschnittstelle (application programming interface, API), eine Nachrichtenwarteschlangenschnittstelle (message queue interface, MQI), eine graphische Benutzerschnittstelle (graphical user interface, GUI) oder eine allgemeine Benutzerschnittstelle (generic user interface, UI) implementiert sein. Die Anfrage, die durch den Benutzer eingegeben wird, kann strukturiert sein, um eine Steuernachricht zu bilden, die Anwendungsdaten und Kopfdaten einschließt. Die Anwendungsdaten sind ein Objekt oder eine Sequenz von Objekten, die in einer Datenfolge gehalten werden, wobei jedes Objekt eine spezielle Bedeutung für ein spezielles Anwendungsprogramm besitzt. Bei den Kopfdaten handelt es sich um Information, die sich auf die Eigenschaften der Nachricht bezieht und die in einer Kopfaufzeichnung gespeichert werden können. Die Kopfdaten werden vom Dateiübertragungssystem 100 verwendet, um zu bestimmen, wie die Steuernachricht zu verarbeiten ist.
  • 1B ist ein Blockdiagramm einer Nachrichtenstruktur für einen Betrieb, wie einer Dateiübertragungsanfrage, die für die Steuernachricht im Dateiübertragungssystem 100 gemäß der vorliegenden Erfindung verwendet werden kann. Wie in 1B gezeigt ist, umfasst die Nachrichtenstruktur Kopfdaten 140 und Anwendungsdaten 150. Innerhalb der Anwendungsdaten 150 gibt es eine Serie von Feldern, die FTFQMgrsInfo 152, FTFSourceFileInfo 154, FTFTargetFileInfo 156, FTFJobInfo 158, FTFUserInfo 160, FTFBool 162, FTFULong 164 und 166, FTFChar 168, FTFLong 170, FTFExitInfo 172, FTFAS400FileInfo, FTFChar 176 und FTFChar*cq 178 umfassen.
  • FTFQMgrsInfo 152 identifiziert, welche Warteschlangenverwaltungsvorrichtung, die unten unter Bezug auf 3 definiert wird, für eine Verbindung mit dem Ausgangssystem oder sendenden System zu verwenden ist, welcher Verwaltungskonten zu verwenden ist, und welche Warteschlangenverwaltungsvorrichtungen bei den sendenden Knoten und den Zielknoten zu verwenden sind. FTFSourceFileInfo 154 liefert alle Details der Quelldatei, das ist die zu übertragende Datei. FTFTargetFileInfo 156 liefert alle Details der Zieldatei, die der Datei entspricht, die gespeichert wird, nachdem sie zum Zielknoten 50 übertragen wurde, einschließlich Zuweisungsoptionen. FTFJobInfo 158 umfasst Details in Bezug darauf, wie die Dateiübertragung durchzuführen ist, einschließlich binärer, ASCII-, Kompressions-, Prioritäts-, Dauerhaftigkeits- und Stufenoptionen. FTFUserInfo 160 liefert Information über den Benutzer, der die Anfrage für die Dateiübertragung vornimmt.
  • FTFBool 162 ist ein boolsches Feld, das bestimmt, ob eine Antwortet erzeugt werden und an den Benutzer beim Anfrageknoten 10 am Ende der Dateiübertragung zurück gesandt werden muss. FTFULong 164 und 166 identifizieren festgelegte Zeitabschnitte. Wobei FTFULong 164 die Zeit, bei der die Transaktion auslaufen soll, bestimmt, und FTFULong 166 bestimmt, wie lang die Schnittstelle auf eine Antwort warten soll. FTFChar 168 ist eine Zeichenfolge, die identifiziert, welche Konfigurationsdatei verwendet werden soll. Die Konfigurationsdatei wird verwendet, um das Dateiübertragungssystem 100 zu informieren, welche Warteschlangen verwendet werden sollen, welche Poolregeln (beispielsweise Rundlauf, Überlauf etc.), Statusuntersystemsregeln (an/aus, dauerhaft/nicht dauerhaft (persisten, non-persistent), Ablaufbedingungen und andere Regeln, sofern nötig, verwendet werden sollen.
  • FTFLong 170 gibt an, welche Ausgänge (exits) installiert sind. Es kann beispielsweise acht verschiedene Ausgangspunkte geben, die an strategischen Punkten während einer Dateiübertragung aufgerufen werden, einschließlich: eine Vorübertragungsinitiierung, eine Zugangssicherheitsprüfung vor der Datei beim Sender (sender pre-file access security check), ein Vor-Datei-Lesen des Senders (sender pre-file read); eine Nach-Datei-Lieferung an ein Nachrichtenwarteschlangensystem des Senders (sender post-file submit to a message queuing syste), Vor-Datei-Zugangs-Sicherheitsprüfung beim Empfänger (receiver prefile access security check), ein Vor-Datei-Schreiben beim Empfänger (receiver pre-file write), ein Nach-Datei-Schreiben beim Empfänger (receiver post-file write), und eine Nachtransaktionsbeendigung. Wenn ein Ausgang spezifiziert ist, wird der Ausgang unter alle Umständen aufgerufen. Dem Ausgang wird die volle Transaktionssteuerung der Dateiübertragung gegeben. Mit anderen Worten, der von den Benutzern installierte Ausgang kann die Übertragung stoppen oder es gestatten, dass die Übertragung weiter geht.
  • Zusätzlich ermöglicht es ein spezieller Ausgang, der als Portal bezeichnet wird, einem Kundenmodul, die interne Dateiübertragungs-E/A des Lesens und/oder Schreibens einer Datei zu umgehen. Somit muss sich ein Benutzer nicht mit der Schnittstelle mit dem Nachrichtentransportsystem, dem Netz, der Datenintegrität oder der Leistungsgestaltung beschäftigen. Das Dateiübertragungssystem 100 liefert eine einfache API, um Daten aufzugeben oder Daten von der Dateiübertragung abzurufen.
  • Die Ausgänge und Portale arbeiten auf Anforderung und laden eine spezifische dynamische Verbindungsbibliothek mit einem spezifischen Eintrittspunkt. Die Fähigkeiten, die von den Ausgängen und Portalen geliefert werden, umfassen jedoch die interne Verwaltung von Ressourcen, Speicheraufnahmen, Zugang zum Statusuntersystem und die Verfolgung der Aktivität des Benutzerausgangs, um die Integrität der Dateiübertragungstransaktion aufrecht zu halten.
  • Intern schafft das Dateiübertragungssystem 100 ein Arbeitsgebiet, in dem der gerufene Ausgang oder das gerufene Portal registriert ist. Zusätzlich werden alle Ressourcen geprüft und Statusinformation wird aufgezeichnet. Der Ausgang wird gerufen oder eine API-Anfrage wird von einem Portal empfangen, wobei der Benutzer zu dieser Zeit die Steuerung besitzt, um die Transaktion zu stoppen oder fortzusetzen. Nach dem Empfang dieser Information bestimmt das Dateiübertragungssystem 100 den nun aktuellen Zustand. Alle Arbeitsbereiche werden auf der Basis der Zustandsinformation gelöscht. Wenn das Dateiübertragungssystem 100 die Kodes für eine Fortsetzung empfängt, werden Datenmarkierungen aktualisiert, und die Verarbeitung setzt sich fort. Wenn das Dateiübertragungssystems die Kodes für eine Nichtfortsetzung empfängt, werden Datenmarkierungen aktualisiert, und die Verarbeitung wird mit den korrekten Fehlerbedingungen enden, und die Transaktion wird beendet.
  • Die Ausgänge und die Portale werden dynamisch erzeugt, wenn sie benötigt werden, und arbeiten im selben Adressenraum wie das Dateiübertragungssystem 100. Dies schafft eine Umgebung, bei der das Dateiübertragungssystem 100 und die Kundenausgänge im Gegensatz zur lose gekoppelte Lösung bei der Schnittstellenausbildung mit externen Modulen als ein einziges Programm arbeiten.
  • FTFExitInfo 172 liefert optionale Eingangsdaten für die Ausgänge, die während der Verarbeitung zu verwenden sind. FTFAS400FileInfo 174 liefert die AS/400-Personalität, die eine einfache Art für das Beschreiben der Dateiattribute und der Regeln darstellt, die das Dateiübertragungssystem verwendet, wenn es eine Datei liest oder schreibt. FTFChar 176 ist eine Zeichenfolge, die als eine Identifikation für die Transaktion dient. Zuletzt ist FTFChar*cq 178 eine Zeichenfolge, die angibt, wo die Datei, die die Konfigurationsinformation beinhaltet, wie oben diskutiert, in einer Warteschlange oder einer Datei gespeichert ist.
  • Nachdem der Benutzer die Dateiübertragungsanfrage eingibt, wird sie als eine Steuernachricht an einen bezeichneten Verwaltungsknoten 20 überführt, der die Steuernachrichten gemäß den Dateiübertragungsanfragen aufzeichnet und verwaltet (Schritt 210). Der Verwaltungsknoten 20 untersucht die empfangene Steuernachricht, um zu bestimmen, wie die Dateiübertragung auszuführen ist. Auf der Basis der Information in der Steuernachricht, die die Kopfdaten einschließt, identifiziert der Verwaltungsknoten die zu übertragende Datei, den Ort der zu übertragenden Datei und den Ort, an den die Datei zu übertragen ist (Schritt 215). Der Ort der zu übertragenden Datei entspricht dem Ausgangsknoten 30, und der Ort, an den die Datei übertragen wird, entspricht dem Zielknoten 50. Unter Verwendung dieser identifizierten Information gibt der Verwaltungsknoten 20 die Dateiübertragungsanfrage an den Ausgangsknoten 30 (Schritt 220). Zusätzlich platziert der Verwaltungsknoten 20 eine Transaktionsmarkierung in der Synchronisationswarteschlange 22, die im Verwaltungsknoten 20 angeordnet ist, und gibt Statusnachrichten an das Dateiübertragungssystem 100. Eine Systemprotokollaufzeichnung verfolgt alle Fehlerinformation.
  • Nach dem Empfangen der Dateiübertragungsanfrage vom Verwaltungsknoten 20 untersucht der Ausgangsknoten 30 die Anfrage, um die zu übertragende Datei im Ausgangsspeicher 32 zu identifizieren und den Ort, an den die Datei zu senden ist (Schritt 225). Der Ausgangsknoten 30 überträgt dann die Steuernachricht und die identifizierte Datei, die auch als Quelldatei bezeichnet wird, zum identifizierten Ort, bei dem es sich um den Zielknoten 50 handelt (Schritt 230). Die Quelldatei kann beispielsweise eine Datendatei, eine ausführbare Datei, ein Anwendungsprogramm oder irgend eine andere Form von Information, die elektronisch auf der Platte oder irgend einer anderen Form eines Speichermediums, das Fachleuten bekannt ist, gespeichert werden kann, sein. Der Ausgangsknoten 30 speichert auch den Status der Übertragung durch das Platzieren einer Transaktionsmarkierung in einer Synchronisationswarteschlange 34 (in 7 gezeigt), antwortet dem Verwaltungsknoten 20, dass er die Dateiübertragungsanfrage bearbeitet hat, und erzeugt Statusnachrichten, die an das Dateiübertragungssystem 100 übermittelt werden.
  • Um eine Quelldatei an einen Zielknoten 50 zu senden, kann der Ausgangsknoten 30 die Datei in eine Vielzahl von unabhängigen Datennachrichten aufteilen, wobei jede eine Nachrichtenstruktur aufweist, die Kopfdaten und Anwendungsdaten aufweist. Jede Datennachricht umfasst eine festgelegte Menge von Information aus der Datei, beispielsweise 256 K, was den Anwendungsdaten entspricht. Die Kopfdaten in jeder unabhängigen Datennachricht umfassen eine Nachrichtenidentifikation, eine eindeutige Korrelationsinformation (ID), den Namen des Ziels der Nachricht und andere Eigenschaften der Nachricht, wie solche, die oben in der Beschreibung der Nachrichtenstruktur der 1B beschrieben wurden. Die Nachrichtenidentifikation, die in einem Kopffeld MQMD.MessageID gespeichert werden kann, verbindet jede Datennachricht mit der Steuernachricht, die der Dateiübertragungsanfrage entspricht. Die Korrelation ID, die in einem Kopffeld MQMD.CorrelationID gespeichert werden kann, ist notwendig für das Bestimmen der Reihenfolge, in der die Datennachrichten wieder zusammen zu setzen sind, um die ursprüngliche Datei zu bilden. Die Steuernachricht und die Datennachrichten sind einer oder mehreren der vielen Übertragungswarteschlangen, die sich im Ausgangsknoten 30 befinden, zugeordnet, wobei jede Übertragungswarteschlange einem speziellen Logikkanal zugeordnet ist. Die Nachrichten können den Übertragungswarteschlangen in jeder Weise zugeordnet werden, beispielsweise durch das Füllen der Übertragungswarteschlangen in einem Rundlauf verfahren, das Füllen jeder Übertragungswarteschlange mit einer gewissen Menge und das anschließende Füllen der nächsten Warteschlange, das Füllen einer Übertragungswarteschlange, bis sie voll ist, und dann das Füllen der nächsten Warteschlange, das Platzieren von Nachrichten in einer Übertragungswarteschlange auf der Basis der Dienstgüte (quality of service, QoS) des Kanals, der mit dieser Warteschlange verknüpft ist, oder das Zuweisen von Nachrichten auf der Basis einer Priorität, die mit einer Übertragungswarteschlange verbunden ist oder gemäß einem anderen passenden Protokoll. Die Art, wie die Nachrichten zugewiesen werden, kann aus dem FTFJobInfo-Feld 158 bestimmt werden.
  • Die Nachrichten, die vom Ausgangsknoten 30 gesendet werden, werden vom Zielknoten 50 in einer oder mehreren Zielwarteschlangen empfangen (Schritt 235). Um die Quelldatei wieder zu konstruieren, verwendet der Zielknoten 50 die Steuernachricht, um alle Datennachrichten von den Zielwarteschlangen, die mit der übertragenen Quelldatei verbunden sind, zu sammeln, und extrahiert die Dateiinformation aus den Anwendungsdaten in jeder Datennachricht (Schritt 240). Insbesondere verwendet der Zielknoten 50 die Steuernachricht, um die Nachrichten-ID und die Korrelations-ID-Sequenz zu extrahieren, die dann verwendet werden können, um die entsprechenden Datennachrichten aus den Zielwarteschlangen abzurufen. Der Zielknoten 50 kombiniert dann die Dateiinformation in der korrekten Reihenfolge, um die Zieldatei zu schaffen, auf der Basis der eindeutigen Korrelations-IDs, die in den Kopfdaten jeder Datennachricht gespeichert sind (Schritt 245). Die Zieldatei wird dann im Zielspeicher 52 gespeichert (Schritt 250).
  • Jeder der Knoten im Dateiübertragungssystem 100 kann unabhängig und asynchron gegenüber dem Betrieb irgend welcher anderer Knoten arbeiten, und er kann auf verschiedenen und unabhängigen Systemen oder Plattformen arbeiten. Das Konzept des unabhängigen Anfrageknotens 10 ermöglicht es einem ersten System, Dateien zwischen irgend zwei anderen Systemen zu übertragen, die weder am Ausgangs- noch am Zielsystem vorhanden sind. Der unabhängige Verwaltungsknoten 20 vermeidet es, dass Verwaltungsfunktionen von jedem dieser Systeme im Dateiübertragungssystem 100 vorhanden sein müssen. Somit muss jedes System im Dateiübertragungssystem 100 nur die Sende- und Empfangsfunktion besitzen, um Dateien über das Dateiübertragungssystem 100 zu senden und zu empfangen. Jedes System umfasst vorzugsweise auch die Anfragefunktion des Anfrageknotens 10.
  • Zusätzlich zur vollständigen Unabhängigkeit kann die Funktion der Knoten auf einem einzigen System zusammengeführt werden. Beispielsweise kann die Funktion des Anfrageknotens 10 und des Verwaltungsknotens 20 auf dem Ausgangsknoten oder dem Zielknoten 50 implementiert werden. Alternativ kann die Funktion des Anfrageknotens 10 auf dem Ausgangsknoten 30 oder dem Zielknoten 50 implementiert werden, und die Funktion des Verwaltungsknotens 20 kann auf dem jeweils anderen Knoten des Ausgangsknotens 30 und des Zielknotens 50 implementiert werden.
  • Während der Dateiübertragung ist es möglich, dass eine oder mehrere der Datennachrichten am Zielknoten 50 nicht empfangen werden, beispielsweise durch einen Fehler oder durch das Ablaufen einer vorbestimmten Zeit. Durch die Verwendung der Statusinformation, die während der Dateiübertragung erzeugt wird, kann die Dateiübertragung vollendet werden, ohne alle Datennachrichten neu zu senden. Synchronisationsnachrichten, die unten detaillierter beschrieben werden, können von jedem der Knoten, die an der Dateiübertragung beteiligt sind, verwendet werden, um zu bestimmen, welche der Datennachrichten am Zielknoten 50 nicht empfangen wurden, wenn es denn solche gibt. Eine Steuerlogik kann in jedem Knoten eingefügt sein, die die Synchronisationsnachrichten verarbeitet, um zu bestimmen, ob eine Datennachricht nicht empfangen wurde. Diese Steuerlogik erzeugt dann eine Nachricht, die anzeigt, dass die Datennachricht nicht empfangen wurde. In Erwiderung auf diese Nachricht sendet der Ausgangsknoten 30 die fehlenden Datennachrichten oder alle Datennachrichten erneut, unabhängig davon, was gesendet wurde, in Abhängigkeit vom Wiedergewinnungsszenarium.
  • 3 ist ein Blockdiagramm eines Nachrichtenwarteschlangensystem gemäß der vorliegenden Erfindung für das Verwalten der Übertragung von Nachrichten im Dateiübertragungssystem 100. Wie in 3 gezeigt ist, umfasst das Nachrichtenwarteschlangensystem mehrere Komponenten, die sowohl im Ausgangsknoten 30 als auch im Zielknoten 50 vorhanden sind. Diese Komponenten können auch, obwohl dies nicht gezeigt ist, im Anfrageknoten 10 und dem Verwaltungsknoten 20 vorhanden sein. Die Komponenten im Ausgangsknoten 30 umfassen eine Datenübertragungsanwendung 105 und eine Warteschlangenverwaltungsvorrichtung 110. Die Warteschlangenverwaltungsvorrichtung 110 empfängt eine Nachricht 112, die an eine Nachrichtenwarteschlangenschnittstelle (message queue interface, MQI) 114 weitergegeben wird. Die Warteschlangenverwaltungsvorrichtung 110 umfasst auch eine Nachrichtenlenkungs- und Warteschlangenkomponente 116 für das Platzieren der Nachrichten in einer oder mehreren Warteschlangen und ein Nachrichtenkanalprotokoll (message channel protocol, MCP) 118 für das Errichten von logischen Kanälen für jede ihrer Übertragungswarteschlangen und Warteschlangen an entfernten Konten. Der Zielknoten weist dieselben Komponenten auf, die eine Dateiübertragungsanwendung 125 und eine Warteschlangenverwaltungsvorrichtung 130 einschließen. Wie die Warteschlangenverwaltungsvorrichtung 110 umfasst die Warteschlangenverwaltungsvorrichtung 130 eine Nachrichtenwarteschlangenschnittstelle (MQI) 134, eine Nachrichtenlenkungs- und Warteschlangenkomponente 136 und ein Nachrichtenkanalprotokoll (MCP) 138. Die MCPs 118 und 138 errichten und halten ein oder mehrere logische Kanäle 70 zwischen dem Ausgangsknoten 30 und dem Zielknoten 50 aufrecht. Die MQI 134 gibt eine Nachricht 132 an die Dateiübertragungsanwendung 125 weiter.
  • Die Warteschlangenverwaltungsvorrichtungen 110 und 130 sind für das Liefern der Nachrichtenwarteschlangendienste für die Knoten im Dateiübertragungssystem 100 verantwortlich. Jede Warteschlangenverwaltungsvorrichtung ist eine Ansammlung von Warteschlangendefinitionen, Konfigurationstabellen und Softwarekomponenten, deren Betrieb auf diesen Definitionen basiert. Jede Warteschlangenverwaltungsvorrichtung umfasst auch Systemverwaltungsprogramme, die viele der Konfigurations- und Verwaltungselemente des Nachrichtenwarteschlangensystems liefern. Da das Dateiübertragungssystem 100 das Nachrichtenwarteschlangensystem verwenden kann, um Dateien zwischen getrennten Systemen zu übertragen, ist das Dateiübertragungssystem 100 vorzugsweise als eine verteilte Architektur implementiert, bei der sich eine Warteschlangenverwaltungsvorrichtung auf jedem Knoten des Dateiübertragungssystems 100 befindet.
  • Die Dateiübertragungsanwendungen 105 und 125 umfassen eine Schnittstelle, um alle kommerziellen oder von einem Benutzer geschriebenen Aufgaben zu initiieren, damit sie von den Warteschlangenverwaltungsvorrichtungen 110 und 130 ausgeführt werden, unter Verwendung irgend einer aus der Vielzahl gebräuchlicher Programmiersprachen, die beispielsweise COBOL, TAL, Java, C, C++, Assembler/ALC etc. umfassen. Die Dateiübertragungsanwendung ermöglicht es einem Benutzer, eine Datei auszuwählen, die von irgend einem Ausgangsknoten 30 zu irgend einem Zielknoten 50 im Dateiübertragungssystems 100 übertragen werden soll. 4 ist ein Flussdiagramm eines Verfahrens für das Übertragen einer Datei unter Verwendung des Nachrichtenwarteschlangensystems der 3 gemäß der vorliegenden Erfindung. Für die Zwecke der Beschreibung der 4 wird angenommen, dass die Anfrage- und Verwaltungsfunktionen im Ausgangsknoten 30 implementiert sind. Es sollte jedoch verständlich sein, dass diese Funktionen alternativ im Zielknoten 50 oder unabhängig vom Ausgangsknoten 30 und Zielknoten 50 implementiert sein können.
  • Zuerst führt ein Benutzer am Ausgangsknoten 30 eine Dateiübertragungsanfrage unter Verwendung der Dateiübertragungsanwendung 105 aus (Schritt 405). Die Dateiübertragungsanfrage wird durch die Dateiübertragungsanwendung 105 bearbeitet, um eine Nachricht 112 als eine Steuernachricht zu bilden, die die Identität der zu übertragenden Datei und das Ziel, an das die Datei zu übertragen ist, einschließt. Wenn die zu übertragende Datei in einem anderen System als der Ausgangsknoten 30 vorhanden ist, könnte die Steuernachricht auch den Ort der zu übertragenden Datei einschließen.
  • In Erwiderung auf die Dateiübertragungsanfrage bildet die Dateiübertragungsanwendung 105 eine oder mehrere Datennachrichten in Abhängigkeit von der Größe der zu übertragenden Datei (Schritt 410). Wie oben diskutiert wurde, umfasst jede Datennachricht, die von der Dateiübertragungsanwendung 105 erzeugt wird, einen Abschnitt der an den Zielknoten 50 übertragenen Datei, eine Nachrichten-ID, eine Korrelations-ID und das Ziel der Nachricht. Jede der Nachrichten, die von der Dateiübertragungsanwendung 105 geschaffen wird, wird an die MQI 114 weitergegeben (Schritt 415). Die MQI 114, die als eine Schnittstelle zwischen der Dateiübertragungsanwendung 105 und der Warteschlangenverwaltungsvorrichtung 110 dient, gibt dann die Nachrichten an die Nachrichtenlenkungs- und Warteschlangenkomponente 116, die die empfangenen Nachrichten in einer oder mehreren Warteschlangen platziert, die sich in der Nachrichtenlenkungs- und Warteschlangenkomponente 116 befinden (Schritt 420).
  • Diese sich in der Nachrichtenlenkungs- und Verwaltungskomponente 116 befindlichen Warteschlangen können beispielsweise einfache sich auf der Platte befindlichen FIFO-Pufferspeicher für das Speichern von Nachrichten sein, obwohl andere Warteschlangenstrukturen, die Fachleuten bekannt sind, ebenfalls verwendet werden können. Nachrichten, die für andere Anwendungen vorgesehen sind, die auf dem Ausgangsknoten 30 laufen, oder die von anderen Knoten empfangen worden sind, werden in lokalen Warteschlangen oder Zielwarteschlangen in der Nachrichtenlenkungs- und Warteschlangenkomponente 136 platziert. Andererseits werden Nachrichten, die für ein entferntes System, wie den Zielknoten 50, bestimmt sind, in Übertragungswarteschlangen platziert. Somit werden die Steuernachricht und die Datennachrichten, die sich aus einer Dateiübertragungsanfrage vom Ausgangsknoten 30 an den Zielknoten 50 ergeben, in einer oder mehreren Übertragungswarteschlangen der Nachrichtenlenkungs- und Warteschlangenkomponente 116 platziert.
  • Um zu bestimmen, in welcher Warteschlange die Nachrichten zu platzieren sind, schaut die Nachrichtenlenkungs- und Warteschlangenkomponente 116 nach Lenkungsinformation, die im Kopf jeder Nachricht durch die Dateiübertragungsanwendung 105 platziert ist. Die Lenkungsinformation kann einen Warteschlangennamen und einen Namen einer Warteschlangenverwaltungsvorrichtung einschließen, die zum Teil verwendet werden, um zu bestimmen, in welcher Warteschlange die Nachricht zu platzieren ist. Jeder Warteschlangenname kann beispielsweise einer anderen logischen Adresse des Ausgangsknotens 30 entsprechen. Die Art, in der eine Nachricht in einer Warteschlange platziert wird, wird unten unter Bezug auf die 5 und 6 detaillierter diskutiert.
  • Das MCP 118 überführt dann die Nachrichten von den Übertragungswarteschlangen in der Nachrichtenlenkungs- und Warteschlangenkomponente 116 zum Zielknoten 50 (Schritt 425). Das MCP an jedem Knoten ist für das Errichten und Verwalten der logischen Kanäle zwischen jeder seiner Warteschlangen und den Warteschlangen der entfernten Knoten verantwortlich. Das MCP 118 unterstützt mehrere Transportprotokolle, die beispielsweise LU6.2, DEC-net, TCP/IP, SNA und andere, die Fachleuten bekannt sind, einschließen. Nachrichten, die von den Übertragungswarteschlangen im Ausgangsknoten 30 zu Zielwarteschlangen im Zielknoten übertragen werden, werden über einen oder mehrere Kanäle transportiert. Jeder Kanal verbindet einen oder mehrere Übertragungswarteschlangen im Ausgangsknoten 30 mit einer oder mehrere Zielwarteschlangen im Zielknoten 50. Die Kanäle zwischen den Warteschlangen werden vom MCP 118 und dem MCP 138 errichtet. Somit wird jede Nachricht, die zum Zielknoten 50 übertragen wird, vom MCP 138 empfangen und in der passenden Zielwarteschlange durch die Nachrichtenlenkungs- und Warteschlangenkomponente 136 platziert (Schritt 430). Die Dateiübertragungsanwendung 125 verarbeitet dann die Steuernachricht und die Datennachrichten, um die Dateiinformation aus den Datendateien zu extrahieren und die Dateiinformation als Zieldatei wieder zusammen zu fügen (Schritt 435). Die Dateiübertragungsanwendung 125 speichert die Zieldatei im Zielspeicher 52 (Schritt 440).
  • Das Dateiübertragungssystem 100 kann eine Datei vom Ausgangsknoten 30 zum Zielknoten 50 unter Verwendung eines einzelnen Kanals oder einer logischen Verbindung in serieller Weise übertragen, so dass jede der Nachrichten in einer Dateiübertragungsanfrage eine nach der anderen gesendet werden. Das Dateiübertragungssystem 100 kann jedoch auch eine Datei asynchron über mehrere Kanäle übertragen. 5 ist ein Blockdiagramm eines Dateiübertragungssystems 100 für das Übertragen einer Datei über mehrere Kanäle gemäß der vorliegenden Erfindung.
  • Wie in 5 gezeigt ist, umfasst der Ausgangsknoten 30 einen Übertragungspool 40, der eine Vielzahl von Übertragungswarteschlangen (XQ) 42 einschließt. In ähnlicher Weise umfasst der Zielknoten 50 einen Zielpool 60, der eine Vielzahl von Zielwarteschlangen (DQ) 62 einschließt. Jede Übertragungswarteschlange 42 im Übertragungspool 40 ist durch einen unabhängigen logischen Kanal 70 mit einer oder mehreren der Zielwarteschlangen 62 im Zielpool 60 verbunden. In ähnlicher Weise kann eine Zielwarteschlange 62 durch einen unabhängigen logischen Kanal 70 mit einer oder mehreren Übertragungswarteschlangen 42 im Übertragungspool 40 verbunden sein. Die Übertragungswarteschlangen 42 und die Zielwarteschlangen 62 können beispielsweise als einfache sich auf der Platte befindlichen FIFO-Pufferspeicher implementiert sein, die verwendet werden, um die Nachrichten zu speichern.
  • 6 ist ein Flussdiagramm eines Verfahrens für das Übertragen einer Datei über mehrere logische Kanäle gemäß einem anderen Aspekt der Erfindung. Wie bei der Beschreibung der 4 wird angenommen, dass die Anfrage- und Verwaltungsfunktion im Ausgangsknoten 30 implementiert ist. Es sollt jedoch ebenfalls verständlich sein, dass diese Funktion alternativ im Zielknoten 50 implementiert werden kann, oder unabhängig vom Ausgangsknoten 30 und dem Zielknoten 50. Wie in 6 gezeigt ist, gibt ein Benutzer zuerst eine Dateiübertragungsanfrage ein, um eine Datei vom Ausgangsknoten 30 zum Zielknoten 50 zu übertragen (Schritt 605). Die Dateiübertragungsanfrage wird durch die Dateiübertragungsanwendung 152 verarbeitet, um die Steuernachricht und die Datennachrichten, die mit der Quelldatei verbunden sind, zu erzeugen (Schritt 610).
  • Die erzeugten Nachrichten werden in Übertragungswarteschlangen 42 der Nachrichtenlenkungs- und Warteschlangenkomponente 116 der Warteschlangenverwaltungsvorrichtung 110 platziert. Die Nachrichtenlenkungs- und Warteschlangenkomponente 116 platziert die Nachrichten in Übertragungswarteschlangen 42 gemäß einem Schema, das vom Benutzer gestaltet wurde, oder gemäß einem Standardschema (Schritt 615). Wie oben diskutiert wurde, umfassen die Schemata für das Platzieren der Nachrichten in den Übertragungswarteschlangen 42 das Füllen der Übertragungswarteschlangen in einem Rundlaufverfahren, das Füllen jeder Übertragungswarteschlange mit einer gewissen Menge und das anschließende Füllen der nächsten Warteschlange, das Füllen einer Übertragungswarteschlange, bis sie voll ist und dann das Füllen der nächsten Warteschlangen, das Platzieren von Nachrichten in einer Übertragungswarteschlange auf der Basis der Dienstgüte (QoS) des Kanals, der mit dieser Warteschlange verbunden ist, oder das Zuweisen von Nachrichten auf der Basis einer Priorität, die mit einer Übertragungswarteschlange verbunden ist.
  • Zusätzlich zu diesen Schemata kann ein Benutzer die Anzahl der logischen Kanäle, über die die Nachrichten zu senden sind, bestimmen (Schritt 620). Wie in 5 gezeigt ist, kann der Benutzer fünf Kanäle bezeichnen, über die die Nachrichten an den Zielknoten 50 zu senden sind. Wenn der Benutzer beispielsweise bestimmt hat, dass die Dateiübertragung eine hohe Priorität hat und fünf logische Kanäle verwenden soll, würde die Warteschlangenverwaltungsvorrichtung 110 die Nachrichten in fünf getrennten Übertragungswarteschlangen 42 platzieren, von denen jede einen unabhängigen logischen Kanal hat, der mit einer jeweiligen Zielwarteschlange 62 im Zielpool 60 des Zielknoten 50 verbunden ist. Die Warteschlangenverwaltungsvorrichtung 110 würde auch diesen Übertragungswarteschlangen bei der Bearbeitung eine Priorität geben durch das Übertragen von Nachrichten von diesen Übertragungswarteschlangen vor der Übertragung von Nachrichten in Warteschlangen mit geringerer Priorität.
  • Nach dem Platzieren der Nachrichten in jeweiligen Übertragungswarteschlangen 42 des Übertragungspools 40 werden die Nachrichten von jeder der Warteschlangen zu der jeweiligen Zielwarteschlange 62 unabhängig von den Nachrichten von den anderen Warteschlangen übertragen (Schritt 625). Die Nachrichten können nicht nur unabhängig übertragen werden, sondern sie können auch asynchron übertragen werden. Wenn beispielsweise die Datenübertragungsanfrage insgesamt zu fünf Nachrichten führt, die der Steuernachricht und vier Datennachrichten entsprechen, könnte jede der Nachrichten in einer der fünf bezeichneten Übertragungswarteschlangen 42 platziert werden. Die Nachrichten können dann zu den Zielwarteschlangen 62 in jeder beliebigen Reihenfolge und zu jeder Zeit übertragen werden. Da die Dateiübertragungsanwendung 125 die Datei auf der Basis der Korrelations-IDs jeder der Datennachrichten wieder zusammensetzt, spielt es keine Rolle, wenn die Datennachricht, die dem letzten Abschnitt der übertragenen Datei entspricht, zuerst oder zuletzt oder zu einer beliebigen Zeit vor oder nach jeglicher anderer Nachricht, die mit der Dateiübertragung verbunden ist, empfangen wird.
  • Die Warteschlangenverwaltungsvorrichtung 130 fügt die übertragene Datei wieder zusammen, nachdem alle Nachrichten, die mit der Dateiübertragungsanfrage verbunden sind, durch die Zielwarteschlangen 62 empfangen wurden (Schritt 630). Die übertragene Datei kann als Zieldatei wieder zusammengefügt werden, indem die Dateidaten von jeder der empfangenen Datennachrichten extrahiert werden und jeder Datenabschnitt gemäß der Korrelations-ID der zugehörigen Datennachricht geordnet wird. Die Warteschlangenverwaltungsvorrichtung 130 speichert dann die wieder zusammengefügte Datei als die Zieldatei im Zielspeicher 52 (Schritt 635).
  • 7 ist ein detaillierteres Blockdiagramm eines Dateiübertragungssystems 100. Zusätzlich zu den Elementen, die in den 1 und 5 gezeigt sind, zeigt 7 dass der Anfrageknoten 10 und der Verwaltungsknoten 20 jeweils einen Statusspeicher 14 und eine Protokolldatei 16 einschließen. Der Anfrageknoten und der Verwaltungsknoten 20 können auch eine (nicht gezeigte) Synchronisationswarteschlange einschließen. Der Ausgangsknoten 30 umfasst auch einen Statusspeicher 36 und eine Protokolldatei 38 als auch eine Synchronisationswarteschlange 34. Der Zielknoten 50 umfasst in ähnlicher Weise einen Statusspeicher 46, eine Protokolldatei 48 und eine Synchronisationswarteschlange 44. Wie in 7 gezeigt ist, umfasst das Dateiübertragungssystem 100 auch eine Schnittstelle 12, die auf jedem der Knoten implementiert werden kann und durch die ein Benutzer eine Dateiübertragungsanfrage eingibt. Die Schnittstelle 12 kann beispielsweise als eine Anwendungsprogrammschnittstelle (API), eine Nachrichtenwarteschlangenschnittstelle (MQI), eine graphische Benutzerschnittstelle (GUI) oder eine allgemeine Benutzerschnittstelle (UI) implementiert werden.
  • Wie oben diskutiert wurde, erzeugt jeder Knoten im Dateiübertragungssystem 100 Statusnachrichten, die durch das Dateiübertragungssystem 100 gesendet und durch die Knoten in ihrem jeweiligen Statusspeicher gespeichert werden. Im allgemeinen wird die Statusnachricht, die an einem speziellen Knoten erzeugt wird, an andere Knoten im Dateiübertragungssystem 100, die auf einer Verteilungsliste bezeichnet sind, gesandt. Die Statusnachrichten können die Aktivität aller Komponenten, die an der Dateiübertragung beteiligt sind, zusätzlich zu Standardbeendigungskodes detailliert angeben. Somit kann eine Analyse der Statusnachrichten eine Spur liefern, über das, was in Bezug auf die Dateiübertragung stattgefunden hat und wo ein Problem aufgetreten sein kann. Weiterhin kann jeder Knoten im Dateiübertragungssystem 100 konfiguriert sein, um Statusnachrichten zu festen oder variablen Zeiten oder in Erwiderung auf spezielle Ereignisse vorzulegen.
  • Die Protokolldateien an jedem Knoten, wie beispielsweise die Protokolldateien 38 und 48, speichern ein Protokoll von Fehlerinformation und anderen Wartungsinformation und verfolgen jedes Detail der Dateiübertragung. Die Protokolldateien können wie die Statusnachrichten als Nachrichten geliefert werden, die im Dateiübertragungssystem 100 verteilt werden. Somit können Systeme Protokolle von Ereignissen, die in entfernten Systemen stattfinden, unterhalten, was die Fähigkeit eines Verwalters erhöht, die Verwaltung und die Wartung an einem entfernten System zu bewerkstelligen.
  • 8 ist ein Flussdiagramm eines Verfahrens für das Verwenden von Synchronisationswarteschlangen in einem Dateiübertragungssystem 100, um die erneute Übertragung von Dateien gemäß einem anderen Aspekt der Erfindung zu verwalten. Durch die Verwendung der Synchronisationswarteschlangen kann eine Dateiübertragung vollendet werden, sogar wenn sie durch einen Kommunikations- oder Knotenfehler unterbrochen wurde, ohne die Datennachrichten in einer Protokolldatei zu speichern. Die Schritte für das Übertragen einer Datei gemäß diesem Verfahren sind dieselben, wie sie oben in Bezug auf die 2, 4 und 6 beschrieben wurden. Zuerst gibt ein Benutzer eine Dateiübertragungsanfrage durch die Schnittstelle 12 ein (Schritt 805). Die Dateiübertragungsanfrage wird beispielsweise durch die Warteschlangenverwaltungsvorrichtung 110 verarbeitet, um die Steuernachricht zu erzeugen (Schritt 810). Zusätzlich zum Erzeugen der Steuernachricht wird eine Synchronisationsnachricht erzeugt, die der Steuernachricht entspricht (Schritt 815). Diese Synchronisationsnachricht dient als eine Beginnmarkierung für die Dateiübertragung. Die Steuernachricht wird dann verarbeitet, um die Datennachrichten zu erzeugen, die mit der Quelldatei verbunden sind (Schritt 820). Wie die Steuernachricht wird auch eine Synchronisationsnachricht für jede Datennachricht erzeugt (Schritt 825). Nach dem Erzeugen der Synchronisationsnachrichten, die mit der Steuernachricht und den Datennachrichten verbunden sind, wird auch eine Endsynchronisationsnachricht erzeugt (Schritt 830). Alle Synchronisationsnachrichten werden in einer Synchronisationswarteschlange, wie der Synchronisationswarteschlange 34, gespeichert (Schritt 835). Die Synchronisationswarteschlange wird aufrecht gehalten, sogar wenn das System, wo sich die Synchronisationswarteschlange befindet, zusammenbricht.
  • Die Synchronisationsnachricht ist eine Transaktionsmarkierung, die eine Leere oder eine Länge von null Byte in ihrem Datenabschnitt aufweist. Im Kopfabschnitt jeder Synchronisationsnachricht, die einer Datennachricht entspricht, befindet sich ein Zeiger zum Ort der Daten in der Quelldatei im Ausgangsspeicher 32, der den Daten in der Datennachricht entspricht. Zusätzlich speichert jede Synchronisationsnachricht Information über den Status der Übertragung ihrer zugehörigen Nachricht. Es gibt auch Synchronisationsnachrichten, die geschaffen werden, um Information, die für den Sender spezifisch ist, zu liefern, wie eine Ausgangsverarbeitung, Dauerhaftigkeits- und Nicht-Dauerhaftigkeits-Markierungen. Wenn alle Nachrichten erzeugt worden sind, steuert die Warteschlangenverwaltungsvorrichtung am Ausgangsknoten die Übertragung der Steuernachricht, der Datennachrichten und aller Synchronisationsnachrichten, die zur Wiedergewinnung der Dateiübertragung an den Zielknoten gehören (Schritt 840). Die Synchronisationsnachrichten, die an den Zielknoten gesendet werden, werden auch in einer Synchronisationswarteschlange, wie der Synchronisationswarteschlange 54, gespeichert (Schritt 845).
  • Das Synchronisationswarteschlangensystem ermöglicht es, dass alle Daten, die der übertragenen Datei entsprechen, in einer nicht beständigen (non-persistent) oder nicht garantierten Art gesendet werden. Die Übertragung der Datei in einer nicht beständigen Art reduziert die Verarbeitungsbelastung für das Verwalten einer Dateiübertragung. Obwohl die Steuernachricht und die Beginnmarkierung auch in einer nicht beständigen Weise übertragen werden können, werden sie im allgemeinen in einer beständigen oder garantierten Weise übertragen, um zu gewährleisten, dass das Zielsystem eine Benachrichtigung empfängt, dass das Zielsystem dabei ist, eine Datei zu empfangen.
  • Unter Verwendung entweder der Synchronisationsnachrichten, die in der Synchronisationswarteschlange am Ausgangsknoten gespeichert sind, oder der Synchronisationsnachrichten, die in der Synchronisationswarteschlange am Zielknoten gespeichert sind, kann das Dateiübertragungssystem 100 ausgewählt jegliche Nachrichten, die vom Zielknoten nicht empfangen werden, erneut übertragen (Schritt 850). Da beispielsweise alle Synchronisationsnachrichten nach der Beginmarkierung andauernd sind, würde der Zielknoten erkennen, dass Daten verloren gegangen sind, wenn eine oder mehrere der Synchronisationsnachrichten, die mit den Datennachrichten verbunden sind, nicht empfangen werden. Wenn die Nicht-Andauernd-Markierung, die mit einer Andauernd-Markierung paarweise verbunden ist, am Zielknoten nicht empfangen wird, würde der Zielknoten auch erkennen, dass ein Fehler bei der Dateiübertragung, wie beispielsweise der Verlust von Daten, aufgetreten ist. Zusätzlich kann das Ausgangssystem, wenn es einen Zusammenbruch erleidet, nach den Synchronisationsnachrichten schauen, die in seiner Synchronisationswarteschlange vorgehalten werden, bestimmen, wo die Übertragung verloren gegangen ist, beispielsweise durch das Analysieren der Statusinformation in den Synchronisationsnachrichten, und die Übertragung der Nachrichten vollenden. Wenn die Dateiübertragung vollendet ist, werden die Synchronisationswarteschlangen gereinigt durch das Entfernen der Synchronisationsnachrichten aus der Synchronisationswarteschlange, die mit der vollendeten Dateiübertragung verbunden sind (Schritt 855).
  • Die vorangehende Beschreibung einer bevorzugten Ausführungsform der Erfindung wurde für die Zwecke der Illustration und Beschreibung präsentiert. Sie soll nicht erschöpfend sein oder die Erfindung auf die präzise offenbarte Form beschränken, und es sind Modifikationen und Variationen im Licht der obigen Lehren möglich oder sie können aus dem Ausführen der Erfindung erfolgen. Die Ausführungsform wurde gewählt und beschrieben, um die Prinzipien der Erfindung und eine praktische Anwendung zu erläutern, um es einem Fachmann zu ermöglichen, die Erfindung in verschiedenen Ausführungsformen und mit verschiedenen Modifikationen zu verwenden, wie sie für die speziell vorgesehene Verwendung geeignet sind. Der Umfang der Erfindung voll durch die angefügten Ansprüche und ihrer Äquivalente definiert werden.

Claims (24)

  1. System (100) zum Übertragen einer Datei von einem ersten Ort (30) an einen zweiten Ort (50), umfassend: – ein erstes Logik-Steuermittel (105) zum Erzeugen einer Steuermeldung und mindestens einer ersten und zweiten Datenmeldung auf Grundlage einer Dateiübertragungsanfrage, wobei die Steuermeldungen die Identität der zu übertragenden Datei und einen Bestimmungsort, an den die Datei zu übertragen ist, einschließen, wobei die erste und zweite Datenmeldung einen ersten Abschnitt der Datei bzw. einen zweiten Abschnitt der Datei einschließen; – ein zweites Logik-Steuermittel (118) zum Aufbauen von mindestens zwei logischen Kanälen (70) zwischen dem ersten und zweiten Ort als Antwort auf die Dateiübertragungsanfrage; und – eine Übermittlungsvorrichtung (130) zum Übermitteln der ersten Datenmeldung über einen ersten logischen Kanal und zum Übermitteln der zweiten Datenmeldung über einen zweiten logischen Kanal, unabhängig von der Übermittlung des ersten Abschnitts der Datei und zum Übermitteln der Steuermeldung über entweder den ersten oder den zweiten logischen Kanal; dadurch gekennzeichnet, dass – das ersten Logik-Steuermittel (105) angepasst ist, die mindestens erste und zweite Datenmeldung zu erzeugen, sodass jede der mindestens ersten und zweiten Datenmeldung Dateikopfdaten umfasst, die eine Korrelationsidentifikation und den Namen des Bestimmungsorts der Meldung umfassen, wobei die Korrelationsidentifikation verwendet wird, um die Reihenfolge zu bestimmen, in der die Datenmeldungen wieder zusammenzusetzen sind, um die übertragene Datei zu bilden.
  2. System nach Anspruch 1, wobei die Übermittlungsvorrichtung (40) angepasst ist, die erste und zweite Datenmeldung asynchron zu übermitteln.
  3. System nach Anspruch 1, wobei die erste Datenmeldung einem Anfangsabschnitt der Datei entspricht und die zweite Datenmeldung einem Endabschnitt der Datei entspricht und wobei die erste und zweite Datenmeldungen der Datei zu überlappenden Zeiten übermittelt werden.
  4. System nach Anspruch 1, wobei die erste Datenmeldung einem Anfangsabschnitt der Datei entspricht und die zweite Datenmeldung einem Endabschnitt der Datei entspricht und wobei die zweite Datenmeldung vor der ersten Datenmeldung übermittelt wird.
  5. System nach Anspruch 1, wobei das zweite Logik-Steuermittel (118) ein erstes Logik-Mittel zum Zuweisen einer Übermittlungs-Warteschlange (42) zu jedem logischen Kanal (70) einschließt, sodass jede Übermittlungs-Warteschlange (42) angepasst ist, eine oder mehrere Datenmeldungen zu speichern, die über den entsprechenden logischen Kanal übermittelt werden, wobei die Übermittlungs-Warteschlange in einem Speicher gehalten wird.
  6. System nach Anspruch 5, weiter umfassend ein Zuteilungs-Logik-Mittel (116), um die Datenmeldungen jeweiligen Übermittlungs-Warteschlangen zuzuweisen.
  7. System nach Anspruch 6, wobei das Zuteilungs-Logik-Mittel (116) angepasst ist, Datenmeldungen jeweiligen Übermittlungs-Warteschlangen, gemäß einer Dienstgüte zuzuweisen, die mit dem logischen Kanal entsprechend der jeweiligen Übermittlungs-Warteschlange verknüpft ist.
  8. System nach Anspruch 6, wobei das Zuteilungs-Logik-Mittel (116) angepasst ist, Datenmeldungen jeweiligen Übermittlungs-Warteschlangen, gemäß einer ausgewählten Priorität zuzuweisen.
  9. System nach Anspruch 6, wobei das Zuteilungs-Logik-Mittel (116) angepasst ist, Datenmeldungen jeweiligen Übermittlungs-Warteschlangen, gemäß einer Rundlaufprozedur zuzuweisen.
  10. System nach Anspruch 6, wobei das Zuteilungs-Logik-Mittel (116) angepasst ist, Datenmeldungen jeweiligen Übermittlungs-Warteschlangen zuzuweisen, durch Füllen einer jeweiligen Übermittlungs-Warteschlange, bis sie voll ist und dann Füllen einer weiteren Übermittlungs-Warteschlange.
  11. System nach Anspruch 6, wobei das Zuteilungs-Logik-Mittel (116) angepasst ist, Datenmeldungen jeweiligen Übermittlungs-Warteschlangen zuzuweisen, durch Füllen einer jeweiligen Übermittlungs-Warteschlange bis zu einem vorbestimmten Niveau und dann Füllen einer weiteren Übermittlungs-Warteschlange bis zu dem vorbestimmten Niveau.
  12. System nach Anspruch 1, wobei die Übermittlungsvorrichtung (40) angepasst ist, die mindestens eine der ersten und zweiten Datenmeldung an einen Zwischenort zu übermitteln, bevor die mindestens eine der ersten und zweiten Datenmeldung an den zweiten Ort übermittelt wird.
  13. Verfahren zum Übertragen einer Datei von einem ersten Ort (30) an einen zweiten Ort (50), umfassend: – Erzeugen (105) einer Steuermeldung und mindestens einer erste und zweite Datenmeldung auf Grundlage einer Dateiübertragungsanfrage, wobei die Steuermeldungen die Identität der zu übertragenden Datei und den Bestimmungsort, an den die Datei zu übertragen ist, einschließen, wobei die erste und zweite Datenmeldung einen ersten Abschnitt der Datei bzw. einen zweiten Abschnitt der Datei einschließen; – Aufbauen (118) von mindestens zwei logischen Kanälen (70) zwischen dem ersten und zweiten Ort als Antwort auf die Dateiübertragungsanfrage; und – Übermitteln (230) der ersten Datenmeldung über einen ersten logischen Kanal, Übermitteln der zweiten Datenmeldung über einen zweiten logischen Kanal, unabhängig von der Übermittlung des ersten Abschnitts der Datei und Übermitteln der Steuermeldung über entweder den ersten oder den zweiten logischen Kanal; dadurch gekennzeichnet, dass – die mindestens erste und zweite Datenmeldung so erzeugt werden, dass jede der mindestens ersten und zweiten Datenmeldung Dateikopfdaten umfasst, die eine Korrelationsidentifikation und den Namen des Bestimmungsorts der Meldung umfassen, wobei die Korrelationsidentifikation verwendet wird, um die Reihenfolge zu bestimmen, in der die Datenmeldungen wieder zusammenzusetzen sind, um die übertragene Datei zu bilden.
  14. Verfahren nach Anspruch 13, wobei der Schritt des Übermittelns (230) den Unterschritt des asynchronen Übermittelns der ersten und zweiten Datenmeldung einschließt.
  15. Verfahren nach Anspruch 13, wobei der Schritt des Übermittelns (230) den Unterschritt des Übermittelns der ersten Datenmeldung entsprechend einem Anfangsabschnitt der Datei und die zweite Datenmeldung entsprechend einem Endabschnitt der Datei zu überlappenden Zeiten einschließt.
  16. Verfahren nach Anspruch 13, wobei der Schritt des Übermittelns (230) den Unterschritt des Übermittelns der ersten Datenmeldung entsprechend einem Anfangsabschnitt der Datei nach dem Übermitteln der zweiten Datenmeldung entsprechend einem Endabschnitt der Datei einschließt.
  17. Verfahren nach Anspruch 13, weiter umfassend den Schritt des Zuweisens einer Übermittlungs-Warteschlange (116) zu jedem logischen Kanal (70), sodass jede Übermittlungs-Warteschlange angepasst ist, die Datenmeldungen zu speichern, die über den entsprechenden logischen Kanal übermittelt werden, wobei die Übermittlungs-Warteschlange in einem Speicher (32) gehalten wird.
  18. Verfahren nach Anspruch 17, weiter umfassend den Schritt des Zuweisens (420) der Datenmeldungen zu den jeweiligen Übermittlungs-Warteschlangen.
  19. Verfahren nach Anspruch 18, wobei der Schritt des Zuweisens (420) der Datenmeldungen den Unterschritt des Zuweisens der Datenmeldungen zu jeweiligen Übermittlungs-Warteschlangen, gemäß einer ausgewählten Priorität, einschließt.
  20. Verfahren nach Anspruch 18, wobei der Schritt des Zuweisens (420) der Datenmeldungen den Unterschritt des Zuweisens der Datenmeldungen zu jeweiligen Übermittlungs-Warteschlangen, gemäß einer Dienstgüte einschließt, die mit dem logischen Kanal entsprechend den jeweiligen Übermittlungs-Warteschlangen verknüpft ist.
  21. Verfahren nach Anspruch 18, wobei der Schritt des Zuweisens (420) der Datenmeldungen den Unterschritt des Zuweisens der Datenmeldungen zu jeweiligen Übermittlungs-Warteschlangen, gemäß einer Rundlaufprozedur einschließt.
  22. Verfahren nach Anspruch 18, wobei der Schritt des Zuweisens (420) der Datenmeldungen den Unterschritt des Zuweisens der Datenmeldungen zu jeweiligen Übermittlungs-Warteschlangen einschließt, durch Füllen einer jeweiligen Übermittlungs-Warteschlange, bis sie voll ist und dann Füllen einer weiteren Übermittlungs-Warteschlange.
  23. Verfahren nach Anspruch 18, wobei der Schritt des Zuweisens (420) der Datenmeldungen den Unterschritt des Zuweisens der Datenmeldungen zu jeweiligen Übermittlungs-Warteschlangen einschließt, durch Füllen einer jeweiligen Übermittlungs-Warteschlange bis zu einem vorbestimmten Niveau und dann Füllen einer weiteren Übermittlungs-Warteschlange bis zu dem vorbestimmten Niveau.
  24. Verfahren nach Anspruch 13, wobei der Übermittlungsschritt (230) den Unterschritt des Übermittelns der mindestens einen der Datenmeldungen an einen Zwischenort einschließt, bevor die mindestens eine der Datenmeldungen an den zweiten Ort übermittelt wird.
DE60031665T 1999-05-07 2000-05-04 System und verfahren zur dateienfernübertragung Expired - Fee Related DE60031665T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US306790 1999-05-07
US09/306,790 US6850962B1 (en) 1999-05-07 1999-05-07 File transfer system and method
PCT/US2000/012043 WO2000069141A2 (en) 1999-05-07 2000-05-04 File transfer system and method

Publications (2)

Publication Number Publication Date
DE60031665D1 DE60031665D1 (de) 2006-12-14
DE60031665T2 true DE60031665T2 (de) 2007-09-06

Family

ID=23186852

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60031665T Expired - Fee Related DE60031665T2 (de) 1999-05-07 2000-05-04 System und verfahren zur dateienfernübertragung

Country Status (5)

Country Link
US (1) US6850962B1 (de)
EP (1) EP1177670B1 (de)
AU (1) AU4696000A (de)
DE (1) DE60031665T2 (de)
WO (1) WO2000069141A2 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6886160B1 (en) * 2000-11-29 2005-04-26 Hyung Sup Lee Distribution of mainframe data in the PC environment
US7346911B2 (en) * 2001-01-05 2008-03-18 International Business Machines Corporation Method, system, and program for communication among nodes in a system
US20050086231A1 (en) * 2001-10-31 2005-04-21 Alan Moore Information archiving software
JP4066705B2 (ja) * 2002-05-01 2008-03-26 ブラザー工業株式会社 画像処理システム、プログラムおよび記録媒体
CA2385344A1 (en) * 2002-05-08 2003-11-08 Bell Globemedia Inc. Data transfer method and apparatus
US7711768B1 (en) * 2002-06-28 2010-05-04 Microsoft Corporation System and method for reliably exchanging information across a computer network
US7617256B2 (en) * 2004-07-19 2009-11-10 Microsoft Corporation Remote file updates through remote protocol
KR100841317B1 (ko) 2006-07-14 2008-06-26 엘지전자 주식회사 텔레비젼의 시스템 구동과 관련된 소프트웨어를 송수신하는 방법 및 그 장치
US8880478B2 (en) * 2006-12-28 2014-11-04 International Business Machines Corporation Scan-free archiving
US9521186B2 (en) * 2007-09-13 2016-12-13 International Business Machines Corporation Method and system for file transfer over a messaging infrastructure
CA2703204C (en) * 2007-10-24 2014-08-19 Jonathan Peter Deutsch Various methods and apparatuses for a central management station for automatic distribution of configuration information to remote devices
US8553555B2 (en) * 2008-01-18 2013-10-08 Qualcomm Incorporated Methods and apparatus for an efficient multicast file distribution system
US9141445B2 (en) * 2008-01-31 2015-09-22 Red Hat, Inc. Asynchronous system calls
US9065811B2 (en) * 2013-04-04 2015-06-23 Ericsson Television Inc. Methods, apparatus, and computer program products for communicating content files based on destination priority
US20140337296A1 (en) * 2013-05-10 2014-11-13 Bryan Knight Techniques to recover files in a storage network
KR102232217B1 (ko) * 2014-08-25 2021-03-26 삼성전자주식회사 전자 장치 및 전자 장치의 파일 전송 관리 방법
IN2015DE01560A (de) 2015-05-30 2015-07-03 Hcl Technologies Ltd

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548724A (en) * 1993-03-22 1996-08-20 Hitachi, Ltd. File server system and file access control method of the same
US5390239A (en) 1994-03-17 1995-02-14 Morris; Gregory A. Method for increasing digital data throughput over telephone lines
US5680400A (en) 1995-05-31 1997-10-21 Unisys Corporation System for high-speed transfer of a continuous data stream between hosts using multiple parallel communication links
US5737495A (en) 1995-09-29 1998-04-07 Intel Corporation Method and apparatus for managing multimedia data files in a computer network by streaming data files into separate streams based on file attributes
FI103005B1 (fi) 1996-03-25 1999-03-31 Nokia Telecommunications Oy Lähetettävän datan priorisointi reitittimessä
US5991862A (en) 1996-12-30 1999-11-23 Sun Microsystems, Inc. Modified indirect addressing for file system
US6963923B1 (en) 1997-02-10 2005-11-08 International Business Machines Corporation Method for file transfer restarts using standard internet protocol
US6175933B1 (en) * 1997-10-17 2001-01-16 International Business Machines Corporation Recovery of file transfers in a data processing system

Also Published As

Publication number Publication date
US6850962B1 (en) 2005-02-01
EP1177670B1 (de) 2006-11-02
WO2000069141A2 (en) 2000-11-16
DE60031665D1 (de) 2006-12-14
AU4696000A (en) 2000-11-21
WO2000069141A3 (en) 2001-07-19
EP1177670A2 (de) 2002-02-06

Similar Documents

Publication Publication Date Title
DE60031665T2 (de) System und verfahren zur dateienfernübertragung
DE69635047T2 (de) Vernetzte server mit kundenspezifischen diensten zum herunterladen von videos
DE60038448T2 (de) Vorrichtung und verfahren zur hardware-ausführung oder hardware-beschleunigung von betriebssystemfunktionen
DE60035830T2 (de) Netzwerkgeräteverwaltungsvorrichtung und - verfahren
DE69729399T2 (de) Datenverwaltungssystem und Verfahren für replizierte Daten
DE602005004334T2 (de) Nms zur Verarbeitung von Multi-Server Ereignissen
DE3908459C2 (de) Netzwerkserver
DE69720857T2 (de) Systeme und Verfahren zum Betrieb einer Netzwerk-Verwaltungsstation
DE69534411T2 (de) Offenes Transaktionverwaltungszugriffsystem und Verfahren
DE69832002T2 (de) Übertragungssystem und Übertragungsverfahren,Empfangssystem und Empfangsverfahren
DE69837508T2 (de) Verfahren zum Inhaltswiederauffinden über ein Netzwerk
DE60008102T2 (de) Verfahren und vorrichtung zur mehrfachsendung
DE69922693T2 (de) Systemem und verfahren für netzwerkvorrichtung und ein-ausgabegerätetreiber
DE60111551T2 (de) Mechanismus zur vervollständigung von nachrichten im speicher
DE60122691T2 (de) Verfahren und vorrichtung zum verteilten cachen
DE60313567T2 (de) Zugriffsrelayvorrichtung
DE60038170T2 (de) Verfahren und vorrichtung zur verwaltung der serversbandbreitenutzung
DE602004011638T2 (de) Verringern von Pufferanforderungen in einem Nachrichtenübermittlungssystem
DE60125988T2 (de) Verfahren und vorrichtung zur asynchronen berichtübertragung
EP0807883B1 (de) Kommunikationssystem mit Mitteln zum Austausch von Softwareprozessen
DE69937715T2 (de) Verbessertes Zwei-Phasen-Bindungsprotokoll
DE602004012660T2 (de) System und Verfahren für einen nachrichtenorientierten anpassungsfähigen Datentransport
DE60318847T2 (de) Echtzeit-Nachrichtenaustausch in kooperativen Netzwerkumgebungen
DE112004002043B4 (de) Verfahren, System und Programm zum Aufbau eines Pakets
DE60003339T2 (de) Bewahrung der übereinstimmung von passiv-replizierten nicht-deterministischen objekten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee