IP Multicast is an IETF standard network protocol designed for one-to-many communication. IP Multicast allows a single copy of data to reach all intended destinations, instead of a separate copy to each intended destination. Since the sender needs not to handle feedback from all of the recipients all of the time, IP Multicast reduces the load on the sending machine and scales to a much larger number of recipients. Even though several reliable multicast protocols have been proposed, most of the solutions are designed for specific applications. A protocol that supports the requirements of one application may not fit the requirements of another, since different multicast applications require many different levels of reliability and ordering guarantees in the face of transient network failures such as dropped packets.
In this thesis, we propose a Proxy-based Reliable Multicast Transport Protocol(PRMTP) for diverse applications that run over the Internet. PRMTP provides reliable, rate-controlled delivery of not only bulk data(Type I) but also real-time data(Type II) from a sender to a group of receivers. To avoid the ACK-implosion problem, PRMTP constructs a hierarchical session tree using proxy servers and receivers. When receivers join or leave a multicast group, the session tree is dynamically reconfigured. Each node of the session tree is only responsible for handling the errors that arise in its immediate children. PRMTP's hierarchical structure not only reduces the end-to-end delay because the retransmission requests need not propagate all the way back to the original sender, but also allows error recovery to proceed independently and concurrently in different portions of the network. To prevent NACK-implosion on the sub tree, we introduce NACK staggering which enable each receiver to spread out the start time of NACK request.
Application Sharing enables users to share a program running on one computer with other people in a group work such as desktop conferencing. To show applicability of PRMTP for real-time application, we develop an application sharing system for heterogeneous window system, called ShareIt. According to use the window capture method, there is no need to protocol translation between different window systems and no further change due to the version changing of the window systems.
IP-Multicast는 그룹통신을 위한 IETF 표준 네트웍 프로토콜이다. IP-Multicast를 사용하여 동일한 데이타를 여러 목적지에 보내는 경우에 각 목적지에 여러개의 복사본을 보내는 것이 아니라 한 번만 전송하면 된다. IP-Multicast를 사용하면 전송자가 모든 수신자의 상태를 관리하지 않아도 되기 때문에 전송시스템의 로드를 줄일 수 있고, 보다 많은 수신자에게 전송이 가능하다. 현재 많은 신뢰성있는 멀티케스트 프로토콜이 제안되어 있지만, 대부분 특정 응용분야를 대상으로 하고 있다. 서로 다른 멀티케스트 응용프로그램은 서로 다른 신뢰성정도와 패킷의 순서 등을 요구하기 때문에 한 응용분야를 대상으로 하는 프로토콜은 다른 응용분야에는 적합하지 않다.
본 논문에서는 다양한 인터넷 응용프로그램을 위한 프락시기반의 신뢰성있는 멀티케스트 프로토콜인 PRMTP를 제안한다. PRMTP는 다수의 수신자에게 벌크한 데이타와 실시간 데이타를 신뢰성있게 전달한다. ACK 증가를 방지하기 위하여 PRMTP에서는 프락시 서버들과 수신자들로 구성된 계층적인 세션트리를 구성한다. 수신자가 멀티케스트 그룹을 참여/탈퇴함에따라 세션트리는 동적으로 구성된다. 세션트리에 있는 각 노드는 자식노드에서 발생한 에러 처리에 대한 책임을 진다. PRMTP의 계층적인 구조는 종단 지연시간을 감소시킬 쁜 아니라, 전 네트웍에 걸쳐서 독립적이고, 동시적으로 에러 복구가 가능하게 한다. NACK을 요구하는 시기를 분산시키는 NACK 분산기법을 도입하여 서브노드상에서의 NACK 증가를 방지하였다.
응용프로그램 공유는 개인작업시에 사용하는 임의의 응용프로그램을 화상회의와 같은 공동작업시에 수정없이 사용하는 것이다. PRMTP의 실시간 응용으로 서로다른 윈도우 시스템상에서 응용프로그램 공유를 지원하는 ShareIt을 개발한다. 원도우 갈무리 방식을 사용하기 때문에 서로 다른 윈도우 시스템간에 프로토콜 변환없이 응용프로그램 공유가 가능하며, 향후 윈도우 시스템의 버젼 변화에 상관없이 사용이 가능하다.