PRMP : a scaleable polling-based reliable multicast protocol
Traditional reliable unicast protocols (e.g., TCP), known as sender-initiated schemes, do not scale well for one-to-many reliable multicast due mainly to implosion losses caused by excessive rate of feedback packets arriving from receivers. So, recent multicast protocols have been devised following the receiver- initiated approach: scalability (in terms of control traffic, protocol state and end-systems processing requirements) is achieved by making the sender independent from receivers; the sender does not know the membership of the destination group. However, this comes with a cost: the lack of knowledge about and control of receivers at the sender has negative implications with respect to throughput, network cost (bandwidth required), and degree of reliability offered to applications. This thesis follows an alternative approach: instead of adopting the receiver-initiated scheme, it greatly enhances the scalability of the sender-initiated scheme, by means of polling-based feedback and hierarchy. The resulting protocol is named PRMP: polling-based Reliable Multicast protocol. Its unique implosion avoidance mechanism polls receivers at carefully planned timing instants achieving a low and uniformly distributed rate of feedback packets. The sender retains controls of receivers: the main PRMP mechanisms are based on a one-to-many sliding window mechanism, which efficiently and elegantly extends the abstraction from reliable unicasting to reliable multicasting. The error control mechanism of PRMP incorporates the use of NACKs and selective, cumulative acknowledgment of packets; additionally, it can wait and judiciously decide between multicast and selective unicast retransmissions. The flow control mechanism prevents unnecessary losses caused by the overrunning of receivers, despite variations in round-trip times and application speeds. The scalability provided by the polling mechanism is further extended by an hierarchic organization to exploit distributed processing and local recovery: receivers are organized according to a tree-structure. However, unlike other tree-based protocols, PRMP is "fully-hierarchic": each parent node forwards data via multicast to its children, and retains/explores the control of and knowledge about its children while autonomously applying error, flow, congestion and session controls in the communication with them. Two congestion control mechanisms, one window-based and another rate-based, have been incorporated to PRMP. As shown through simulation experiments, the resulting protocol q,chieves high though put with cost- effective reliable multicasting. They also show the scalability and effectiveness of PRMP mechanisms. PRMP can achieve reliable multicast with the same kind of reliability guarantees provided by TCP but without incurring prohibitive costs in terms of network cost or recovery latency found in other protocols.