The invention provides quality-of-service (QoS) delivery services over a
computer bus having isochronous data transfer capabilities. A
transmitting node on the bus transmits a message to an intended recipient
indicating a requested bandwidth for a connection. If the intended
recipient has sufficient resources, it allocates an isochronous data
channel on the bus and notifies the transmitter of the allocated channel.
Thereafter, the transmitter transmits the data on the allocated channel.
If the recipient cannot allocate a channel, it does not respond, and the
transmitter thereafter detects a time-out condition and begins
transmitting using a "best efforts" scheme (i.e., non-guaranteed time
delivery). In a second variation, a receiving node detects that it is
receiving large quantities of data from a transmitting node. In response,
the receiving node allocates an isochronous data channel on the bus and
notifies the transmitter of the allocated channel. Thereafter, the
transmitter transmits using the allocated isochronous channel. In a third
variation, multiple receiving nodes that need to receive streaming data
from a single transmitting node share a common isochronous data channel.
In any of these variations, each receiver can periodically transmit a
"deadman" timer message on a broadcast channel to indicate that it is
still receiving on a given channel. If a transmitter detects that the
deadman timer has expired, it reverts to transmitting data using a
"best-efforts" scheme. A transmitter can transmit both to receivers that
can handle QoS services and those that cannot explicitly support QoS
services.
L'invention fournit des services de livraison de quality-of-service (QoS) au-dessus d'un autobus d'ordinateur ayant les capacités de transfert isochroniques de données. Un noeud de transmission sur l'autobus communique un message à un destinataire prévu indiquant une largeur de bande demandée pour un raccordement. Si le destinataire prévu a les ressources suffisantes, il assigne un canal isochronique de données sur l'autobus et informe l'émetteur du canal assigné. Ensuite, l'émetteur transmet les données sur le canal assigné. Si le destinataire ne peut pas assigner un canal, il ne répond pas, et l'émetteur ensuite détecte un état d'arrêt et commence à transmettre en utilisant un arrangement des "meilleurs efforts" (c.-à-d., la livraison non-garantie de temps). Dans une deuxième variation, un noeud de réception détecte qu'il reçoit de grandes quantités de données d'un noeud de transmission. Dans la réponse, le noeud de réception assigne un canal isochronique de données sur l'autobus et informe l'émetteur du canal assigné. Ensuite, l'émetteur transmet à l'aide du canal isochronique assigné. Dans une troisième variation, le multiple recevant les noeuds qui doivent recevoir des données coulantes d'un noeud de transmission simple partagent un canal isochronique commun de données. Dans n'importe laquelle de ces variations, chaque récepteur peut périodiquement transmettre un message "deadman" de temporisateur sur un canal d'émission pour indiquer qu'il reçoit toujours sur un canal donné. Si un émetteur détecte que le temporisateur deadman a expiré, il retourne aux données de transmission en utilisant un arrangement d'"meilleur-efforts". Un émetteur peut transmettre tous les deux aux récepteurs qui peuvent manipuler des services de QoS et à ceux qui ne peuvent pas explicitement soutenir des services de QoS.