Research


Cloud-Edge-IoT Integration

하드웨어 기술의 발전에 따라 IoT 장치는 점점 더 복잡하고 어려운 작업을 수행할 수 있는 계산 자원을 가지게 되었지만, IoT 장치가 수행하는 작업들은 장치가 가진 높은 하드웨어 성능을 항상 그리고 완전히 사용하지는 못하고 있어 장치 내 자원의 낭비가 발생하고 있다.

만약 여러 IoT 장치들의 그러한 여유 자원을 모아 하나의 자원 풀(resource pool)로 구성하여 다른 용도로 사용할 수 있게 한다면, 자원활용의 효율성을 크게 향상시킬 수 있다.

소프트웨어플랫폼 연구실에서는 최근 5G 네트웍의 보급에 따라 각광받고 있는 Edge Computing에서 IoT 장치들의 여유 자원을 활용하기 위한 IoT-Edge-Cloud 간 task scheduling, code parsing and compilation, offloading and remote execution에 대한 활발한 연구가 진행되고 있다.

IoT Data Management

여러 IoT 장치들이 생성하는 데이터는 실시간으로 서버로 전송되어 Key-Value 형태로 관리된다. 그러나 일반적으로 사용되는 Key-Value Store (예: LevelDB, RocksDB) 들은 빠른 속도로 실시간 생성되는 대용량 IoT 데이터를 전송받아 관리할 수 있도록 최적화되어 있지 않다.

소프트웨어플랫폼 연구실에서는 이러한 IoT 데이터 관리를 위해, DBMS 및 File system이 IoT 데이터의 생성 및 활용 특성을 충분히 고려하여 최적화 될 수 있도록 하는 새로운 기술을 연구한다. 실시간으로 빠르게 들어오는 많은 양의 IoT 데이터를 효율적으로 저장하고, 읽고, 쓰면서 이를 활용한 여러 응용프로그램들이 더 빠르게 동작할 수 있게 하고, 이를 통해 서비스 선택의 폭을 넓히는 것을 목적으로 한다. 이 분야는 시스템에 관한 이해와 코드 분석에 관심이 많은 학생들이 흥미를 느낄 수 있는 연구분야이다.

Mobile Collaboration

하나의 스마트 기기에서 생성되는 하드웨어(Sensor, GPS, Touch 등) 데이터는 오직 그 기기에서 동작하는 App만 사용할 수 있다. 그러나 만약 그 데이터를 다른 스마트 기기에서 실시간으로 사용할 수 있다면, 여러 사용자가 자신의 스마트 기기를 통해 협업을 하거나 멀티유저 응용프로그램을 함께 즐길 수 있게된다. 오른쪽 그림은 모바일 기기의 모션센서 값을 스마트 TV로 실시간 전송하여 스마트 TV에서 실행되고 있는 테니스 프로그램의 라켓 인풋값으로 사용하도록 함으로써, 복수의 사용자가 별도의 장치 없이 각자의 스마트 폰으로 TV의 테니스 프로그램을 함께 즐기는 모습을 나타낸다.

소프트웨어플랫폼 연구실에서 개발한 CollaboRoid는 하드웨어 데이터를 실시간으로 다른 기기와 공유하는 기능을 Mobile Platform에서 제공하도록 발전시킨 Android 이다.

이 기능을 발전시키면 다음 그림과 같은 일이 가능해진다. TexasHoldem 카드 게임이 중앙의 pad에서 동작하고 있고, 다른 기기에는 각자의 카드가 보이고 있다. 주변 기기들에는 이 앱이 설치되어 있지 않고, 대신 카드를 보여주고 선택을 할수 있게 하는 인터페이스를 가지는 코드가 pad로부터 실시간으로 전송되어 주변 스마트 기기들에서 실행되고 있다.

소프트웨어플랫폼 연구실에서 개발한 SAMD(Single App. Multiple Device) 기술은 실행중인 앱의 일부 코드(activity)가 다른 기기로 전송되어 동적으로 실행될 수 있게하는 모바일 플랫폼 기술이다. 이 기술을 이용하면 이 그림과 같이 재미있는 앱을 만들 수 있을 뿐만 아니라, 큰 작업을 여러 스마트 기기가 협업을 통해 처리하는 것도 가능해진다.