Advanced
WhoAmI: Personal Information Sharing Application over WiFi and WiFi Direct
WhoAmI: Personal Information Sharing Application over WiFi and WiFi Direct
Journal of the Korea Institute of Information and Communication Engineering. 2014. Feb, 18(2): 371-378
Copyright © 2014, The Korea Institute of Information and Commucation Engineering
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
  • Received : January 10, 2014
  • Accepted : January 29, 2014
  • Published : February 28, 2014
Download
PDF
e-PUB
PubReader
PPT
Export by style
Share
Article
Author
Metrics
Cited by
TagCloud
About the Authors
준석 곽
종문 박
명준 이
mjlee@ulsan.ac.kr

Abstract
사람들이 보다 다양한 사회 활동에 참여함에 따라 적절한 수준에서 개인 정보를 서로가 공유하는 작업이 더욱 빈번해지고 중요해지고 있다. 스마트폰의 급속한 보급과 네트워크 기술의 발전을 통하여 정보공유를 위한 다양한 어플리케이션이 등장했음에도 불구하고, 이들 어플리케이션은 인접한 주위 사람들의 개인정보를 공유하기 위한 효과적인 메커니즘을 제공하지 못하고 있다. 본 논문에서는 와이파이와 와이파이 다이렉트 환경에서 주위 사용자들의 개인정보를 공유하는 안드로이드 어플리케이션 WhoAmI를 소개한다. WhoAmI는 명함, 동호회, 친구로 미리 정의된 액세스 수준에 따라, 접근 가능한 주위 사람들에게 개인의 프로파일 정보를 자연스럽게 제공한다. 이와 더불어 음악, 사진, 동영상 같은 정보들 또한 개발된 어플리케이션을 통하여 효과적으로 공유될 수 있다.
Keywords
Ⅰ. 서 론
현대인의 사회적 활동 범위는 예전과는 비교할 수 없을 정도로 확대되고 있다. 이러한 사회적 모임 속에서 자신의 정보를 적절한 수준에서 알리고 다른 사람의 정보를 고루 얻는 일이 더욱 중요해 지고 있다. 하지만 다양하고 복잡한 온/오프라인 교류 환경에서 직접적인 의사소통 방법을 사용하면 시간과 공간의 제약이나 의사소통을 하는데 절차상의 오버헤드가 발생한다. 따라서 이런 문제를 줄이고 빠르고 간편하게 서로가 정보를 공유할 수 있는 수단이 필요하다 [1] .
대부분의 현대인들이 통신 수단으로 사용하는 스마트 기기들은 블루투스, RFID, 와이파이, 와이파이 다이렉트 [2] 와 같은 다양한 통신기능을 지원하며 이를 이용하여 사용자간의 정보 공유를 지원하는 어플리케이션이 등장하고 있으며 대표적으로 CamCard [3] , 프로필미 [4] , 슈퍼빔 [5] , HitcherNet [6] , DirectSpace [7] 등이 있다. 슈퍼빔은 접속을 수행할 때 접속하는 두 기기를 가까이 접촉시키거나 암호키를 입력해야 하는 불편함이 있다. HitcherNet은 와이파이 다이렉트에서 공유 폴더를 설정하여 파일을 공유함으로 간편한 파일 공유를 할 수 있지만 사용자의 프로필 정보 같은 개인정보는 효과적으로 교환되지 못한다.
본 논문에서는 와이파이와 와이파이 다이렉트 환경에서 사용자간의 프로필 정보와 다양한 파일을 직관적인 인터페이스로 공유하는 안드로이드 어플리케이션 WhoAmI 에 대해 기술한다. WhoAmI는 명함, 동호회, 친구로 미리 정의된 공개 수준을 지정하여 상황에 맞게 사용자의 프로파일을 공유한다. 이와 더불어 음악, 사진, 동영상, 기타 정보를 카테고리별로 나뉘어 관리되며 개발된 어플리케이션을 통하여 효과적으로 공유될 수 있다. 이와 더불어 공유되는 다른 사용자의 정보는 공개 수준에 따라서 자신의 기기로 가져올 수 있다.
본 논문의 구성은 다음과 같다. 2장에서 배경 지식에 대하여 소개하고 3장에서는 WhoAmI의 사용자 인터페이스와 기능을 설명한다. 또한, 4장에서는 WhoAmI의 구조를 설명하고 마지막으로 5장에서는 결론을 맺는다.
Ⅱ. 배경 지식
- 2.1. 와이파이 다이렉트
와이파이 다이렉트의 정식 명칭은 Wi-Fi Peer-toeer(p2p) 이다 [8] . Wi-Fi P2P는 액세스 포인트 없이 장치들 간의 연결을 쉽게 그리고 파일 전송에서 부터 인터넷 접속까지 매우 빠른 속도로 통신 하도록 해주는 Wi-Fi Alliance(WFA)에서 정의한 Wi-Fi 표준이다 [9] . Wi-Fi Direct의 연결과정은 크게 피어 탐색, 그룹 형성 과정으로 나뉜다.
피어 탐색 과정은 정기적으로 신호를 송수신하여 수행 된다. 피어가 탐색 신호를 수신하면 탐색이 완료된다. 그룹형성 과정은 연결 완료된 기기들을 장치 정보를 바탕으로 그룹을 형성하는 과정이다. 그룹이 형성되면 장치간의 세션이 유지되며 소켓으로 서로 통신할 수 있다.
- 2.2. CamCard
CamCard 는 명함을 사진으로 찍어 사진으로부터 문자 데이터를 인식하여 스마트폰에 저장하고 추가로 멀티미디어 파일의 링크를 넣을 수 있다. 그러나 멀티미디어 자원을 직접 공유할 수 없다.
- 2.3. 프로필미
프로필미는 쉽고 간편하게 모바일 명함을 만들고, 전달하고, 보관할 수 있는 애플리케이션이다. 자신의 사진, 동영상, 글을 인터넷으로 공유할 수 있지만 동영상 공유 기능은 유튜브 [10] 동영상 링크기능만 제공하므로 용량이 큰 동영상은 공유하기 어렵고 사용자간 동영상을 복사하는 기능은 없다. 그리고 그 외의 다른 파일 형식은 공유할 수 없다.
Ⅲ. WhoAmI의 기능과 사용자 인터페이스
본 장에서는 사용자 편의를 고려한 WhoAmI의 사용자 인터페이스를 사용자의 공유 정보를 설정하는 화면과 다른 사용자의 공유 정보에 접근하는 화면으로 구분하여 설명한다.
- 3.1. 공유 자원 접근 인터페이스
그림 1 은 기능별 WhoAmI의 기능별 다이어그램을 나타내며 상자로 표시한 부분은 다른 사용자의 공유 자원에 접근하는 기능을 보여준다.
PPT Slide
Lager Image
WhoAmI 기능별 다이어그램 Fig. 1 Diagram for the functions of WhoAmI
어플리케이션을 실행하면 주위에 있는 접근 가능한 사용자의 목록이 그림 2 의 (1)과 같이 메인화면에 나타난다.
PPT Slide
Lager Image
메인 화면과 프로필 탭 화면 Fig. 2 Main view and profile tab view
사용자를 선택하면 사용자가 공유하는 수준의 프로필 정보를 확인 하거나 가져올 수 있다. 사용자 목록에는 미리 입력된 간단한 개인 확인 정보가 포함 되어 있다. 자신의 개인 확인 정보는 개인 정보 설정 버튼으로 수정 가능하다. 그림 2 의 (2)는 다른 사용자의 목록을 터치할 때 나오는 첫 화면으로 해당 사용자의 프로필 정보를 보여준다. 프로필 탭 화면의 공유 자원보기 버튼을 통해 공유 자원 보기 화면으로 전환 된다. 공유 자원 보기 화면은 그림 3 과 같이 즐겨찾기, 음악, 사진, 동영상, 기타 자원의 유형별로 관리하기 위해 탭으로 구성되며 상단의 탭을 터치하거나 좌우로 슬라이딩 하면 다른 자원 탭으로 이동할 수 있다.
PPT Slide
Lager Image
공유 자원 보기 화면 Fig. 3View for browsing shared resources
다른 사용자의 공유 자원은 그림 4 와 같이 공유 자원을 선택한 후 가져오기 버튼을 누르거나 롱터치하여 간단히 가져올 수 있다.
PPT Slide
Lager Image
공유 자원 가져오기 Fig. 4 Obtaining shared resource
- 3.2. 공유 자원 등록 및 공개 수준 설정
자신의 자원을 공유하기 위하여 먼저 공유 설정 버튼을 눌러 자신의 공유 자원 관리 화면으로 전환하여 그림 5 의 아래쪽에 보이는 자원 탐색기 창에서 자원을 롱 터치하거나 상단의 공유 버튼을 눌러 공유 자원을 등록한다. 공유 자원이 등록될 때 자원의 공개 수준을 설정한다. 공개 수준은 환경 설정에서 기본 값을 미리 설정하여 공개 수준 지정을 생략할 수 있다.
PPT Slide
Lager Image
공유 자원 등록하기 Fig. 5 Registering shared resource
WhoAmI에서는 사용자의 공유 자원 공개 수준을 친구수준, 동호회 수준, 명함 수준의 세 가지로 나누어 자원에 대한 접근을 허용한다. 공개 수준은 그림 6 과 같이 설정할 자원을 롱 터치 하거나 공개 수준 설정 버튼을 눌러 변경할 수 있다.
PPT Slide
Lager Image
공개 수준 설정하기 Fig. 6 Setting levels for sharing resources
명함 수준은 회사 동료, 비즈니스 고객, 등과 같은 사업이나 업무상 관계를 맺고 있는 사람들과의 상호 작용을 의미한다. 동호회 수준은 일반적으로 공통 관심사를 통해 맺어진 사람들과의 상호 작용 범위를 의미한다. 친구 수준은 개인적인 관계 즉, 가족이나 지인들과 같은 가까운 관계의 사람들과 상호 작용하는 범위를 의미한다. 프로필 탭 화면은 그림 7 과 같이 현재 소유자의 액세스 수준에 따라 다른 정보를 제공한다. 액세스 수준이란 소유자가 공유 하고자 하는 범위를 지정한 레벨을 말한다. 액세스 수준은 메인화면에 있는 개인 정보 설정 버튼으로 수정할 수 있다.
PPT Slide
Lager Image
액세스 수준별 프로필 화면 Fig. 7 User profile view by access level
프로필 정보는 메인화면의 개인 정보 설정버튼을 눌러 수정할 수 있으며, 프로필의 항목은 기본 항목 이외에 사용자 지정 항목을 추가할 수 있다.
Ⅳ. WhoAmI의 구조
본 장에서는 WhoAmI 어플리케이션의 구조, 동작 방법 및 공유 자원 관리에 대하여 설명한다.
- 4.1. 전체 시스템 구조
WhoAmI의 구조는 그림 8 과 같이 뷰 모듈, 디스커버리 모듈, 메시지 송수신 모듈, 메시지 해석 모듈, 파일 송수신 모듈, 환경설정 모듈로 구성된다.
PPT Slide
Lager Image
WhoAmI 구조 Fig. 8 Structure of WhoAmI
메인 핸들러는 모듈 사이의 데이터를 전달하는 역할을 한다. 뷰 모듈은 사용자 인터페이스를 제공한다. 메시지 해석 모듈은 수신한 메시지를 해석하는 모듈이다. 디스커버리 모듈은 현재 접속 가능한 사용자를 검색하는 모듈이다.
메시지 송수신 모듈은 다른 사용자와 통신하는데 필요한 메시지의 송수신을 처리한다. 파일 송수신 모듈은 사용자간의 파일 교환을 처리한다. 환경설정 모듈은 자원의 권한과 WhoAmI의 설정들을 저장하고 불러오는데 사용된다.
메시지 종류를 구별하는 코드를 최상단에 넣고 하위에 인자 개수만큼 데이터를 넣어 JSON 객체로 통신 메시지를 구성한다. 메시지는 종류에 따라 요청, 응답, 컨트롤 프로토콜로 구분하여 다른 쓰레드에서 작업을 처리한다( 표 1 ).
통신 메시지 구조Table. 1Structure of communication messages
PPT Slide
Lager Image
통신 메시지 구조 Table. 1 Structure of communication messages
WhoAmI가 동작하는 과정은 접속과정 과 공유과정으로 나누어진다. 접속 알고리즘은 그림 9 와 같다. WhoAmI는 먼저 현재 기기가 이용 가능한 네트워크 환경을 파악하여 동작 모드를 결정한다. 로컬 네트워크에 접속 된 경우 와이파이 환경에서 동작하고 로컬 네트워크에 접속 불가능한 경우 와이파이 다이렉트 환경에서 동작한다.
PPT Slide
Lager Image
접속 알고리즘 Fig. 9 Connection algorithm
네트워크 상태가 결정 되면 다른 사용자를 탐색하게된다. 와이파이 환경에서 사용자는 안드로이드의 네트워크 서비스 디스커버리 기능으로 현재 접속 가능한 사용자를 탐색한다.
와이파이 환경에서 서비스 등록 과정은 그림 10 과 디스커버리가 성공적으로 수행 되면 Discovery Listener 에 등록된 ResolveListener 가 호출 되고 접속 정보를 포함한 서비스 정보 객체를 가져온다. 서비스 정보에는 서비스의 이름, 타입, 포트 정보가 들어간다.
PPT Slide
Lager Image
와이파이 사용자 탐색 단계 Fig. 10 User discovery procedure over Wi-Fi
와이파이 다이렉트 환경에서 사용자를 탐색하는 코드는 그림 11 과 같고 DNS Service Discovery를 이용하여 사용자를 탐색한다.
PPT Slide
Lager Image
와이파이 다이렉트 사용자 탐색 단계 Fig. 11 User discovery procedure over Wi-Fi Direct
와이파이가 초기화 되면 로컬 서비스를 등록하고 디스커버리를 수행한다. 디스커버리 메소드를 수행하면 구현된 DiscoveryListener의 콜백 메소드 onService Found 메소드가 호출되고 인자 service 객체로부터 검색된 기기의 접속정보를 가져올 수 있고 서비스 이름이 WhoAmI에서 정의한 이름과 같은지 확인한다. 만약 같다면 이미 찾은 장치인지 새로운 장치인지 확인하고 새로운 장치라면 접속정보를 포함한 service 객체와ResolveListener를 인자로 넘겨 ResolveService를 호출한다. ResolveListener의 호출 성공 시 serviceInfo 객체에 접속정보를 포함하고 있다. 이때 탐색된 사용자를 구분할 때 Mac 주소를 고유 식별자로 사용한다. 사용자 탐색이 끝나면 serviceInfo에서 얻은 정보로 접속하여 다른 사용자에게 기본 정보를 요청하고 가져온 다른 사용자의 정보를 화면의 사용자 목록에 넣어 출력한다. 사용자가 화면의 사용자 목록에서 접속할 사용자를 선택하여 접속할 수 있다.
다른 사용자의 공유 정보를 가져오는 과정은 먼저 가져올 정보를 탐색하여 파일 목록을 요청하면 소유자가 설정한 권한 파일을 참조하여 액세스 수준 이하의 파일목록만 응답한다. 응답 받은 파일 목록에서 가져올 파일을 선택하면 소유자에게 복사를 요청하고 그 응답으로 파일을 받아와 카테고리별로 폴더에 저장한다.
- 4.2. 공유 자원 구조
안드로이드 어플리케이션의 표준 로컬 저장소의 경로에 WhoAmI 의 공유 폴더를 생성하였고 그 하위에 파일의 종류에 따라 프로필 폴더, 문서폴더, 동영상폴더, 일반파일폴더, 음악폴더, 사진폴더, 메타폴더, 임시폴더로 분류하여 각각 할당하였다.
메타폴더에는 파일 공유에 필요한 권한 설정 파일이 있다. 권한 설정 파일은 그림 12 와 같이 문자열 형태로 저장한다. 권한 설정 파일의 구조는 파일 이름을 키로 하고 권한 레벨을 값으로 하는 키 값 쌍의 형태로 저장한다. 임시 폴더에는 다른 사용자의 정보를 확인하기 위한 임시파일들이 저장된다.
PPT Slide
Lager Image
권한 설정 파일 Fig. 12 Preferences file for permission setting
Ⅴ. 결 론
본 논문에서는 와이파이와 와이파이 다이렉트 환경에서 사용자들의 프로필 정보와 멀티미디어 파일의 편리한 공유를 지원하는 WhoAmI의 개발에 대하여 기술하였다. 개발된 어플리케이션은 사용자 편의를 위하여 직관적이고 간편한 인터페이스를 지원하며 자원에 대하여 미리 정의된 액세스 수준을 설정할 수 있도록 하였다. 사용자의 프로필 정보와 더불어 음악, 사진, 동영상 같은 정보 또한 WhoAmI를 통하여 효과적인 공유가 가능하다. 이와 같이 WhoAmI는 컨퍼런스, 동호회, 학술, 비즈니스, 사교 모임에서 주위 사용자들과 오버헤드 없이 빈번한 정보공유를 위해서 유용하게 활용될 수 있을 것으로 기대된다.
Acknowledgements
본 연구는 2013년도 정부(교육부)의 재원으로 한국연구재단의 지원을 받아 수행된 기초연구사업으로서, 관계부처에 감사드립니다. (No. 2013R1A1A4A01004459)
BIO
곽준석(Jun-Seok Kwak) 2013년 울산대학교 컴퓨터정보통신 공학부 졸업(학사) 2013년~현재 울산대학교 정보통신 공학 석사 과정 ※관심분야 : 모바일 서비스, 네트워크 응용, 만물 인터넷 ※Email : calintsz@gmail.com
박종문(Jongmoon Park)
2010년 울산대학교 컴퓨터정보통신 공학부 졸업 (석사)
2012년~현재 울산대학교 정보통신 공학 박사 과정
※관심분야 : 웹 서비스, 만물 인터넷, 상황인식 시스템
※Email : monster28g@gmail.com
이명준(Myung-Joon Lee)
1980년 서울대학교 수학과 졸업(학사)
1982년 한국과학기술원 전산학과 졸업(석사)
1991년 한국과학기술원 전산학과 졸업(박사)
1993~1994년 미국 버지니아대학 전산학과 교환교수
2005~2006년 미국 캘리포니아 주립대학 교환교수
1982~현재 울산대학 컴퓨터 정보통신공학부/전기 공학부 교수
※관심분야 : 웹기반 정보시스템, 프로그래밍언어, 분산 프로그래밍 시스템
※Email : mjlee@ulsan.ac.kr
References
Lee S. M. 2013 “A Study on the Effect of Smart Device and SNS on Social Capital” Journal of the Korean Society for Library and Information Science 47 (2) 161 - 180    DOI : 10.4275/KSLIS.2013.47.2.161
Wi-Fi Direct “http://developer.android.com/guide/topics/connectivity/wifip2p.html”
CamCard “https://www.camcard.com/”
ProfeelMe “http://profeel.me/”
SuperBeam “https://play.google.com/store/apps/details?id =com.majedev.superbeam”
HitcherNet “https://play.google.com/store/apps/details?id= com.kharybdis.hitchernet”
Park J. E. , Park J. M. , Lee M. J. 2014 “DirectSpace: A Collaborative Framework for Supporting Group Workspaces over Wi-Fi Direct” Mobile, Ubiquitous, and Intelligent Computing, LNEE 274 55 - 61
2010 “Wi-Fi Certified Wi-Fi Direct”
2010 Wi-Fi Peer-to-peer, “Wi-Fi Peer-to-Peer Technical Specification v1.1”
YouTube “http://www.youtube.com/”