Design and Implementation of Network Fault-Tolerant Application Software Streaming

네트워크 고장감내 소프트웨어 스트리밍 기술의 설계 및 구현

  • 심정민 (한국전자통신연구원 온디맨드서비스연구팀) ;
  • 김원영 (한국전자통신연구원 온디맨드서비스연구팀) ;
  • 최완 (한국전자통신연구원 온디맨드서비스연구팀)
  • Published : 2006.10.28

Abstract

Application software streaming is a virtualization technology that enables users to use applications without installation on her/his computer. With application streaming service, a client immediately starts and uses the application as if it were installed. The application can be executed while executable codes for the application may still be streamed. Since the software streaming is based on networks, its service is affected by network failures. Network failures may cause the streamed application to stop, and to make it worse, also the system may crash because executable codes for the application can't be streamed from the streaming server. Using the Pareto principle (80 vs. 20 rule), users can be served continuously with the minimum functions that are frequently used, pre-fetched and cached if we provide a more intelligent and fault-tolerant streaming technique. This paper proposes the concept and technique named Evergreen. Using the Evergreen technique, users can continue using the streamed application while a network failure occurs, although user can access only the streamed code. We also discuss the implementation of Evergreen technique in details.

소프트웨어 스트리밍은 사용자가 자신의 컴퓨터에 설치되어 있지 않고 서버에 있는 응용 프로그램을 스트리밍 받아 바로 사용할 수 있게 하는 가상화 기술이다. 이 기술을 이용하면 사용자는 응용 프로그램이 마치 로컬 컴퓨터에 설치된 것처럼 바로 사용할 수 있으며, 별도의 다운로드나 설치 과정을 요구하지 않는다. 소프트웨어 스트리밍은 네트워크를 기반으로 하기 때문에 제공되는 서비스는 네트워크 성능 및 상태에 영향을 받는다. 특히, 네트워크 고장이 발생하면 스트리밍이 더 이상 불가능하기 때문에 스트리밍 중인 응용 프로그램이 고장나거나 심한 경우 시스템 전체가 고장나게 된다. 파레토의 원리(Pareto Principle)에 의하면, 대부분의 사용자들은 자주 사용하는 몇 가지 기능을 주로 사용한다. 이러한 원리에 따라 네트워크 고장 감지와 지능적인 스트리밍 기술을 제공한다면, 네트워크 고장이 발생하더라도 사용자들은 이미 스트리밍된 응용 프로그램의 기능을 중단 없이 사용할 수 있을 것이다. 본 논문에서는 네트워크 고장이 발생하더라도 로컬 컴퓨터에 스트리밍된 기능을 사용자들이 지속적으로 사용 할 수 있게 하는 네트워크 고장감내 소프트웨어 스트리밍(에버그린)의 개념 및 기술을 제안한다. 또한, 에버그린 기술의 구현에 대한 자세한 내용에 대해 논의한다.

Keywords