Hadžić, IlijaMarcus, William SSmith, Jonathan M2023-05-222023-05-2219992006-10-31https://repository.upenn.edu/handle/20.500.14332/7898Adaptive protocols are protocols which automatically adjust their behavior to runtime phenomena such as traffic or link characteristics. For such protocols, the behavioral adjustment is accomplished with some mechanism; the decision as to how much (if any) adjustment is needed is made under control of a policy. Design and implementation of policies has often proven more challenging than that of mechanisms. We make three contributions in this paper. First, we develop a rule of thumb for policy/ mechanism separation and lay out a general set of challenges in policy module design. Second, as an illustration, we have analyzed a Forward-Error Correcting Code (FEC) for ATM supporting TCP/IP, and analytically identified a small robust set of "tunable parameters" to delineate regions where the code should be applied. Third, we exploited the analytic results and policy/mechanism separation to implement an adaptive protocol for network errors using programmable hardware to obtain high performance. Measurements of TCP/IP traffic over a 155 Mbps ATM link augmented with two cooperating Programmable Protocol Processing Pipelines were made with ttcp. The new policy module improves through-put by up to 50% over an unaugmented TCP/IP in the face of increasing bit errors rates, and continue operation into a range of bit error rates where an unmodified TCP practically ceases to function.Policy and Mechanism in Adaptive ProtocolsReport