DE69115152T2 - Verfahren und Vorrichtung zur Verwendung von dynamischer Datenverdichtung. - Google Patents

Verfahren und Vorrichtung zur Verwendung von dynamischer Datenverdichtung.

Info

Publication number
DE69115152T2
DE69115152T2 DE69115152T DE69115152T DE69115152T2 DE 69115152 T2 DE69115152 T2 DE 69115152T2 DE 69115152 T DE69115152 T DE 69115152T DE 69115152 T DE69115152 T DE 69115152T DE 69115152 T2 DE69115152 T2 DE 69115152T2
Authority
DE
Germany
Prior art keywords
identified
data
value
processor
data transfer
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
DE69115152T
Other languages
English (en)
Other versions
DE69115152D1 (de
Inventor
Harvey Gene Kiel
Robert John Manulik
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE69115152D1 publication Critical patent/DE69115152D1/de
Application granted granted Critical
Publication of DE69115152T2 publication Critical patent/DE69115152T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Selective Calling Equipment (AREA)

Description

  • Die vorliegende Erfindung betrifft im allgemeinen die Datenübertragung unter Verwendung von Datenverdichtung und im besonderen ein Verfahren und ein Computersystem zur dynamischen Organisation der Datenverdichtung.
  • Die Datenverdichtung wird zunehmend verwendet, weil sie eine höhere Leistungsfähigkeit bei der Datenübertragung gewährleistet, indem die Menge der übertragenen Daten und/oder die Kosten der Datenübertragung reduziert werden. Die Datenverdichtung wird in verschiedenen bekannten Übertragungssteuereinrichtungen verwendet.
  • Für die Datenverdichtung sind verschiedene Verdichtungsalgorithmen angewandt worden. Beispiele für Datenverdichtungsalgorithmen werden in den US-Patentschriften mit 4 386 416, 4 663 490, 4 663 660 und 4 684 923 offenbart.
  • Die US-Patentschrift Nr. 4 631 598 offenbart ein Bildverarbeitungssystem, das eine Bildwandlerkarte enthält, die Daten an eine örtliche Datenverdichtüngskarte sendet, welche die Daten in X-Richtung oder der Richtung des linearen Feldes verdichtet. Die Datenverdichtung in Y-Richtung wird durch die Geschwindigkeitsregelung des Motors für den Dokumententransport durchgeführt. Eine Scanner-Steuereinrichtung stellt die Datenverdichtung für den Endbenutzer bereit, um die Anpassung an die Datenbehandlungsmöglichkeiten des Endbenutzersystem bereitzustellen. Das Bildverarbeitungssystem benutzt automatische Schwellwerttechniken bezüglich der Grauskale sowie Schwellwertparameter für die Kantenerkennung.
  • Die US-Patentschrift Nr. 4 598 411 offenbart ein Datenverdichtungssystem zur Verdichtung von Daten, die zwischen einer Datenquelle und einem die Daten letztendlich verwendenden Gerät übertragen werden. Die Daten werden "im Flug" verdichtet, indem die Daten so wie sie übertragen verdichtet werden, anstatt die Daten zu verdichten und die verdichteten Daten vor ihrer Übertragung in einem Speicher zu speichern. Das Japanische Patent Nr. 59 189 751 offenbart ein Steuerungssystem für die Datenübertragung, das eine zentrale Verarbeitungseinheit (CPU) und eine Übertragungssteuereinrichtung (CCU) enthält. Unter Steuerung der CPU werden Buddaten an die CCU gesendet. Die CCU überträgt die empfangenen Daten zu einem Zusatzgerät, das einer Leitung zugeordnet ist, über welche die Daten übertragen werden sollen. In dem Zusatzgerät wird ein Anfangsteil der Buddaten gelesen, um festzustellen, ob die Daten verdichtet sind oder nicht. Wenn die Daten von der CPU nicht verdichtet sind, verdichtet die CCU die Daten, bevor diese gesendet werden. Anderenfalls, wenn die Daten von der CPU bereits verdichtet sind, umgeht die CCU den Verdichtungsschritt und überträgt die Daten in der existierenden, verdichteten Form.
  • Ein wesentlicher Nachteil des oben erwähnten und vieler der bekannten Datenverdichtungsverfahren besteht darin, daß sich eine herabgesetzte Leistungsfähigkeit ergeben kann. Die Datenverdichtung kommt zu dem Datenverarbeitungsaufwand hinzu und kann zu einer Ineffizienz im Prozessorsystem führen. Wenn die Prozessorauslastung hoch ist, führt die Datenverdichtung, die die Prozessorauslastung weiter erhöht, zu einer herabgesetzten Leistungsfähigkeit. Ein weiteres Problem besteht darin, daß die Datenverdichtung nicht notwendigerweise zu Einsparungen bei jeder beliebigen aktuellen Datenübertragung führt. Die Zeit, die verbraucht wird, um die Datenverdichtung zu versuchen oder durchzuführen, kann eine Verzögerung in der aktuellen Datenübertragung und eine herabgesetzte Leistungsfähigkeit hervorrufen. Wenn zum Beispiel eine Hochgeschwindigkeits-Übertragungsleitung verwendet wird und die Übertragungshardware nicht beschäftigt ist, bewirkt die für die Datenverdichtung benötigte Zeit eine Gesamtverzögerung für den Start der Datenübertragung.
  • Die US-Patentschrift Nr. 4 905 171 offenbart eine Leistungsüber wachung für die Arbeitsplatzrechner-Steuereinrichtung (WSC) zur Lokalisierung von Leistungsengpässen. Es werden Messungen der Leistungsfähigkeit vorgenommen, und die Prozessorauslastung und die Übertragungsleitungsauslastung werden berechnet. Die Prozessorauslastung wird unter Verwendung einer Warteschleife zur Erzeugung eines Warteschleifen-Zählwertes und unter Verwendung der folgenden Gleichung berechnet:
  • Prozessorauslastung = (verstrichene Testzeit/Warteschleifenzeit) - Warteschleifen-Zähiwert/(verstrichene Testzeit/Warteschleifenzeit)
  • worin der Warteschleifen-Zählwert angibt, wie oft eine Warteschleife ausgeführt wurde, die verstrichene Testzeit entspricht einem vorgegebenen Zeitintervall zur Ausführung der Messungen, und die Warteschleifenzeit ist eine Konstante, die der Zeit entspricht, die zur einmaligen Ausführung der Warteschleife benötigt wird.
  • Wesentliche Aufgaben der vorliegenden Erfindung sind, ein verbessertes Verfahren und ein Computersystem für die dynamische Steuerung der Benutzung der Datenverdichtung für Datenübertragungen bereitzustellen; ein solches Steuerungsverfahren für die Datenverdichtung und Computersystem bereitzustellen, bei dem ein identifizierter Prozessorauslastungswert mit einem vorgegebenen Schwellwert verglichen wird und bei dem ein Datenübertragungsblock verdichtet wird, wenn der Prozessorauslastungswert kleiner oder gleich dem vorgegebenen Schwellwert ist; ein solches Steuerungsverfahren für die Datenverdichtung und Computersystem bereitzustellen, bei dem ein identifizierter Prozessorauslastungswert mit einem vorgegebenen Schwellwert verglichen wird und bei dem in Reaktion auf einen identifizierten Prozessorauslastungswert größer als der Schwellwert der Datenübertragungsblock unter Verwendung eines ersten Verdichtungsalgorithmus verdichtet wird; und bei dem in Reaktion auf einen identifizierten Prozessorauslastungswert kleiner oder gleich dem Schwellwert der Datenübertragungsblock unter Verwendung eines zweiten Verdichtungsalgorithmus verdichtet wird; ein solches Steuerungsverfahren für die Datenverdichtung und Computersystem bereitzustellen, bei dem ein Verdichtungsauswahl-Markierungsbit bereitgestellt wird, das angibt, ob die Datenverdichtung ausgewählt wurde oder nicht und bei dem das Verdichtungsauswahl-Markierungsbit an ein anderes empfangendes System gesendet wird, wobei das Verdichtungsauswahl-Markierungsbit durch das andere System verwendet wird, um die Datenverdichtung auszuwählen oder nicht auszuwählen; und ein solches Steuerungsverfahren für die Datenverdichtung und Computersystem bereitzustellen, bei dem der Zustand der Übertragungshardware identifiziert wird und bei dem ein Datenübertragungsblock verdichtet wird, wenn die Übertragungshardware beschäftigt ist und bei dem ein Datenübertragungsblock unverdichtet übertragen wird, wenn die Übertragungshardware frei ist.
  • Kurz gesagt, die Aufgaben und Vorteile der vorliegenden Erfindung werden durch ein Verfahren und ein Computersystem erreicht, das einen Prozessor besitzt, um einen Datenübertragungsblock zur Datenübertragung zwischen dem Computersystem und mindestens einem anderen System selektiv zu verdichten. Für den Prozessor wird periodisch ein Prozessorauslastungswert identifiziert. Ein vorgegebener, gespeicherter Schwellwert wird identifiziert und mit dem identifizierten Prozessorauslastungswert verglichen. In Reaktion auf einen identifizierten Prozessorauslastungswert größer als der identifizierte vorgegebene Schwellwert wird der Datenübertragungsblock übertragen, ohne daß der Datenübertragungsblock verdichtet wird. Anderenfalls wird in Reaktion auf einen identifizierten Prozessorauslastungswert kleiner oder gleich dem identifizierten vorgegebenen Schwellwert der Datenübertragungsblock verdichtet und dann übertragen. Der Status einer Übertragungsleitung wird für die Datenübertragung identifiziert. In Reaktion auf einen identifizierten Ruhezustand der Übertragungsleitung wird der Datenübertragungsblock ohne Verdichtung des Datenübertragungsblockes übertragen.
  • Die vorliegende Erfindung kann zusammen mit den oben erwähnten und weiteren Aufgaben und Vorteilen aus der folgenden detaillierten Beschreibung der in den Zeichnungen illustrierten Ausführungsform der Erfindung am besten verstanden werden, wobei:
  • FIG. 1 ein Blockschaltbild eines Übertragungssystems ist, welches zur Ausführung des Datenverdichtungs-Steuerungsverfahrens der Erfindung verwendet werden kann; und
  • FIG. 2 bis 7 Ablaufdiagramme sind, die die logischen Schritte darstellen, welche durch einen Prozessor des Übertragungssystems von FIG. 1 ausgeführt werden.
  • Jetzt bezugnehmend auf die Zeichnungen wird in FIG. 1 eine Blockschaltbilddarstellung eines beispielhaften Datenübertragungssystems zur Ausführung des Datenverdichtungs-Steuerungsverfahrens gemäß der vorliegenden Erfindung gezeigt. Wie dargestellt enthält das beispielhafte Datenübertragungssystem einen Leitrechner, der allgemein durch die Referenznummer 10 gekennzeichnet wird sowie eine Arbeitsplatzrechner-Steuereinrichtung (WSC) 20, die an eine Vielzahl Geräte oder Arbeitsplatzrechner 40, wie beispielsweise Personalcomputer (PC's), Anzeigen oder Drucker, angeschlossen ist. Der Leitrechner 10 besitzt einen Prozessor 11, der mit einer Steuereinrichtungs-Schnittstelle 12, einem Speicher 13, welcher einen Datenbereich 14 und Ein-/Ausgabe- (I/O) Puffer 16 umfaßt, und einem Systemzeitgeber 18 verbunden ist. Die Steuereinrichtungs-Schnittstelle 12 kommuniziert über Leitung 17 mit der WSC 20. Leitung 17 kann ein Systembus, eine Übertragungsleitung, der Teil eines lokalen Netzwerkes oder eine andere Datenübertragungseinrichtung sein. Die WSC 20 enthält einen Prozessor 22, der mit einer Leitrechner-Schnittstelle 21, einer Geräte-Schnittstelle 23, einem Speicher 24, welcher I/O-Puffer 26 und einen Zähler-Speicherbereich 27 umfaßt, und einem WSC-Zeitgeber 28 verbunden ist. Die Leitrechner-Schnittstelle 21 kommuniziert über Leitung 17 mit dem Leitrechner 10. Die Geräte-Schnittstelle 23 kommuniziert über eine Übertragungsleitung 29 mit den Geräten 40. Der Prozessor 22 ist ein typischer Prozessor, wie er dem Fachmann bekannt ist, der geeignet programmiert ist, um so zu arbeiten, wie es mit Bezug auf die FIG. 2 bis 7 beschrieben wird. Wenn das Datenverdichtungs-Steue rungsverfahren unten auch so beschrieben wird, daß es durch den Prozessor 22 der WSC 20 für Datenübertragungen mit den angeschlossenen Geräten 40 ausgeführt wird, sollte verstanden werden, daß die Erfindung nicht auf diese Anwendung begrenzt ist und zusammen mit verschiedenen Übertragungssteuereinrichtungen und Computersystemen verwendet werden kann.
  • Kurz gesagt, gemäß der Merkmale der vorliegenden Erfindung wird die Datenverdichtung datenblockweise ausgeführt, ein Datenblock kann verdichtet werden und ein nächster Datenblock muß nicht verdichtet werden. Wie mit Bezug auf die FIG. 2 bis 7 dargestellt und beschrieben wird, werden ein identifizierter Prozessorauslastungswert und der Zustand der Datenübertragungs-Hardware der WSC analysiert, bevor die Datenverdichtung ausgeführt wird. Ein identifizierter Prozessorauslastungswert wird mit einem gespeicherten Prozessorauslastungs-Schwellwert für die spezielle Leitungsgeschwindigkeit verglichen. Wenn der Prozessorauslastungswert größer als der Schwellwert ist, wird die Datenverdichtung umgangen. Ein Markierungsbit, das die Datenverdichtungsauswahl auf der Basis des Prozessorauslastungswertes widerspiegelt, wird an ein empfangendes Gerät 40 weitergeleitet, um anzuzeigen, ob das Gerät 40 zu übertragende Datenblöcke verdichten soll, so daß der Prozessor 22 selektiv verdichtete und unverdichtete Daten empfängt. Wenn die WSC-Datenübertragungs-Hardware keine Daten empfängt oder sendet, wird der Datenblock nicht verdichtet. Wenn die WSC-Datenübertragungs-Hardware beschäftigt ist, wird ein aktueller Daten-Warteschlangenwert der WSC-Datenübertragungs-Hardware mit einem gespeicherten Daten-Warteschlangen-Schwellwert für die spezielle Leitungsgeschwindigkeit verglichen. Wenn der aktuelle Warteschlangenwert größer oder gleich dem Schwellwert ist, dann wird der Datenblock verdichtet.
  • Bezugnehmend auf FIG. 2 wird ein Ablaufdiagramm dargestellt, das aufeinanderfolgende Schritte zeigt, die durch den Prozessor 22 ausgeführt werden und eine Startroutine der Pfadsteuerung definieren. Die aufeinanderfolgenden Schritte beginnen mit dem Aufbau einer Verbindung oder Anforderung zur Aktivierung einer Kommunikation, was beinhaltet, daß ein Vorgabewert gesetzt wird, der dem Zustand "nicht Verdichten" entspricht, dargestellt durch Block 202. Als nächstes identifiziert der Prozessor 22 einen Prozessorauslastungs-Schwellwert PT für die spezielle Leitungsgeschwindigkeit der Datenübertragung. Der Prozessorauslastungs- Schwellwert PT wird aus einer gespeicherten Nachschlagetabelle erhalten, die eine Vielzahl Prozessorauslastungs-Schwellwerte PT enthält, jeden für eine spezielle Leitungsgeschwindigkeit, beispielsweise so, wie in folgender TABELLE 1 dargestellt. TABELLE I Leitungsgeschwindigkeit (Bits pro Sekunde) Prozessorauslastungs-Schwellwert PT
  • Als nächstes kann ein optionaler Schritt ausgeführt werden, um eine manuell eingegebene Konfigurierung der Verdichtungsauswahl für die Leitung zu identifizieren, die wie in Block 206 dargestellt bestimmt, ob die Datenverdichtung eingeschaltet, die Datenverdichtung ausgeschaltet oder ob die Datenverdichtung auf der Basis jedes Datenübertragungsblockes ausgeführt wird. Wenn in Block 206 die dynamische Verdichtungsauswahl identifiziert wird, dann wird ein zuletzt berechneter Prozessorauslastungswert PU mit dem in Block 204 identifizierten Prozessorauslastungs- Schwellwert PT verglichen, was durch den Entscheidungsblock 208 dargestellt wird. Ein Verfahren zur Berechnung der Prozessorauslastung wird in dem oben beschriebenen U.S.-Patent Nr. 4 905 171 offenbart, oder es können alternativ dazu Abtastverfahren verwendet werden, um den zuletzt berechneten Prozessorauslastungswert PU zu erhalten. Die Offenbarung des U.S.-Patentes Nr. 4 905 171 wird durch diese Bezugnahme hierin aufgenommen.
  • Wenn der zuletzt berechnete Prozessorauslastungswert PU in Block 208 kleiner ist als der identifizierte Schwellwert PT, dann wird das Verdichtungswahl-Markierungsbit innerhalb der Verbindungsaufnahme auf "Verdichtung ein" gesetzt, wie dies durch den Block 210 dargestellt wird. Dann wird die Verbindungsaufnahme gesendet und der Prozessor 22 wartet auf eine Antwort auf die Verbindungsaufnahme von dem PC oder einem anderen Gerät 40, wie dies durch den Block 212 dargestellt wird. Als nächstes wird das Verdichtungswahl-Markierungsbit der Antwort auf die Verbindungsaufnahme überprüft, wie dies durch Block 214 dargestellt ist. Wenn das "Verdichtung ein"- Markierungsbit nicht gesetzt ist oder "aus" ist, wird die Datenverdichtung nicht verwendet, und es wird ein internes Verdichtungs-Markierungsbit auf "aus" gesetzt, wie dies durch Block 216 dargestellt ist. Anderenfalls, wenn das "Verdichtung ein"- Markierungsbit in der Antwort auf die Verbindungsaufnahme gesetzt ist, wird die Datenverdichtung verwendet und ein internes Verdichtungs-Markierungsbit wird auf "ein" gesetzt, wie dies durch Block 218 dargestellt ist.
  • Alternativ wird, wenn der zuletzt berechnete Prozessorauslastungswert PU in Block 208 größer als der identifizierte Schwellwert PT ist, das Verdichtungswahl-Markierungsbit in der Verbindungsaufnahme gesetzt, um den Datenübertragungsblock mittels eines ersten Verdichtungsalgorithmus zu verdichten. Desweiteren wird, wenn der zuletzt berechnete Prozessorauslastungswert PU in Block 208 kleiner oder gleich dem identifizierten Schwellwert PT ist, das Verdichtungswahl-Markierungsbit in der Verbindungsaufnahme gesetzt, um den Datenübertragungsblock unter Verwendung eines zweiten Verdichtungsalgorithmus zu verdichten. In diesem alternativen Verfahren erfordert der erste Verdichtungsalgorithmus weniger Prozessorzeit als für den zweiten Verdichtungsalgorithmus erforderlich ist.
  • Wir beziehen uns jetzt auf FIG. 3. Es wird ein Ablaufdiagramm dargestellt, das die aufeinanderfolgenden Schritte beim Senden eines Datenübertragungsblockes zeigt. Zuerst wird ein zu übertragender Datenblock, der typischerweise 256 Datenbyte enthält verarbeitet, wie es durch Block 302 dargestellt wird. Zu dem Datenübertragungsblock wird ein Übertragungskopf hinzugefügt, der eine auf "keine Verdichtung" gesetzte Voreinstellung enthält, wie dies durch den Block 304 dargestellt wird. Als nächstes kann ein optionaler Schritt ausgeführt werden, um eine manuell eingegebene Konfigurierung der Verdichtungs auswahl für die Leitung zu identifizieren, die wie in Block 306 dargestellt bestimmt, ob die Datenverdichtung eingeschaltet, die Datenverdichtung ausgeschaltet oder ob auf der Basis jedes Datenübertragungsblockes dynamisch bestimmt wird, ob die Datenverdichtung ausgeführt wird. Wenn in Block 306 die Leitung manuell auf Datenverdichtung ein konfiguriert worden ist, dann wird der Datenübertragungsblock verdichtet, die Blocklänge eingestellt und das Verdichtungs-Markierungsbit im Übertragungs-Nachrichtenvorsatz auf "ein" gesetzt, wie dies in Block 308 dargestellt ist. Wenn in Block 306 die dynamische Verdichtungsauswahl identifiziert worden ist, dann wird bestimmt, ob das spezielle Gerät 40 eine Datenverdichtung unterstützt, wie dies durch den Entscheidungsblock 310 dargestellt wird. Wenn in Block 310 festgestellt wird, daß das Gerät 40 die Datenverdichtung unterstützt, dann wird ein Programm-Schwellwert TT für die spezielle Leitungsgeschwindigkeit aus einer gespeicherten Nachschlagetabelle aus Programm-Schwellwerten TT und Leitungsgeschwindigkeiten erhalten, wie dies durch Block 312 dargestellt ist. TABELLE II zeigt im folgenden Beispiele von Programm-Schwellwerten TT mit Leitungsgeschwindigkeiten. TABELLE II Leitungsgeschwindigkeit (Bits pro Sekunde) Prozessor-Programm-Schwellwert TT
  • Als nächstes wird die Anzahl der in der Warteschlange wartenden Programme TQ für den Prozessor 22 mit dem identifizierten Programm-Schwellwert TT verglichen, wie dies durch den Entscheidungsblock 314 dargestellt ist. Wenn in Block 314 festgestellt wird, daß die Anzahl der in der Warteschlange wartenden Programme TQ kleiner oder gleich dem identifizierten Programm-Schwellwert TT ist, dann wird die Übertragungsleitungs-Hardware überprüft, um festzustellen, ob die Übertragungsleitungs-Hardware Daten empfängt oder ob ein zusätzlicher vollständiger Übertragungsblock in der Warteschlange steht und auf die Übertragung wartet, wie dies durch den Entscheidungsblock 316 dargestellt ist. Wenn in Block 316 festgestellt wird, daß die Übertragungsleitungs-Hardware gerade Daten empfängt oder daß ein zusätzlicher Übertragungsblock in der Warteschlange steht, dann wird der Datenübertragungsblock entsprechend Block 308 verdichtet. Wenn andererseits in Block 316 festgestellt wird, daß die Übertragungsleitungs-Hardware keine Daten empfängt oder daß kein zusätzlicher Übertragungsblock in der Warteschlange steht, wird ein Sendebyteanzahl-Schwellwert BT für die spezielle Leitungsgeschwindigkeit aus einer gespeicherten Nachschlagetabelle aus Byteanzahl-Schwellwerten BT identifiziert. TABELLE III zeigt im folgenden Beispiele von Byteanzahl-Schwellwerten BT mit Leitungsgeschwindigkeiten. TABELLE III Leitungsgeschwindigkeit (Bits pro Sekunde) Byteanzahl-Schwellwert TT
  • Als nächstes wird ein Bytezählwert BQ für die Übertragungsleitungs-Hardware überprüft und mit dem in Block 318 erhaltenen Byteanzahl-Schwellwert BT verglichen, wie dies durch den Entscheidungsblock 320 dargestellt ist. Wenn die Byteanzahl der Übertragungsleitungs-Hardware BQ größer oder gleich dem Byteanzahl-Schwellwert BT ist, dann wird in Block 308 die Datenverdichtung ausgeführt. Wenn andererseits die Byteanzahl der Übertragungsleitungs-Hardware BQ kleiner oder gleich dem Byteanzahl- Schwellwert BT ist, wird die Datenverdichtung nicht durchgeführt. Dann wird der Datenübertragungsblock in die Warteschlange der Übertragungsleitungs-Hardware gestellt und wie durch Block 322 dargestellt gesendet. Der Datenübertragungsblock wird, nachdem in Block 306 eine "Verdichtung aus"- Auswahl identifiziert wurde oder nachdem in Block 310 festgestellt wurde, daß das Gerät 40 keine Datenverdichtung unterstützt oder nachdem in Block 314 festgestellt wurde, daß mehr Programme TQ in der Prozessor-Warteschlange stehen, als der identifizierte Programm-Schwellwert TT angibt, auch ohne Verdichtung des Datenübertragungsblockes in die Warteschlange der Übertragungsleitungs-Hardware gestellt und in Block 322 gesendet.
  • Wir beziehen uns jetzt auf FIG. 4. Es wird ein Ablaufdiagramm dargestellt, das die aufeinanderfolgenden Schritte beim Empfangen eines Datenübertragungsblockes zeigt. Zuerst wird ein Datenblock verarbeitet, wie es durch Block 402 dargestellt wird. Als nächstes wird ein Datenverdichtungs-Markierungsbit überprüft, um zu bestimmen ob der empfangene Datenblock verdichtet ist oder nicht, wie dies durch den durch den Entscheidungsblock 404 dargestellt ist. Wenn in Block 404 festgestellt wird, daß der empfangene Datenblock verdichtet ist, dann wird der Datenübertragungsblock dekomprimiert und die Datenblocklänge wird eingestellt, wie dies durch Block 406 dargestellt wird. Anderenfalls wird der empfangene Datenblock verarbeitet ohne dekomprimiert zu werden.
  • Die FIG. 5 bis 7 zeigen alternative Ablaufdiagramme von durch den Prozessor 22 aufeinanderfolgend auszuführenden Schritten für die periodische Einstellung der Datenverdichtung/nicht Datenverdichtung oder für den Signalaustausch über die Datenverdichtung bei der Verbindungsaufnahme während der Programmausführung. Wir beziehen uns auf FIG. 5. Es wird ein Ablaufdiagramm dargestellt, das alternative aufeinanderfolgende Schritte zeigt, die durch den Prozessor 22 in einer Geräte-Startroutine ausgeführt werden. Die aufeinanderfolgenden Schritte beginnen mit dem Aufbau einer Verbindung, was beinhaltet, daß ein Vorgabewert für "Verdichten ein" gesetzt wird, wie dies durch den Block 502 dargestellt wird. Als nächstes sendet der Prozessor 22 die Verbindungsaufnahme und wartet auf eine Antwort auf die Verbindungsaufnahme vom Gerät 40, wie dies durch den Block 504 dargestellt wird. Als nächstes wird ein Verdichtungswahl-Markierungsbit der Antwort auf die Verbindungsaufnahme überprüft, wie dies durch Block 506 dargestellt ist. Wenn das Verdichtungs-Markierungsbit in der Antwort auf die Verbindungsaufnahme auf "ein" gesetzt ist, was im Block 506 identifiziert wurde, dann wird die Datenverdichtung verwendet, und das interne Verdichtungs-Markierungsbit wird auf "ein" gesetzt, wie dies durch Block 508 dargestellt ist, und das Verdichtungswahl-Markierungsbit wird auf "ein" gesetzt, wie dies durch Block 510 dargestellt ist. Anderenfalls, wenn das Verdichtungswahl-Markierungsbit nicht gesetzt oder "aus" ist, wird die Datenverdichtung nicht verwendet, und das interne Verdichtungs- Markierungsbit wird auf "aus" gesetzt, wie dies durch Block 512 dargestellt ist und das Verdichtungswahl-Markierungsbit wird auf "aus" gesetzt, wie dies durch Block 514 dargestellt ist.
  • Bezugnehmend auf FIG. 6 wird ein Ablaufdiagramm dargestellt, das die aufeinanderfolgenden Schritte zeigt, die durch den Prozessor 22 ausgeführt werden und ein zeitgesteuertes Programmodul zum periodischen Ein- und Ausschalten der Datenverdichtung während der Programmabarbeitung definieren. Zuerst wird bestimmt, ob das Gerät 40 die Datenverdichtung unterstützt und ob die Übertragungsleitung dynamisch konfiguriert werden kann, was durch den Entscheidungsblock 602 dargestellt wird. Wenn in Block 602 festgestellt wird, daß das Gerät 40 die Datenverdichtung nicht unterstützt oder daß die Übertragungsleitung nicht dynamisch konfiguriert werden kann, dann werden innerhalb des Moduls keine weiteren Verarbeitungsschritte ausgeführt. Wenn andererseits in Block 602 festgestellt wird, daß das Gerät 40 die Datenverdichtung unterstützt und die Übertragungsleitung dynamisch konfiguriert werden kann, dann wird bestimmt, ob die Datenverdichtung aktuell ausgeführt wird, wie dies durch Block 604 dargestellt wird.
  • Wenn in Block 604 festgestellt wird, daß die Datenverdichtung aktuell ausgeführt wird, dann wird ein Prozessorauslastungs- Stopp-Schwellwert PSTOPP für die spezielle Leitungsgeschwindigkeit identifiziert, wie dies durch Block 606 dargestellt ist. Eine gespeicherte Nachschlagetabelle kann eine Vielzahl Prozessorauslastungs-Stopp- und -Start-Schwellwerte PSTART, PSTOPP enthalten, jeden mit einer speziellen Leitungsgeschwindigkeit. Als nächstes wird der identifizierte Stopp-Schwellwert PSTOPP mit einem zuletzt berechneten Prozessorauslastungswert PU verglichen, wie dies durch den Entscheidungsblock 608 dargestellt ist. Wenn festgestellt wird, daß der zuletzt berechnete Prozessorauslastungswert PU kleiner oder gleich dem Stopp-Schwellwert PSTOPP ist, dann bleibt die Datenverdichtung eingeschaltet und die Routine wird verlassen. Wenn in Block 608 festgestellt wird, daß der zuletzt berechnete Prozessorauslastungswert PU größer als der Stopp- Schwellwert PSTOPP ist, dann wird eine "Datenverdichtung stoppen Nachricht" in einen nicht numerierten Informationsblock (UIF) eingebaut, wie dies durch Block 610 dargestellt ist. Danach wird ein internes Markierungsbit gesetzt, was einen anstehenden UIF- Block anzeigt, wie dies in Block 612 dargestellt ist und der Datenblock wird zum Senden weitergeleitet, wie dies durch Block 614 dargestellt ist. Mit Bezug auf FIG. 7 wird eine Routine zur Verarbeitung nicht numerierter Informationen, das der Behandlung der Antwort auf den entsprechend Block 614 gesendeten UIF dient, dargestellt und beschrieben.
  • Anderenfalls, wenn in Block 604 festgestellt wird, daß die Datenverdichtung aktuell nicht durchgeführt wird, wird ein Prozessorauslastungs-Start-Schwellwert PSTART für die spezielle Leitungsgeschwindigkeit in der gespeicherten Nachschlagetabelle identifiziert, wie dies durch Block 616 dargestellt wird. Als nächstes wird der identifizierte Start-Schwellwert PSTART mit dem zuletzt berechneten Prozessorauslastungswert PU verglichen, und es wird festgestellt, ob die Datenverdichtung gestoppt wurde, was durch den Entscheidungsblock 618 dargestellt wird. Wenn festgestellt wird, daß der zuletzt berechnete Prozessoräuslastungswert PU kleiner oder gleich dem Start-Schwellwert PSTART ist und festgestellt wird, daß die Datenverdichtung vorhergehend in Block 610 gestoppt wurde, wird eine wird eine "Datenverdichtung starten Nachricht" in einen nicht numerierten Informationsblock UIF eingebaut, wie dies durch Block 620 dargestellt ist. Dann wird ein internes Markierungsbit gesetzt, was einen anstehenden UIF-Block anzeigt, wie dies in Block 612 dargestellt ist und der Datenblock wird zum Senden weitergeleitet, wie dies durch Block 614 dargestellt ist. Anderenfalls, wenn festgestellt wird, daß der zuletzt berechnete Prozessorauslastungswert PU größer als der Start-Schwellwert PSTART ist oder festgestellt wird, daß die Datenverdichtung nicht vorhergehend in Block 610 gestoppt wurde, werden keine weiteren Verarbeitungsschritte in dem Modul ausgeführt.
  • TABELLE IV enthält im folgenden Beispiele für Prozessorauslastungs-Start-Schwellwerte und Prozessorauslastungs-Stopp- Schwellwerte PSTART, PSTOPP für eine Vielzahl Leitungsgeschwindigkeiten. TABELLE IV Leitungsgeschwindigkeit (Bits pro Sekunde) Prozessorauslastungs-Schwellwert PSTART PSTOPP
  • Die aufeinanderfolgenden Schritte, die durch den Prozessor 22 ausgeführt werden, das zeitgesteuertes Programmodul zum periodischen Ein- und Ausschalten der Datenverdichtung während der Programmabarbeitung definieren und mit Bezug auf FIG. 6 illustriert und beschrieben wurden, werden zu verschiedenen Zeitpunkten für die verschiedenen Übertragungsleitungen ausgeführt, um einen Schwingungseffekt zu verhindern, der sich anderenfalls aus dem Starten und Anhalten der Datenverdichtung auf allen Übertragungsleitungen gleichzeitig ergeben könnte.
  • Wir beziehen uns jetzt auf FIG. 7. Es wird ein Ablaufdiagramm dargestellt, das die aufeinanderfolgenden Schritte zur Behandlung einer Antwort auf einen in Block 614 von FIG. 6 gesendeten UIF-Datenblock zeigt, welche die Routine zur Verarbeitung nicht numerierter Informationen definieren. Zuerst wird eine Anforderung vom Gerät 40 oder eine Antwort des Gerätes 40 auf eine durch den Prozessor 22 gesendete Anforderung identifiziert, wie es durch den Entscheidungsblock 702 dargestellt ist. Wenn in Block 702 eine Antwort von dem Gerät identifiziert wird, dann wird bestimmt, ob ein anstehender UIF vorhanden ist, indem, wie im Entscheidungsblock 704 dargestellt, überprüft wird, ob das UIF-Markierungsbit gesetzt ist. Wenn in Block 704 festgestellt wird, daß kein anstehender UIF vorhanden ist, wird ein Durchreichen ausgeführt, wie dies durch Block 706 dargestellt wird. Anderenfalls, wenn in Block 704 ein anstehender UIF identifiziert wird, wird das UIF-Markierungsbit ausgeschaltet, wie dies durch Block 708 dargestellt wird. Als nächstes wird bestimmt, ob dies eine positive Antwort auf ein Stopp ist, wie dies durch den Entscheidungsblock 710 dargestellt ist. Wenn in Block 710 eine positive Antwort auf ein Stopp identifiziert wird, wird das interne Verdichtungs-Markierungsbit ausgeschaltet, um anzuzeigen, daß die Datenverdichtung nicht durchgeführt wird, wie dies durch Block 712 dargestellt ist, und das interne Verdichtung-gestoppt-Markierungsbit wird auf "ein" gesetzt, um anzuzeigen, daß die Datenverdichtung durch dieses System gestoppt worden ist, wie es durch Block 714 dargestellt wird.
  • Wenn in Block 710 eine positive Antwort auf einen Verdichtungsstopp nicht identifiziert wird, wird bestimmt, ob es sich um eine positive Antwort auf einen Verdichtungsstart handelt, wie dies durch, den Entscheidungsblock 716 dargestellt wird. Wenn in Block 716 eine positive Antwort auf einen Verdichtungsstart identifiziert wird, wird das interne Verdichtungs-Markierungsbit eingeschaltet, um anzuzeigen, daß die Datenverdichtung durchgeführt wird, wie dies durch Block 718 dargestellt wird. Dann wird das interne Verdichtung-durch-dieses-System-gestoppt-Markierungsbit auf "aus" gesetzt, um anzuzeigen, daß die Datenverdichtung nicht gestoppt worden ist, wie es in Block 720 dargestellt wird.
  • Wenn in Block 702 eine Anforderung vom Gerät 40 identifiziert wird, wird das anstehende-UIF-Markierungsbit überprüft, wie dies durch den Entscheidungsblock 722 dargestellt wird. Wenn in Block 722 ein anstehender UIF identifiziert wird, wird als nächstes eine negative Antwort erzeugt, wie dies in Block 724 dargestellt ist, und der Datenblock wird zum Senden weitergeleitet, wie dies in Block 726 dargestellt ist. Anderenfalls, wenn in Block 722 ein anstehender UIF nicht identifiziert wird, wird bestimmt, ob es eine Anforderung zum Verdichtungsstopp gibt, wie dies durch den Entscheidungsblock 728 dargestellt wird. Wenn in Block 728 eine Anforderung zum Verdichtungsstopp identifiziert wird, wird das interne Verdichtungs-Markierungsbit ausgeschaltet, um anzuzeigen, daß die Datenverdichtung nicht durchgeführt wird, wie dies in Block 730 dargestellt ist, und es wird eine positive Antwort auf die Anforderung zum Verdichtungsstopp erzeugt, wie dies in Block 732 dargestellt ist. Als nächstes wird der Datenblock zum Senden weitergeleitet, wie dies in Block 726 dargestellt ist.
  • Wenn in Block 728 eine Anforderung zum Verdichtungsstopp nicht identifiziert wird, wird bestimmt, ob es eine Anforderung zum Verdichtungsstart gibt, wie dies durch den Entscheidungsblock 734 dargestellt wird. Wenn in Block 734 eine Anforderung zum Verdichtungsstart nicht identifiziert wird, wird in Block 724 eine negative Antwort erzeugt, und der Datenblock wird wie in Block 726 dargestellt zum Senden weitergeleitet. Wenn in Block 734 eine Anforderung zum Verdichtungsstart identifiziert wird, wird das interne Verdichtungs-Markierungsbit eingeschaltet, um anzuzeigen, daß die Datenverdichtung durchgeführt wird, wie dies in Block 736 dargestellt ist. Als nächstes wird eine positive Antwort erzeugt, wie dies in Block 738 dargestellt ist, und dann wird der Datenblock zum Senden weitergeleitet, wie dies in Block 726 dargestellt ist.

Claims (17)

1. Verfahren zur selektiven Verdichtung eines Datenübertragungsblockes zur Datenübertragung zwischen einem Computersystem, das einen Prozessor umfaßt, und mindestens einem anderen System, wobei das Verfahren die folgenden Schritte umfaßt:
periodisches Identifizieren eines Prozessorauslastungswertes für den Prozessor;
Identifizieren eines vorgegebenen Schwellwertes;
Vergleichen des identifizierten Prozessorauslastungswertes mit dem identifizierten vorgegebenen Schwellwert;
Übertragen des Datenübertragungsblockes ohne Verdichtung des Datenübertragungsblockes in Reaktion auf einen identifizierten Prozessorauslastungswert, der größer als der identifizierte vorgegebene Schwellwert ist; und
Verdichten und Übertragen des Datenübertragungsblockes in Reaktion auf einen identifizierten Prozessorauslastungswert, der kleiner oder gleich dem identifizierten vorgegebenen Schwellwert ist.
2. Verfahren gemäß Anspruch 1, desweiteren umfassend die Schritte:
Identifizieren eines zweiten vorgegebenen Schwellwertes; Vergleichen des identifizierten Prozessorauslastungswertes mit dem identifizierten zweiten vorgegebenen Schwellwert;
Bereitstellen eines Verdichtungsauswahl-Markierungsbits, das darstellt, ob in Reaktion auf die verglichenen Werte die Datenverdichtung ausgewählt wurde oder nicht; und
Übertragen des Verdichtungsauswahl-Markierungsbits zu dem mindestens einem anderen System, wobei das Verdichtungsauswahl-Markierungsbit durch das mindestens eine andere System dazu verwendet wird, um die Daten selektiv zu verdichten.
3. Verfahren gemäß Anspruch 2, wobei die ersten und zweiten vorgegebenen Schwellwerte gleich sind.
4. Verfahren gemäß Anspruch 2, wobei der Schritt der Übertragung des Verdichtungsauswahl-Markierungsbits zu dem mindestens einen anderen System zu einem Zeitpunkt bereitgestellt wird, zu dem die Systeme verbunden sind.
5. Verfahren gemäß Anspruch 2, wobei das Verdichtungsauswahl- Markierungsbit periodisch zu dem mindestens einen anderen System übertragen wird.
6. Verfahren gemäß Anspruch 2, wobei der Schritt der Übertragung des Verdichtungsauswahl-Markierungsbits zu dem mindestens einen anderen System mit jedem übertragenen Datenübertragungsblock bereitgestellt wird.
7. Verfahren gemäß Anspruch 1, desweiteren umfassend die Schritte:
Speichern des Datenübertragungsblockes ohne Verdichtung des Datenübertragungsblockes in Reaktion auf einen identifizierten Prozessorauslastungswert, der größer oder gleich dem identifizierten vorgegebenen Schwellwert ist; und
Verdichten und Speichern des verdichteten Datenübertragungsblockes in Reaktion auf einen identifizierten Prozessorauslastungswert, der kleiner als der identifizierte vorgegebene Schweliwert ist.
8. Verfahren gemäß Anspruch 1, wobei der Schritt der Identifikation eines vorgegebenen Schwellwertes die folgenden Schritte umfaßt:
Speichern eines jeden einer Vielzahl von Prozessor-Programmwarteschlangen-Schwellwerten mit einem entsprechenden Übertragungsleitung-Geschwindigkeitswert;
Identifizieren eines Übertragungsleitung-Geschwindigkeitswertes für den zu übertragenden Datenübertragungsblock; und
Identifizieren des Prozessor-Programmwarteschlangen- Schwellwertes, der zusammen mit dem identifizierten Leitungs-Geschwindigkeitswert gespeichert ist.
9. Verfahren gemäß Anspruch 8, desweiteren umfassend die Schritte:
Identifizieren eines aktuellen Programmwarteschlangen-Zählwertes für den Prozessor;
Vergleichen des identifizierten aktuellen Programmwarteschlangen-Zählwertes mit dem Programmwarteschlangen-Schwellwert; und
Übertragen des Datenübertragungsblockes ohne Verdichtung des Datenübertragungsblockes in Reaktion darauf, daß der identifizierte aktuelle Programmwarteschlangen-Zählwert größer als der Programmwarteschlangen-Schwellwert ist.
10. Verfahren gemäß Anspruch 9, desweiteren umfassend die Schritte:
Verdichten des Datenübertragungsblockes und Übertragen des verdichteten Datenübertragungsblockes in Reaktion darauf, daß der identifizierte aktuelle Programmwarteschlangen- Zählwert kleiner oder gleich dem Programmwarteschlangen- Schwellwert ist.
11. Verfahren gemäß Anspruch 8, wobei die Prozessor-Programmwarteschlangen-Schwellwerte für alle Leitungsgeschwindigkeitswerten gleich sind.
12. Verfahren gemäß Anspruch 1, desweiteren umfassend die Schritte:
Identifizieren eines Zustandes einer Übertragungsleitung für die Datenübertragung;
Übertragen des Datenübertragungsblockes ohne Verdichtung des Datenübertragungsblockes in Reaktion auf einen identifizierten Ruhezustand der Übertragungsleitung.
13. Verfahren gemäß Anspruch 12, desweiteren umfassend die Schritte:
Identifizieren eines Datenübertragungs-Warteschlangenwertes und Identifizieren eines Übertragungsleitung-Geschwindigkeitswertes in Reaktion auf einen identifizierten Besetztzustand der Übertragungsleitung;
Speichern jedes einzelnen aus einer Vielzahl von Datenübertragungs-Warteschlangen-Schwellwerten zusammen mit einem entsprechenden Übertragungsleitung-Geschwindigkeitswert;
Vergleichen des identifizierten Datenübertragungs-Warteschlangenwertes mit dem gespeicherten Datenübertragungs- Warteschlangen-Schwellwert, der zusammen mit dem identifizierten Leitungsgeschwindigkeitswert gespeichert ist;
Übertragen des Datenübertragungsblockes ohne Verdichtung des Datenübertragungsblockes in Reaktion auf einen identifizierten Datenübertragungs-Warteschlangenwert, der kleiner als der identifizierte gespeicherte Datenübertragungs-Warteschlangen-Schwellwert ist; und
Verdichten und Übertragen des Datenübertragungsblockes in Reaktion auf einen identifizierten Datenübertragungs-Warteschlangenwert, der größer oder gleich dem identifizierten gespeicherten Datenübertragungs-Warteschlangen-Schwellwert ist.
14. Verfahren zur selektiven Verdichtung eines Datenübertragungsblockes zur Datenübertragung zwischen einem Computersystem, das einen Prozessor umfaßt, und mindestens einem anderen System, wobei das Verfahren die folgenden Schritte umfaßt:
periodisches Identifizieren eines Prozessorauslastungswertes für den Prozessor;
Identifizieren eines vorgegebenen Schwellwertes;
Vergleichen des identifizierten Prozessorauslastungswertes mit dem identifizierten vorgegebenen Schwellwert;
Verdichten des Datenübertragungsblockes unter Verwendung eines ersten Verdichtungsalgorithmus in Reaktion auf einen identifizierten Prozessorauslastungswert, der größer als der identifizierte vorgegebene Schwellwert ist; und
Verdichten des Datenübertragungsblockes unter Verwendung eines zweiten Verdichtungsalgorithmus in Reaktion auf einen identifizierten Prozessorauslastungswert, der kleiner oder gleich dem identifizierten vorgegebenen Schwellwert ist.
15. Verfahren gemäß Anspruch 14, wobei der erste Verdichtungsalgorithmus weniger Prozessorzeit benötigt, als für den zweiten Verdichtungsalgorithmus erforderlich ist.
16. Verfahren gemäß Anspruch 14, desweiteren umfassend die Schritte:
Identifizieren eines Zustandes einer Übertragungsleitung für die Datenübertragung;
Übertragen des Datenübertragungsblockes ohne Verdichtung des Datenübertragungsblockes in Reaktion auf einen identifizierten Ruhezustand der Übertragungsleitung.
17. Computersystem, das in der Lage ist, selektiv einen Datenübertragungsblock zur Datenübertragung zwischen dem Computersystem und mindestens einem anderen System zu verdichten, umfassend:
einen Prozessor;
Mittel zum periodischen Identifizieren eines Prozessorauslastungswertes für den Prozessor;
Mittel zum Identifizieren eines vorgegebenen Schwellwertes;
Mittel zum Vergleichen des identifizierten Prozessorauslastungswertes mit dem identifizierten vorgegebenen Schwellwert;
Mittel zum Übertragen des Datenübertragungsblockes ohne Verdichtung des Datenübertragungsblockes in Reaktion auf einen identifizierten Prozessorauslastungswert, der größer als der identifizierte vorgegebene Schwellwert ist; und
Mittel zum Verdichten und zum Übertragen des Datenübertragungsblockes in Reaktion auf einen identifizierten Prozessorauslastungswert, der kleiner oder gleich dem identifizierten vorgegebenen Schwellwert ist.
DE69115152T 1990-07-26 1991-06-18 Verfahren und Vorrichtung zur Verwendung von dynamischer Datenverdichtung. Expired - Fee Related DE69115152T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/558,021 US5276898A (en) 1990-07-26 1990-07-26 System for selectively compressing data frames based upon a current processor work load identifying whether the processor is too busy to perform the compression

Publications (2)

Publication Number Publication Date
DE69115152D1 DE69115152D1 (de) 1996-01-18
DE69115152T2 true DE69115152T2 (de) 1996-06-20

Family

ID=24227845

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69115152T Expired - Fee Related DE69115152T2 (de) 1990-07-26 1991-06-18 Verfahren und Vorrichtung zur Verwendung von dynamischer Datenverdichtung.

Country Status (4)

Country Link
US (1) US5276898A (de)
EP (1) EP0468910B1 (de)
JP (1) JPH0761086B2 (de)
DE (1) DE69115152T2 (de)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU679457B2 (en) * 1992-10-22 1997-07-03 Nec Corporation File compression processor
GB9224076D0 (en) * 1992-11-17 1993-01-06 Ibm Communication in a computer network
US5761438A (en) * 1993-08-31 1998-06-02 Canon Kabushiki Kaisha Apparatus for measuring the amount of traffic of a network at a predetermined timing and compressing data in the packet without changing the size of the packet
US5555377A (en) * 1993-12-20 1996-09-10 International Business Machines Corporation System for selectively compressing data transferred in network in response to produced first output when network utilization exceeds first threshold and data length over limit
JPH07205496A (ja) * 1994-01-14 1995-08-08 Oki Electric Ind Co Ltd ページプリンタ及びデータ圧縮方法
US5506872A (en) * 1994-04-26 1996-04-09 At&T Corp. Dynamic compression-rate selection arrangement
US5737638A (en) * 1995-07-14 1998-04-07 International Business Machines Corporation System for determining plurality of data transformations to be performed upon single set of data during single transfer by examining communication data structure
US6345314B1 (en) * 1995-10-27 2002-02-05 International Business Machines Corporation Technique to minimize data transfer between two computers
US5805827A (en) * 1996-03-04 1998-09-08 3Com Corporation Distributed signal processing for data channels maintaining channel bandwidth
US7543018B2 (en) * 1996-04-11 2009-06-02 Aol Llc, A Delaware Limited Liability Company Caching signatures
US6112250A (en) * 1996-04-11 2000-08-29 America Online, Inc. Recompression of files at an intermediate node in a network system
US5740409A (en) * 1996-07-01 1998-04-14 Sun Microsystems, Inc. Command processor for a three-dimensional graphics accelerator which includes geometry decompression capabilities
JP3898789B2 (ja) * 1996-12-05 2007-03-28 富士通株式会社 周期プロセス負荷制御システムおよび周期プロセス負荷制御方法
KR100377883B1 (ko) 1997-03-18 2003-03-29 마쯔시다덴기산교 가부시키가이샤 광학식 표시 장치
US6138164A (en) * 1997-11-14 2000-10-24 E-Parcel, Llc System for minimizing screen refresh time using selectable compression speeds
DE19757876C2 (de) * 1997-12-24 2002-06-20 Bosch Gmbh Robert Verfahren zur Ermittlung der Auslastung eines Rechengeräts
US6708220B1 (en) * 1998-11-19 2004-03-16 X/Net Associates, Inc. System and method for in-stream data compression
US6624761B2 (en) 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
US6583887B1 (en) * 1999-02-26 2003-06-24 Hewlett-Packard Development Company, L.P. Method and apparatus for data compression
US6601104B1 (en) 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
DE19916604A1 (de) * 1999-04-13 2000-10-26 Matthias Zahn Vorrichtung und Verfahren zur Bearbeitung von zeitlich aufeinanderfolgenden Datenpaketen
US9143546B2 (en) 2000-10-03 2015-09-22 Realtime Data Llc System and method for data feed acceleration and encryption
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
US7386046B2 (en) 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
US7126955B2 (en) 2003-01-29 2006-10-24 F5 Networks, Inc. Architecture for efficient utilization and optimum performance of a network
US20050234927A1 (en) * 2004-04-01 2005-10-20 Oracle International Corporation Efficient Transfer of Data Between a Database Server and a Database Client
US8353003B2 (en) * 2004-10-01 2013-01-08 Exelis Inc. System and method for controlling a flow of data a network interface controller to a host processor
US8159940B1 (en) 2004-11-11 2012-04-17 F5 Networks, Inc. Obtaining high availability using TCP proxy devices
US7783781B1 (en) 2005-08-05 2010-08-24 F5 Networks, Inc. Adaptive compression
US8275909B1 (en) * 2005-12-07 2012-09-25 F5 Networks, Inc. Adaptive compression
US20070150690A1 (en) * 2005-12-23 2007-06-28 International Business Machines Corporation Method and apparatus for increasing virtual storage capacity in on-demand storage systems
US7882084B1 (en) 2005-12-30 2011-02-01 F5 Networks, Inc. Compression of data transmitted over a network
US7996495B2 (en) 2006-04-06 2011-08-09 General Electric Company Adaptive selection of image streaming mode
US7681047B2 (en) * 2006-04-18 2010-03-16 International Business Machines Corporation Decryption of data in storage systems
US8417833B1 (en) 2006-11-29 2013-04-09 F5 Networks, Inc. Metacodec for optimizing network data compression based on comparison of write and read rates
US8775663B1 (en) * 2007-04-25 2014-07-08 Netapp, Inc. Data replication network traffic compression
US8805799B2 (en) * 2007-08-07 2014-08-12 International Business Machines Corporation Dynamic partial uncompression of a database table
US8645338B2 (en) 2010-10-28 2014-02-04 International Business Machines Corporation Active memory expansion and RDBMS meta data and tooling
CN103631873B (zh) * 2013-11-07 2017-12-12 华为技术有限公司 一种数据压缩方法及存储系统
JP2015161732A (ja) 2014-02-26 2015-09-07 矢崎総業株式会社 表示光投影用光学デバイス
JP2017004058A (ja) * 2015-06-04 2017-01-05 コニカミノルタ株式会社 データ提供装置、データ提供方法、およびコンピュータプログラム
US9733854B2 (en) * 2015-10-30 2017-08-15 Hewlett Packard Enterprise Development Lp Dynamic adaptive compression in network storage device
US10324635B1 (en) * 2016-03-22 2019-06-18 EMC IP Holding Company LLC Adaptive compression for data replication in a storage system
JP6524945B2 (ja) * 2016-03-25 2019-06-05 日本電気株式会社 制御装置、記憶装置、記憶制御方法およびコンピュータプログラム
US10565058B1 (en) 2016-03-30 2020-02-18 EMC IP Holding Company LLC Adaptive hash-based data replication in a storage system

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4386416A (en) * 1980-06-02 1983-05-31 Mostek Corporation Data compression, encryption, and in-line transmission system
US4574351A (en) * 1983-03-03 1986-03-04 International Business Machines Corporation Apparatus for compressing and buffering data
JPS59189751A (ja) * 1983-04-12 1984-10-27 Fujitsu Ltd デ−タ伝送制御方式
US4700234A (en) * 1983-08-30 1987-10-13 Canon Kabushiki Kaisha Image processing system
US4633490A (en) * 1984-03-15 1986-12-30 International Business Machines Corporation Symmetrical optimized adaptive data compression/transfer/decompression system
US4598411A (en) * 1984-07-17 1986-07-01 Allied Corporation On-the-fly data compression system
US4684923A (en) * 1984-09-17 1987-08-04 Nec Corporation Encoder with selective indication of compression encoding and decoder therefor
US4631598A (en) * 1984-10-15 1986-12-23 Burkhardt Norman S High speed, high resolution image processing system
JPS61198941A (ja) * 1985-02-28 1986-09-03 Fujitsu Ltd 転送速度可変形音声デ−タ多重方式
JP2713883B2 (ja) * 1986-02-07 1998-02-16 株式会社日立製作所 時分割交換機
US4663660A (en) * 1986-06-20 1987-05-05 Rca Corporation Compressed quantized image-data transmission technique suitable for use in teleconferencing
JPS6354859A (ja) * 1986-08-26 1988-03-09 Toshiba Corp 電子会議システムのデ−タ伝送方式
JPS63203057A (ja) * 1987-02-18 1988-08-22 Matsushita Electric Ind Co Ltd フアクシミリ複数回線送信装置
GB8708010D0 (en) * 1987-04-03 1987-05-07 Crosfield Electronics Ltd Image reprocessing
US4876541A (en) * 1987-10-15 1989-10-24 Data Compression Corporation Stem for dynamically compressing and decompressing electronic data
US4905171A (en) * 1987-11-09 1990-02-27 International Business Machines Corporation Workstation controller performance monitor
JPH02143762A (ja) * 1988-11-25 1990-06-01 Nec Corp イメージデータ転送方式
US5031089A (en) * 1988-12-30 1991-07-09 United States Of America As Represented By The Administrator, National Aeronautics And Space Administration Dynamic resource allocation scheme for distributed heterogeneous computer systems
JPH02298118A (ja) * 1989-05-11 1990-12-10 Nec Corp ファクシミリデータの圧縮装置

Also Published As

Publication number Publication date
JPH0669964A (ja) 1994-03-11
EP0468910B1 (de) 1995-12-06
DE69115152D1 (de) 1996-01-18
EP0468910A2 (de) 1992-01-29
EP0468910A3 (en) 1992-06-03
US5276898A (en) 1994-01-04
JPH0761086B2 (ja) 1995-06-28

Similar Documents

Publication Publication Date Title
DE69115152T2 (de) Verfahren und Vorrichtung zur Verwendung von dynamischer Datenverdichtung.
DE69837122T2 (de) Multifunktionales Druckersystem mit Warteschlangenverwaltung
DE69735866T2 (de) Vorrichtung und Verfahren zur Erzeugung von voraussagbaren Antworten
DE69912017T2 (de) Peripheriegerät und Steuerverfahren dafür
DE69521256T2 (de) Verfahren zur Verwaltung der Speicherzuweisung in einem Druckersystem
DE69129779T2 (de) Schalter zur gemeinsamen Benutzung eines Peripheriegeräts
DE69827747T2 (de) Druckersystem und Übertragungsvorrichtung um Druckersteuerungsprogramm zu übertragen
DE69020306T2 (de) Programmierbare logische Steuerungseinheiten.
DE69403951T2 (de) Verfahren und vorrichtung zur datenübertragung und -speicherung in einer hochparallelen rechnernetzwerkumgebung
DE112008000598B4 (de) Relaisschaltungseinheit für ein Fahrzeug
DE69803871T2 (de) Fernsteuersystem mit minimierung der bildschirm-aktualisierungszeit durch auswahl des kompressionsalgorithmus
DE69824769T2 (de) Druckvorrichtung
DE19700018B4 (de) Verfahren und Vorrichtung zur Verarbeitung von Übertragungsdaten
DE69324301T2 (de) Bildverarbeitungsvorrichtung und -verfahren
DE3201768A1 (de) Job-verarbeitungsverfahren
DE3103786A1 (de) Datenuebertragungssystem
DE19748009B4 (de) Sockelanbindungsverfahren in Kommunikationssystemen mit Sockelfunktion
DE69121064T2 (de) Verfahren und Anordnung zum Dekodieren und Drucken kodierter Bilder
DE69730399T2 (de) Schnittstellengerät zur Anpassung von Datenbreite an Systembusbreite
DE69527862T2 (de) Schaltung zur Zeitüberschreitungsverarbeitung und Empfänger mit dieser Schaltung
DE60027633T2 (de) Datenkommunikations-Gerät
DE10352395B4 (de) Speicherverwaltungsverfahren, Verfahren zum Speichern von Druckauftragsdaten sowie entsprechendes maschinenlesbares Medium und System
DE60217729T2 (de) Verfahren zum erkennen eines elektronischen geräts in einem mehrfachsteuersystem
DE19816895A1 (de) Druckerspeicher-Verstärkung
DE69219444T2 (de) Punktmatrixdrucker und Verfahren zum Speichern und zur Wiedergewinnung von Bit-Abbildungsdaten

Legal Events

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