An application layer protocol supports reliable and non-reliable message
transfer between a local and remote computer on a shared communications
link. The application layer protocol uses a non-reliable transport layer
protocol to implement both reliable and non-reliable channels over the
shared link. When application programs want to send reliable data
messages, they designate the data as such, and the application layer
protocol sends the data in reliable messages with a request for
acknowledgement. When application programs want to send non-critical data,
they designate the data as such, and the application layer protocol sends
the data in non-reliable messages that are not re-sent when dropped.
Though it does not ensure delivery of non-reliable messages, the
application layer selectively uses a request for acknowledge for
non-reliable messages to gather operational data about the link. The
protocol uses requests for acknowledgement for the dual purpose of
ensuring reliable delivery for reliable messages and maintaining
operational characteristics used to tune the link. In particular, the
protocol uses the operational characteristics to detect link saturation,
to calculate outbound bandwidth, to calculate a wait time for clearing
backlogged messages and for adjusting the send rate based on the
calculated bandwidth. This scheme enables the protocol to adapt the send
rate based on varying link conditions.
Appuis d'un protocole de couche application fiables et transfert non-fiable de message entre un ordinateur local et à distance sur une liaison partagée. Le protocole de couche application emploie un protocole non-fiable de couche transport pour mettre en application l'excédent fiable et non-fiable de canaux le lien partagé. Quand les programmes d'application veulent envoyer les messages de données fiables, ils indiquent les données en tant que telles, et le protocole de couche application envoie les données dans les messages fiables avec une demande de la reconnaissance. Quand les programmes d'application veulent envoyer des données non critiques, ils indiquent les données en tant que telles, et le protocole de couche application envoie les données dans les messages non-fiables qui ne sont pas renvoyés une fois laissés tomber. Bien qu'il n'assure pas la livraison des messages non-fiables, la couche application emploie sélectivement une demande pour reconnaissent pour que les messages non-fiables recueillent des données opérationnelles au sujet du lien. Les demandes d'utilisations de protocole de la reconnaissance pour l'à deux fins d'assurer la livraison fiable pour les messages fiables et de maintenir des caractéristiques opérationnelles accordaient le lien. En particulier, le protocole emploie les caractéristiques opérationnelles pour détecter la saturation de lien, pour calculer la largeur de bande en partance, pour calculer un temps d'attente pour les messages en attente d'exécution de dégagement et pour ajuster le taux d'envoi basé sur la largeur de bande calculée. Cet arrangement permet au protocole d'adapter le taux d'envoi basé sur des états variables de lien.