Zusammenfassung

  • Der experimentelle RFC 1693 vom November 1994 untersuchte einen Transportdienst mit partieller Ordnung und partieller Zuverlässigkeit. In seinem konstruierten Beispiel mit vier Datenbankeinträgen waren je nach Abfrage eine, zwei, vier oder 24 Ergebnisfolgen zulässig.
  • Die IESG vermerkte gleich zu Beginn, dass sie die Umsetzung der vorgeschlagenen TCP-Modifikationen nicht empfahl. Die Untersuchung ungeordneter oder unvollständiger Daten hielt sie über TCP hinaus für nützlich.

Der Schalter ist besetzt, obwohl das Papier längst da ist

TCP liefert der Anwendung einen zuverlässigen, geordneten Bytestrom. So ist der Dienst im RFC 793 angelegt. Fehlt ein früheres Stück, bleibt ein später eingetroffenes Stück hinter der Lücke stehen. Wer eine Datei zusammensetzt, hat dafür gute Gründe. Wer mehrere voneinander unabhängige Suchergebnisse lesen will, trifft auf einen pflichtbewussten Sachbearbeiter: Das fertige Formular liegt auf dem Tisch, doch die davor gezogene Nummer ist noch nicht aufgerufen.

T. Connolly, P. Amer und P. Conrad machten den Unterschied mit vier erfundenen Datensätzen greifbar. Werden vier verschiedene Verkäufernamen sortiert, gibt es genau eine zulässige Folge. Haben bei der Sortierung nach Ort zwei Datensätze dieselbe Stadt, gibt es zwei. Teilen sich bei der Beschreibung jeweils zwei Einträge einen Wert, gibt es vier. Ohne ORDER BY sind alle 4!, also 24, Permutationen erlaubt. Die Zahlen zählen Anordnungen im Beispiel. Sie beschreiben keinen gemessenen Geschwindigkeitsgewinn und schon gar keinen 24-fach schnelleren Internetanschluss.

Eine partielle Ordnung hält nur die nötigen Vorher-nachher-Beziehungen fest. Manche Objekte brauchen Vorgänger; voneinander unabhängige dürfen ihre Plätze tauschen. Sender und Empfänger müssten diese Beziehungen mitteilen oder aushandeln. Auf der Empfängerseite müsste ein Verfahren bei jedem neu angekommenen Objekt prüfen, ob alle vorgeschriebenen Vorgänger bereits geliefert wurden. Das ist eine geordnete Ausgabe, nur eben mit mehr als einem erlaubten Weg durch die Schlange.

Zuverlässigkeit lässt sich davon getrennt betrachten. Eine Datenbankantwort kann schließlich jeden Datensatz benötigen, ohne auf einer einzigen Reihenfolge zu bestehen. Bei Multimedia kann die Ordnung innerhalb eines Kanals wichtig sein, während ein überholtes Bild verloren gehen darf. Der RFC führt Video, zwei Audiokanäle, Text, Gebärdensprachbilder und das Neuzeichnen von Fenstern an. Die Anwendung kennt den Wert eines Elements für spätere Elemente; ein allgemeiner Bytestromvertrag kennt ihn nicht automatisch.

Die Autoren untersuchten einen partiell geordneten Verbindungsmodus in verändertem TCP. Auch die Verbindung zu einem gewöhnlichen Gegenüber war eine Entwurfsfrage. Sie analysierten mögliche Vorteile, wenn ein freigegebenes unabhängiges Objekt nicht länger auf eine fremde Lücke warten müsste. Das war ein Vorschlag samt Analyse, keine Einführung eines neuen TCP-Dienstes. Die Permutationszahlen des Datenbankbeispiels ersetzen keine Messung realer Latenz.

Die institutionelle Antwort stand auf der ersten Seite. Transport Area Director und Transport Directorate rieten von der Implementierung der TCP-Änderungen ab. Die Arbeit über die Behandlung ungeordneter und unvollständiger Daten fanden sie dennoch außerhalb von TCP wertvoll. In dieser Doppelentscheidung liegt die Pointe: Ein Forschungspapier kann die richtige Frage stellen, obwohl sein vorgeschlagenes Bauteil keinen Platz im Protokoll erhält. Der zweite Datensatz ist angekommen. Wer ihn warten lässt, ist eine Frage des vereinbarten Dienstes.