-
HINTERGRUND
DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Erfindung bezieht
sich im Allgemeinen auf eine Kommunikationsvorrichtung und insbesondere
auf eine Kommunikationsvorrichtung, welche aufweist: einen Auslastungsteil
zum Durchführen
arbiträrer
Applikationsverarbeitung, einen Steuerteil zum Durchführen einer
Verarbeitung gemäß einem
vorher bestimmten Protokoll und einen Speicher, welchen sich der
Auslastungsteil und der Steuerteil teilen, ein Kommunikationsverfahren
und ein Medium, auf welchem ein Computerprogramm zum Ausführen des
Verfahren aufgezeichnet ist.
-
Beschreibung
des Standes der Technik
-
In einer Kommunikationsvorrichtung,
welche einen Auslastungsteil zum Durchführen arbiträrer Applikationsverarbeitung,
einen Steuerteil zum Durchführen
einer Verarbeitung gemäß einem
vorher bestimmten Protokoll und einen Speicher aufweist, welchen
sich der Auslastungsteil und der Steuerteil teilen, überträgt der Steuerteil Übertragungsdaten,
welche im Auslastungsteil gemäß dem vorher
bestimmten Kommunikationsprotokoll generiert werden. Solch eine
Vorrichtung ist gezeigt in IBM-TDB, Bd. 38, Nr. 1, 01/1995, Seiten
53–54.
In der Kommunikationsvorrichtung, wenn große Mengen von Übertragungsdaten
in dem Auslastungsteil generiert werden für einen kurzen Zeitabschnitt
in einer Geschwindigkeit, welche die Kommunikationsgeschwindigkeit
des Steuerteils übersteigt,
können
die Übertragungsdaten
verworfen werden, ohne übertragen
zu werden. Deshalb hat die konventionelle Kommunikationsvorrichtung
einen Übertragungspuf fer
in ihrem Inneren bereitgestellt, und verwendet ein Verfahren des
temporären
Speicherns von Übertragungsdaten
im Übertragungspuffer,
um den Überlauf
der Übertragungsdaten
aufzunehmen.
-
Die konventionelle Kommunikationsvorrichtung,
welche mit dem Übertragungspuffer
ausgestattet ist, wird nun beschrieben.
-
24 ist
ein Blockdiagramm, welches ein Beispiel des Aufbaus eines Übertragungsteils
in der konventionellen Kommunikationsvorrichtung zeigt. In 24 weist die Kommunikationsvorrichtung
einen Steuerteil 1010, einen Auslastungsteil 1020,
ein RAM (Random Access Memory) 1030 und eine Schnittstelle 1040 auf.
-
Der Steuerteil 1010 führt ein
vorher bestimmtes Kommunikationsprotokoll aus. Obwohl der Auslastungsteil 1020 Applikationsverarbeitung
durchführt,
ist kein Dienst zum Verwenden im Kommunikationsprotokoll spezifiziert.
Dies bedeutet, dass ein Benutzer ein arbiträres Applikationsprogramm im Auslastungsteil 1020 verwenden
kann.
-
Das RAM 1030 wird als ein
Arbeitsspeicher der Steuereinheit 1010 und der Auslastungseinheit 1020 verwendet.
Das RAM 1030 hat, wie eines, welches sich auf Übertragungsdaten
bezieht, einen Übertragungspuffer 1031,
eine Übertragungsdaten-Verwaltungstabelle 1032 und
eine Verwaltungstabelle für
nicht übertragene
Daten 1033. Der Übertragungspuffer 1031 und
die Übertragungsdaten-Verwaltungstabelle 1032 stehen
unter der Verwaltung der Auslastungseinheit 1020. Andererseits
steht die Verwaltungstabelle für
nicht übertragene
Daten 1033 unter der Verwaltung der Steuereinheit 1010.
Die Details des Übertragungspuffers 1031,
der Übertragungsdaten-Verwaltungstabelle 1032 und
der Verwaltungstabelle für
nicht übertragene
Daten 1033 werden später
beschrieben werden.
-
Die Steuereinheit 1010 ist
mit einer Kommunikationsleitung 1042 über die Schnittstelle 1040 verbunden.
Die Schnittstelle 1040 enthält ein Modem oder Ähnliches
und vermittelt Kommunikation zwischen der Kommunikationsvorrichtung,
welche in 24 gezeigt
ist, und einer anderen Kommunikationsvorrichtung (nicht gezeigt).
-
25 ist
ein Diagramm, welches den Aufbau des Übertragungspuffers 1031 zeigt,
welcher in 24 gezeigt
ist. Übertragungsdaten,
welche im Auslastungsteil 1020 generiert werden, werden
in den Übertragungspuffer 1031 geschrieben.
In 25 werden, als ein
Beispiel, acht Übertragungsdaten
in den Übertragungspuffer 1031 geschrieben.
-
26 ist
ein Diagramm, welches den Aufbau der Übertragungsdaten-Verwaltungstabelle 1032 zeigt,
welche in 24 gezeigt
ist. In der Übertragungsdaten-Verwaltungstabelle 1032 wird
die Speicherstelle von jedem der Übertragungsdaten, welche in
den Übertragungspuffer 1031 geschrieben
werden, welcher in 25 gezeigt
ist (insbesondere eine Kopfadresse in einem Schreibbereich von jeder
der Übertragungsdaten
in dem Übertragungspuffer 1031).
-
27 ist
ein Diagramm, welches jeden Aufbau der Verwaltungstabelle für nicht übertragene
Daten 1033 zeigt, welche in 24 gezeigt
ist. Die Verwaltungstabelle für
nicht übertragene
Daten 1033 speichert die Speicherstelle von jedem der Übertragungsdaten,
deren Anforderung für
eine Übertragung akzeptiert
worden ist (eine Kopfadresse in einem Schreibbereich von jedem der Übertragungsdaten
in dem Übertragungspuffer 1031)
und die Größe davon. Ferner
werden ein Header-Informationsschreibbereich und ein Endstück-Informationsschreibbereich bereitgestellt
in Beziehung zu der Speicherstelle und der Größe von jedem der Übertragungsdaten.
-
28 ist
ein Flussdiagramm, welches einen Teil der Operationen zeigt, welche
durch den Auslastungsteil 1020 durchgeführt werden, welcher in 24 gezeigt ist. 29 und 30 sind Flussdiagramme, welche Teile
von Operationen zeigen, welche durch den Steuerteil 1010 durchgeführt werden, welcher
in 24 gezeigt ist.
-
Nun wird mit Bezug auf 28 bis 30 eine Serie von Operationen beschrieben,
welche von der Zeit, wenn Übertragungsdaten
generiert werden, bis diese in der Kommunikationsvorrichtung übertragen werden,
welche in 24 gezeigt
ist, durchgeführt werden.
-
Auf 28 wird
Bezug genommen werden. Der Auslastungsteil 1020 beurteilt,
wenn Übertragungsdaten
generiert werden (Schritt S2801), ob die Übertragung der Übertragungsdaten
die erste Übertragung
oder die zweite oder eine spätere Übertragung
ist (Schritt S2802). Im Fall der ersten Übertragung beurteilt der Auslastungsteil 1020,
ob die Übertragungsdaten-Verwaltungstabelle 1032 einen
Platz hat (Schritt S2803) oder nicht. In der ersten Übertragung
ist die Übertragungsdaten-Verwaltungstabelle 1032 leer,
so dass das Ergebnis der Beurteilung "JA" ist,
nach welcher das Programm mit dem Schritt S2804 fortfährt. Im
Schritt S2804 beurteilt der Auslastungsteil 1020, ob ein
Schreibbereich, in welchen Übertragungsdaten
neuerdings geschrieben werden sollen, in dem Übertragungspuffer 1031 zugesichert werden
kann oder nicht. In der ersten Übertragung
ist der Übertragungspuffer 1031 leer,
so dass das Ergebnis der Beurteilung "JA" ist,
nach welcher das Programm mit dem Schritt S2805 fortfährt. Im
Schritt S2805 sichert der Auslastungsteil 1020 einen Schreibbereich,
in welchen Übertragungsdaten
in den Übertragungspuffer 1031 neuerdings
geschrieben werden sollen, um die Speicherstelle (eine Kopfadresse)
des gesicherten Schreibbereichs zu der Übertragungsdaten-Verwaltungstabelle 1032 hinzuzufügen. Der
Auslastungsteil 1020 schreibt dann Übertragungsdaten, welche zu
dieser Zeit generiert werden, in den neuerdings gesicherten Schreibbereich
in dem Übertragungspuffer 1031 (Schritt S2806).
Der Auslastungsteil 1020 bereitet dann eine Datenübertragungsanforderung
vor (Schritt S2807). Die Datenübertragungsanforderung
enthält
die Speicherstelle der Übertragungsdaten,
welche neuerdings in den Übertragungspuffer
1031 geschrieben werden,
und die Größe davon.
Die Datenübertragungsanforderung
wird an den Steuerteil 1010 in dem Schritt S2808 ausgegeben.
-
Auf 29 wird
Bezug genommen werden. Der Steuerteil 1010 fügt, wenn
er die Datenübertragungsanforderung
vom Auslastungsteil 1020 empfängt (Schritt 52901), die Speicherstelle
und die Größe der Übertragungsdaten
(beide sind in der Datenübertragungsanforderung
enthalten) zur Verwaltungstabelle für nicht übertragene Daten 1033 hinzu (Schritt
S2902). Der Steuerteil 1010 schreibt dann Header-Information
eines Pakets, welches später
zu generieren ist, in einen Header-Informationsschreibbereich in der gleichen
Spalte wie eine Spalte, zu welcher die Speicherstelle und die Größe der Übertragungsdaten
im Schritt S2902 hinzugefügt
werden (Schritt S2903). Ferner schreibt der Steuerteil 1010 dann
Endstück-Information des Pakets,
welches später
zu generieren ist, in einen Endstück-Informationsschreibbereich in der gleichen
Spalte (Schritt S2904). Der Steuerteil 1010 beurteilt dann,
ob die Kommunikationsvorrichtung gegenwärtig in einem übertragungsfähigen Zustand
ist (Schritt S2905) oder nicht. Eine solche Beurteilung ist notwendig,
weil die Kommunikationsvorrichtung, welche in 24 gezeigt ist, z. B. eine Halbduplex-Übertragung
macht, so dass sie die Übertragungsdaten
nicht übertragen
kann, während Übertragungsdaten
von einer Kommunikationsvorrichtung am Ziel der Kommunikation empfangen
werden (nicht gezeigt). Der Steuerteil 1010 führt Verarbeitung
in dem Schritt S2906 sofort durch, wenn eine Übertragung möglich ist,
während
die Verarbeitung nach Warten durchgeführt wird, wenn die Übertragung
nicht möglich
ist, bis dort ein Zustand auftritt, wo eine Übertragung möglich ist.
Im Schritt S2906 generiert der Steuerteil 1010 ein Paket
für die ältesten Übertragungsdaten
unter den Übertragungsdaten,
welche bis jetzt noch nicht übertragen
worden sind, welches in der Verwaltungstabelle für nicht übertragene Daten 1033 registriert
ist, und überträgt das Paket
an die Kommunikationsvorrichtung am Ziel der Kommunikation. Das
Paket besteht aus Header-Information, Übertragungsdaten und Endstück-Information.
Die Header-Information
und die Endstück-Information
werden aus der Verwaltungstabelle für nicht übertragene Daten 1033 genommen. Die Übertragungsdaten
werden aus dem Übertragungspuffer 1031 genommen
(genauer aus einem Schreibbereich, welcher durch die Speicherstelle
der Übertragungsdaten
spezifiziert wird, welche in der Verwaltungstabelle für nicht übertragene
Daten 1033 gespeichert sind). Der Steuerteil 1010 beurteilt
dann, ob eine Bestätigung
(ACK) der Ankunft der übertragenen
Daten von der Kommunikationsvorrichtung an dem Ziel der Kommunikation
zurückgegeben
wird (Schritt S2907) oder nicht. Wenn das ACK nicht zurückgegeben
wird, kehrt das Programm zum Schritt S2906 zurück. Im Schritt S2906 generiert
der Steuerteil 1010 das gleiche Paket und sendet es erneut.
Andererseits, wenn das ACK zurückgegeben
wird, beurteilt der Steuerteil 1010, dass die Übertragung
des Pakets beendet ist, und löscht
Information, welche sich auf das Paket bezieht, dessen Übertragung
beendet ist (Header-Information, die Speicherstelle der Übertragungsdaten,
die Größe der Übertragungsdaten,
Endstück-Information) aus
der Verwaltungstabelle für
nicht übertragene
Daten 1033 (Schritt S2908). Die Übertragungsverarbeitung im
Steuerteil 1010 ist also beendet.
-
Auf 28 wird
erneut Bezug genommen werden. Wenn Übertragungsdaten im Auslastungsteil 1020 generiert
werden, ist die Übertragung
der Übertragungsdaten
zu dieser Zeit die zweite oder eine spätere Übertragung, so dass das Programm mit
dem Schritt S2809 fortfährt.
Im Schritt S2809 verlangt der Auslastungsteil 1020 eine
Bestätigung
eines Zustands des Steuerteils 1010. Der Zustand zeigt
die Situation, wo Übertragungsverarbeitung
im Steuerteil 1010 fortschreitet.
-
Auf 30 wird
Bezug genommen werden. Der Steuerteil 1010 nimmt, wenn
er eine Zustandbestätigungsanforderung
vom Auslastungsteil 1010 empfängt (Schritt 53001), all die
Speicherstellen der Übertragungsdaten,
welche in der Verwaltungstabelle für nicht übertragene Daten 1033 gespeichert
sind, um einen Zustand zu erzeugen (Schritt S3002), und sendet den
erzeugten Zustand an den Auslastungsteil 1020 (Schritt
S3003). Die Bestätigungsverarbeitung
des Zustands in dem Steuerteil 1010 ist also beendet.
-
Auf 28 wird
erneut Bezug genommen werden. Der Auslastungsteil 1020 beurteilt,
wenn er den Zustand von dem Steuerteil 1010 empfängt, ob dort Übertragungsdaten
sind, deren Übertragung
in dem Steuerteil 1010 vollständig ist, aus den Übertragungsdaten,
welche in den Übertragungspuffer 1031 geschrieben
sind (Schritt S2810) oder nicht. Diese Beurteilung wird gemacht
durch Untersuchen der Übertragungsdaten,
deren Speicherstelle in der Übertragungsdaten-Verwaltungstabelle 1032 gespeichert
ist, aber nicht in dem Zustand existieren. Wenn Übertragungsdaten, welche bereits übertragen
worden sind, in dem Übertragungspuffer 1031 existieren, schreibt
der Auslastungsteil 1020 die Übertragungsdaten in einen der
Schreibbereiche, welche die Übertragungsdaten
speichern, welche bereits übertragen worden
sind, und überschreibt
die Speicherstelle der Übertragungsdaten
(eine Kopfadresse in dem Schreibbereich) in einer korrespondierenden
Spalte in der Übertragungsdaten-Verwaltungstabelle 1032 (Schritt
52811). Der Auslastungsteil 1020 löscht dann die Speicherstelle
der Übertragungsdaten,
deren Übertragung
in dem vorangehenden Schritt S2811 bestätigt wird, und andere als die Übertragungsdaten,
welche zu dieser Zeit in den Übertragungspuffer 1031 geschrieben
werden (Schritt S2812). Der Auslastungsteil 1020 bereitet
dann eine Datenübertragungsanforderung
vor (einschließlich
der Speicherstelle und der Größe der Übertragungsdaten,
welche zu dieser Zeit in den Übertragungspuffer 1031 geschrieben
sind) (Schritt S2807). Die Datenübertragungsanforderung
wird an den Steuerteil 1010 in dem Schritt S2808 ausgegeben.
-
Andererseits, wenn dort keine Übertragungsdaten
existieren, deren Übertragung
in dem Übertragungspuffer 1033 in
dem vorangehenden Schritt S2810 beendet ist, fährt das Programm mit dem Schritt
S2803 fort. In dem Schritt S2803 beurteilt der Auslastungsteil 1020,
ob die Übertragungsdaten-Verwaltungstabelle 1032 leer
ist oder nicht. Wenn die Übertragungsdaten-Verwaltungstabelle 1032 nicht leer
ist, kehrt das Programm zu dem Schritt S2809 zurück. In dem Schritt S2809 bestätigt der
Auslastungsteil 1020 den Zustand in dem Steuerteil 1010 erneut.
Andererseits, wenn die Übertragungsdaten-Verwaltungstabelle 1032 leer
ist, beurteilt der Auslastungsteil 1020, ob ein Schreibbereich,
in welchen Übertragungsdaten
neuer dings geschrieben werden sollen, in dem Übertragungspuffer 1031 (Schritt
S2804) gesichert werden kann oder nicht. Wenn ein Schreibbereich,
in welchen Übertragungsdaten
neuerdings geschrieben werden sollen, nicht gesichert werden kann,
kehrt das Programm zu dem Schritt S2809 zurück. In dem Schritt S2809 bestätigt der
Auslastungsteil 1020 den Zustand in dem Steuerteil 1010 erneut.
Andererseits, wenn ein Schreibbereich, in welchen Übertragungsdaten
neuerdings geschrieben werden sollen, gesichert werden kann, sichert
der Auslastungsteil 1020 einen Schreibbereich, in welchen Übertragungsdaten
neuerdings geschrieben werden sollen, in dem Übertragungspuffer 1031, und
fügt die
Speicherstelle (eine Kopfadresse) des gesicherten Schreibbereichs
zu der Übertragungsdaten-Verwaltungstabelle 1032 hinzu
(Schritt S2805). Der Auslastungsteil 1020 schreibt dann Übertragungsdaten,
welche zu dieser Zeit generiert werden in den neuerdings gesicherten Übertragungsdaten-Schreibbereich
in dem Übertragungspuffer 1031 (Schritt
S2806). Der Auslastungsteil 1020 bereitet dann eine Datenübertragungsanforderung
vor (einschließlich
der Speicherstelle und der Größe der Übertragungsdaten,
welche zu dieser Zeit in dem Übertragungspuffer 1031 geschrieben
sind) (Schritt S2807). Die Datenübertragungsanforderung
wird an den Steuerteil 1010 in dem Schritt S2808 ausgegeben.
Operationen, welche zu der Datenübertragungsanforderung
gehören,
welche durch den Steuerteil 1010 durchgeführt werden,
sind die gleichen wie jene in dem Fall der oben erwähnten ersten Übertragung.
-
Andererseits, in einer Kommunikationsvorrichtung,
welche aufweist einen Auslastungsteil zum Durchführen arbiträrer Applikationsverarbeitung,
einen Steuerteil zum Durchführen
einer Verarbeitung in Bezug auf ein vorher bestimmtes Protokoll,
und einen Speicher, welchen sich der Auslastungsteil und der Steuerteil
teilen, wenn Daten empfangen werden, werden die Daten, welche in
dem Steuerteil empfangen werden, verarbeitet, nachdem sie an den
Auslastungsteil übertragen
werden. In der Kommunikationsvorrichtung kann der Überlauf
der empfangenen Daten von dem Steuerteil auftreten, wegen der Verzögerung der
Datenverarbeitung in dem Auslastungsteil. Deshalb verwendet die
konventionelle Kom munikationsvorrichtung ein Verfahren zum Bereitstellen
eines Empfangspuffers in dem Steuerteil und temporären Speicherns
der empfangenen Daten darin, um den Überlauf der empfangenen Daten
zu unterdrücken.
-
In der konventionellen Kommunikationsvorrichtung
wird das Verwenden des oben beschriebenen Verfahrens im Folgenden
beschrieben werden.
-
31 ist
ein Blockdiagramm, welches ein Beispiel des Aufbaus eines Empfangsteils
in der konventionellen Kommunikationsvorrichtung zeigt. In 31 weist die Kommunikationsvorrichtung
auf einen Steuerteil 1011, eine Vielzahl von Auslastungsteilen 1021 bis 102N,
ein RAM 1030 und eine Schnittstelle 1040.
-
Der Steuerteil 1011 führt ein
vorher bestimmtes Kommunikationsprotokoll aus. Der Steuerteil 1011 ist
mit einer Kommunikationslinie 1042 über die Schnittstelle 1040 verbunden.
Die Schnittstelle 1040 enthält ein Modem oder Ähnliches
und vermittelt Kommunikation zwischen der Kommunikationsvorrichtung,
welche in 31 gezeigt
ist, und einer anderen Kommunikationsvorrichtung (nicht gezeigt).
-
Obwohl die Auslastungsteile 1021 bis 102N Applikationsverarbeitung
durchführen,
ist kein Dienst zum Verwenden in dem Kommunikationsprotokoll spezifiziert.
Das bedeutet, dass ein Benutzer ein arbiträres Applikationsprogramm in
den Auslastungsteilen 1021 bis 102N benutzen kann.
-
Das RAM 1030 wird als ein
Arbeitsspeicher des Steuerteils 1011 und der Auslastungsteile 1021 bis 102N verwendet
und weist auf einen Steuerteilverwaltungsbereich 1051,
der durch den Steuerteil 1011 und die Auslastungsteil-Verwaltungsbereiche 1091 bis 109N verwaltet
wird, welche jeweils durch die Auslastungsteile 1021 bis 102N verwaltet
werden. Weiterhin weist der Steuerteil-Verwaltungsbereich 1051 einen
ersten Empfangspuffer 1081 und zweite Empfangspuffer 1061 bis 106N auf
, welche jeweils mit den Auslastungsteilen 1021 bis 102N korrespondieren.
Der erste Empfangspuffer 1081 besitzt einen Auf zeichnungsbereich,
und Daten, welche unter einem Befehl von dem Steuerteil 1011 empfangen werden,
werden in dem einen Aufzeichnungsbereich aufgezeichnet. Jeder der
zweiten Empfangspuffer 1061 bis 106N hat eine
Vielzahl von Aufzeichnungsbereichen, und die empfangenen Daten,
welche in dem ersten Empfangspuffer 1081 gespeichert sind, werden
in die Vielzahl von Aufzeichnungsbereichen unter einem Befehl von
dem Steuerteil 1011 überschrieben,
wie benötigt.
Die Auslastungsteilverwaltungsbereiche 1091 bis 109N enthalten
jeweils Datenüberschreibungsbereiche 1091a bis 109Na.
Die Auslastungsteile 1021 bis 102N überschreiben
jeweils Auslastungsteildaten, welche in den korrespondierenden zweiten
Empfangspuffern 1061 bis 106N in die Datenüberschreibungsbereiche 1091a bis 109Na überschrieben
worden sind.
-
Daten, welche in der konventionellen
Kommunikationsvorrichtung übertragen
und empfangen werden, nehmen eine Form an, welche ein Paket genannt
wird. Das Paket besteht aus Header-Teil, Datenteil und Endstückteil.
In Daten, welche unter Verwendung des Datenteils übertragen
werden, existieren Steuerteildaten, welche einer Protokollverarbeitung
in dem Steuerteil 1011 unterworfen sind, und Auslastungsteildaten,
welche jeweils einer Applikationsverarbeitung in den Auslastungsteilen 1021 bis 102N unterworfen
sind.
-
Eine Serie von Operationen, welche
in der Kommunikationsvorrichtung, welche in 31 gezeigt ist, durchgeführt werden,
von der Zeit, wenn Daten empfangen werden, bis eine Applikationsverarbeitung
durchgeführt
wird, wird beschrieben werden unter Verwendung der 32 und 33. 32 ist ein Flussdiagramm,
welches Verarbeitungsschritte zeigt, welche ausgeführt werden,
wenn der Steuerteil 1011 Daten empfängt. 33 ist ein Flussdiagramm, welches Verarbeitungsschritte
zeigt, welche ausgeführt werden
durch den Steuerteil 1011, wenn Busy-Kommunikation von jedem der Auslastungsteile 1021 bis 102N auftritt.
-
Auf 32 wird
Bezug genommen werden. Der Steuerteil 1011 schreibt zuerst,
wenn Daten empfangen werden, die empfangenen Daten (genauer, den
Datenteil des empfangenen Pakets) in den ersten Empfangspuffer 1081 (Schritt
S3201). Als die Voraussetzung des Verarbeitungsbeginns werden der
erste Empfangspuffer 1081 und die Empfangspuffer 1061 bis 106N initialisiert.
Der Steuerteil 1011 beurteilt, ob oder nicht der Datenteil,
welcher in den ersten Empfangspuffer 1081 geschrieben wird,
Auslastungsteildaten sind oder nicht (Schritt S3202). In der Beurteilung
in dem Schritt S3202, wenn der Datenteil nicht Auslastungsteildaten
sind, d. h. Steuerteildaten, unterwirft der Steuerteil 1011 die
Steuerteildaten einer Protokollverarbeitung (Schritt S3208) und
löscht
die Steuerteildaten aus dem ersten Empfangspuffer 1081 nach
der Verarbeitung (Schritt S3209).
-
Andererseits, in der Beurteilung
in dem vorhergehenden Schritt S3202, wenn der Datenteil Auslastungsteildaten
sind, überschreibt
der Steuerteil 1011 die Auslastungsteildaten, welche in
den ersten Empfangspuffer 1081 geschrieben werden, an den korrespondierenden
zweiten Empfangspuffer 106i (i = irgendeines von 1 bis
N. Das gleiche soll hiernach zutreffen) (Schritt S3203), und löscht die
Auslastungsteildaten von dem ersten Empfangspuffer 1081 (Schritt
S3204). Danach beurteilt der Steuerteil 1011, ob der Auslastungsteil 102i zum
Verarbeiten der Auslastungsteildaten in einem Busy-Zustand ist (ein
Zustand, wo Verarbeitung durchgeführt wird, und eine neue Verarbeitungsanforderung
nicht akzeptiert werden kann) mittels Verwenden eines Flags oder Ähnlichem
oder nicht (Schritt S3205). In der Beurteilung im Schritt S3205,
wenn der Auslastungsteil 102i nicht in einem Busy-Zustand
ist, benachrichtigt der Steuerteil 1011 den Auslastungsteil 102i von
dem Empfang der Speicherstelle der Auslastungsteildaten, welche in
den zweiten Empfangspuffer 106i geschrieben sind (insbesondere
eine Kopfadresse in einem Schreibbereich der empfangenen Daten)
und der Größe davon
(Schritt S3206). Danach löscht
der Steuerteil 1011 die Auslastungsteildaten, über welche
der Auslastungsteil 102i benachrichtigt wurde, aus dem
zweiten Empfangspuffer 106i (Schritt S3207). Der Auslastungsteil 102i führt Verarbeitung zum Überschreiben
von Auslastungsteildaten an den Datenüberschreibungsbereich 109ia durch,
welcher sich selbst verwaltet, von dem zweiten Empfangspuffer 106i nach
Empfang der Benachrichtigung des Empfangs in einem Zeitbereich,
welcher von der Verar beitung in dem Schritt S3206 bis zu der Verarbeitung
in dem Schritt S3207 vergangen ist, welcher nicht dargestellt ist.
Andererseits, wenn der korrespondierende Auslastungsteil 102i in
einem Busy-Zustand ist, in der Beurteilung in dem vorher erwähnten Schritt
S3205, beendet der Steuerteil 1011 die Empfangsverarbeitung.
-
Da die Empfangsverarbeitung beendet
wurde, weil der Auslastungsteil 102i in einem Busy-Zustand
war, sendet der Steuerteil 1011, wenn der Busy-Zustand
in dem Auslastungsteil 102i gelöst wird, die oben erwähnte Benachrichtigung über den Empfang
an den Auslastungsteil 1021 durch eine Kommunikation, welche
sich auf den Busy-Zustand bezieht (hiernach als eine Busy-Kommunikation
bezeichnet) von dem Auslastungsteil 102i, wie in 33 gezeigt.
-
Auf 33 wird
Bezug genommen werden. Der Steuerteil 1011 beurteilt, wenn
er die Busy-Kommunikation von dem Auslastungsteil 102i empfängt, ob
die Kommunikation eine Kommunikation ist, welche anzeigt, dass der
Auslastungsteil 102i nicht in einem Busy-Zustand ist, oder
nicht (Schritt S3301). In einem Fall, wo in der Beurteilung in dem
Schritt S3301 die Kommunikation eine Kommunikation ist, welche anzeigt,
dass der Auslastungsteil 102i nicht in einem Busy-Zustand ist, beurteilt
der Steuerteil 1011 ferner, ob Auslastungsteildaten in
dem zweiten Empfangspuffer 106i existieren oder nicht (Schritt
S3302). Andererseits, in einem Fall, wo in der Beurteilung in dem
Schritt S3301 die Kommunikation keine Kommunikation ist, welche
anzeigt, dass der Auslastungsteil 102i nicht in einem Busy-Zustand
ist, beendet der Steuerteil 1011 die Verarbeitung für die Busy-Kommunikation.
-
Wenn die Auslastungsteildaten in
den zweiten Empfangspuffer 106i in der Beurteilung zu dem vorher
erwähnten
Schritt S3302 existieren, benachrichtigt der Steuerteil 1011 den
Auslastungsteil 102i von dem Empfang der Speicherstelle,
in welchen die Auslastungsteildaten geschrieben werden, in dem RAM 1030 und
die Größe davon
(Schritt S3303). Danach löscht
der Steuerteil 1011 die Auslastungsteildaten aus dem zweiten
Empfangspuffer 106i (Schritt S3304). Es wurde auch bedacht,
dass der Übergang des
Auslastungsteils 102i in den Busy-Zustand sofort auftritt
durch die Benachrichtigung, welche in dem Schritt S3303 gemacht
wird, so dass der Steuerteil 1011 den Inhalt der Busy-Kommunikation
wieder bestätigt,
nachdem die Auslastungsteildaten in dem Schritt S3304 gelöscht werden
(Schritt 53305). Deshalb kehrt das Programm zu dem Schritt S3301
zurück.
In dem Schritt S3301 werden die bestätigten Inhalte der Kommunikation
beurteilt. In dem Fall, dass die Inhalte der Kommunikation anzeigen,
dass der Auslastungsteil 102i in einem Busy-Zustand ist,
wird die Verarbeitung der Busy-Kommunikation beendet. In dem Fall,
dass die Inhalte der Kommunikation anzeigen, dass der Auslastungsteil 102i nicht
in einem Busy-Zustand ist, wird ferner beurteilt, ob die Auslastungsteildaten
in dem zweiten Empfangspuffer 106i existieren oder nicht.
Der Auslastungsteil 102i führt eine Verarbeitung zum Überschreiben
der Auslastungsteildaten in den Datenüberschreibungsbereich 109ia durch,
welcher durch sich selbst verwaltet wird, von dem zweiten Empfangspuffer 106i nach
Empfang der Benachrichtigung in einem Zeitraum, welcher von der
Verarbeitung in dem Schritt S3303 bis zu der Verarbeitung in dem
Schritt S3304 verstrichen ist, welcher nicht gezeigt ist. Andererseits,
wenn die Auslastungsteildaten nicht in dem zweiten Empfangspuffer 106i existieren
in der Beurteilung in dem Schritt S3302, beendet der Steuerteil 1011 die
Verarbeitung für
die Busy-Kommunikation.
-
Als ein Verfahren des Unterdrückens des Überlaufs
der empfangenen Daten wurde die Kommunikationsvorrichtung, welche
mit dem zweiten Empfangspuffer 1061 bereitgestellt wird,
beschrieben. In einem Fall, wo Daten, deren Menge nicht weniger
als die Größe des Empfangspuffers 1061 ist,
zu der Kommunikationsvorrichtung übertragen werden, können die
Daten jedoch, sogar wenn die Daten empfangen werden, nicht in den
zweiten Empfangspuffer 106i geschrieben werden. Als ein
Ergebnis tritt ein Fehlbetrag von den Daten auf.
-
Um damit zurechtzukommen, gibt es
solch ein Verfahren, dass eine Kommunikationsvorrichtung auf der
Empfangsseite den vollständigen
Betrag von Daten kommuniziert, welche in einem Puffer gespeichert
werden können
(korrespondie rend zu dem Teil des zweiten Empfangspuffers 106i in 31), sogar wenn der Auslastungsteil 1021 in
einem Busy-Zustand ist, an eine Kommunikationsvorrichtung auf der Übertragungsseite,
bevor eine Kommunikation begonnen wird, in der Form eines Kreditwerts,
wie später
beschrieben.
-
Dieses Verfahren nutzt die Tatsache,
dass die maximale Größe von Daten
in einem Kommunikationspaket (welches der maximale Wert der Daten ist,
welche in einer Paketübertragung
transportiert werden können)
vorher in den Stufen der Konstruktion eines Kommunikationssystems
bestimmt wird. Insbesondere wird die Größe eines Bereichs in dem RAM 1030,
welches Empfangsdaten speichern kann, d. h. der zweite Empfangspuffer 106i dividiert
durch die maximale Datengröße, gefunden.
Die Kommunikationsvorrichtung auf der Empfangsseite kommuniziert
das Ergebnis der Division an die Kommunikationsvorrichtung auf der Übertragungsseite,
bevor eine Kommunikation begonnen wird, als die Anzahl von Malen,
die ein Paketempfang (Paketübertragung auf
der Empfangsseite) kontinuierlich durchgeführt werden kann. Ein Wert,
welcher die Anzahl von Malen repräsentiert, die ein Paketempfang
(Übertragung)
kontinuierlich durchgeführt
werden kann, wird als ein Kreditwert bezeichnet. Insbesondere wird dessen
Maximalwert als der maximale Kreditwert bezeichnet. Die Kommunikationsvorrichtung
auf der Übertragungsseite,
welche den maximalen Kreditwert empfangen hat, verringert den Kreditwert
um eins zu einer Zeit selbstständig,
jedes Mal wenn sie ein Paket überträgt, um die
Paketübertragung
zu einem Zeitpunkt zu stoppen, wo der Kreditwert null wird. Die
Kommunikationsvorrichtung auf der Übertragungsseite wartet bis
der nachfolgende Kreditwert von der Kommunikationsvorrichtung auf
der Empfangsseite kommuniziert wird. Infolgedessen empfängt die
Kommunikationsvorrichtung auf der Empfangsseite nicht vergeblich
Daten nicht weniger als die erlaube Menge von Daten, welche durch
sie selbst verarbeitet werden können
(gespeichert in dem Empfangspuffer), so dass z. B. verhindert werden
kann, dass ein Fehlbetrag von den empfangenen Daten auftritt.
-
Wie in dem Vorhergehenden beschrieben,
in der konventionellen Kommunikationsvorrichtung, wird der Übertragungspuffer 1031 verwaltet
durch den Auslastungsteil 1020. Jedoch wird die Übertragungsverarbeitung
der übertragenen
Daten in dem Steuerteil 1010 durchgeführt, so dass der Auslastungsteil 1020 nicht
direkt wissen kann, welche der Übertragungsdaten
in dem Übertragungspuffer 1031 übertragen
worden sind. Deshalb beurteilt in der konventionellen Kommunikationsvorrichtung
der Steuerteil 1010, welche der Übertragungsdaten, deren Übertragungsanforderung
akzeptiert worden ist, bis jetzt nicht übertragen worden sind, verwaltet
die Beurteilung unter Verwenden der Verwaltungstabelle für nicht übertragene
Daten 1033, und überträgt das Ergebnis
der Verwaltung an den Auslastungsteil 1020 als einen Zustand.
Infolgedessen kann der Auslastungsteil 1020 wissen, welche
der Übertragungsdaten
in dem Übertragungspuffer 1031 übertragen
worden sind, und kann neue Übertragungsdaten
in einen Teil schreiben, welcher die Übertragungsdaten speichert.
-
Jedoch muss in der oben erwähnten Konfiguration
zu jeder Zeit, wo Übertragungsdaten
neuerdings generiert werden, der Auslastungsteil 1020 einen
Zustand des Steuerteils 1010 abfragen, und der Steuerteil 1010 muss
einen Zustand auf der Basis der in der Verwaltungstabelle für nicht übertragene Daten 1033 aufgezeichneten
Daten erzeugen, als Antwort auf die Abfrage, und den erzeugten Zustand an
den Auslastungsteil 1020 senden. Ferner muss der Auslastungsteil 1020 die
Speicherstelle der Übertragungsdaten
in dem Übertragungspuffer 1031 verwalten,
unter Verwenden der Übertragungsdaten-Verwaltungstabelle
1032, um die Speicherstelle eines Schreibbereichs zu spezifizieren,
welcher Übertragungsdaten
speichert, welche in den Übertragungspuffer 1031 übertragen
worden sind, von dem gesendeten Zustand. Deshalb erfordert die konventionelle
Kommunikationsvorrichtung eine komplizierte Verarbeitung zum Verwalten
des Übertragungspuffers 1031,
so dass eine Last auf der gesamten Kommunikationsvorrichtung schwer
wird, weil der Übertragungspuffer 1031 in
einer verteilten Weise durch den Auslastungsteil 1020 und
den Steuerteil 1010 verwaltet wird.
-
In der konventionellen Kommunikationsvorrichtung
trägt der
Auslastungsteil 1020 die Verantwortung für einen
Teil der Verwaltung des Übertragungspuffers 1031,
so dass eine Verarbeitungslast auf dem Auslastungsteil schwer wird.
Als ein Ergebnis sind eine große
Menge an Zeit und hohe Kosten nötig,
um ein neues Applikationsprogramm zu entwickeln. Da das Applikationsprogramm
Verarbeitung enthält,
anders als die Verarbeitung, welche ursprünglich erwartet wird, kann
nicht erwartet werden, dass die Verarbeitung, welche ursprünglich erwartet wurde,
schnell durchgeführt
wird, so dass die Kommunikationsvorrichtung für einen Benutzer unbequem ist.
-
Andererseits, in der konventionellen
Kommunikationsvorrichtung, sind zwei Empfangspuffer, d. h. der erste
Empfangspuffer 1081 (zum Empfangen von Daten und Zuordnen
zu dem Steuerteil/den Auslastungsteilen) und die zweiten Empfangspuffer 1061 bis 106N (zum
Speichern von Auslastungsteildaten als Anti-Überlaufmaßnahmen)
dazwischen angeordnet, bevor die empfangenen Auslastungsteildaten
eine Applikationsverarbeitung in den Auslastungsteilen 1021 bis 102N unterworfen
sind. Deshalb sind in der vorher erwähnten konventionellen Kommunikationsvorrichtung
zwei Datenüberschreibungen
(Datenüberschreibung
von dem ersten Empfangspuffer 1081 an die zweiten Empfangspuffer 1061 bis 106N,
und Datenüberschreibung
von den zweiten Empfangspuffern 1061 bis 106N an
die Datenüberschreibungsbereiche 1091a bis 109Na)
erforderlich bei Verarbeitung eines empfangenen Datums. Infolgedessen
ist die konventionelle Kommunikationsvorrichtung in Kommunikationsdurchsatz
unterlegen.
-
In der oben erwähnten konventionellen Kommunikationsvorrichtung
ist die Größe des zweiten Empfangspuffers 106i identisch
und fest, unter der Verwaltung des Steuerteils 1011, unabhängig von verschiedenen
Zielen und Verarbeitungsfähigkeiten der
Auslastungsteile 1021 bis 102N. Deshalb ist die Größe des zweiten
Empfangspuffers 106i zu groß und nutzlos, abhängig von
dem Auslastungsteil 102i, während sie zu klein ist, wobei
in einigen Fällen
ein Fehlbetrag von Daten verursacht wird.
-
Ferner ist in der konventionellen
Kommunikationsvorrichtung, welche den oben erwähnten Kreditwert kommuniziert,
die feste Größe des zweiten Empfangspuffers 106i geteilt
durch die vorher bestimmte maximale Datengröße in dem Kommunikationspaket,
wobei dabei der maximale Kreditwert gefunden wird. Deshalb ist der
maximale Kreditwert ein konstanter Wert, obwohl die Datengröße für jede Kommunikation
variiert, so dass keine effiziente und am besten geeignete Datenkommunikation
abhängig von
einer Kommunikation etabliert wird.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Deshalb ist es ein Ziel der vorliegenden
Erfindung, eine Kommunikationsvorrichtung bereitzustellen, welche
einen Übertragungspuffer
mit einfacher Verarbeitung verwalten kann, bequem für einen Benutzer
ist, Kommunikationsdurchsatz in deren beschränkten Ressourcen verbessert
und versucht, die Ressourcen am besten geeignet zu nutzen.
-
Um das oben erwähnte Ziel zu erreichen, hat die
vorliegende Erfindung die folgenden Merkmale.
-
Ein erster Aspekt ist gerichtet auf
eine Kommunikationsvorrichtung, wie im unabhängigen Anspruch 1 spezifiziert.
-
Ein zweiter Aspekt ist gerichtet
auf ein Kommunikationsverfahren, wie im unabhängigen Anspruch 3 spezifiziert.
-
Ein dritter Aspekt ist gerichtet
auf ein Aufzeichnungsmedium, wie im unabhängigen Anspruch 5 definiert.
-
Weitere Ausführungsformen der Erfindung sind
in den angehängten
abhängigen
Ansprüchen spezifiziert.
-
Die vorhergehenden und andere Ziele,
Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden
ersichtlicher werden von der folgenden detaillierten Beschreibung
der vorliegenden Erfindung, wenn in Verbindung mit den beigefügten Zeichnungen
genommen.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm, welches die Konfiguration einer Kommunikationsvorrichtung
gemäß einer
ersten Ausführungsform
der vorliegenden Erfindung zeigt;
-
2 ist
ein Diagramm, welches den Aufbau eines Übertragungspuffers 34 zeigt,
welcher in 1 gezeigt
ist;
-
3 ist
ein Diagramm, welches den Aufbau einer Verwaltungstabelle 35,
welche in 1 gezeigt ist,
und einer Verwaltungstabelle 35 zeigt, welche in 10 gezeigt ist;
-
4 ist
ein Flussdiagramm, welches einen Teil von Operationen zeigt, welche
durch einen Auslastungsteil 20 durchgeführt werden, welcher in 1 gezeigt ist;
-
5 ist
ein Flussdiagramm, welches einen Teil von Operationen zeigt, welche
durch einen Steuerteil 10 durchgeführt werden, welcher in 1 gezeigt ist;
-
6 ist
ein Flussdiagramm, welches einen Teil der Operationen zeigt, welche
durch den Steuerteil 10 durchgeführt werden, welcher in 1 gezeigt ist;
-
7 ist
ein Blockdiagramm, welches die Konfiguration einer anderen Kommunikationsvorrichtung
zeigt;
-
8 ist
ein Diagramm, welches den Aufbau eines Übertragungspuffers 36,
welcher in 7 gezeigt
ist, und eines Übertragungspuffers 36 zeigt, welcher
in 10 gezeigt ist;
-
9 ist
ein Flussdiagramm, welches einen Teil von Operationen zeigt, welche
durch einen Steuerteil 10 durchgeführt werden, welcher in 7 gezeigt ist;
-
10 ist
ein Blockdiagramm, welches die Konfiguration einer anderen Kommunikationsvorrichtung
zeigt;
-
11 ist
ein Diagramm, welches den Aufbau eines festen Datenübertragungsbereichs 37 zeigt,
welcher in 10 gezeigt
ist;
-
12 ist
ein Flussdiagramm, welches einen Teil von Operationen zeigt, welche
durch einen Auslastungsteil 20 durchgeführt werden, welcher in 10 gezeigt ist;
-
13 ist
ein Flussdiagramm, welches einen Teil von Operationen zeigt, welche
durch einen Steuerteil 10 durchgeführt werden, welcher in 10 gezeigt ist;
-
14 ist
ein Blockdiagramm, welches die Konfiguration einer anderen Kommunikationsvorrichtung
zeigt;
-
15a und 15b sind Diagramme, welche den
Aufbau eines ersten Empfangspuffers 81 bzw. zweiter Empfangspuffer 61 bis 6N in 14 zeigen;
-
16a und 16b sind Diagramme, welche Beispiele
des Aufbaus von übertragenen
und empfangenen Daten in der Kommunikationsvorrichtung zeigen, welche
in 14 gezeigt ist;
-
17 ist
ein Flussdiagramm, welches einen Teil von Operationen zeigt, welche
durch einen Steuerteil 11 durchgeführt werden, welcher in 14 gezeigt ist;
-
18 ist
ein Flussdiagramm, welches einen Teil der Operationen zeigt, welche
durch den Steuerteil 11 durchgeführt werden, welcher in 14 gezeigt ist;
-
19 ist
ein Flussdiagramm, welches einen Teil von Operationen zeigt, welche
durch einen Auslastungsteil 20 durchgeführt werden, welcher in 14 gezeigt ist;
-
20 ist
ein Flussdiagramm, welches einen Teil der Operationen zeigt, welche
durch den Steuerteil 11 durchgeführt werden, welcher in 14 gezeigt ist;
-
21 ist
ein Blockdiagramm, welches die Konfiguration einer anderen Kommunikationsvorrichtung
zeigt;
-
22 ist
ein Diagramm, welches den Aufbau von Verwaltungstabellen 101 bis 10N zeigt,
welche in 21 gezeigt
sind;
-
23a und 23b sind Flussdiagramme,
welche einen Teil von Operationen zeigen, welche durch einen Steuerteil 11 durchgeführt werden,
welcher in 21 gezeigt
ist;
-
24 ist
ein Blockdiagramm, welches ein Beispiel des Aufbaus eines Übertragungsteils
in einer konventionellen Kommunikationsvorrichtung zeigt;
-
25 ist
ein Diagramm, welches den Aufbau eines Übertragungspuffers 1031 zeigt,
welcher in 24 gezeigt
ist;
-
26 ist
ein Diagramm, welches den Aufbau einer Übertragungsdaten-Verwaltungstabelle 1032 zeigt,
welche in 24 gezeigt
ist;
-
27 ist
ein Diagramm, welches den Aufbau einer Verwaltungstabelle für nicht übertragene Daten 1033 zeigt,
welche in 24 gezeigt
ist;
-
28 ist
ein Flussdiagramm, welches einen Teil von Operationen zeigt, welche
durch einen Auslastungsteil 1020 durchgeführt werden,
welcher in 24 gezeigt
ist;
-
29 ist
ein Flussdiagramm, welches einen Teil von Operationen zeigt, welche
durch einen Steuerteil 1010 durchgeführt werden, welcher in 24 gezeigt ist;
-
30 ist
ein Flussdiagramm, welches einen Teil der Operationen zeigt, welche
durch den Steuerteil 1010 durchgeführt werden, welcher in 24 gezeigt ist;
-
31 ist
ein Blockdiagramm, welches ein Beispiel des Aufbaus eines Empfangsteils
in einer konventionellen Kommunikationsvorrichtung zeigt;
-
32 ist
ein Flussdiagramm, welches einen Teil der Operationen zeigt, welche
durch einen Steuerteil 1011 durchgeführt werden, welcher in 31 gezeigt ist; und
-
33 ist
ein Flussdiagramm, welches einen Teil der Operationen zeigt, welche
durch den Steuerteil 1011 durchgeführt werden, welcher in 31 gezeigt ist.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
(Erste Ausführungsform
)
-
1 ist
ein Blockdiagramm, welches die Konfiguration einer Kommunikationsvorrichtung
gemäß einer
ersten Ausführungsform
der vorliegenden Erfindung zeigt. In 1 weist
die Kommunikationsvorrichtung gemäß der ersten Ausführungsform
einen Steuerteil 10, einen Auslastungsteil 20,
ein RAM 30 und eine Schnittstelle 40 auf.
-
Der Steuerteil 10 führt ein
vorher bestimmtes Kommunikationsprotokoll aus. Obwohl der Auslastungsteil 20 Applikationsverarbeitung
durchführt,
ist kein Dienst zum Verwenden auf dem Kommunikationsprotokoll spezifiziert.
Dies bedeutet, dass ein Benutzer ein arbiträres Applikationsprogramm im
Auslastungsteil 20 verwenden kann.
-
In einer typischen Hardware-Umgebung
ist jeder der Steuerteile 10 und der Auslastungsteile 20 gebildet
durch eine Speichervorrichtung (ein ROM, ein RAM, eine Festplatte,
etc.), welche vorbestimmte Programmdaten speichert, und eine CPU
(Central Processing Unit – zentrale
Verarbeitungseinheit), welche die Programmdaten ausführt. In
diesem Fall werden jeweils eine Funktion, welche durch den Steuerteil 10 ausgeübt wird,
und eine Funktion, welche durch den Auslastungsteil 20 ausgeübt wird,
in unabhängigen
Ausformungen von Programmdaten bereitgestellt. Jede der Programmdaten
können durch
ein Aufzeichnungsmedium, wie eine CD-ROM oder ein Diskettenlaufwerk,
eingebracht werden oder durch eine Kommunikation eingebracht werden.
-
Das RAM 30 wird als ein
Arbeitsspeicher des Steuerteils 10 und des Auslastungsteils 20 verwendet.
Das RAM 30 hat einen Übertragungspuffer 34 und
eine Verwaltungstabelle 35. Sowohl der Übertragungspuffer 34 als
auch die Verwaltungstabelle 35 sind unter der Verwaltung
des Steuerteils 10. Die Details des Übertragungspuffers 34 und
der Verwaltungstabelle 35 werden später beschrieben werden.
-
Der Steuerteil 10 ist mit
einer Kommunikationsleitung 42 über die Schnittstelle 40 verbunden. Die
Kommunikationsleitung 42 braucht nicht in Form eines Drahtes
zu sein und kann in einer drahtlosen Form sein, welche Funkwellen
oder Licht als ein Kommunikationsmedium verwendet. Die Schnittstelle 40 enthält ein Modem
oder Ähnliches
und vermittelt Kommunikation zwischen der Kommunikationsvorrichtung,
welche in 1 gezeigt
ist, und einer anderen Kommunikationsvorrichtung (nicht gezeigt).
-
2 ist
ein Diagramm, welches den Aufbau des Übertragungspuffers 34 zeigt,
welcher in 1 gezeigt
ist. Übertragungsdaten,
welche im Auslastungsteil 20 generiert werden, werden in
den Übertragungspuffer 34 geschrieben.
In 2 sind acht Übertragungsdaten
geschrieben worden, als ein Beispiel, in den Übertragungspuffer 34.
Der Übertragungspuffer 34 ist
versehen mit einem Nutzungs-Zustands-Flag
für einen
Schreibbereich von jeder der Übertragungsdaten.
-
3 ist
ein Diagramm, welches den Aufbau der Verwaltungstabelle 35 zeigt,
welche in 1 gezeigt
ist. Die Verwaltungstabelle 35 ist ähnlich zu der Verwaltungstabelle
für nicht übertragene
Daten 1033, welche in 27 gezeigt
ist, und speichert die Speicherstelle von jedem der Übertragungsdaten, deren
Anforderung für
eine Übertragung
akzeptiert worden ist (eine Kopfadresse in einem Schreibbereich
der Übertragungsdaten
in dem Übertragungspuffer 34),
und die Größe davon.
Ferner werden ein Header-Informationsschreibbereich und ein Endstück-Informationsschreibbereich
in Beziehung auf die Speicherstelle und die Größe von jedem der Übertragungsdaten
bereitgestellt.
-
4 ist
ein Flussdiagramm, welches einen Teil von Operationen zeigt, welche
durch den Auslastungsteil 20 durchgeführt werden, welcher in 1 gezeigt ist. 5 und 6 sind Flussdiagramme, welche Teile von
Operationen zeigen, welche durch den Steuerteil 10 durchgeführt werden,
welcher in 1 gezeigt
ist. Bezug nehmend nun auf 4 bis 6 wird eine Beschreibung
einer Serie von Operationen gegeben, welche von der Zeit, wenn Übertragungsdaten
generiert werden, bis diese übertragen
sind, in der Kommunikationsvorrichtung, durchgeführt werden, welche in 1 gezeigt ist.
-
Auf 4 wird
Bezug genommen werden. Der Auslastungsteil 20 gibt, wenn Übertragungsdaten
generiert werden (Schritt 401), eine Anforderung aus, um einen Schreibbereich
für den
Steuerteil 10 zu erlangen (Schritt 402).
-
Auf 5 wird
Bezug genommen werden. Wenn die Anforderung, um den Schreibbereich
zu erlangen, von dem Auslastungsteil 20 empfangen wird (Schritt
S501), beurteilt der Steuerteil 10, ob Schreibbereiche,
wo ein Nutzungszustands-Flag
AUS ist, in dem Übertragungspuffer 34 existieren
oder nicht (Schritt S502). Wenn dort die Schreibbereiche existieren,
wo das Nutzungszustands-Flag AUS ist, bestimmt der Steuerteil 10 irgendeinen
der Schreibbereiche als einen Schreibbereich, welcher dem Auslastungsteil 20 bereitzustellen
ist, um dort hinein neue Übertragungsdaten
zu schreiben, und schaltet das Nutzungszustands-Flag ein, welches
sich darauf bezieht (Schritt S503). Danach sendet der Steuerteil 10 erneut
das Ergebnis der Erlangung des Schreibbereichs (einschließlich des
Erfolgs der Erlangung und der Speicherstelle des Schreibbereichs,
welcher bereitzustellen ist) an den Auslastungsteil 20 (Schritt S504).
Andererseits, wenn dort keine Schreibbereiche existieren, wo das
Nutzungszustands-Flag AUS ist, sendet der Steuerteil 10 an
den Auslastungstei 20 erneut die Tatsache, dass kein Schreibbereich
erlangt werden kann (Schritt S504).
-
Auf 4 wird
erneut Bezug genommen werden. Der Auslastungsteil 20 beurteilt,
ob der Schreibbereich, in welchen die generierten Übertragungsdaten
geschrieben werden sollen, erlangt wurde oder nicht (Schritt S403).
Wenn kein Schreibbereich erlangt werden kann, fährt der Auslastungsteil 20 fort,
eine Anforderung, um einen Schriebbereich zu erlangen, an den Steuerteil 10 zu
senden, bis der Schreibbereich erlangt werden kann. Andererseits, wenn
der Schreibbereich erlangt werden kann, schreibt der Auslastungsteil 20 Übertragungsdaten
in den Schreibbereich, in dem Übertragungspuffer 34, welcher
vom Steuerteil 10 bereitgestellt wird (Schritt S404). Der
Auslastungsteil 20 bereitet dann eine Datenübertragungsanforderung
vor (Schritt S405). Die Datenübertragungsanforderung
enthält
die Speicherstelle der Übertragungsdaten,
welche neuerdings in den Übertragungspuffer 34 geschrieben
wurden, und die Größe davon.
Die Datenübertragungsanforderung
wird an den Steuerteil 10 im Schritt S406 ausgegeben.
-
Auf 6 wird
Bezug genommen werden. Der Steuerteil 10 fügt, wenn
er die Datenübertragungsanforderung
von dem Auslastungsteil 20 empfängt (Schritt S601), die Speicherstelle
und die Größe der Übertragungsdaten
(beide sind in der Datenübertragungsanforderung
enthalten) der Verwaltungstabelle 35 hinzu (Schritt S602).
Der Steuerteil 10 schreibt dann Header-Information eines
Pakets, welches später
zu generieren ist, in einen Header-Informationsschreibbereich, welcher
in der gleichen Spalte existiert, wie eine Spalte, in welche die
Speicherstelle und die Größe der Übertragungsdaten
in dem Schritt S602 hinzugefügt
werden (Schritt S603). Ferner schreibt der Steuerteil 10 Endstück-Information des
Pakets, welches später
zu generieren ist, in einen Endstück-Informationsschreibbereich, welcher
in derselben Spalte existiert (Schritt S604).
-
Der Steuerteil 10 beurteilt
dann, ob die Kommunikationsvorrichtung momentan in einem übertragungsfähigen Zustand
ist oder nicht (Schritt S605). Solche Beurteilung ist nötig, da
die Kommunikationsvorrichtung, welche in 1 gezeigt ist, z. B. Halbduplex-Übertragung
vollzieht, so dass sie, in einigen Fällen, nicht die Übertragungsdaten übertragen kann,
während Übertragungsdaten
von einer Kommunikationsvorrichtung an dem Ziel der Kommunikation
(nicht gezeigt) empfangen werden, ähnlich zu der konventionellen
Kommunikationsvorrichtung. Der Steuerteil 10 fährt im Schritt
S606 unmittelbar eine Verarbeitung durch, wenn Übertragung möglich ist, während die
Verarbeitung nach Warten durchgeführt wird, wenn eine Übertragung
unmöglich
ist, bis dort ein Zustand auftritt, wo Übertragung möglich ist.
Im Schritt S606 generiert der Steuerteil 10 ein Paket für die ältesten Übertragungsdaten
von den Übertragungsdaten,
welche bis jetzt nicht übertragen
worden sind, welche in der Verwaltungstabelle 35 registriert sind,
und überträgt das Paket
an die Kommunikationsvorrichtung an dem Ziel der Kommunikation.
Das Paket besteht aus Header-Information, Übertragungsdaten und Endstück-Information.
Die Header-Information und die Endstück-Information werden aus der
Verwaltungstabelle 35 genommen. Die Übertragungsdaten werden aus
dem Übertragungspuffer 34 genommen
(genauer aus einem Schreibbereich, welcher durch die Speicherstelle
der Übertragungsdaten,
welche in der Verwaltungstabelle 35 gespeichert ist, spezifiziert
wird).
-
Der Steuerteil 10 beurteilt
dann, ob Bestätigung
(ACK) der Ankunft der Übertragungsdaten
von der Kommunikationsvorrichtung an dem Ziel der Kommunikation
zurückgegeben
wird oder nicht (Schritt S607). Wenn das ACK nicht zurückgegeben wird,
kehrt das Programm zum Schritt S606 zurück. Im Schritt S606 generiert
der Steuerteil 10 das gleiche Paket und sendet es erneut.
Andererseits, wenn das ACK zurückgegeben
wird, beurteilt der Steuerteil 10, dass die Übertragung
des Paketes beendet ist, um ein Nutzungszustands-Flag in einem korrespondierenden
Schreibbereich in dem Übertragungspuffer 34 (ein
Schreibbereich, in welchen Übertragungsdaten,
welche zu dieser Zeit übertragen
worden sind, gespeichert sind) auszuschalten (Schritt S608). Die Übertragungsverarbeitung
im Steuerteil 10 ist also beendet.
-
Wie im Vorhergehenden beschrieben,
gibt in der Kommunikationsvorrichtung gemäß der ersten Ausführungsform
der vorliegenden Erfindung der Auslastungsteil 20 nur eine
Anforderung aus, um einen Schreibbereich für den Steuerteil 10 zu
erlangen, und der Übertragungspuffer 34 wird
vollständig
durch den Steuerteil 10 verwaltet. Deshalb kann die Menge von
Daten, welche zwischen dem Auslastungsteil 20 und dem Steuerteil 10 ausgetauscht
werden, verringert werden, verglichen mit der in der konventionellen Kommunikationsvorrichtung,
so dass eine Last auf der gesamten Kommunikationsvorrichtung reduziert wird.
Der Auslastungsteil 20 kann dem Durchführen von Applikationsverarbeitung
gewidmet werden, wie ursprünglich
erwartet wird, wobei dabei die Geschwindigkeit, bei welcher die
Applikationsverarbeitung durchgeführt wird, verbessert wird.
Ferner wird ein Applikationsprogramm zum Realisieren des Auslastungsteils 20 vereinfacht,
wobei es dabei möglich wird,
Zeit und Kosten zu sparen, welche für dessen Entwicklung benötigt werden.
-
7 ist
ein Blockdiagramm, welches die Konfiguration einer anderen Kommunikationsvorrichtung
zeigt. In 7 weist die
Kommunikationsvorrichtung auf ein Steuerteil 10, einen
Auslastungsteil 20, ein RAM 30 und eine Schnittstelle 40,
wie in der oben erwähnten
ersten Ausführungsform.
-
Das RAM 30 hat nur einen Übertragungspuffer 36 anstelle
des Übertragungspuffers 34 und
der Verwaltungstabelle 35, welche in 1 gezeigt sind. Der Übertragungspuffer 36 ist
unter der Verwaltung des Steuerteils 10. Die andere Konfiguration
der Kommunikationsvorrichtung ist die gleiche wie diejenige in der
Kommunikationsvorrichtung gemäß der ersten
Ausführungsform.
-
8 ist
ein Diagramm, welches den Aufbau des Übertragungspuffers 36 zeigt.
Wie in 8 gezeigt, hat
der Übertragungspuffer 36 sowohl
die Funktionen des Übertragungspuffers 34 als
auch der Verwaltungstabelle 35, welche in 1 gezeigt sind. Ein Nutzungszustands-Flag,
die Größe der Übertragungsdaten,
ein Header-Informationsschreibbereich, ein Schreibbereich von Übertragungsdaten
und ein Endstück-Informationsschreibbereich
sind vorbereitet mit Bezug auf ein Übertragungsdatum. Der Übertragungspuffer 36 kann
Information speichern, welche mit einer Vielzahl von Übertragungsdaten
korrespondiert (z. B. Information, welche mit acht Übertragungsdaten
in 8 korrespondiert).
-
In dieser Ausführungsform, welche die oben erwähnte Konfiguration
hat, führt
der Steuerteil 10, welcher in 7 gezeigt ist, Operationen durch, welche
in 5 gezeigt sind, ähnlich zu
dem Steuerteil 10 in der ersten Ausführungsform. Der Auslastungsteil 20,
welcher in 7 gezeigt
ist, führt
die gleichen Operationen wie der Auslastungsteil 20 in
der ersten Ausführungsform
durch.
-
9 ist
ein Flussdiagramm, welches Übertragungsverarbeitung
zeigt, welche der Steuerteil 10, welcher in 7 gezeigt ist, in Antwort
auf eine Datenübertragungsanforderung
von dem Auslastungsteil 20 durchführt. In dem Steuerteil 10,
welcher in 7 gezeigt
ist, unterscheiden sich die Operationen, welche in dem Flussdiagramm
der 9 gezeigt sind,
von den Operationen, welche durch den Steuerteil 10 in
der ersten Ausführungsform
durchgeführt
werden. Bezug nehmend nun auf 9,
in dem Steuerteil 10, welcher in 7 gezeigt ist, werden die Operationen
beschrieben, welche sich von den Operationen unterscheiden, welche
durch den Steuerteil 10 in der ersten Ausführungsform
durchgeführt
werden.
-
Angenommen, dass die Bereitstellung
eines Schreibbereichs von Übertragungsdaten
in dem Übertragungspuffer 36 für den Auslastungsteil 20 durch
den Steuerteil 10 beendet ist und neue Übertragungsdaten in den Schreibbereich
geschrieben werden. In diesem Zustand, wenn der Auslastungsteil 20 eine
Datenübertragungsanforderung
an den Steuerteil 10 ausgibt, empfängt der Steuerteil 10 die Datenübertragungsanforderung
von dem Auslastungsteil 20 (Schritt S901), und fügt die Größe der Übertragungsdaten
(enthalten in der Datenübertragungsanforderung
von dem Auslastungsteil 20) dem Übertragungspuffer 36 hinzu
(Schritt 5902), wie in 9 gezeigt.
Der Steuerteil 10 schreibt dann Header-Informationen eines Pakets, welches
später
zu generieren ist, in einen Header-Informationsschreibbereich, welcher
in der gleichen Spalte existiert wie eine Spalte, zu welcher die
Größe der Übertragungsdaten
im Schritt S902 hinzugefügt
wird (Schritt S903). Ferner schreibt der Steuerteil 10 Endstückinformation
des Pakets, welches später
zu generieren ist, in einen Endstück-Informationsschreibbereich in der gleichen
Spalte (Schritt S904).
-
Der Steuerteil 10 beurteilt
darin, ob die Kommunikationsvorrichtung gegenwärtig in einem übertragungsfähigen Zustand
ist oder nicht (Schritt S905). Der Grund dafür wurde beschrieben und wird daher
nicht wiederholt. Der Steuerteil 10 generiert ein Paket
für die ältesten Übertragungsdaten
von den Übertragungsdaten,
welche bis jetzt nicht übertragen worden
sind, welche in dem Übertragungspuffer 36 registriert
sind, und überträgt das Paket
an eine Kommunikationsvorrichtung an dem Ziel der Kommunikation
sofort, wenn eine Übertragung
möglich
ist, während
die Verarbeitung nach Warten durchgeführt wird, wenn eine Übertragung
unmöglich
ist, bis dort ein Zustand auftritt, wo Übertragung möglich ist (Schritt
S906). Wie oben beschrieben, besteht das Paket aus Header-Information, Übertragungsdaten und
Endstückinformation.
In dieser Ausführungsform werden
die Header-Information, die Übertragungsdaten
und die Endstückinformation
aus dem Übertragungspuffer 36 genommen.
Infolgedessen wird das Paket einfacher generiert, verglichen mit
dem in der ersten Ausführungsform.
-
Der Steuerteil 10 beurteilt
dann, ob das ACK der Übertragungsdaten
von der Kommunikationsvorrichtung an dem Ziel der Kommunikation
zurückgegeben
wird oder nicht (Schritt S907). Wenn das ACK nicht zurückgegeben
wird, kehrt das Programm zum Schritt S906 zurück. Im Schritt S906 generiert
der Steuerteil 10 das gleiche Paket und sendet es erneut. Andererseits,
wenn das ACK zurückgegeben
wird, beurteilt der Steuerteil 10, dass die Übertragung
des Pakets beendet ist, um ein Nutzungszustands-Flag in einem korrespondierenden
Schreibbereich in dem Übertragungspuffer 36 (ein
Schreibbereich, in welchen Übertragungsdaten
gespeichert sind, welche zu dieser Zeit übertragen worden sind) auszuschalten (Schritt
S908). Die Übertragungsverarbeitung
im Steuerteil 10 ist also beendet.
-
Wie im Vorhergehenden beschrieben,
werden in dieser Kommunikationsvorrichtung der Übertragungspuffer und die Verwaltungstabelle,
welche durch den Steuerteil 10 verwaltet werden, zusammengefasst,
wobei dabei die Notwendigkeit des Verknüpfens der Daten zwischen dem Übertragungspuffer
und der Verwaltungstabelle, wie in der ersten Ausführungsform,
beseitigt wird, so dass die Menge von Daten, welche zu speichern
sind, reduziert wird (insbesondere braucht die Speicherstelle der Übertragungsdaten
nicht gespeichert zu werden). In dieser Kommunikationsvorrichtung
kann das Paket nur generiert werden durch Lesen des Übertragungspuffers,
wobei dabei die Paketgenerierungsverarbeitung vereinfacht wird.
-
10 ist
ein Blockdiagramm, welches die Konfiguration einer anderen Kommunikationsvorrichtung
zeigt. In 10 weist die
Kommunikationsvorrichtung auf einen Steuerteil 10, einen
Auslastungsteil 20, ein RAM 30 und eine Schnittstelle 40,
wie in der oben erwähnten
ersten Ausführungsform.
-
Das RAM 30 hat einen festen
Datenübertragungsbereich 37,
einen Übertragungspuffer 36 und eine
Verwaltungstabelle 35. Der feste Datenübertragungsbereich 37 ist
unter der Verwaltung des Auslastungsteils 20. Sowohl der Übertragungspuffer 36 als auch
die Verwaltungstabelle 35 sind unter der Verwaltung des
Steuerteils 10. Der Aufbau des Übertragungspuffers 36 ist
der gleiche wie der des Puffers, welcher in 8 gezeigt ist, und der Aufbau der Verwaltungstabelle 35 ist
der gleiche wie der der Tabelle, welche in 3 gezeigt ist.
-
11 ist
ein Diagramm, welches den Aufbau des festen Datenübertragungsbereichs 37 zeigt, welcher
in 10 gezeigt ist. Der
feste Datenübertragungsbereich 37 speichert
ein oder mehr feste Daten, wie gezeigt. Feste Daten sind Daten,
deren Inhalte fest bestimmt sind, welche an eine Kommunikationsvorrichtung übertragen
werden an dem Ziel der Kommunikation. Diese Daten korrespondieren
mit vorbestimmten Bitmusterdaten, welche periodisch gesendet werden,
um z. B. Synchronisationsverarbeitung in der Kommunikationsvorrichtung
an dem Ziel der Kommunikation durchzuführen.
-
12 ist
ein Flussdiagramm, welches einen Teil von Operationen zeigt, welche
durch den Auslastungsteil 20 durchgeführt werden, welcher in 10 gezeigt ist. 13 ist ein Flussdiagramm, welches
einen Teil der Operationen zeigt, welche durch den Steuerteil 10 durchgeführt werden,
welcher in 10 gezeigt
ist. Bezug nehmend nun auf 12 und 13 wird eine Serie von Operationen
beschrieben, welche von der Zeit durchgeführt werden, wenn Übertragungsdaten
generiert werden, bis diese in der Kommunikationsvorrichtung übertragen
werden, wie in 10 gezeigt
ist.
-
Auf 12 wird
Bezug genommen werden. Der Auslastungsteil 20 beurteilt,
wenn Übertragungsdaten
generiert werden (Schritt S1201), ob die Übertragungsdaten feste Daten
sind oder nicht (Schritt S1202). Operationen in einem Fall, wo die Übertragungsdaten
andere Daten sind als feste Daten (d. h. Daten, welche neuerdings
in dem Auslastungsteil 20 generiert werden), werden im
Folgenden beschrieben werden. Die Operationen in diesem Fall sind
ungefähr
die gleichen wie die Operationen in der oben erwähnten ersten Ausführungsform.
-
Wenn die Übertragungsdaten andere Daten als
feste Übertragungsdaten
sind, gibt der Auslastungsteil 20 eine Anforderung aus,
um einen Schreibbereich für
den Steuerteil 10 zu erlangen (Schritt S1203). Der Steuerteil 10 führt die
gleichen Operationen durch wie jene, welche in 5 gezeigt sind, in Antwort auf die Anforderung
einen Schreibbereich zu erlangen. Das heißt, der Steuerteil 10 beurteilt,
ob Schreibbereiche, wo ein Nutzungszustands-Flag AUS ist, in dem Übertragungspuffer 36 existieren oder
nicht. Wenn dort die Schreibbereiche existieren, wo das Nutzungszustands-Flag
AUS ist, bestimmt der Steuerteil 10 irgendeinen der Schreibbereiche
als einen Schreibbereich, welcher dem Auslastungsteil 20 bereitgestellt
wird, um neue Übertragungsdaten dort
hinein zu schreiben, und schaltet das Nutzungszustands-Flag, welches
sich darauf bezieht, ein. Danach sendet der Steuerteil 10 das
Ergebnis der Erlangung des Schreibbereichs (einschließlich des
Erfolgs der Erlangung und der Speicherstelle des Schreibbereichs,
welcher bereitzustellen ist) erneut an den Auslastungsteil 20.
Andererseits, wenn dort kein Schreibbereich existiert, wo das Nutzungszustands-Flag
AUS ist, sendet der Steuerteil 10 an den Auslastungsteil 20 die
Tatsache, dass kein Schreibbereich erlangt werden kann.
-
Der Auslastungsteil 20,
welcher das Ergebnis der Erlangung des Schreibbereichs von dem Steuerteil 10 empfangen
hat, beurteilt, ob ein Schreibbereich, in welchen generierte Übertragungsdaten
zu schreiben sind, erlangt werden kann oder nicht (Schritt S1204).
Wenn kein Schreibbereich erlangt werden kann, fährt der Auslastungsteil 20 fort, eine
Anforderung zu senden, um einen Schreibbereich für den Steuerteil 10 zu
erlangen, bis ein Schreibbereich erlangt werden kann. Andererseits, wenn
ein Schreibbereich erlangt werden kann, schreibt der Auslastungsteil 20 Übertragungsdaten
in den Schreibbereich, in dem Übertragungspuffer 36, welche
von dem Steuerteil 10 bereitgestellt werden (Schritt S1205).
Der Auslastungsteil 20 bereitet dann eine Datenübertragungsanforderung
vor (Schritt S1206). Die Datenübertragungsanforderung
enthält die
Speicherstelle der Übertragungsdaten,
welche neuerdings in den Übertragungspuffer 36 geschrieben
wurden, und die Größe davon.
Die Datenübertragungsanforderung
wird an den Steuerteil 10 in dem Schritt S1207 ausgegeben.
-
Auf 13 wird
Bezug genommen werden. Der Steuerteil 10 beurteilt, wenn
er die Datenübertragungsanforderung
vom Auslastungsteil 20 empfängt (Schritt S1301), ob Übertragungsdaten
feste Daten sind oder nicht (Schritt S1302). In diesem Fall sind die Übertragungsdaten
andere als feste Daten, so dass das Programm mit dem Schritt S1303
fortfährt. Im
Schritt S1303 fügt
der Steuerteil 10 die Größe der Übertragungsdaten (enthalten
in der Datenübertragungsanforderung von
dem Auslastungsteil 20) dem Übertragungspuffer 36 hinzu.
Der Steuerteil 10 schreibt dann Header-Information eines
Pakets, welches später
zu generieren ist, in einen Header-Informationschreibbereich, welcher
in der gleichen Spalte existiert wie eine Spalte, wo die Größe der Übertragungsdaten
in dem Schritt S1302 hinzugefügt
werden (Schritt S1304). Ferner schreibt der Steuerteil 10 Endstückinformation
des Pakets, welches später
zu generieren ist, in einen Endstück-Informationsschreibbereich, welcher
in der gleichen Spalte existiert (Schritt S1305).
-
Der Steuerteil 10 beurteilt
dann, ob die Kommunikationsvorrichtung gegenwärtig in einem übertragungsfähigen Zustand
ist oder nicht (Schritt S1306). Der Grund dafür wurde beschrieben und wird
daher nicht wiederholt. Der Steuerteil 10 generiert ein
Paket für
die ältesten Übertragungsdaten
von den Übertragungsdaten,
welche bis jetzt nicht übertragen
worden sind, welche in dem Übertragungspuffer 36 registriert
sind, und überträgt das Paket
an eine Kommunikationsvorrichtung an dem Ziel der Kommunikation
sofort, wenn eine Übertragung
möglich
ist, während
die Verarbeitung nach Warten durchgeführt wird, wenn eine Übertragung
unmöglich ist,
bis ein Zustand auftritt, wo Übertragung
möglich ist
(Schritt S1307). Wie oben beschrieben, besteht das Paket aus Header-Information, Übertragungsdaten
und Endstückinformation.
In dieser Ausführungsform
werden die Header-Information, die Übertragungsdaten und die Endstückinformation
aus dem Übertragungspuffer 36 genommen.
Infolgedessen wird das Paket einfacher generiert, verglichen mit dem
in den vorherigen Ausführungsformen.
-
Der Steuerteil 10 beurteilt
dann, ob ACK der Übertragungsdaten
von der Kommunikationsvorrichtung an dem Ziel der Kommunikation
zurückgegeben wird
oder nicht (Schritt S1308). Wenn das ACK nicht zurückgegeben
wird, beurteilt der Steuerteil 10, ob die Übertragungsdaten
feste Daten sind oder nicht (Schritt S1309). In diesem Fall, die Übertragungsdaten
sind andere als feste Daten, kehrt das Programm zum Schritt S1307
zurück.
Im Schritt S1307 generiert der Steuerteil 10 das gleiche
Paket und sendet es erneut. Andererseits, wenn das ACK zu rückgegeben wird,
beurteilt der Steuerteil 10, dass die Übertragungsdaten andere Daten
als feste Daten sind (Schritt S1310) und schaltet dann ein Nutzungszustands-Flag
in einem korrespondierenden Schreibbereich in dem Übertragungspuffer 36 (ein
Schreibbereich, in welchen Übertragungsdaten,
welche zu dieser Zeit übertragen
worden sind, gespeichert sind) aus (Schritt S1311). Die Übertragungsverarbeitung
in dem Steuerteil 10 ist also beendet.
-
Nun werden Operationen beschrieben
in einem Fall, wo Übertragungsdaten
feste Daten sind. Auf 12 wird
Bezug genommen werden. Wenn die Übertragungsdaten
feste Daten sind, bereitet der Auslastungsteil 20 eine
Datenübertragungsanforderung
vor (Schritt S1208). Die Datenübertragungsanforderung
enthält
die Speicherstelle der festen Daten in dem festen Datenübertragungsbereich 37,
und die Größe davon.
Die Datenübertragungsanforderung wird
an den Steuerteil 10 im Schritt S1207 ausgegeben.
-
Auf 13 wird
Bezug genommen werden. Der Steuerteil 10 beurteilt, wenn
er die Datenübertragungsanforderung
von dem Auslastungsteil 20 empfängt (Schritt S1301), ob die Übertragungsdaten
feste Daten sind oder nicht (Schritt S1302), und fügt dann
die Speicherstelle und die Größe der Übertragungsdaten
(beide sind in der Datenübertragungsanforderung
von dem Auslastungsteil 20 enthalten) der Verwaltungstabelle 35 hinzu
(Schritt S1312). Der Steuerteil 10 schreibt dann Header-Information
eines Pakets, welches später
zu generieren ist, in einen Header-Informationsschreibbereich, welcher
in der gleichen Spalte existiert, wie eine Spalte, wo die Speicherstelle
und die Größe der Übertragungsdaten im
Schritt S1303 hinzugefügt
werden (Schritt S1313). Ferner schreibt der Steuerteil 10 Endstückinformation
des Pakets, welches später
zu generieren ist, in einem Endstück-Informationsschreibbereich in der gleichen
Spalte (Schritt S1314). Der Steuerteil 10 generiert dann
ein Paket für
die ältesten Übertragungsdaten
von den Übertragungsdaten,
welche bis jetzt nicht übertragen
worden sind, welche in der Verwaltungstabelle 35 registriert
sind, und überträgt das Paket
an die Kommunikationsvorrichtung an dem Ziel der Kommunikation (Schritt
S1315). Das Paket be steht aus Header-Information, Übertragungsdaten und
Endstückinformation.
Die Header-Information und die Endstückinformation werden aus der
Verwaltungstabelle 35 genommen. Die Übertragungsdaten werden aus
dem festen Datenübertragungsbereich 37 (genauer
von einem festen Datenbereich, welcher durch die Speicherstelle
der Übertragungsdaten
spezifiziert ist, welche in der Verwaltungstabelle 35 gespeichert
sind) genommen.
-
Der Steuerteil 10 beurteilt
dann, ob ACK der Übertragungsdaten
von der Kommunikationsvorrichtung an dem Ziel der Kommunikation
zurückgegeben wird
oder nicht (Schritt S1308). Wenn das ACK nicht zurückgegeben
wird, beurteilt der Steuerteil 10, ob die Übertragungsdaten
feste Daten sind oder nicht (Schritt S1309). In diesem Fall sind
die Übertragungsdaten
feste Daten, so dass das Programm zum Schritt S1315 zurückkehrt.
Im Schritt S1315 generiert der Steuerteil 10 das gleiche
Paket und sendet es erneut. Andererseits, wenn das ACK zurückgegeben wird,
beurteilt der Steuerteil 10, dass die Übertragungsdaten feste Daten
sind (Schritt S1310), nach welchen die Übertragungsverarbeitung beendet
ist.
-
Wie im Vorhergehenden beschrieben,
werden in der Kommunikationsvorrichtung gemäß dieser Ausführungsform
die festen Daten vorher gespeichert. Wenn die festen Daten übertragen
werden, ist es daher nicht nötig,
die Übertragungsdaten
in die Verwaltungstabelle zu schreiben, wobei dabei die Verarbeitung
im Auslastungsteil 20 weiter vereinfacht wird.
-
14 ist
ein Blockdiagramm, welches die Konfiguration einer anderen Kommunikationsvorrichtung
zeigt. In 14 weist die
Kommunikationsvorrichtung einen Steuerteil 11, eine Vielzahl
von Auslastungsteilen 21 bis 2N, ein RAM 30 und
eine Schnittstelle 40 auf.
-
Der Steuerteil 11 führt ein
vorher bestimmtes Kommunikationsprotokoll aus. Der Steuerteil 11 ist verbunden
mit einer Kommunikationsleitung 42 über die Schnittstelle 40.
Die Kommunikationsleitung 42 braucht nicht in Form eines
Drahtes zu sein, und kann in einer drahtlosen Form sein, welche
Funkwellen oder Licht als ein Kommunikationsmedium verwendet. Die
Schnittstelle 40 enthält
ein Modem oder Ähnliches,
und vermittelt Kommunikation zwischen der Kommunikationsvorrichtung,
welche in 14 gezeigt
ist, und einer anderen Kommunikationsvorrichtung (nicht gezeigt).
-
Obwohl die Auslastungsteile 21 bis 2N Applikationsverarbeitung
durchführen,
ist kein Dienst zur Verwendung auf dem Kommunikationsprotokoll spezifiziert.
Dies bedeutet, dass ein Benutzer ein arbiträres Applikationsprogramm in
den Auslastungsteilen 21 bis 2N verwenden kann.
-
Das RAM 30 wird als ein
Arbeitsspeicher des Steuerteils 11 und der Auslastungsteile 21 bis 2N verwendet,
und weist einen Steuerteil-Verwaltungsbereich 51 auf, welcher
durch den Steuerteil 11 verwaltet wird, und Auslastungsteil-Verwaltungsbereiche 91 bis 9N auf,
welche jeweils durch die Auslastungsteile 21 bis 2N verwaltet
werden. Ferner weist der Steuerteil-Verwaltungsbereich 51 einen
ersten Empfangspuffer 81, zweite Empfangspuffer 61 bis 6N,
welche jeweils mit den Auslastungsteilen 21 bis 2N korrespondieren,
und Busy-Flags 71 bis 7N auf. Der erste Empfangspuffer 81 hat
einen Aufzeichnungsbereich, welcher durch den Steuerteil 11 gesetzt
wird (15a), und Daten,
welche unter einem Befehl vom Steuerteil 11 empfangen werden,
werden in dem einen Aufzeichnungsbereich aufgezeichnet. Jeder der
zweiten Empfangspuffer 61 bis 6N hat eine Vielzahl
von Aufzeichnungsbereichen, welche in derselben Größe durch
den Steuerteil 11 gesetzt werden (15b), und die Empfangsdaten, welche in
dem ersten Empfangspuffer 81 aufgezeichnet werden, werden
in die Vielzahl von Aufzeichnungsbereichen durch den Steuerteil 11 überschrieben,
wie benötigt. Angenommen
die Busy-Flags 71 bis 7N können dem Steuerteil 11 einen
geschäftigen/ungeschäftigen Zustand
einer Datenverarbeitung in den Auslastungsteilen 21 bis 2N anzeigen,
z. B. durch ein Verfahren des Ein-/Ausschaltens eines Flags. Die
Auslastungsteil-Verwaltungsbereiche 91 bis 9N enthalten
jeweils Datenüberschreibungsbereiche 91a bis 9Na.
Die Auslastungsteile 21 bis 2N überschreiben
jeweils korrespondie rende Auslastungsteildaten auf die Datenüberschreibungsbereiche 91a bis 9Na in Übereinstimmung
mit Benachrichtigungen vom Steuerteil 11, wie später beschrieben
wird.
-
In einer typischen Hardware-Umgebung
bestehen sowohl der Steuerteil 11 als auch die Auslastungsteile 21 bis 2N aus
einer Speichervorrichtung (ein ROM, ein RAM, eine Festplatte, etc.),
welche vorbestimmte Programmdaten speichert, und aus einer CPU (Central
Processing Unit – zentrale
Verarbeitungseinheit), welche die Programmdaten ausführt. In
diesem Fall werden eine Funktion, welche durch den Steuerteil 11 ausgeübt wird,
und eine Funktion, welche durch die Auslastungsteile 21 bis 2N ausgeübt wird,
jeweils in unabhängigen
Ausformungen von Programmdaten bereitgestellt. Jede der Programmdaten
können
durch ein Aufzeichnungsmedium, wie eine CD-ROM oder eine Diskette,
eingeführt
werden, oder können
durch eine Kommunikation eingeführt
werden.
-
Nun wird der Aufbau der übertragenen
und empfangenen Daten in der Kommunikationsvorrichtung beschrieben,
welche in 14 gezeigt
ist.
-
16a und 16b sind Diagramme, welche ein
Beispiel des Aufbaus von Daten zeigen, welche durch die Kommunikationsvorrichtung,
welche in 14 gezeigt
ist, übertragen
und empfangen werden. In 16 nehmen
die übertragenen
und empfangenen Daten die Form eines Pakets ein. Das Paket besteht
aus einem Header-Teil, welcher aus einem Paketkopfbezeichner, einem
Kommunikationsvorrichtungsbezeichner, usw. zusammengesetzt ist, aus
einem Datenteil 303, welcher der prinzipielle Inhalt der Übertragung
ist, und aus einem Endstückteil 302,
welcher aus Flame-Check-Information, einem Paketendbezeichner usw.
zusammengesetzt ist. Beispiele von Daten, welche unter Verwendung
des Datenteils 303 übertragen
werden, schließen
Steuerteildaten, welche einer Protokollverarbeitung im Steuerteil 11 unterworfen
sind, und Auslastungsteildaten ein, welche einer Applikationsverarbeitung
in den Auslastungsteilen 21 bis 2N unterworfen
sind.
-
Im Fall der Auslastungsteildaten
ist ein Auslastungsteil-Zielbezeichner beigefügt, welcher anzeigt, welcher
der Auslastungsteile das Ziel der Daten ist (16b).
-
Nun Bezug nehmend auf 17 bis 19 wird eine Beschreibung einer Serie
von Operationen gegeben, welche von der Zeit, wenn Daten empfangen werden,
bis eine Applikationsverarbeitung durchgeführt wird, in der Kommunikationsvorrichtung,
welche in 14 gezeigt
ist, durchgeführt
werden.
-
17 ist
ein Flussdiagramm, welches Verarbeitungsschritte zeigt, welche ausgeführt werden, wenn
der Steuerteil 11, welcher in 14 gezeigt ist, Daten empfängt. 18 ist ein Flussdiagramm,
welches Verarbeitungsschritte zeigt, welche ausgeführt werden
durch den Steuerteil 11, wenn eine Busy-Kommunikation von
jedem der Auslastungsteile 21 bis 2N auftritt. 19 ist ein Flussdiagramm, welches
Verarbeitungsschritte zeigt, in welchen jeder der Auslastungsteile 21 bis 2N,
welche in 14 gezeigt
sind, Daten überschreibt.
-
Auf 17 wird
Bezug genommen werden. Der Steuerteil 11 schreibt, wenn
Daten empfangen werden, die empfangenen Daten (genauer den Datenteil 303 des
empfangenen Pakets) in den ersten Empfangspuffer 81 (Schritt
S1701). Als die Voraussetzung des Beginns der Verarbeitung werden
der erste Empfangspuffer 81, die zweiten Empfangspuffer 61 bis 6N und
die Busy-Flags 71 bis 7N durch den Steuerteil 11 initialisiert,
wie in 20 gezeigt. Die
Initialisierung kann ausgeführt
werden, bevor Daten erstmalig in jeden der Puffer und der Flags
geschrieben werden, z. B. wenn die Stromversorgung der Kommunikationsvorrichtung
eingeschaltet wird.
-
Der Steuerteil 11 beurteilt
dann, ob der Datenteil 303, welcher in den ersten Empfangspuffer 81 geschrieben
wird, Auslastungsteildaten sind oder nicht (Schritt S1702). In der
Beurteilung im Schritt S1702, wenn der Datenteil 303 nicht
Auslastungsteildaten sind, d. h. Steuerteildaten, unterwirft der
Steuerteil 11 selbst die Steuerteildaten einer Protokollverarbeitung
(Schritt S1708) und löscht
dann die Steuerteildaten aus dem ersten Empfangspuffer 81 (Schritt S1709).
Andererseits, in der Beurteilung im Schritt S1702, wenn der Datenteil 303 Auslastungsteildaten sind,
beurteilt der Steuerteil 11, ob das Busy-Flag 7i für den Auslastungsteil 2i (i
= irgendeines von 1 bis N. Das Gleiche soll hiernach in der vorliegenden
Spezifikation für
i gelten), welcher das Ziel der Auslastungsteildaten ist, EIN ist
auf der Basis des Auslastungsteil-Zielbezeichners oder nicht (siehe 16b) (Schritt S1703).
-
In der Beurteilung in dem Schritt
S1703, wenn das Busy-Flag 7i EIN ist, überschreibt der Steuerteil 11 die
Auslastungsteildaten, welche in den ersten Empfangspuffer 81 geschrieben
wurden, auf den zweiten Empfangspuffer 6i (Schritt S1704),
und löscht
dann die Auslastungsteildaten aus dem ersten Empfangspuffer 81.
Andererseits, in der Beurteilung im Schritt S1703, wenn das Busy-Flag 7i AUS
ist, benachrichtigt der Steuerteil 11 den Auslastungsteil 2i, welcher
das Ziel der Auslastungsteildaten ist, über die Speicherstelle und
die Größe der Auslastungsteildaten,
welche in den ersten Empfangspuffer 81 geschrieben wurden
(Schritt S1706).
-
Auf 19 wird
Bezug genommen werden. Der Auslastungsteil 2i überschreibt,
wenn er die oben erwähnte
Benachrichtigung vom Steuerteil 11 empfängt, die Auslastungsteildaten
auf den Datenüberschreibungsbereich 9ia,
welcher durch sich selbst verwaltet ist, von dem ersten Empfangspuffer 81 auf der
Basis der Benachrichtigung (Schritt S1901). Wenn die Überschreibung
der Daten beendet ist, sendet der Auslastungsteil 2i erneut
das Ergebnis der Beendigung der Überschreibung
an den Steuerteil 11 (Schritt S1902). Danach verarbeitet
der Auslastungsteil 2i die Auslastungsteildaten, welche
auf den Datenüberschreibungsbereich 9ia überschrieben
wurden, welcher durch sich selbst verwaltet wird (Schritt S1903).
-
Auf 17 wird
erneut Bezug genommen werden. Der Steuerteil 11 löscht die
Auslastungsteildaten, über
welche der Auslastungsteil 2i benachrichtigt wurde, aus
dem ersten Empfangspuffer 81 nach Erhalt des Ergebnisses
von dem Auslastungsteil 2i (Schritt S1707).
-
Die Verarbeitung, welche der Überschreibung
der Auslastungsteildaten auf den zweiten Empfangspuffer 6i in
der Verarbeitung im Schritt S1704 folgt, wird mit Bezug auf 18 beschrieben werden. Wie
in 18 gezeigt, verarbeitet
der Steuerteil 11 die Auslastungsteildaten, welche in den
zweiten Empfangspuffer 6i durch Busy-Kommunikation von dem
Auslastungsteil 2i geschrieben wurden.
-
Auf 18 wird
Bezug genommen werden. Der Steuerteil 11 beurteilt, wenn
er eine Busy-Kommunikation von dem Auslastungsteil 2i empfängt, ob die
Kommunikation eine Kommunikation ist, welche anzeigt, dass der Auslastungsteil 2i nicht
in einem Busy-Zustand ist oder nicht (Schritt S1801). In einem Fall,
wo in der Beurteilung im Schritt S1801, die Kommunikation die Kommunikation
ist, welche anzeigt, dass der Auslastungsteil 2i nicht
in einem Busy-Zustand ist, beurteilt der Steuerteil 11 ferner,
ob Auslastungsteildaten in dem zweiten Empfangspuffer 6i existieren
oder nicht (Schritt S1802). Andererseits, in einem Fall, bei dem
in der Beurteilung im Schritt S1801 die Kommunikation nicht die
Kommunikation ist, welche anzeigt, dass der Auslastungsteil 2i nicht in
einem Busy-Zustand
ist, schaltet der Steuerteil 11 das Busy-Flag 7i für den Auslastungsteil 2i,
welcher die Kommunikation gesendet hat, ein (Schritt S1805), wobei
dabei die Verarbeitung für
die Busy-Kommunikation beendet wird.
-
Wenn die Auslastungsteildaten in
dem zweiten Empfangspuffer 6i in der Beurteilung in dem Schritt
S1802 existieren, benachrichtig der Steuerteil 11 den entsprechenden
Auslastungsteil 2i über
die Speicherstelle und die Größe der Auslastungsteildaten,
welche in den zweiten Empfangspuffer 6i geschrieben wurden
(Schritt S1803).
-
Auf 19 wird
Bezug genommen werden. Der Auslastungsteil 2i überschreibt,
wenn er die oben erwähnte
Benachrichtigung vom Steuerteil 11 empfängt, die Auslastungsteildaten
auf den Datenüberschreibungsbereich 9ia,
welcher durch sich selbst verwaltet wird, vom zweiten Empfangspuffer 81 auf der
Basis der Benachrichtigung (Schritt S1901), wie in dem Fall der
oben erwähnten
Benachrichtigung, welche sich auf den ersten Empfangspuffer 81 bezieht.
Wenn die Überschreibung
der Daten beendet ist, sendet der Auslastungsteil 2i das
Ergebnis der Beendigung der Überschreibung
erneut an den Steuerteil 11 (Schritt S1902). Danach verarbeitet
der Auslastungsteil 2i die Auslastungsteildaten, welche
auf den Datenüberschreibungsbereich 9ia überschrieben
wurden (Schritt S1903).
-
Auf 18 wird
erneut Bezug genommen werden. Der Steuerteil 11 löscht die
Auslastungsteildaten, von welchen der Auslastungsteil 2i benachrichtigt
wurde, aus dem zweiten Empfangspuffer 6i nach Erhalt des
Ergebnisses vom Auslastungsteil 2i (Schritt S1804). Es
ist auch bedacht, dass der Übergang
des Auslastungsteils 2i in den Busy-Zustand sofort durch
die Benachrichtigung, welche in dem Schritt S1803 gegeben wird,
auftritt, so dass der Steuerteil 11 den Inhalt der Busy-Kommunikation
erneut bestätigt,
nachdem die Auslastungsteildaten in dem Schritt S1804 gelöscht werden
(Schritt S1807). Danach kehrt das Programm zum Schritt S1801 zurück. In dem
Schritt S1801 werden die bestätigten
Inhalte der Kommunikation beurteilt. Im Fall, dass die Inhalte der
Kommunikation anzeigen, dass der Auslastungsteil in einem Busy-Zustand
ist, wird die Verarbeitung für
die Busy-Kommunikation beendet, nachdem die Verarbeitung in dem
Schritt S1805 durchgeführt
ist. Im Fall, dass die Inhalte der Kommunikation anzeigen, dass
der Auslastungsteil nicht in einem Busy-Zustand ist, wird ferner
beurteilt, ob die Auslastungsteildaten in dem zweiten Empfangspuffer 6i existieren
oder nicht. Andererseits, wenn die Auslastungsteildaten nicht in
dem zweiten Empfangspuffer 6i in der Beurteilung im Schritt
S1802 existieren, schaltet der Steuerteil 11 das Busy-Flag 7i für den Auslastungsteil 2i,
welcher die Kommunikation gesendet hat, aus (Schritt S1806), wobei
dabei die Verarbeitung für
die Busy-Kommunikation
beendet wird.
-
Wie im Vorhergehenden beschrieben,
beurteilt in dieser Kommunikationsvorrichtung der Steuerteil 11,
wenn die Daten, welche in den ersten Empfangspuffer 81 geschrieben
werden, Auslastungsteildaten sind, ob der Auslastungsteil 2i,
welcher das Ziel der Auslastungsteildaten ist, in einem Busy-Zustand
ist oder nicht, bevor die Auslastungsteildaten auf den zweiten Empfangspuffer 6i überschrieben werden
(Schritt S1703). Wenn der Auslastungsteil 2i, welcher das
Ziel der Auslastungsteildaten ist, nicht in einem Busy-Zustand ist,
können
die Auslastungsteildaten durch den Verarbeitungsschritt direkt auf
den Datenüberschreibungsbereich 9ia vom
ersten Empfangspuffer 81 überschrieben werden (d. h.,
eine Überschreibungsverarbeitung
genügt).
-
Infolgedessen, in dieser Kommunikationsvorrichtung,
kann der Schritt des Überschreibens
von Auslastungsteildaten reduziert werden, wobei es dabei möglich wird,
den Kommunikationsdurchsatz zu verbessern.
-
In dem Schritt S1701 in 17, unmittelbar nachdem
die empfangenen Daten in den ersten Empfangspuffer 81 geschrieben
wurden, wird eine Verarbeitung zum Beurteilen des Inhalts der empfangenen
Daten durchgeführt
(Schritt S1702). Jedoch gibt es in einem anderen Kommunikationssystem
einen Fall, wo alle Pakete vom Header-Teil 301 bis zum Endstückteil 302,
wie in 16a und 16b gezeigt, nicht zu einer
Zeit übertragen
werden können,
abhängig
von Bedingungen, wie die Kommunikationsgeschwindigkeit, und in kleineren
Einheiten von Paketen übertragen
werden. In diesem Fall kann dort ferner der Schritt des Beurteilens
bereitgestellt werden, ob ein Paket, wie in 16a und 16b gezeigt, durch
die empfangenen Daten vervollständigt
wird oder nicht (z. B. kann die Beurteilung abhängig davon durchgeführt werden,
ob die empfangenen Daten das Endstück 302 sind oder nicht),
um wiederholend Daten zu empfangen und zu schreiben, wenn das Paket
nicht vervollständigt
ist, während
die Beurteilung in dem Schritt S1702 in 17 gemacht wird, wenn es vollständig ist.
-
Abhängig von der Beziehung zwischen
dem Intervall der Datenkommunikation und der Verarbeitungsgeschwindigkeit
des Steuerteils 11, tritt ein Problem auf, dass der Steuerteil 11 neue
Daten empfängt,
während
die existierenden Daten, welche in den ersten Empfangspuffer 81 (d.
h. ein Aufzeichnungsbereich) geschrieben wurden, einer Überschreibungsverarbeitung
unterworfen sind, und die neuen Daten werden auf die existierenden
Daten geschrieben. Um mit dem Problem zurecht zu kommen, kann eine
Vielzahl von Aufzeichnungsbereichen in dem ersten Empfangspuffer 81 konstruiert
werden, ähnlich
zu denen in den zweiten Empfangspuffern 61 bis 6N (siehe 15b), so dass Schreiben
nicht durchgeführt
wird bis die existierenden Daten in den Schritten gelöscht sind,
wie dem Schritt S1705.
-
Wie in 16 beschrieben,
ist der Datenteil 303 des Pakets Steuerteildaten oder Auslastungsteildaten.
Jedoch ist auch ein Fall bedacht, wo beide der Daten gleichzeitig übertragen
werden, abhängig
von dem Kommunikationssystem. In der Verarbeitung, welche in 17 gezeigt ist, in diesem
Fall, kann dort z. B. ferner der Schritt des Beurteilens bereitgestellt werden,
ob der Datenteil 303 beide der Daten hat oder nicht, vor
der Beurteilung im Schritt S1702. Wenn der Datenteil 303 beide
der Daten hat, kann das Programm zum Schritt S1702 erneut zurückkehren
zu dem Zeitpunkt, wo die Verarbeitung im Schritt S1704, S1706 oder
S1707 beendet ist (ohne Löschen
von Daten in dem ersten Empfangspuffer 81).
-
Eine Beschreibung des am besten geeigneten
Verfahrens des Setzens des maximalen Kreditwertes in einem Fall,
bei dem Kommunikation unter Verwendung des Kreditwertes aufgebaut
wird, welcher im Stand der Technik beschrieben ist, in der vorherigen
Kommunikationsvorrichtung wird nun beschrieben.
-
In dieser Ausführungsform wird der maximale
Kreditwert wirksam gesetzt, unter Nutzung der Tatsache, dass die
Größe der Daten,
welche zu kommunizieren sind (der Datenteil 303 in 16a und 16b), für jede Kommunikation variiert.
Insbesondere findet der Steuerteil 11 zu jeder Zeit, zu
der eine Kommunikationsanfor derung ausgesendet wird, wieder den maximalen
Kreditwert, welcher an eine Kommunikationsvorrichtung auf der Übertragungsseite
zu kommunizieren ist, welche die Kommunikationsanforderung gesendet
hat. Das heißt,
die maximale Datengröße, durch
welche die Größe des zweiten
Empfangspuffers 6i geteilt wird, um den maximalen Kreditwert
zu finden, ist nicht die feste maximale Datengröße in einem Kommunikationssystem,
sondern die maximale Datengröße in der
angeforderten Kommunikation. Zum Beispiel, angenommen die feste
maximale Datengröße in dem
Kommunikationssystem ist "10", und die Größe des zweiten
Empfangspuffers 6i ist ein fester Wert "120" (eine
Einheit ist weggelassen). In diesem Fall ist in der konventionellen
Kommunikationsvorrichtung der maximale Kreditwert konstant "12 (= 120/10)" in jeder Kommunikation
(z. B. sogar in einem Fall, in dem vorher gefunden wird, dass die
maximale Datengröße in einer
sicheren Kommunikation "6" ist). Jedoch, da
die Kommunikationsvorrichtung den Kreditwert wieder zu jeder Zeit, zu
der eine Kommunikationsanforderung geschickt wird, setzt, ist es,
in einer Kommunikation, in welcher die maximale Datengröße "6" ist, wie oben beschrieben, möglich, den
maximalen Kreditwert auf "20 (120/6)" zu setzen.
-
Infolgedessen kann die Kommunikationsvorrichtung
den Überlauf
von Empfangsdaten durch Finden des am besten geeigneten maximalen
Kreditwerts für
jede Kommunikation vermeiden und eine effiziente und am besten geeignete
Datenkommunikation etablieren.
-
21 ist
ein Blockdiagramm, welches die Konfiguration einer anderen Kommunikationsvorrichtung
zeigt. In 21 weist die
Kommunikationsvorrichtung auf einen Steuerteil 11, eine
Vielzahl von Auslastungsteilen 21 bis 2N, ein
RAM 30 und eine Schnittstelle 40, wie in der oben
erwähnten
vorherigen Ausführungsform.
-
Ein Steuerteil-Verwaltungsbereich 51 hat eine
Vielzahl von Verwaltungstabellen 101 bis 10N, wobei
jede mit den Auslastungsteilen 21 bis 2N korrespondiert,
an stelle der zweiten Empfangspuffer 61 bis 6N und
der Busy-Flags 71 bis 7N in 14. Auslastungsteil-Verwaltungsbereiche 91 bis 9N haben
jeweils zweite Empfangspuffer 61 bis 6N zusätzlich zu Datenüberschreibungsbereichen 91a bis 9Na.
Das heißt,
in dieser Ausführungsform
sind die zweiten Empfangspuffer 61 bis 6N, welche
in dem Steuerteil-Verwaltungsbereich 51 in der oben erwähnten vorherigen
Ausführungsform
konstruiert sind, jeweils in den Auslastungsteil-Verwaltungsbereichen 91 bis 9N konstruiert.
Die Tatsache, dass die zweiten Empfangspuffer 61 bis 6N jeweils
in den Auslastungsteil-Verwaltungsbereichen 91 bis 9N konstruiert
sind, bedeutet, dass eine Grundeinstellung, welche sich auf die
zweiten Empfangspuffer 61 bis 6N bezieht (die
Größe und den
Platz auf dem RAM 30 des Puffers), durch jeden der Auslastungsteile 21 bis 2N durchgeführt wird.
-
22 ist
ein Diagramm, welches den Aufbau der Verwaltungstabellen 101 bis 10N zeigt.
Wie in 22 gezeigt, hat
jede der Verwaltungstabellen 101 bis 10N Auslastungsteil-bezogene
Informationen, ein Busy-Flag, die Speicherstelle und die Größe des zweiten
Empfangspuffers, eine Speicherstelle für Schreiben in dem zweiten
Empfangspuffer und eine Speicherstelle für Lesen und die Größe des zweiten Empfangspuffers.
-
Die Auslastungsteil-bezogene Information speichert
Information zum Beurteilen, welcher Auslastungsteil 2i sich
auf die Verwaltungstabelle 10i bezieht. Das Busy-Flag speichert ähnliche
Information, wie diese der Busy-Flags 71 bis 7N in
der vorherigen Ausführungsform.
Die Speicherstelle und die Größe der zweiten
Empfangspuffer-Speicherinformation, welche sich auf den zweiten
Empfangspuffer 6i bezieht, wird durch den Auslastungsteil 2i gesetzt,
wie oben beschrieben. Informationen, welche sich auf die Speicherstelle
und die Größe des zweiten
Empfangspuffers beziehen, werden durch Verfahren gespeichert, wie
ein Verfahren des Befehlens des Steuerteils 1, wenn der
Auslastungsteil 2i gestartet wird. Die Speicherstelle zum
Schreiben in den zweiten Empfangspuffer speichert Information, wie
auf welchem Platz in dem zweiten Empfangspuffer 6i der
Platz ist, wo der Steuerteil 11 die nachfolgend empfangenen Daten
schreiben soll. Die Speicherstelle für Lesen und die Größe des zweiten
Empfangspuffers speichern Informationen, auf welchem Platz in dem
zweiten Empfangspuffer 6i der Platz ist, wo Daten überschrieben
werden sollen auf den Datenüberschreibungsbereich 9ia,
und welches die Größe der Daten ist,
wenn der Auslastungsteil 2i nicht in einem Busy-Zustand ist.
-
In dieser Ausführungsform, welche die oben erwähnte Konfiguration
hat, führt
der Steuerteil 11, welcher in 21 gezeigt ist, im Wesentlichen die Operationen,
welche in den 17 und 18 gezeigt sind, durch, ähnlich zu
dem Steuerteil 11 in der vorherigen Ausführungsform.
In dem Steuerteil 11, welcher in 21 gezeigt ist, werden die Operationen, welche
in den 17 und 18 gezeigt sind, auf der Basis
von Information durchgeführt,
welche in den Verwaltungstabellen 101 bis 10i gespeichert
ist. Die Auslastungsteile 21 bis 2N in 21 führen im Wesentlichen die Operationen,
welche in 19 gezeigt sind,
durch, ähnlich
zu den Auslastungsteilen 21 bis 2N in der vorherigen
Ausführungsform.
-
Nun werden Teile beschrieben, deren
Verarbeitung in dieser Ausführungsform
sich von der Verarbeitung in der vorherigen Ausführungsform unterscheidet. In
dieser Ausführungsform
setzen die Auslastungsteile 21 bis 2N jeweils
Bereiche der zweiten Empfangspuffer 61 bis 6N und
die Größe davon,
wie oben beschrieben. Deshalb wird eine Initialisierungsverarbeitung,
welche durchgeführt
wird, bevor der Steuerteil 11 empfangene Daten verarbeitet
(Schritt S1701 in 17),
durchgeführt
für jeden
der Auslastungsteile 21 bis 2N, wie in 23a gezeigt.
-
Auf 23a wird
Bezug genommen werden. Der Steuerteil 11 setzt die Speicherstelle
und die Größe des zweiten
Empfangspuffers 6i, welche von dem Auslastungsteil 2i befohlen
sind, durch Senden einer Anforderung, um den Beginn der Kommunikation
vorzubereiten, von dem Auslastungsteil 2i, in der Verwaltungstabelle 10i (Schritt
S2301), und initialisiert den zweiten Empfangspuffer 6i (Schritt
S2302). Danach schaltet der Steuerteil 11 ein Busy-Flag
in der Verwal tungstabelle 10i aus (Schritt S2303). Andererseits
wird der erste Empfangspuffer 81 durch den Steuerteil 11 initialisiert,
getrennt von der Verarbeitung, welche in 23a gezeigt ist (23b).
-
Wie in dem Vorhergehenden beschrieben,
in dieser Kommunikationsvorrichtung, als die Grundeinstellung der
zweiten Empfangspuffer 61 bis 6N, führt der
Steuerteil 11 nicht einheitlich die gleiche Einstellung
durch, sondern jeder der Auslastungsteile 21 bis 2N setzt
die am besten geeignete Größe, welche dessen
eigenem Ziel und dessen Verarbeitungsfähigkeiten entspricht.
-
Infolgedessen kann diese Kommunikationsvorrichtung
effektiv deren beschränkte
Ressourcen nutzen.
-
Wenn eine Kommunikation etabliert
wird unter Verwendung des oben erwähnten Kreditwertes in der Kommunikationsvorrichtung
gemäß dieser
Ausführungsform,
findet der Steuerteil 11 erneut, zu jeder Zeit, zu der
eine Kommunikationsanforderung geschickt wird, den maximalen Kreditwert,
welcher zu der Kommunikationsvorrichtung zu kommunizieren ist, welche
die Anforderung geschickt hat, wobei die Tatsache genutzt wird,
dass die Größe der Daten, welche
zu kommunizieren sind, für
jede Kommunikation variiert, wie in der vorherigen Ausführungsform.
-
Die Größe des zweiten Empfangspuffers 6i in
dieser Ausführungsform
ist z. B. nicht konstant die feste Größe, wie die Größe des zweiten
Empfangspuffers 6i in der vorherigen Ausführungsform,
aber die Größe, welche
am besten geeignet gesetzt wird durch jeden der Auslastungsteile 21 bis 2N.
Demgemäss
wird der maximale Kreditwert, welcher in dieser Ausführungsform
erlangt wird, von der maximalen Datengröße in der angeforderten Kommunikation und
der am besten geeigneten gesetzten Größe des zweiten Empfangspuffers 6i gefunden.
-
Deshalb kann die Kommunikationsvorrichtung
den Überlauf
von empfangenen Daten vermeiden durch Finden des maximalen Kreditwertes,
welcher am besten geeignet für
jede Kommunikation ist, und kann effizientere und am besten geeignete
Datenkommunikation etablieren.