‘작은 서버’는 캡스톤디자인 수업의 결과물로 만들어진 어플리케이션으로, 인터넷이 연결되지 않은 상황에서도 주변 기기와의 신호를 통해 작은 네트워크를 구축할 수 있다. 네트워크 구축의 새로운 방식을 제안하며 캡스톤 디자인 경진대회와 4차 산업혁명 페스티벌에도 선보인 ‘작은 서버’에 대해 알아보자.
‘작은 서버’ 앱은 이름 그대로 사용자 간에 작은 서버를 구축하는 것이다. 작은 서버의 큰 특징은 와이파이나 셀룰러 데이터 서비스가 전혀 안 되는 곳에서도 사용 가능하다는 점이다. 작은 서버 앱의 사용자는 자신이 만든 콘텐츠를 다른 사람과 공유하고 싶은 개발자, 그리고 해당 콘텐츠를 내려 받고 싶은 사용자로 나뉜다. 두 사용자의 기기는 AP(Access Point)를 통해 서버가 형성된다. 조경문 학생(컴퓨터공학과 13)은 쉽게 “데이터를 공유하는 핫스팟을 생각하면 된다”고 전했다.
“처음에는 완성한 서비스를 드론에 탑재해 재난 상황 때 구조에 쓰일 수 있도록 기획했어요. 하지만 아직 그 단계까진 못해서 앞으로 그 방향으로 발전하면 좋지 않을까 기획하고 있어요.”
‘작은 서버’ 기술적 특징
스마트폰은 핫스팟을 켜면 AP모드가 형성된다. AP는 Access Point의 약자로 일종의 허브 기능을 한다. 와이파이나 셀룰러 데이터를 연결하지 않은 상태에서 ‘작은 서버’에 들어가면 주소 값이 사용자에게 제공된다. 이후 사용자는 브라우저에 주소 값을 입력해 서버망을 구축할 수 있다. 서버를 사용하고자 하는 기기는 메인 서버와 연결된 앱 내 마켓에서 서비스 콘텐츠를 선택해 다운로드받을 수 있다.
작은 서버 콘텐츠 중 하나인 채팅을 예로 들면 채팅 기능을 구현하는 코드와 서버로서 동작하게 하는 코드로 나눈다. 콘텐츠 매니저를 통해 이 콘텐츠를 업로드 할 수 있고 서버 매니저를 통해 서버를 오픈할 수 있다. 기기의 AP모드를 통해 연결할 수 있는 것은 연결 매니저로 대응시켰다. 연결 매니저는 AP모드와 WIFI Direct(와이파이가 연결되지 않았지만, 켜둔 상태)를 이용했다. 이렇게 계층별로 역할을 나눠 각 계층의 기능을 심층적으로 구현했다. 콘텐츠 매니저의 서버화 모듈과 서버 매니저는 자바스크립트를 기반으로 둔 Node.js(네트워크 구축을 위한 소프트웨어 플랫폼)을 이용해 구현했다. 모바일 어플리케이션은 안드로이드를 기반으로 개발했다.
작은 서버는 인터넷 연결이 어려운 오지나 재난 현장에서 구조 요청을 할 수 있는 채팅 서버 역할을 할 수 있다. 또한, 인터넷을 꺼야 하는 비행기 안에서도 간단한 콘텐츠를 공유하는 네트워크 형성이 가능하다. 학교나 회사 등 조직에서 임시적인 서버가 필요할 때도 간편하게 앱을 다운받아 사용할 수 있다. 송민석 학생(소프트웨어학부 12)은 “앱 내에 마켓이 있는데요. 그곳에서 받고 싶은 콘텐츠 서버를 선택해 다운받기도 하고, 자신이 만든 서버를 업로드할 수 있는 서버 콘텐츠 플랫폼이라 보시면 됩니다”라며 앱에 대한 설명을 덧붙였다.
작은 서버에 대한 아이디어는 캡스톤디자인 수업을 담당했던 소프트웨어학부 이민석 교수님의 제안에서 시작됐다. 팀원들은 매주 화요일 아침마다 이민석 교수님과의 회의를 통해 진행상황을 공유하며 작은 서버를 발전시켜나갔다.
팀원들은 “물론 생각처럼 구현되지 않았던 순간이 많아 힘들었지만, 팀웍이 좋아 함께 하는 동안 즐거웠다”고 입을 모았다. 송민석 학생은 “캡스톤 디자인 경진대회에 참가하는 것만으로 배운 것이 많은 프로젝트였다”며 소감을 전했다.
“마음대로 결과물이 바로 안 나와서 좌절하는 순간도 많았어요. 하지만 팀원들과 함께 결국 무엇인가 만들었고, 많은 사람들에게 선보였다는 것에 큰 보람을 느낄 수 있었습니다.”
작은 서버는 교내에서 진행하는 4차 산업혁명 페스티벌에 참가했다. 조경문 학생은 “여러 다양한 학생들이 방문해 작은 서버에 대해 궁금한 점을 묻고 대답하는 그 시간이 참 재미있었다”며 페스티벌 참여 소감을 밝히기도 했다.
작은 서버 팀원들은 현재 앱 개발, 콘텐츠 회사 등에서 인턴십 과정을 거치고 있다. 다양한 경험을 기반으로 새로운 아이디어를 고안하는 중이다. 작은 서버 이외에 또 어떠한 아이디어를 제시할지 이들의 미래가 기대된다.
피라미드의 꼭대기를 의미하는 ‘캡스톤’은 1~2학년 때 배운 전공지식을 토대로 고학년 때 팀프로젝트 등을 통해 아이디어를 실용화하는, 국민대의 교육철학인 ‘공동체정신’과 ‘실용주의’를 반영한 대표적인 경진대회이다. 2017년 캡스톤 디자인 경진대회에서는 공학계열을 중심으로 자연과학, 인문사회, 예술 4개 분야에서 총 63개 팀이 참여했다.