연구 소식

FLUID: 다중 기기 활용을 위한 UI 단위의 모바일 앱 분산 기술
작성일2020-04-27 03:17:07

FLUID: 다중 기기 활용을 위한 UI 단위의 모바일 앱 분산 기술

 

최근 5G 초고속 통신 시대 개막에 맞춰 모바일 및 IoT 생태계의 경향은 듀얼 스크린 폰·폴더블 폰 등 새로운 디스플레이 형태의 등장과 스마트 워치·스마트 TV·스마트 자동차 등 다양한 스마트 기기의 등장이라고 할 수 있다. 그러나 현재의 모바일 애플리케이션 생태계는 하나의 기기에 하나의 스크린만을 사용하는 단일 기기 모델에 갇혀 있어, 새로운 패러다임인 다중 기기 사용에 대한 잠재성이 제한되는 실정이다.

 

그림 1. 방송 스트리밍 앱 사용 예제          

이러한 고정 관념과 기술적 한계를 극복하기 위해, 우리 학과 신인식 교수 연구팀은 유연한 방식의 다중 기기 컴퓨팅을 지원하는 모바일 플랫폼인 FLUID를 개발했다. FLUID는 사용자 편리성과 범용성을 최대화하기 위해, 모바일 앱의 UI 요소들을 사용자가 원하는 대로 여러 기기에 배치할 수 있으며, 시판 중인 기존 앱을 수정하거나 재개발하지 않고도 다중 기기 활용이 가능하다. 이는 사용자에게 다양하고 편리한 사용자 경험(UX)을 제공해 줄 수 있다. 예컨대, 그림 1과 같이 아프리카TV나 트위치 등 라이브 방송 스트리밍 앱을 이용할 때 키보드 채팅창이 방송 화면창을 가려 불편한 경우가 많다. 하지만 만약 방송 스트리밍 앱을 수정하지 않고도 방송 화면창과 키보드 채팅창을 각각 다른 기기로 분리하여 띄울 수 있다면, 사용자는 자유롭게 채팅하면서 동시에 방송 화면을 가리지 않은 채 시청하는 것이 가능하다.

 

 

그림 2. FLUID 시스템 디자인 개요

이러한 다중 기기 활용 방식을 지원하기 위해 연구팀은 단일 기기로 제한돼 있던 앱 UI의 실행 환경을 다중 기기 환경으로 확장하여 단일 기기 가상화에 성공했다. 그림 2에서 보여주듯이, FLUID는 먼저 단일 앱에서 사용자가 선택한 UI 객체를 외부 기기로 migration 시키는 작업을 수행한다. 이때, 네트워크 사용량을 최소화하기 위해 UI 객체의 렌더링에 필요한 그래픽 데이터만을 파악하여 외부 기기로 옮기는 방식으로 UI 객체들이 migration 된다. 이후, FLUID는 여러 기기의 화면으로 분산된 UI 객체들이 단일 앱 내에 존재하는 것처럼 동작하도록 만들어 주기 위해, 분산된 UI 객체들과 호스트 기기의 앱 로직 간에 상호작용이 유지되도록 가상화를 제공한다. 이러한 상호작용은 로컬 함수 호출 형태로 이루어지기 때문에, FLUID는 로컬 함수 호출을 기기 간 원격 함수 호출(RPC)로 transparent 하게 변환시킴으로써, UI 객체와의 상호작용이 기기 너머로 이루어지도록 만든다. 연구팀은 FLUID 프로토타입을 구현하여 20여 개의 기존 앱에 새로운 UX를 성공적으로 제공하는 것을 확인하였다.

 

그림 3. FLUID 관련 뉴스 송출 캡쳐본

이러한 연구 결과는 ACM MobiCom 2019에서 발표되었으며, 그 우수성을 인정받아 한국 주관기관으로 최초로 Best paper award를 수상하였다. 자세한 내용은 링크(http://cps.kaist.ac.kr/papers/mobicom19-fluid.pdf)를 통해 확인할 수 있다.

 

그림 4. ACM MobiCom Best Paper Award 수상

 

Demonstration Videos : https://youtu.be/uyoOW6Pmunw