A methodology is provided for fault detection and service restoration in a
multiservice switch on a per flow basis. An ingress source transmits the
same data over each of two redundant cores. An egress receiver selects on
a per flow bass which core to utilize. Bi-directional flows are not
necessarily grouped together. The basic approach to fault detection is to
assume that the two cores are not in lock step, but that the shelves are
continually monitoring link flows for control path data as well as user
data. The path monitoring is accomplished using a combination of arbiter
and aggregator functions found in the service shelves and core interface
cards, respectively. The arbiter transmits link test cells to both cores
on a per flow basis, wherein the link test cells traverse and are
monitored by respective aggregators to and from each core. When an egress
arbiter determines that a flow is bad, it initiates a switch to the
alternative source core, from which the flow would continue.