A system and method are provided for performing error correction for all or
part of an electronic communication, such as a routing header of a packet.
At a transmitting entity the routing information contained in the header
is divided into a plurality of segments. Multiple iterations of the
routing segments are included in the packet, with the routing segments
arranged in different sequences in different iterations. Thus, when
transmitted across a communication link comprising multiple lines, each
routing segment is carried across at least two different subsets of the
lines, thus increasing the likelihood that at least one version of the
segment will be received without error. Each segment of each iteration may
be encoded with error detection information. For example, a parity bit may
be added to each segment. At the receiving entity each iteration is
received in turn, and each segment of the received iteration is checked
for errors. When a segment is received without errors, it can be forwarded
(e.g., for higher level processing) without waiting for the versions of
the same segment to come in later iterations. Conversely, if an error is
detected in a segment, a later version of the segment may be used. Thus,
by the time the final iteration of routing segments is received, it may
already be resolved or known whether they need to be examined. The error
correction system is capable of detecting and correcting single bit
errors, some instances of multiple bit errors, and broken lines as well.
Un système et une méthode sont donnés pour exécuter la correction d'erreurs pour l'ensemble ou une partie d'une communication électronique, telle qu'un en-tête de cheminement d'un paquet. À une entité de transmission l'information de cheminement contenue dans l'en-tête est divisée en pluralité de segments. Des itérations multiples des segments de cheminement sont incluses dans le paquet, avec les segments de cheminement disposés dans différents ordres dans différentes itérations. Ainsi, une fois transmis à travers une liaison comportant les lignes multiples, chaque segment de cheminement est porté à travers au moins deux sous-ensembles différents des lignes, de ce fait augmentant la probabilité qu'au moins une version du segment sera reçue sans erreur. Chaque segment de chaque itération peut être codé avec l'information de détection des erreurs. Par exemple, un bit de parité peut être ajouté à chaque segment. À l'entité de réception chaque itération est reçue alternativement, et chaque segment de l'itération reçue est examiné pour déceler les erreurs. Quand un segment est reçu sans erreurs, il peut être expédié (par exemple, pour un niveau plus élevé traitant) sans attendre les versions du même segment pour venir dans des itérations postérieures. Réciproquement, si une erreur est détectée dans un segment, une version postérieure du segment peut être employée. Ainsi, avant que l'itération finale des segments de cheminement soit reçue, il peut déjà être résolu ou connaître s'ils doivent être examinés. Le système de correction d'erreurs est capable de détecter et de corriger des erreurs de bit simples, quelques exemples des erreurs de bit multiples, et des lignes cassées aussi bien.