Research Article

Temporary Redundant Transmission Mechanism for SCTP Multihomed Hosts

Algorithm 1

MSACMT-RTv2.
Pseudo-code:
BEGIN:
# Acquire the value of rtt/RTO, cwnd, ssthresh, loss-rate on each path
 () FOR (i = 0; < total number of paths; ++)
     Path[i] = get value (rtt/RTO, cwnd, ssthresh, lossrate)
 () END-FOR
# Paths are sorted from (1), according to rule, path having smallest rtt/RTO; if both path have a
# similar value successive parameters are chosen for determination. Parameters in succession
# are (largest cwnd, largest ssthresh, low loss-rate)
 () sort Path to Path[n]
# Assign path as redundant path (RP) for path
 () RP=Path n;
# Start/Resume transmitting TPDUs (allowed by cwnd of that path)
 () do
     {
     SEND TPDUs into Path[i]
     } while (i < n − 1); SEND TPDUs [Path ] =TPDU [Path n − 1]
# Check for transmissions successful in all Paths
 () Paths Tx (Success)? goto (7): goto (1)
# Count the consecutive successful transmission in Redundant Path (CSTRP) in Path and
# Path
 () Is Count [CSTRP (Path && Path (n − 1)] ≤10)? goto (5): goto (8)
 () Perform steps (1 to 3) and goto (9)
 () do
     {
     SEND TPDUs into Path[i]
     } while (i < n);
# Check for transmissions successful in all Paths
 () Paths Tx (Success)? goto (11): goto (1)
# Count the consecutive successful transmission in all paths (CSTAP)
 () Is Count [CSTAP (Path , …, ) ≤10)? goto (9): goto (8)
END