Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9....

73
工學碩士學位請求論文 이동 컴퓨터에서 가상 공간을 지원하는 인스턴트 메신저 프로그램의 개발 Development of an instant messenger program supporting virtual world interface on mobile PCs 20012 仁荷大學校 大學院 自動化工學科

Transcript of Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9....

Page 1: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

工學碩士學位請求論文

이동 컴퓨터 에서 가상 공간을 지원 하는

인스턴 트 메 신저 프로그 램의 개발

D e v e lopm e nt of an in s tant m e s s e ng er

prog ram s upport ing v irtu al w orld

interfac e on m obile P Cs

200 1年 2月

仁 荷大 學校 大學 院

自 動化 工學 科

李 相 來

Page 2: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

工學碩士學位請求論文

이동 컴퓨터에서 가상 공간을 지원하는

인스턴트 메신저 프로그램의 개발

D e v e lopm e nt of an in s t ant m e s s e n g e r

prog ram s u pp ort in g v irtu al w orld

int erfac e on m ob ile P C s

2001年 2月

指導敎授 韓 庚 淑

이 論文을 工學碩士學位 論文으로 提出함.

仁荷大學校 大學院

自動化工學科

李 相 來

Page 3: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

本 論文을 李 相 來 의 工學碩士學位 論文으로 認定함

200 1 年 2 月

主番

副番

委員

Page 4: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

요약

현재의 휴대형 단말기는 이동 전화와 같은 통신 기기와, h andheld

P C나 P DA와 같은 정보 기기가 주류를 이루고 있으며, 매년 놀라운 속도

로 고성능화, 경량화 되고 있다. 휴대형 단말기의 기능이 발전하고 현재의

문자 기반의 무선 인터넷이 그래픽 중심의 멀티미디어 무선 인터넷으로 발

전함에 따라, 예상되는 것은 사용자 인터페이스의 혁신이다.

본 논문은 이동 컴퓨터에서 vir tu al w orld 인터페이스를 지원하

는 in st ant m es sen ger 프로그램의 개발을 논한다. 이동 컴퓨터란 현재의

h andheld P C나 PDA (P er son al Digit al A ssistan ce)를 비롯하여, w earable

P C, aut o P C 등 deskt op P C의 성능을 가지고 있으면서 r em ot e P C와 통신

을 위한 적외선 port , ser ial port , 무선 데이터 통신 기능 등의 전부 혹은

일부를 가지고 있는 경량, 소형의 P C를 의미한다. 본 논문에서 개발된

in stant m essen ger program은 W in dow s CE 2.11을 OS로 사용하는

h andheld P C와 PDA에서 개발하였다. v ir tu al w orld 인터페이스는 t ex t ID

뿐 아니라 av at ar를 사용하여 네트웍 상의 다수 사용자를 표현할 수 있게

하며, 전송 대상이 되는 매체를 전달하고자 하는 아바타에 drag & drop함

으로써 전송되게 하는 등의 편리한 인터페이스를 제공한다. 그리고 이 아

바타는 자신의 ID로만 작용하는 것이 아니라 공통된 주제를 가진 가상의

공간 즉 대화방에서 대화를 나눌 경우 상대의 아바타를 보면서 대화를 나

눌 수 있고, 아바타를 통하여 감정과 동작으로 반응할 수 있기 때문에 현

실감 있고 친밀하게 대화를 나눌 수 있는 직관적인 환경을 제공한다. 또한,

다자간 대화 기능, 메일 전송 및 확인, F T P 프로그램 등의 기능을 가지고

있어 개별적인 프로그램을 수행하지 않고도, 하나의 통합된 프로그램을 사

용하여 대화나 통신을 가능하게 한다. 그리고 in st ant m esseng er program

이 deskt op P C가 아닌 m obile P C에서 운용된다는 점에서 본 연구가 이동

컴퓨터에 기여하는 점과 차세대 정보 단말기의 사용자 인터페이스로서 잠

재적 가치가 큰 요소 기술이다.

Page 5: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

A b s trac t

Handheld P C, PDA an d m obile ph on e are th e m ain curr ent of

the portable assistant . Ev ery y ear , th e perform ance of th e port able

a ssist ant is im proving and th e size of th e port able assist ant is

m iniaturizing . A ccording as the funct ion of port able as sistant dev elops

and m obile int ern et m ov es in m ultim edia in tern et ba sed graphic, u ser

int erface w ill b e m ore im portant .

T his thesis present s an in stant m esseng er program w ith

v ir tual w orld int erface for m obile com puter s . T he m obile com put er s are

sm aller and lighter than deskt op com puter s , y et as pow erful as them .

T he m obile com put er s gen erally in clude m odem , infr ar ed port s , ser ial

port s , and ant enna , for w ired or w ireles s com m unicat ion w ith rem ot e

devices . T he in st ant m esseng er program w as dev eloped on han dheld P C

and PDA (P er son al Digit al A ssist ant ) that u se W indow s CE 2.11. T he

v ir tual w orld in t erface represent s th e u ser s of net w ork s as av atar s a s

w ell as their tex t IDs . It provides conv enient int erface such as allow in g

a u ser to tr an smit v ariou s types of data ju st by draggin g an d dropping

it t o a t arg et av at ar . And w hen u ser s chat in the vir tual w orld , av at ar s

provide in tuitiv e int erface becau se u ser s can see the other party w hile

av at ar s operat e as th eir ID s . An d an in st ant m esseng er program h as

funct ion s like m ult i- ch at , em ail, P OP3 an d F T P program , that ' s w hy

w ithout ex ecut in g each program , w e can do com municat ion of

m ult im edia dat a as in t egrat ed single program on m obile com put er s . T he

int erface is a potent ially m ore u seful m odel of a u ser int erface for

n ex t - g eneration m obile devices becau se in st ant m es sen ger program

operat es on m obile P Cs .

Page 6: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

목차

요 약

A bs tract

1 . 서론 1

1.1 연구 배경 1

1.2 연구의 목적과 범위 6

2 . 관련 기술 개발 현 황 10

2.1 M obile P C의 국내외 개발 현황 10

2.2 Virtu al W orld 인터페이스 및 대화 프로그램의 국내외 개발 현황 12

2.3 In st ant M es sen ger Program의 국내외 개발 현황 17

3 . 연구 방법 20

3.1 시스템 구성 20

3.2 개발 환경과 구현 방법 22

3.3 데이터 베이스 26

4 . 프로그램의 주 요 기능과 구현 결과 30

4.1 대화 31

4.2 접속자 확인, 친구/ 거부자 리스트 및 특정 사용자 호출 34

4.3 Em ail 전송 및 수신 확인, F T P 37

4.4 Virtu al W orld 인터페이스 39

5 . 고찰 및 비교 44

5.1 W in dow s CE용 인스턴트 메신저와의 비교 44

5.2 W AP 기반의 인스턴트 메신저와의 비교 46

5.3 활용 방안 47

6 . 결론 및 향후 연구 4 9

7 . 참고 문헌 5 2

부 록 54

Page 7: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

표 차 례

표 1. 현재 사용되고 있는 대화·정보 매체의 대체 형태 3

표 2. 본 기술과 기존 시스템과의 차이점 6

표 3. 기술 개발 내용과 범위 9

표 4. 국내외에서 상용화된 v ir tual w orld 인터페이스 제공 프로그램간의

비교 (1) 13

표 5. 국내외에서 상용화된 v ir tual w orld 인터페이스 제공 프로그램간의

비교 (2) 14

표 6. 국산 인스턴트 메신저 현황 18

표 7. 데이터베이스 구성 테이블 29

표 8. 개발된 in st ant m esseng er 메신저 프로그램과 Yahoo M esseng er

프로그램과의 비교 46

Page 8: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

그 림 차 례

그림 1. E ly sium tit le 14

그림 2. E ly sium m ap의 예 15

그림 3. E ly sium 사용 예와 h elp 기능 설명 15

그림 4. 유니챗 사용 예 16

그림 5. 유리 도시 m ap의 예 16

그림 6. 유리 도시 사용 예 17

그림 7. 시스템 구성도 21

그림 8. 소켓 생성 23

그림 9. 서버 접속 과정 23

그림 10. 메신저 서버를 경유한 DB 검색 과정 27

그림 11. ADO 개체 모델 28

그림 12. 대화방 참여 흐름도 32

그림 13. h andheld P C에서의 다자간 대화를 위한 대화방 설정의 예 33

그림 14. 특정 사용자 접속 감지와 호출 36

그림 15. 친구/ 거부자 리스트 37

그림 16. Em ail 클라이언트 프로그램 38

그림 17. 메일 수신 확인 프로그램 38

그림 18. F T P 클라이언트 프로그램 39

그림 19. 아바타 선택 화면 41

그림 20. vir tu al w orld 인터페이스의 초기화면 41

그림 21. 아바타 대화 흐름도 42

그림 22. 파일 전송 화면 43

그림 23. vir tu al w orld 인터페이스를 사용한 아바타 대화의 예 44

Page 9: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

1 . 서론

1 .1 연구 배경

21세기초에 휴대형 단말기가 보편적으로 사용되면, 무선 멀티미디

어 서비스에 대한 수요가 급격히 증가할 것으로 예상된다. 무선 멀티미디

어 서비스란 휴대형 단말기를 이용하여 무선으로 멀티미디어 데이터를 통

신하거나 인터넷을 사용하게 하는 서비스를 총칭한다. 초기의 무선 통신은

주로 음성 데이터의 전송을 위한 이동 전화에 한정된 방식이었지만, 점차

다양한 무선 접속 방식과 서비스를 제공하는 휴대형 단말기가 사용되고 있

다. 현재 제공되는 무선 데이터 서비스를 휴대형 단말기의 유형에 따라 분

류하여 보면 다음과 같다.

1. 이동 전화를 이용한 무선 인터넷 서비스

2. m obile P C를 이용한 이동 컴퓨팅 서비스

3. 양방향 호출기, T RS 기기 또는 데이터 통신 기기 등을 이용한 무선

데이터 통신 서비스

4. 이동 전화를 n ot ebook 컴퓨터에 장착하여 무선 인터넷을 사용하는 것

으로, 이동 전화는 일종의 접속 포인터에 해당한다.

현재의 휴대형 단말기는 이동 전화와 같은 통신 기기 와 (위에서

첫 번째 유형), han dh eld P C나 P DA와 같은 정보 기기 (또는 m obile P C

로서, 위에서 두 번째 유형)가 주류를 이루지만, 점차 통신 기기와 정보 기

기의 구분이 명확하지 않은 형태로 발전하는 추세이고, 매년 놀라운 속도

로 고성능화, 경량화 되고 있다. 휴대형 단말기의 기능이 발전하고 현재의

문자 기반의 무선 인터넷이 그래픽 중심의 멀티미디어 무선 인터넷으로 발

전함에 따라, 특히 예상되는 것은 사용자 인터페이스의 혁신이다. 휴대형

단말기에서 지원하는 입출력 장치는 desktop 컴퓨터나 not ebook 컴퓨터에

서 지원하는 입출력 장치와 다르다. 예를 들면, deskt op 컴퓨터에서 주 입

- 1 -

Page 10: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

력 장치로 사용하는 마우스가 휴대형 단말기에는 아예 없고 대신 sty lu s

pen으로 LCD 화면을 터치하는 방식으로 입력하고, 키보드도 없거나 아주

작은 형태로 존재한다. 주요 출력 장치로 사용하는 화면의 크기도 desktop

컴퓨터에 비하여 아주 작아서, deskt op 컴퓨터에서 한 화면으로 보여주는

정보를 휴대형 단말기에서는 여러 번 나누어 보여줘야 하고, color 지원이

안되거나 제한되는 것이 많다. 입출력 장치뿐 아니라, 제한된 bat t ery 수명,

네트웍 접속 방법, 데이터 손실 가능성 면에서 desktop 컴퓨터와는 많이

다른 휴대형 단말기에, desktop 컴퓨터에서 사용하던 사용자 인터페이스를

그대로 적용하는 것에는 무리가 있다.

휴대형 단말기를 위한 사용자 인터페이스는 그 중요성에 비하여

그 동안 관심을 받지 못한 연구 분야이다. 본 논문은, 정보 기기라고 분류

할 수 있는 m obile P C에서 다중 매체의 전송과 재생을 지원하는 사용자

인터페이스의 개발에 관한 것이다. 이 인터페이스는 현재 가장 많이 사용

되는 m obile P C인 handheld P C와 P DA (P er son al Digital A ssist ant , 일명

P alm - size P C)에서 개발되었다.

21세기초에 m obile P C가 널리 보급되면, pager , phone, cellular

phone, v ideo phone, fax 등의 기존의 대화·정보 매체의 기능을 모두 흡

수할 것으로 예상된다. m obile P C란 현재의 han dheld P C나 PDA를 비롯하

여, w earable P C (방탄조끼나 손목시계 형태), aut o P C (자동차에 내장된

P C가 음성 명령에 따라 길을 안내하거나 전자 우편을 읽어주는 기능 등을

수행) 등 deskt op P C의 성능을 가지고 있으면서 r em ot e P C와 통신을 위

한 적외선 port , ser ial port , 무선 데이터 통신 기능 등의 전부 혹은 일부를

가지고 있는 경량, 소형의 P C를 의미한다. m obile P C가 기존의 대화·정

보 매체의 기능을 흡수하리라고 예상하는 근거는 다음과 같다.

1. pager , cellu lar phon e, v ideo ph on e, fax를 P C에서 구현할 수 있는 기

반 기술이 계속 개발되고 있다.

2. m obile P C, ch arge coupled devices (CCD ), bat t ery는 매년 놀라운 속

도로 경량화, 고성능화 되고 있다.

3. w ir eles s AT M에 관한 주변 기술이 발전되어 가고 있으며, 이는 현재

- 2 -

Page 11: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

의 cellular ph on e과 cellular ph on e을 사용한 무선 데이터 통신 방식

을 대체하거나 혹은 복합되어 사용될 것이다.

4. pag er , cellu lar phone , 전자 수첩 등을 개별적으로 가지고 다니는 것

보다 하나의 통합된 대화·정보 매체를 휴대하는 것이 훨씬 간편하고

사용하기도 편하다.

구체적인 대체의 형태는 다음 표 1과 같이 예상할 수 있다.

표 1. 현재 사용되고 있는 대화·정보 매체의 대체 형태

매체 대체 형태

pag er메시지 도착시 신호음이 울리고, 전달 메시지가

m obile P C의 화면에 나타난다.

ph on e,

cellu lar ph on e

m obile P C에 부착된 음향 입출력 장치를 사용하여 통

화한다.

v ideo phonem obile P C에 부착된 CCD와 음향 입출력 장치를 사용

하여 통화한다.

fax송/ 수신 문서는 electronic dat a 형태로 전달되며 프린

터로 출력할 수 있다.

미국에서는 이미 무선 인터넷 검색을 지원하는 PDA가 출시되었

고 (3Com의 P alm VII), 국내에서도 cellular phone에 전자우편, 인터넷 검

색, 워드 기능 등이 추가된 cellu lar sm art phon e의 상용 서비스가 시작된

것에서 알 수 있듯이, 컴퓨터와 전화기의 경계가 무너지면서 대화·정보

매체가 통합되는 추세이다. 국내외의 컴퓨터 및 통신 업계는 m obile P C 제

품군을 P C 이후 가장 큰 정보 기기 시장을 형성할 차세대 P C로 전망하고

있고, 이에 따라 현재 m obile P C를 경쟁적으로 개발하고 있다 (2.1절의

m obile P C의 국내외 개발 현황 참조).

m obile P C가 대중화되면, 현재의 휴대형 정보 단말기의 기능이나 사

용 형태가 아주 많이 바뀔 것이다. 특히 예상되는 것은 vir tu al w orld를 제

공하는 사용자 인터페이스이다. v ir t ua l w or ld in t e rfa c e는 아바타

- 3 -

Page 12: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

(av at ar )와 공간 (place )의 개념이 도입된 것으로 다음과 같은 특징을 갖는

다.

신상 정보 조회 등의 기능 수행의 대상이 되는 사용자를 T ex t ID뿐

아니라 아바타의 외형으로 구별할 수 있다. 아바타는 사용자를 형상

화한 것으로서, 보통 이미지나 3차원 모델로 표현한다.

매체의 전송 또는 재생을 위하여 m enu , m ou se but t on 등을 사용하지

않고, 대상이 되는 매체를 전달하고자 하는 아바타에 Drag & Drop함

으로써 기능을 수행하는 편리한 인터페이스를 제공한다.

대화에 참여하는 사용자는 가상 공간에서 원하는 장소에 자신의 아바

타를 배치하고, 대화 도중 아바타의 위치를 변경할 수 있다.

문자 또는 말로만 표현하는 의사 소통이 아니라 아바타를 통하여 감

정과 동작으로도 반응함으로써, 보다 현실감 있고 친밀한 대화가 가

능하며 대화에 참여하는 타 사용자의 존재를 확실히 느끼게 한다.

본 논문에서 m obile P C에서 v ir tual w orld 인터페이스를 이용하여

다중 매체의 전송과 재생을 수행하는 in stant m esseng er program을 개발

하였다. 이 프로그램은 기존의 pager , cellu lar phone , fax , v ideo phone ,

em ail program을 대체하는 통합 환경을 제공한다. 이 ins tan t m e s s eng e r

p r og ram 은 다음과 같은 기능을 제공한다.

사용자에 의한 serv er 접속 과정을 요구하지 않는다.

on - lin e 상태일 경우, 타 이용자의 요구에 의하여 프로그램이 활성화

된다.

프로그램은 주로 메모, 대화 기능을 가진다.

background 또는 foregroun d로 항상 동작한다.

본 논문에서 개발한 기술은 m obile P C에 의한 기존 대화·정보

매체의 대체를 가능하게 하는 기반 프로그램으로서 차세대 다자 참여 시스

템 기술이다. 이와 같이 m obile P C에서 기존의 대화·정보 매체를 흡수할

- 4 -

Page 13: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

수 있는 다자 참여 시스템을 개발하기 위해서는 다음과 같은 필요한 요소

기술들이 필요하다.

1. w ir eless AT M 데이터 통신 기술

2. au dio/ v ideo str eaming 기술

3. 데이터 통신 soft w are 개발 기술

4. 기존의 매체 기능을 m obile P C에서 구현하는 기술

5. 여러 명의 m obile P C 사용자를 제어하기 위한 serv er 프로그램 개발

기술

본 기술은 위에서 열거한 다섯 가지 요소 기술 중에서 3, 4, 5 번

째 기술에 해당한다. w ir eles s AT M 데이터 통신 기술과 audio/ v ideo

str eaming 기술은 국내에서 이미 개발이 진행되고 있는데, 그 결과를

plu g - in 프로그램의 형태로 결합할 것이다.

현재 웹상에서의 다자 참여 시스템 이라고 분류할 수 있는 상용

시스템은 몇 가지 있다 (표 2 참조). 그러나, 본 논문에서 개발한 시스템

과 동일한 기능을 갖는 다자 참여 시스템은 국내외에서 아직 존재하지 않

고, 요소 기술이 개별적으로 존재한다. v ir tual w orld 인터페이스를 제공하

지 않거나, 무엇보다도 다중 매체 (다중 매체란 멀티미디어 정보보다 폭넓

은 개념으로서, 문자, h and w riting , file, em ail, audio, v ideo 등을 포함한

다)의 전송/ 재생을 지원하지 않는다.

- 5 -

Page 14: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

표 2. 본 기술과 기존 시스템과의 차이점

본 기술

v ir tual w orld인터페이스를

지원

대화 프로그램

w eb에서의

영상 회의 및

유사 시스템

in stantm es sen ger

program

국내 개발 현황 없음 YES YES N O

국외 개발 현황 없음 YES YES YES

대화·정보 매체의

대체를 고려한

설계, 구현

YE S NO NO N O

v irtual w orldin terface

YE S YES NO N O

대화 YE S YES YES YES

특정 사용자 접속

감지YE S

제한된 상황에서

가능

제한된

상황에서

가능

YES

특정 사용자 호출 YE S NO NO YES

em ail 전송 YE S NO NOCase by

ca se

F ile 전송 YE S NO Case by caseCase by

ca se

URL 전송 YE S NO NOCase by

ca se

1 .2 연구 의 목 적과 범 위

본 논문의 최종 목표는 다음 기능의 시스템을 개발하는 것이다.

- PDA와 han dheld P C에서 운용되는 in st ant m esseng er 프로그램

- v ir tu al w orld 인터페이스를 제공하는 다중 매체 전송/ 재생 프로

그램

- 기존의 pager , cellular phon e, fax , v ideo phone , em ail 프로그램

을 대체하는 통합 환경

- 6 -

Page 15: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

in s tant m e s s e n g er 프로그램은 다음과 같은 기능을 제공한다.

- 사용자에 의한 serv er 접속 과정을 요구하지 않는다.

- on - lin e 상태일 경우, 타 이용자의 요구에 의하여 프로그램이 활

성화된다.

- 프로그램은 주로 메모, 대화 기능을 가진다.

- background 또는 foregroun d로 항상 동작한다.

v irtu a l w orld 개념을 적용한 직관적 인터페이스의 특징은 다음과 같

다.

- 신상 정보 조회 등의 기능 수행의 대상이 되는 사용자를 t ex t

ID뿐 아니라 아바타의 외형으로 구별할 수 있다. 아바타는 사용

자를 형상화한 것으로서, 보통 이미지나 3차원 모델로 표현한다.

- 매체의 전송 또는 재생을 위하여 m enu , m ou se butt on 등을 사

용하지 않고, 대상이 되는 매체를 전달하고자 하는 아바타에

drag & drop함으로써 기능을 수행하는 편리한 인터페이스를 제

공한다.

- 대화에 참여하는 사용자는 가상 공간에서 원하는 장소에 자신의

아바타를 배치하고, 대화 도중 아바타의 위치를 변경할 수 있다.

- 문자 또는 말로만 표현하는 의사 소통이 아니라 아바타를 통하

여 감정과 동작으로도 반응함으로써, 보다 현실감 있고 친밀한

대화가 가능하며 대화에 참여하는 타 사용자의 존재를 확실히

느끼게 한다.

다 중 매 체라 함은 다음의 요소와 언급되지 않은 기타의 것을 통칭

한다. 이하 매체 라 함은 다중 매체를 의미하며, 대화·정보 매체

와 구별하여 사용한다.

- 문자: A S CII charact er

- 필기: 사용자의 h and w rit in g

- 7 -

Page 16: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

- em ail: 문자로 이루어진 문서

- file : binary code로 이루어진 data set

- au dio: P C에서 재생 가능한 청각 dat a

- im age : P C에서 재생 가능한 움직임을 포함하지 않은 시각 dat a

- v ideo: P C에서 재생 가능한 움직임을 포함하는 시각 Dat a .

본 논문에서는 W in dow s CE와 plu g - in program이 인식,

재생할 수 있는 형식의 dat a로 범위를 제한한다.

통 합 환 경 프로그램의 개념은 아래와 같다.

- 상이한 매체의 전송/ 재생을 위하여, 사용자가 여러 개의 프로그

램을 실행하지 않아도 되는 프로그램

- 새로운 매체의 전송/ 재생 요구 시, 기존의 프로그램 코드를 수정

하지 않고 추가의 com pon ent 혹은 plu g - in 프로그램을 등록함

으로써 위의 기능을 계속적으로 수행할 수 있는 프로그램

본 논문에서 개발한 프로그램은 두 부분으로 구성되며, 이들의 규

격과 성능은 다음과 같다.

1) 사용자에게 제공되는 client program

2) client program을 지원하기 위한 serv er program

client program 규격 및 성능

1) 다자간 대화 또는 일대일 대화

2) v ir tual w orld 인터페이스에서의 av atar 운용

3) 특정 사용자의 접속 감지 및 호출

4) 특정 사용자로부터의 메시지 거부

5) em ail 전송 및 수신

6) 파일 전송 및 수신

- 8 -

Page 17: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

7) 다중 사용자간의 m em o board 기능

8) 다중 매체를 전송/ 재생하는 plug - in 프로그램과 연결을 위한 인터페

이스 기능

serv er program 규격 및 성능

1) 전체 등록 사용자에 대한 관리 기능

2) 현재 접속하여 사용중인 사용자에 대한 실시간 관리

3) 사용자 및 관리자가 지정한 정보의 pu sh 전송

client/ serv er program이 지원하는 기능과 각 기능의 개발 내용과

범위는 표 3과 같다. client program은 W indow s CE를 탑재한 PDA와

h andheld P C뿐만 아니라, W indow s 98이 탑재된 deskt op P C에서도 운용

된다.

표 3. 기술 개발 내용과 범위

기능 기술 개발 내용 및 범위

특정 사용자 접속

감지

접속 사용자 DB 유지

타 사용자의 접속 정보 요구자 DB 유지

데이터 통신

특정 사용자 호출접속 사용자 DB 유지

데이터 통신

em ail 전송 전자 우편 전송/ 수신을 위한 관련 기술

동영상 전송/ 재생 plug - in 프로그램 연결을 위한 인터페이스

설계

사용자 인터페이스 설계

정지영상 전송/ 재생

음악 전송/ 재생

file 전송 데이터 통신

URL 전송 Hyper Link

- 9 -

Page 18: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

2 . 관련 기술 개발 현황

2 .1 M obile P C의 국내외 개발 현황

m obile P C 제품군이 21세기 유망 산업으로 급부상 하면서 국내외

의 주요 하드웨어 업체들은 경쟁적으로 신제품 개발과 출시를 서두르고 있

다. han dh eld P C와 PDA는 의료, 보험, 금융, 유통 등 분야에서 연간 40%

이상 급속히 성장하고 있는 휴대형 정보 기기로 2000년에 전세계적으로 1

천만대의 수요를 형성하는 등 P C 이후 가장 큰 정보 기기 (inform at ion

applian ce) 시장으로 자리잡을 것으로 예측되고 있다. 특히 IBM 등 세계

주요 P C 제조업체들이 W in dow s CE를 기반으로 한 휴대형 정보 단말기의

저장 장치로 활용 가능한 초소형 하드디스크드라이브 (HDD ) 개발에 맞춰,

세계 주요 하드웨어 업체들이 이들 기술을 적용한 제품 개발을 서두르면서

아직까지는 초기 시장 형성 단계인 m obile P C 시장 선점을 위한 주도권

경쟁을 전개하고 있다. 현재 이동 컴퓨터 시장의 절대 강자는 미국 3Com

이다. 3Com은 1996년 포켓 크기에 펜으로 입력하는 필기체를 인식하도록

고안한 P alm P ilot을 개발해 출시한 이후 세계 이동 컴퓨터 시장의 70%를

점유하고 있다. P alm Pilot은 자사 P alm Pilot 운용체계를 탑재하고 있다.

P alm Pilot이 독주하고 있는 이동 컴퓨터 시장을 최근 Microsoft

사가 집중적으로 공략하고 있다. P C의 운영체제를 축소해 이식한

W in dow s CE는 다른 OS보다 뛰어난 그래픽과 멀티미디어 성능을 갖추고

있으며, W in dow s 98/ NT 와 같은 인터페이스를 가지고 있다. 지난 1996년

에 정보 가전용 운용체계인 W indow s CE 1.0을 발표하고, 1996년 10월에

새로운 규격의 W indow s CE 2.0을 공개한 데 이어, 1999년 6월에 코드명

Cedar로 알려진 차세대 h andheld P C용 운용체계인 W indow s CE 3.0 규격

을 발표하였다. 이후 W indow s CE 3.0은 포켓 P C라는 휴대형 장비를 위한

OS 명칭으로 2000년 4월에 발표되었다. 특히 M S는 W indow s CE를 12개

협력사를 중심으로 자사 진영에 가담한 업체에 공급해 협력 업체를 통한

- 10 -

Page 19: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

다양한 이동 컴퓨터 개발을 유도한다는 전략이다 [1]. 국외에서는 Casio의

Cas siopeia와 E - series , EM - 500 [2], Com paq com put er의 A ero와

C- series , iPA Q [3], H ew lett P ack ard의 Jorn ada series [4], Ev erex의

F reesty le , NEC의 M obilePro [5] 등이 W in dow s CE를 탑재한 이동 컴퓨터

제품들로서, W indow s CE를 운용체계로 하는 이동 컴퓨터의 개발은 더욱

증가할 전망이다. 최근 Com paq com put er가 미국의 W est ern Research

Lab 및 Sy st em s Research Cent er와 공동 연구로 Linux를 운용체계로 하

는 PDA인 It sy [6]를 개발하여서, 이동 컴퓨터의 운용체계가 더욱 다양해

졌다. 최근에 발표된 컴팩 코리아의 iPA Q은 휴대폰, PDA , MP3 플레이어

의 기능을 모두 갖추고 있으며, 기존의 PDA 및 포켓 P C 가운데 가장 빠

른 속도인 206MHz 32- bit RIS C (명령 축약형) 프로세서를 장착하고 있다.

그리고 W in dow s CE 3.0 기반으로서, 32MB의 내장 메모리를 탑재하고 있

으며, 64MB 확장팩을 추가로 장착할 수 있다. 또한 Casio의 카시오페이

아 EM - 500은 MM C (Mult i M deia Card ) 슬롯을 장착한 것이 특징이다.

국내에서도 지난해 중반을 기점으로 주요 P C 제조업체들이

h andheld P C, PDA 등 이동 컴퓨터 제품개발에 착수하고 국내 시장과 해

외시장 공략을 본격화하고 있다. 벤처기업인 JT EL의 CellVic [7]을 비롯하

여 LG 전자의 M obilian Ex press [8]와 삼성 전자의 IZZI 시리즈 [9], M플

러스텍의 제스 플러스와 제스 컬러, 소프트뱅크코리아의 PD - 131C [23]제

품이 있다. Cellv ic은 자체 개발한 한글 운용체계를 사용하고 있으며, LG와

삼성 제품은 W in dow s CE를 운용체계로 하고 있다. 대부분의 PDA는 외국

운영체제에 한글 입출력 소프트웨어만을 제공하는 것에 비해 Cellv ic은 한

글 운영체제라는 점이 장점이지만, applicat ion이 부족하다는 단점을 가지고

있다 [23]. LG 전자는 삼성 전자보다 먼저 han dheld P C의 개발을 시작하

였으나 M obilian Ex pres s의 판매 부진으로 인하여 han dh eld P C의 개발이

나 제품 생산이 불투명한 상태이다. LG 전자 대신 LG 정보통신의 단말사

업부에 P DA사업팀을 신설하고 아날로그 제품 기능을 개선한 디지털 PDA

(모델명 LG 싸이언 PDA ) 개발을 완료하고 국내 영업에 총력을 기울일 방

침이다. 최근 ET RI에서도 M ot orola 및 JT EL과 공동으로 2001년까지 멀티

미디어 PDA를 개발하기로 하고 본격적인 작업에 착수하였다 [10]. 대우통

- 11 -

Page 20: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

신은 마이크로소프트의 윈도CE 2.12를 기반으로 하는 오토P C를 개발하였

다. 일반적인 컴퓨터기능 이외에 위성이용위치측정 (GP S )시스템과 CD플레

이어, 라디오 수신 기능이 있는 카오디오를 결합한 제품으로 무선 모뎀이

나 이동전화와 연결해 전자우편 송수신과 웹서핑 등이 가능한 모바일 인터

넷 환경이 가능하도록 하였다. 또한, 최근에 발표된 CYBERBAN K의 사이

버드는 m obile com puting과 w ireles s com municat ion s 분야의 기술이 결

합된 P alm Size P C이다. 사이버드는 일반 이동 전화기 모듈을 단말기 본

체에 내장하여 Cable이나 IrDA로 전화기와 연결할 필요가 없이 사이버드

만으로 인터넷 사이트 및 사내 인트라넷 시스템에 접속할 수 있다.

이동 컴퓨터는 세계적으로 아직 초기 단계이어서 이동 컴퓨터의

운용체계나 프로세서 등의 표준화가 전혀 이루어지지 않고 있다. 본 논문

에서 개발한 in stant m esseng er 프로그램은 삼성 전자의 han dheld P C인

IZZI Pro와 PDA인 IZZI P alm을 t arg et plat form으로 설정하여 개발되었으

나, W indow s CE를 운용체계로 하는 다른 이동 컴퓨터에서도 운용될 수

있다.

2 .2 V irtu al W orld 인 터페이 스 및 대화 프 로그램 의

국 내외 개발 현 황

Virtual w orld 인터페이스를 제공하는 상용 시스템은 몇 가지 있다

(표 4와 표 5 참조). 그러나, 본 기술과 동일한 기능을 갖는 시스템은 국내

외에서 아직 존재하지 않는다. v ir tual w orld 인터페이스를 제공하지 않거

나, 무엇보다도 다중 매체의 전송/ 재생을 지원하지 않는다.

v ir tu al w orld 인터페이스는 virtu al shopping m ole, n et w ork mult i

u ser g am e으로의 사용 가능성이 있고, 이에 대한 구현이 국내외에서 이루

어졌다. 본 기술 개발의 선행 연구로 개발한 대화 프로그램인 Ely sium이

그 예이다 (그림 1과 2 참조). 대화 기능을 가진 프로그램은 vir tual w orld

인터페이스의 적용 및 유용성을 검증할 수 있으며, 현재의 상용 통신망에

- 12 -

Page 21: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

서 가장 이용률이 높은 서비스가 대화라는 점에서 의미를 갖는다. 유니텔

의 유니챗은 국내 최초의 3D 아바타 채팅기술을 도입한 프로그램으로 사

이버 상의 자신의 캐릭터를 통해 문자는 물론 그래픽과 사운드를 활용, 웃

기, 울기, 화내기 등의 감정과 인사, 걷기 등의 동작을 다양하게 표현하면

서 채팅을 하는 프로그램으로 각 배경의 분위기에 맞는 사운드 및 캐릭터

동작에 따른 좌우 입체 음향 효과를 내는 기능도 있다 (그림 4 참조). 현재

유니챗은 미국 채팅 시장에 진출을 하였다. 2000년 11월 디지털에이전트에

서 자신을 표현하는 아바타를 이용해서 상대방과 비쥬얼한 채팅을 할 수

있는 큐비 채팅을 개발하였다. 큐비 채팅 프로그램은 입력한 문장을 음성

으로 전달해주는 기능을 가지고 있다 [22]. 이외에도 vir tu al w orld 인터페

이스와 대화 기능을 갖는 프로그램들이 개발되었는데, 그 프로그램들의 비

교를 표 4와 표 5가 요약하고 있다.

표 4. 국내외에서 상용화된 virtu al w orld 인터페이스 제공

프로그램간의 비교(1)

개발기관인물의

anim ation

배경의

anim ation

Ely sium

(그림 1- 3)본 연구팀 Best Best

유니챗

(그림 4)Unit el (SDS )

Good

- Low er F ram eBest

Cyber Chat F ront M ediaGood

- Low er F ram eNone

유리도시

(그림 5, 6)F uj it su Best Best

- 13 -

Page 22: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

표 5. 국내외에서 상용화된 virtu al w orld 인터페이스 제공

프로그램간의 비교(2)

spatial

depth감정 표현 navig at ion

soun d

effectE ly sium

(그림 1- 3)Best Best Best Good

유니챗

(그림 4)Best

Good

- 다양하지

않은 표현

GoodGood

Cyber Chat N on e

Good

- 다양하지

않은 표현

None Good

유리도시

(그림 5, 6)Good Best Best Good

그림 1. Ely sium title

- 14 -

Page 23: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

그림 2. Ely sium m ap의 예

그림 3. Ely sium 사용 예와 help 기능 설명

- 15 -

Page 24: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

그림 4. 유니챗 사용 예

그림 5. 유리 도시 m ap의 예

- 16 -

Page 25: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

그림 6. 유리 도시 사용 예

2 .3 In s t ant M e s s en g er P rog ram 의 국내 외 개발

현 황

인터넷을 통하여 가장 많이 사용하는 것 중의 하나가 바로 전자

우편 (electronic m ail)이다. 그러나 전자 우편의 실제 사용에는 불편한 점

들이 있다. 전자 우편은 항상 메일 서버에 접속하여 확인하여야 한다. 또

한, 상대방의 메일 수신 여부를 확인할 수 없어서 중요한 메일인 경우 이

용하기 어려운 점이 있다. 이런 문제점들을 in st ant m esseng er 프로그램이

극복하면서 사용자들이 폭발적으로 증가하였다. 전자 우편은 수신자와 송

신자 사이에 적어도 2대 이상의 메일 서버를 거치고, 네트워크 상태에 따

라 적당한 회선을 찾아 전송된다. 그러나 in stant m essen ger 프로그램은

송신자와 수신자 모두 1대의 메시징 서버에 접속되어 있기 때문에 송신 및

수신 여부를 바로 확인할 수 있고 전송 속도도 빠르다. 현재 전세계적으로

in stant m esseng er 프로그램은 A OL과 마이크로소프트가 가장 많은 사용

자를 확보하고 있으며, A OL은 ICQ를 인수하면서 A IM (A OL In st ant

- 17 -

Page 26: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

M essen ger )과 ICQ를 보유하게 되었고 AIM의 사용자는 5천만 명이 넘는

것으로 추산된다 [12, 18]. 이에 마이크로 소프트가 M SN M esseng er를 발

표하면서 A OL과 경쟁을 하고 있다.

국내에서 발표된 메신저 프로그램으로는 소프트 메신저, 블루버드

메신저, 인터넷 친구, 매치 페이저, 포토포유, 쿨메신저, 엔메이트, 아이링크

유, 유아이엔 등이 발표되었으며, ICQ, AIM , M SN에 비해 뒤지지 않는 기

능을 가지고 있다 [12, 15]. 초기의 메시징 프로그램은 대개 간단한 메시지

나 파일을 주고 받는 기능을 가지고 있어다. 하지만, 최근에는 친구 찾기,

실시간 쪽지 전송, 파일 공유 등의 기능과 음성 전달 기능까지 보유하고

있다. 특히, 사용자들 간의 com m unication 툴로 주로 사용되던 메신저 프

로그램이 기업 업무에 맞게 비즈니스 플랫폼으로도 사용되고 있다. 그리

고, 블루버드소프트에서는 이동전화, PDA 등 m obile 단말기를 통해서

em ail, 문자 메시지를 주고 받을 수 있는 m obile 통합메시징서비스 (UM S )

가 개발되었다. 한국통신엠닷컴은 컴퓨터에 메시지가 도착하면 018 문자

메시지를 통해서 도착을 통보해주는 서비스를 하고 있다. 대부분의 메신저

서비스가 Deskt op에서 m obile P C로 옮겨가고 있다 [24, 25]. 현재 개발 업

체의 제품마다 메시지의 호환성이 결여됐기 때문에 인터넷 엔지니어링 태

스크 포스 (Int ern et En gineering T ask F orce, IET F ) 산하 IMPP (In st ant

M essagin g an d Presence Protocol) 워킹 그룹은 인스턴트 메시징 시스템

간에 프로토콜과 데이터 포맷을 표준화하려는 작업을 하고 있다. 이밖에

대표적인 국산 인스턴트 메신저의 현황을 아래 표 6에서 보여주고 있다.

표 6. 국산 인스턴트 메신저 현황

종류UIN

메신저

소프트

메신저

블루버드메

신저

M SN

메신저

야후 !메신

개발업체 UIN 디지토블루버드

소프트

마이크로

소프트야후

특징인터넷

정보 검색

peer t o peer ,

서버 종속형

음성채팅,

UM S와

연동

한메일,

아웃룩

연동

음성 채팅

- 18 -

Page 27: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

2 .4 W in dow s CE의 특 징

Microsoft사에서 n on - P C sy st em을 위한 내장형 운용체계

(em bedded OS )로 개발한 W indow s CE는, 내장형 운용체계로서의 특징과

이동 컴퓨터로서의 특징을 모두 갖추고 있다. 이 W in dow s CE의 특징은

다음과 같다. W indow s CE는 작은 메모리만으로도 작동이 가능하며 일반

desktop P C에 비해 훨씬 빠른 부팅 속도를 갖는다. 그리고 노트북 컴퓨터

의 bat tery 용량이 2- 3시간인 것에 비해 W indow s CE를 탑재한 m obile

P C는 10시간 이상 지속될 수 있는 b att ery 용량을 가지고 있다. W in dow s

CE는 컴포넌트 기반의 구조를 가지고 있다. 각각의 모듈들이 독립성이 좋

기 때문에 적용될 하드웨어에서 사용되지 않는 모듈은 운용체계 자체에서

제거할 수도 있다. W in dow s CE의 kernel은 가장 하드웨어 종속적인 구조

를 가지고 있기 때문에 기본적인 하나의 32bit 마이크로 프로세서와 적절

한 양의 RAM과 ROM만으로도 작동할 수 있다. W indow s CE 2.10의 경우

커널은 단지 300KB 정도의 메모리만을 필요로 하고, 제공되는 공통 모듈

과 컴포넌트를 합쳐도 2MB 정도의 메모리만을 필요로 한다. 윈도CE 3.0은

다양한 응용프로그램을 갖추고 있을 뿐만 아니라 리얼타임 등 기능면에서

개선돼 모든 임베디드 시스템 영역에 적용될 수 있다. MP3등 음악 파일뿐

아니라 동영상 재생등의 멀티미디어 기능도 강화되었다. 그리고, 안정적인

개발환경을 제공하고 또 거의 모든 디바이스 드라이버를 지원한다.

W in dow s CE는 T CP/ IP , PP P , IrDA (Infr ar ed Dat a A ssociation )

등 많은 프로토콜을 지원하며 윈도우 기반 시스템과 호환이 가능하다.

LAN , dial- up connection , w ired, w ir eless 등 네트워크 연결이 다양하며,

W in sock , RA S (Rem ot e A ccess S ervice), T API, serial com m unication도

지원된다. h andheld P C는 P C card , m odem을 통하여 일반 deskt op P C처

럼 쉽게 네트워크에 접속이 가능하며 serial port나 U SB port , IrDA

n et w orking이 지원되어 deskt op P C와 쉽게 데이터를 주고받을 수 있다.

최근에 발표되는 PDA의 경우 USB port로 P C와 연결이 가능해 serial

port로 연결 한 경우의 자료 전송 시간에 4배 이상 빠른 속도를 얻을 수

- 19 -

Page 28: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

있다. 또한 W in dow s CE application 프로그램은 마이크로소프트사의

Visual Basic 또는 Visu al C++, Visual J ++ 을 이용하여 개발할 수 있고

다른 CPU로도 포팅이 가능하다 [16, 17]. applicat ion 개발자 입장에서는

이 W indow s CE가 기존의 프로그래밍 방식과 유사하기 때문에 큰 어려움

없이 W in dow s CE applicat ion을 개발할 수 있다는 장점이 있다.

3 . 연구 방법

3 .1 시스 템 구 성

대부분의 인스턴트 메신저 프로그램들은 서버 종속형, P 2P (P eer

t o P eer ) 연결, 두 가지를 통합한 형태의 3가지 방법으로 서비스를 하고

있다. 그리고 여러 서비스간에 표준이 정해져 있지 않기 때문에 호환은 되

지 않는다. M SN m esseng er와 같은 서버 종속형은 서버가 클라이언트를

찾아서 메시지를 전송한다. 그리고, ICQ와 같은 P 2P 방식에서는 중앙 서버

는 현재 온라인 상태인 사람들의 IP 주소를 가지고 있으며, 메시지는 서버

를 거치지 않고 직접 전송한다. 일반적으로 이 방식은 네트워크 트래픽이

적기 때문에 속도가 더 빠르다. A OL의 A IM은 서버 종속형 방식과, P 2P

방식을 혼합한 방식이다. 텍스트 메시지는 중앙 서버를 통해서 연결이 되

고 파일, 그림, 음성 메시지 등은 ICQ 클라이언트 소프트웨어의 P 2P를 통

해서 연결된다. 본 논문에서 개발된 in st ant m es sen ger 프로그램은 모든

데이터들이 서버를 통하여 전송하는 서버 종속형 방법으로 구현되었다. 로

그인 서버를 통하여 클라이언트는 자신의 아이디와 비밀번호를 전송하며

DB 서버에 저장하게 된다. DB 서버에 각 클라이언트의 사용자의 정보와

데이터를 갖고 있어 안정적이고 효과적인 메시지 작업이 가능하며 서버와

의 상호작용을 통해 보다 다양한 서비스와 기능을 제공할 수 있다. 서버

측에서는 클라이언트의 요구를 받아 상대 클라이언트에게 전달하는 역할을

수행하며 모든 요구사항은 이 서버를 통해서 이루어진다. 통신 프로토콜은

- 20 -

Page 29: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

연결 지향형인 T CP prot ocol을 사용하였다. T CP는 UDP에 비해 네트웍의

부하를 많이 주는 것은 사실이지만 UDP에서는 세션 관리의 문제, 전송 확

인 등에 대한 문제가 제기되므로 UDP를 채택한다면 어플리케이션 레벨에

서의 보완이 필요하다. 이동 컴퓨터 사용자뿐 아니라 deskt op 컴퓨터 사용

자도 클라이언트로서 서버에 접속이 가능하며, 접속된 모든 클라이언트간

에 데이터 전송이 가능하다. 클라이언트와 서버간의 연결과 데이터 전송은

LAN을 통해서 이루어지도록 하였다. 그림 7은 시스템 구성의 예를 보인

것으로, 여러 클라이언트와 접속되는 메시징 서버와 DB 서버로 구성된다.

메시징 서버로 사용한 시스템은 P entiumⅡ 400Mh z CPU를 사용하는

W in dow s NT 4.0이다. 클라이언트로 사용한 시스템은 W in dow s CE 2.11

OS가 탑재된 han dheld P C 및 P DA와 W in dow s 98이 탑재된 일반

desktop P C이다. 삼성 IZZI Pro를 han dh eld P C로 사용하였는데, 640×480

해상도와 256 color를 지원하는 LCD 화면이 장착되어 있다. PDA로 사용

한 삼성 P alm은 IZZI Pro보다 훨씬 작은 화면 (240×320 해상도)에서

color 대신 4 그레이 레벨을 지원 `한다.

그림 7. 시스템 구성도

- 2 1 -

Page 30: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

3 .2 개발 환경 과 구현 방법

이동 컴퓨터에 탑재할 인스턴트 메시징 프로그램은 W indow s CE

t oolkit for Visual Basic 6.0을 이용하여 구현하였다. W in dow s CE toolkit

은 Visual Basic에 add - on 형태로 설치된다. W indow s CE Platform SDK

에는 개발에 필요한 디버깅 툴, OS 뷰어, W inCE 에뮬레이터 등이 포함되

어 있다. W indow s CE는 완전한 32 bit OS로서 Unicode를 사용하기 때문

에 W in dow s CE applicat ion을 개발하기 위해서는 W indow s NT 에서만 디

버깅이 가능하다. 본 논문에서는 W indow s NT 4.0 w ork station에서 개발

하였으며 em ulator 환경에서 테스트하였다. 이 em ulat or는 W in dow s CE와

같은 환경을 일반 deskt op 컴퓨터로 옮긴 것이다. 이렇게 테스트와 디버깅

이 끝난 메신저 프로그램은 serial port를 통해 t arg et plat form인 h andheld

P C와 PDA에 전송하였다.

Visu al Basic 6.0의 W in sock A ctiv eX control을 이용하여, 데이터

의 전송 및 수신이 이루어지도록 프로그램을 구현하였다. 메신저 프로그램

에서는 많은 사용자들이 동시에 서버에 접속을 하기 때문에 서버와의 접속

이 가장 중요한 문제이며, 서버와 클라이언트가 1:N의 관계이다. 그리고 서

버와 클라이언트와의 연결 상태는 개개의 소켓으로 관리되어 진다. 일반적

인 개발 툴이나 언어에서는 T hread를 이용하여 소켓을 관리하지만, 본 프

로그램에서 사용한 개발 툴인 Visu al Baisc은 T hread 처리의 어려움으로

그림 8과 그림 9에서 처럼 컨트롤 배열이라는 방법을 사용하였다. 또한, 클

라이언트와 서버간의 데이터 전송은 패킷을 직접 작성을 하며, 서버와 클

라이언트간의 통신시 정해진 패킷을 받아 이를 분석을 하여 수행을 한다.

각 패킷 전송은 전송된 문자를 구별하여 그 기능을 수행하도록 하였다. 예

를 들면, 아래와 같은 패킷이 t cp 소켓을 통해서 들어왔을 때 패킷의 문자

열을 검사하여, CALL 이라는 문자열이 있으면 특정 사용자 호출로 인식

하고, CHAT ROOM 이라는 문자열이 있으면, 대화 내용 패킷으로 인식한

다.

- 22 -

Page 31: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

그림 8. 소켓 생성

그림 9. 서버 접속 과정

- 23 -

Page 32: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

메 시 지 전 송 패 킷 예

특정 사용자 호출: CALL!보내는 사람의 아이디!받는 사람 아이디!

호출 내용

대화 내용 : CHATROOM!대화 내용!대화자 아이디

서버 접속 과정 예

클라이언트의 접속

1. Loca l 포트 설정과 대기 상태

- 다중 접속에서는 소켓의 수만큼 클라이언트 수가 존재한다.

- Conne ctID와 같은 인덱스를 만들어 놓아야 한다.

Priva te S ub Form_Load()

ConnectID = 0

- - 클라이언트가 접속할 포트를 설정한다.

TCPSe rve r(0).Loca lPort = 5000

- - 대기 상태에 있는다.

TCPSe rve r(0).Liste n

End Sub

2. 접속 요구와 Acce pt

Priva te S ub TC PSe rve r_Conne ctionReque st(index As Intege r, ByVa l

requestID As Long)

- - 사용자의 접속시 인텍스를 증가한다.

ConnectID = ConnectID + 1

- - 소켓을 생성한다

Loa d TCPSe rve r(ConnectID)

If TC PSe rve r(ConnectID).State = sckClosed The n

TCPSe rve r(ConnectID).Acce pt re questID - - 접속 허락

End If

End Sub

- 24 -

Page 33: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

클라이언트에서 다른 클라이언트로 파일을 전송하기 위해서는

F T P를 이용하였다. 클라이언트에서는 F T P 프로그램을 통하여 서버에 파

일을 전송 한 후 수신 쿨라이언트에서는 다시 F T P 프로그램을 이용하여

파일을 다운받는 방법을 이용하였다.

메 시 지 전 송 처 리 절 차

1) messe nge r clie nt에서 특정 기능 수행 패킷 생성

2) messe nge r se rve r로의 패킷 전송

3) 패킷을 분석

4) 데이터베이스 검색 혹은 특정 명령 전달

5) 클라이언트로의 데이터 전송

서 버 수신 데 이 터 처 리

P rivate Sub TCPSe rve r_DataArriva l(index As Inte ge r, ByVa l

bytesTota l As Long)

GetData - - 패킷 수신

Ana lys is Pa cket - - 패킷 분석

Ca ll Function - - 함수 호출

Sea rchDB - - DB 검색

Se ndPacket - - 패킷 전송

Do Eve nts

End S ub

서 버 로 의 데 이 터 전송

P rivate cmdSe nd_Click()

- - 패킷 구성 : Tas k!Se nd_ID!Get_ID!Me ssage

TCPClie nt.Se ndData Se ndPa cket

End S ub

- 25 -

Page 34: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

3 .3 데이 터 베 이스

본 논문에서 활용한 삼성 IZZI 시리즈 제품에는 W indow s CE

2.11가 탑재되어 있다. W indow s CE 2.11에서는 ADOCE (ADOCE는

W in dow s CE에서 데이터 베이스를 다루기 위한 A ctiv eX control이다)를

이용하여 로컬 데이터 베이스를 생성/ 삭제할 수 있으나, 원격 데이터 베이

스 서버에 접근하는 것이 불가능하다 [11, 13, 14]. 따라서, 본 논문에서는

사용자의 정보를 데이터 베이스 서버에 저장하고 클라이언트가 특정 정보

를 요구할 경우, 메신저 서버가 클라이언트의 요구를 받아서 데이터 베이

스 검색을 한다. 검색된 데이터는 다시 메신저 서버를 통하여 클라이언트

에게 전송을 하게 된다. 메신저 서버를 경유한 데이터 베이스 검색 과정이

그림 10에 요약되어 있다. 데이터 베이스에 접근을 위하여 ADO (A ctiv eX

Data Object )를 사용하였다. 이 ADO는 OLE DB를 위한 개체 기반 인터페

이스로서 쉽게 데이터 베이스에 접근할 수 있는 방법을 제공하며 속도 면

에서 DA O (Data A ccess Object )나 RDO (Rem ot e Dat a Object )에 비해

훨씬 빠르다. ADO는 로컬 데이터 베이스 처리에 주로 사용되어져 오던

파일 전송

FTP 를 이용하여 파일 전송

1) 클라이언트에서 메신저 서버로 파일 업로드

2) 클라이언트에서 메신저 서버로 파일 메시지 전송

F ILET RANS FER !S e nd_ ID !Ge t_ ID !(ID)File na me

3) 서버에서는 수신 클라이언트로 파일 메시지 전송

4) 파일 메시지 받은 클라이언트는 저장 위치

5) FTP 를 이용하여 파일 다운로드

- 26 -

Page 35: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

그림 10. 메신저 서버

를 경유한 DB 검색

과정

DA O와 관계형 데이터 베이스 처리에 주로 사용되어져 오던 RDO의 대부

분의 기능을 지원한다. 기존의 데이터 관련 개체들에 비해서 적은 메모리

를 요구하기 때문에 서버의 자원을 적게 사용하며 네트워크에 부하를 적게

준다. ADO 개체 모델은 데이터에 접근하기 위하여 사용하는 핵심 개체인

Conn ect ion , Com m an d, Recordset , F ield , Error , P aram et er 등의 개체로 구

성된다. 또한 그림 11과 같이 내부의 개체들이 서로 독립적으로 존재하기

때문에 다른 개체와 연결되지 않아도 데이터 처리를 할 수 있다. ADO의

Conn ect ion 개체와 Recordset 개체를 이용하여 데이터 베이스에 연결하는

예는 다음과 같다.

- 27 -

Page 36: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

그림 11. A DO 개체 모델

Dim adoCn as ADODB.Connection - - ADO의 Connection 개체의 선언

Dim ado Rs as ADODB.Reco rdset - - ADO의 Recordset 개체의 선언

Set adoCn = new ADODB.Connection - - ADO의 Conne ction 개체의 생성

Set ado Rs = new ADODB.Reco rdset - - ADO의 Re cordse t 개체의 생성

a doCn.Ope n "P rovide r=SQ LOLEDB.1;Pe rs ist Se curity Info=Fa lse ;Use r

ID=sa ;Initia l Cata log=Messe nge r;Data Source=AIS ERVER"

- - P rovide r : 사용할 OLE DB Provide r, Data Source : 서버이름

Initia l Cata log : 데이터베이스, ID : 사용자 아이디

a doRs .Ope n "Avata r", adoCn

- - a doCn 연결 개체를 이용하여 Recordset을 가져온다.

a doRs .Close - - Recordset을 닫는다.

a doCn.Close - - Conne ction을 닫는다.

Set ado Rs = nothing - - 메모리에서 Reco rdset 개체 제거

Set adoCn = nothing - - 메모리에서 Connection 개체 제거

- 28 -

Page 37: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

데이터 베이스 서버는 M S - S QL S erv er 7.0을 사용하였다 [27].

S QL은 1970년 IBM에서 만든 구조적 질의 언어 (Stru ctured English

Query Lan gu age)로서, 데이터 베이스를 처리하는 엔진이다. 구현된 프로

그램에서 데이터 베이스는 7개의 테이블로 구성하였다. 각 테이블의 구성

은 표 7과 같다. 서버는 클라이언트의 요청에 의해 각 테이블을 검색하여

응답한다.

표 7. 데이터베이스 구성 테이블

테이블 이름 기능

Av atar av at ar 대화방에 참여한 사용자의 정보를 기록

ChatRoom다자간 혹은 일대일 대화방에 참여한 사용자의 정보

기록

Login 메신저 서버에 접속한 사용자 저장

Board 서버 관리자가 새로운 정보 pu sh 위한 테이블

F rien ds 친구 리스트에 등록된 사용자 저장

Reject s 거부자 리스트에 등록된 사용자 저장

U serInfo 가입한 사용자의 아이디, 비밀번호, 기타 정보기록

서버에 수신된 명령을 분석한 후 각 테이블에 필요한 데이터를 검

색, 입력, 삭제하는 예는 다음과 같다.

S Q L Q ue ry 예

Se lect * from Login

- - Login 테이블에서 모든 Recordset을 가져온다.

Se lect * from Login whe re ID =‘na mrive r’ Orde r by ID Desc(o r

Asc)

- - Login 테이블에서 ID가 na mrive r인 레코드를 가져온다

ID에 대해서 정렬을 한다

- 29 -

Page 38: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

Inse rt (into) Login (ID, SocketID) Va lues (‘na mrive r’, 2)

- - 로그인 테이블에서 하나의 레코드를 입력한다.

Update Login Se t ChatRoom = ‘어서오세요’ whe re ID =

‘na mrive r’

- - 로그인 테이블에서 ChatRoom 필드의 값을 바꾼다.

De lete Login Whe re ID = ‘na mrive r’

- - 로그인 테이블에서 ID가 na mrive r인 레코드를 삭제한다.

4 . 프로그램의 주요 기능과 구현 결과

본 논문에서 구현된 in st ant m esseng er 프로그램은 클라이언트 프

로그램과 서버 프로그램의 두 부분으로 구성되며, 이들이 제공하는 기능은

다음과 같다. 본 절은 주요 기능을 중심으로 소개한다.

clien t program 규격 및 성능

1) 다자간 대화 또는 일대일 대화

2) v ir tual w orld 인터페이스에서의 av atar 운용

3) 특정 사용자의 접속 감지 및 호출

4) 특정 사용자로부터의 메시지 거부

5) em ail 전송 및 수신

6) 파일 전송 및 수신

7) 다중 사용자간의 m em o board 기능

8) 다중 매체를 전송/ 재생하는 plug - in 프로그램과 연결을 위한 인터페

이스 기능

serv er program 규격 및 성능

1) 전체 등록 사용자에 대한 관리 기능

2) 현재 접속하여 사용중인 사용자에 대한 실시간 관리

- 30 -

Page 39: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

3) 사용자 및 관리자가 지정한 정보의 pu sh 전송

4 .1 대화

대화의 유형에는 서버에 접속한 사용자 모두와 대화를 할 수 있는

다자간 대화와 원하는 한 사람과 대화할 수 있는 일대일 대화 두 가지가

있다. 사용자는 대화방 개설시 다자간 대화인지, 일대일 대화인지를 선택하

여 개설한다. 이 때 대화방 개설자의 이름과 대화방 이름, 그리고 일대일

대화인지 다자간 대화인지에 대한 표시를 서버에 저장을 하게 되며, 다른

사용자들이 대화방에 입장시 서버는 현재 대화방에 있는 사용자의 수를 검

색을 하여 일대일 대화인 경우 대화 참여자를 제한하였다. 현재 이 프로그

램은 다자간 대화의 경우 참여 인원에 제한이 없으나, 일대일 대화인 경우

는 2명으로 제한된다. 사용자가 대화방 입장할 때 처리해야 할 과정이 그

림 12에 요약되어 있다.

이동 컴퓨터 또는 deskt op 컴퓨터 사용자 모두와 대화 가능하다.

또한 IRC (Int ernet Relay Chat )처럼 공통된 주제를 가지고 있는 가상의

공간에서 그 사람들끼리만 대화를 할 수 있는 대화방 기능과 특정 사용자

를 호출 할 수 있는 기능 또한 구현하였다. 그림 13은 대화 및 대화방의

예를 보인다. 그림 13의 왼쪽 창은 대화방 제목과 대화방 개설자, 그리고

일대일 대화인지 다자간 대화인지를 표시하고, 오른쪽 창은 현재 메신저

프로그램으로 서버에 접속한 모든 사용자들의 아이디를 열거한다. 대화방

창은 클라이언트가 메시징 서버에 접속하거나 대화방이 개설됨과 동시에

화면에 나타나게 된다.

- 3 1 -

Page 40: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

그림 12. 대화방 참여 흐름도

- 32 -

Page 41: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

그림 13. h andheld P C에서의 다자간 대화를 위한 대화방 설정의 예

대 화 방 확 인 순 서

1) 클라이언트가 서버에 접속

2) 접속 확인 후 서버는 현재 개설된 방 제목과 개설자, 다자간 대화 여부

를 전송

패킷 생성 방법) 방이름%개설자%다자간 대화 여부!$접속자!접속자

3) 클라이언트는 받은 패킷을 대화방과 접속자를 분석후 화면에 보여준다.

4) 클라이언트의 대화방 개설

5) 방이름, 개설자, 다자간 대화 여부 서버에 전송

패킷 생성 방법) MAKEROOM!방이름!개설자!다자간 대화 여부

6) 패킷을 받은 서버는 ChatRoom 테이블에 입력

7) 접속되어 있는 모든 클라이언트에게 CHATLIST" 패킷 전송

- 33 -

Page 42: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

8) 패킷을 받은 클라이언트는 서버에 CHATLIST" 패킷 전송

9) 서버는 ChatRoom 테이블에서 개설된 대화방과 Login 테이블에서 접속

되어 있는 사용자 검색

10) 패킷 생성

11) 검색된 대화방과 접속자 전송

접 속 자 확 인 순 서

1) 클라이언트가 서버에 접속

2) 서버는 접속되어 있는 클라이언트에게 C HATLIST"라는 패킷을 전송

3) 이 패킷을 받은 클라이언트는 서버에게 CHATLIST" 패킷을 전송

4) 서버는 Login 테이블에서 접속되어 있는 사용자와 개설된 대화방 검색

5) 검색된 접속자 아이디와 개설된 대화방 전송

4 .2 접 속자 확인 , 친 구 / 거부자 리스 트 및 특정 사용

자 호출

사용자는 친구 리스트에 추가, 삭제 그리고 대화하기 싫은 사용자

들은 거부자 리스트에 추가 및 삭제할 수 있다. 친구 리스트를 등록하는

과정과, 등록된 친구/ 거부자 리스트의 확인 요청을 처리하는 과정은 다음

과 같다.

친 구 등 록 과 정

1) 접속자 리스트 클릭

2) 사용자와 친구 및 거부자 메신저 서버에 전송

3) 서버에 전송된 패킷 분석

4) Frie nds 와 Rejects 테이블에 사용자와 친구 및 거부자 입력

- 34 -

Page 43: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

확 인 과 정

1) 사용자의 확인 요청

2) 사용자는 서버에 FRIENDREJ ECTLIST 패킷 전송

ex) FRIENDREJ ECTLIST!사용자 아이디

3) 서버에서 전송된 패킷 분석

4) 사용자의 친구 및 거부자 리스트 검색

"Se le ct frie nd, connect from Frie nds whe re ID ='사용자 아이디'

Se lect reject, Connect from Rejects whe re ID ='사용자 아이디'

친구 및 거부자의 아이디와 접속 여부 검색

5) 전송 패킷 생성

"FRIENDREJ ECTLIST!친구 리스트$거부자 리스트

6) 사용자에게 전송

그림 15에서 처럼, 친구/ 거부자 리스트에 등록된 사람이 온라인이지 오프

라인이지는 O ' 혹은 X ' 기호로 표시된다. 현재 이 메신저 프로그램은 앞

의 그림 13의 접속자 리스트에서 사용자를 선택하여 추가하며, 친구/ 거부

자 리스트에서 삭제가 가능하도록 하였다. 그리고 이 DB를 서버 측에서

저장함으로써 데이터를 안전하게 저장하고 검색할 수 있다.

이외에 사용자는 접속시 DB를 검색하여 접속자 리스트에 있는 사

람이 온라인인지 오프라인인지를 실시간으로 확인할 수 있고 접속된 특정

사용자를 호출할 수도 있다. 접속되어 있는 특정 사용자를 확인한 후, 사용

자는 특정 사용자에게 자기의 존재를 알리거나 호출할 수 있다. 사용자는

서버에게 호출하는 사용자의 ID와 호출될 사용자의 아이디를 전송한다. 서

버에서는 호출될 사용자의 존재를 검색한 후 호출자의 아이디를 호출될 사

용자에게 전송한다. 그림 14는 특정 사용자가 메시징 서버에 접속해 있는

지 확인하고 호출하는 절차를 flow chart에서 설명하고 있다.

- 35 -

Page 44: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

그림 14. 특정 사용자 접속 감지와 호출

.

- 36 -

Page 45: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

그림 15. 친구/ 거부자 리스트

4 .3 Em ail 전송 및 수 신 확 인 , F T P

W indow s CE는 아주 작은 운용체계이어서 지원하는 A PI와 컴포

넌트가 제한되어 있기 때문에, dev S oft사의 W in dow s CE용 A ctiv eX

Control을 이용하여 em ail 송수신과 파일 전송 기능을 구현하였다 [21]. 각

A ctiv eX Control은 handheld P C나 P DA의 r egistry에 등록되어야 한다. 이

를 위해서 W in dow s CE T oolkit에 있는 Control M an ager t ool을 이용하거

나, regist ry 등록 프로그램인 Reg sv r2.ex e 실행 파일을 이용할 수 있다.

r eg istry 등록 프로그램을 사용할 경우 각 CPU에 따라 사용 가능한 실행

파일을 필요로 한다. F T P 프로그램은 h andheld P C나 PDA에서 F T P

S erv er로 연결한 후 원하는 파일을 다운로드 하거나 F T P S erv er로 전송할

수 있다. 또한 인스턴트 메신저 프로그램을 사용 중에 즉시 em ail의 전송

이 가능하며, 메일 수신 프로그램을 통하여 서버에 전송된 메일을 확인할

수 있다. 그림 16, 17, 18은 각각 em ail 클라이언트 프로그램, 메일 수신 확

인 프로그램, F T P 클라이언트 프로그램의 사용 예를 보인다.

- 37 -

Page 46: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

그림 16. Em ail 클라이언트 프로그램

그림 17. 메일 수신 확인 프로그램

- 38 -

Page 47: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

그림 18. F T P 클라이언트 프로그램

4 .4 V irtu al W orld 인 터페이 스

기존의 텍스트 기반 대화 방식에서는 텍스트로만 대화가 가능하고

대화자의 표정이나 감정을 표시할 수 없다. vir tual w orld 인터페이스는 기

존의 텍스트 기반의 대화 방식에서 탈피하여 아바타를 통하여 채팅, 쪽지,

파일 전송을 전송하게 한다. 잎에서 언급하였듯이, v ir tual w orld in t erface

는 아바타와 공간 (place)의 개념이 도입된 것으로 다음과 같은 특징을 갖

는다.

신상 정보 조회 등의 기능 수행의 대상이 되는 사용자를 tex t ID뿐

아니라 아바타의 외형으로 구별할 수 있다. 아바타는 사용자를 형상

화한 것으로서, 보통 이미지나 3차원 모델로 표현한다.

매체의 전송 또는 재생을 위하여 m enu , m ou se but t on 등을 사용하지

않고, 대상이 되는 매체를 전달하고자 하는 아바타에 drag & drop함

으로써 기능을 수행하는 편리한 인터페이스를 제공한다.

대화에 참여하는 사용자는 가상 공간에서 원하는 장소에 자신의 아바

- 39 -

Page 48: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

타를 배치하고, 대화 도중 아바타의 위치를 변경할 수 있다.

문자 또는 말로만 표현하는 의사 소통이 아니라 아바타를 통하여 감

정과 동작으로도 반응함으로써, 보다 현실감 있고 친밀한 대화가 가

능하며 대화에 참여하는 타 사용자의 존재를 확실히 느끼게 한다.

사용자는 서버에 접속시 자신의 아바타를 선택하며, 이는 가상 공

간에서 자신의 ID로서 작용한다. 이 아바타는 가상 공간에서 사용자를 표

현하며 이를 통하여 모든 메신저 사용자끼리 정보를 교환할 수 있게 한다.

또한 원하는 상대방의 아바타를 마우스 클릭만을 통하여 상대방의 정보를

알 수 있고, 필요한 메시지를 전송하거나 파일도 전송 가능하다. 보내고자

하는 파일을 아바타에 drag an d drop함으로써도 상대방에게 전송을 할 수

있는 편리한 인터페이스를 제공한다. 그리고 이 아바타는 자신의 ID로만

작용하는 것이 아니라 공통된 주제를 가진 가상의 공간 즉 대화방에서 대

화를 나눌 경우 상대의 아바타를 보면서 대화를 나눌 수 있고, 아바타를

통하여 감정과 동작으로 반응할 수 있기 때문에 현실감 있고 친밀하게 대

화를 나눌 수 있는 직관적인 환경을 제공하게 된다. 아바타로는 합성한 이

미지 뿐 아니라, 사용자의 실제 얼굴 이미지도 사용할 수 있다.

사용자는 아바타 대화방에 접속시 그림 19와 같이 제시된 아바타

중에 하나를 선택하게 되며, 대화방에 참여함과 동시에 사용자의 아이디와

아바타 아이디는 데이터 베이스 서버에 저장된다. 가상 공간에서 사용자들

은 자신의 아바타 위치와 표정을 바꿀 수 있다. 만일 아바타의 위치와 표

정 변화가 일어난다면, 위치 정보 및 표정 정보는 서버에 전송된다. 서버에

서는 같은 아바타 대화방에 있는 사용자들을 검색을 하여, 검색된 사용자

에게 위치 정보 및 표정 정보를 전달하게 된다. 아바타의 위치는 사용자가

클릭한 곳으로 이동을 할 수 있으며, 대화 공간을 벗어날 수는 없다. 아바

타의 표정은 웃는 표정, 우는 표정, 화난 표정 세 가지로 표현 가능하다.

v ir tu al w orld 인터페이스에서 아바타 대화 도중 상대방 아바타를

클릭하여, F T P 전송 프로그램, 메일 전송 프로그램, 특정 사용자 호출 등

을 수행할 수 있다. 상대방 아바타를 클릭 하여 원하는 통신을 수행하는

- 40 -

Page 49: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

방식은 기존 방식에 비하여 보다 직관적이고 편리하다. 그림 20은 v ir tual

w orld 인터페이스의 초기 화면으로서, 아바타 대화 도중에 수행 가능한 통

신 기능을 나타낸다. 그림 21은 아바타 대화 처리 과정을 flow chart로 설명

하고 있다.

그림 19. 아바타 선택 화면

그림 20. vir tual w orld 인터페이스의 초기화면

- 4 1 -

Page 50: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

그림 21. 아바타 대화 흐름도

- 42 -

Page 51: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

m obile P C에서 아바타 대화 도중에 특정 아바타를 클릭하여 파일

을 보내는 예를 그림 22에서 보인다. 그림 22에서 화면 아래의 탐색기 창

에서 전송하고자 하는 파일을 선택한 후 아바타를 클릭을 하면 아바타 사

용자의 컴퓨터로 파일이 전송된다. deskt op P C에서는 전송하고자 하는 파

일을 상대방 아바타에 마우스로 drag하면 되지만, W in dow s CE에서는 마

우스의 drag operat ion이 지원되지 않기 때문에 대신 sty lu s pen의 click

operat ion을 사용한다. 그림 23은 아바타 대화방에서 세 명의 사용자가 대

화를 하고 예를 보이고 있는데, 오른쪽 화면은 대화 내용을 표시하는 부분

이며, 아래의 텍스트 박스는 사용자가 대화 내용을 작성하는 부분이다.

그림 22. 파일 전송 화면

- 43 -

Page 52: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

그림 23. vir tu al w orld 인터페이스를 사용한 아바타 대화의 예

5 . 고찰 및 비교

5 .1 W in dow s CE용 인 스턴트 메신 저와의 비교

본 논문의 연구가 시작될 당시만 하더라도, 외국에서는 이미 ICQ,

A IM , M SN 등의 in st ant m es sen ger 프로그램이 개발되어 사용되고 있었

지만 국내에서는 개발된 in st ant m esseng er 프로그램이 하나도 없었다. 그

러나 현재 국내에서도 in stant m esseng er 프로그램이 많이 개발되었고 외

국에서 개발된 프로그램에 비하여 뒤지지 않는 기능을 제공한다. 2000년

초에 Nokia와 A m erica Onlin e이 Nokia의 각종 무선 휴대형 단말기에서 사

용할 수 있는 in st ant m es sen ger 프로그램을 공동 개발한다는 언론 보도가

있었으나 2000년 10월 현재 개발이 진행 중이다.

현재까지 국내에서 개발된 W indow s CE용 메신저는 존재하지 않

- 44 -

Page 53: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

으며, 국외에서는 Yahoo M esseng er가 유일하다 [20]. 하지만 Yah oo

M essen ger는 가장 기본적인 기능만을 보유하고 있다. Yahoo M esseng er의

주요 기능은 친구 추가/ 삭제 기능과 거부자 리스트, 메시지 전송 (일대일

대화), 주식/ 뉴스/ 날씨 등의 게시판 기능에 불과하다. 하지만 본 논문에서

개발된 메신저 프로그램은 이 기능 외에도 대화방 개설과 다자간 대화, 일

대일 대화, 파일 전송 및 특정 사용자 호출, F T P 서버로의 파일 전송 및

수신, 메일 전송 및 수신 확인 기능이 있다. 무엇보다도 가장 큰 특징은

Yahoo M esseng er가 단순한 텍스트를 기반으로 한 메시지 전송 기능을 갖

고 있는 반면에 본 논문에서 개발된 메신저 프로그램은 가상 공간에서 대

화를 나눌 수 있는 아바타 대화의 기능을 갖추고 있는 Virtual W orld 인터

페이스를 지원한다는 점에서 Yahoo M es sen ger에 비해 인터페이스와 기능

면에서 더 우수하다고 볼 수 있다. 또한 , 국내 인스턴트 메신저 개발 회사

에서 휴대폰과 단문 전송 및 메일 확인 등의 기능을 수행하는 메신저 프로

그램이 개발되었다. 하지만, 이는 텍스트 기반의 간단한 기능만을 보유하고

있다. 표 8은 본 논문에서 개발된 in stant m essen ger 프로그램과 Yahoo

M essen ger 프로그램의 비교를 요약하고 있다.

v ir tu al w orld 인터페이스를 제공하는 유사 시스템이 개발된 것도

사실이지만, 동일한 기능을 갖는 시스템은 국내외에서 아직 존재하지 않으

며 본 시스템 개발에 사용된 요소 기술이 개별적으로 존재하고 있다. 요약

하면, 본 논문을 통하여 개발된 virtu al w orld 인터페이스를 제공하는

in stant m esseng er 프로그램은 다음과 같은 점에서 가장 진보된 시스템이

라 할 수 있다.

· 본 프로그램은 W indow s CE를 OS로 사용하는 m obile P C용 in stant

m essen ger 프로그램이다.

· 본 in st ant m esseng er 프로그램은 다른 in stant m esseng er 프로그램

과 달리, v ir tual w orld 인터페이스라는 새롭고 편리한 인터페이스를

제공한다.

· 본 프로그램의 vir tual w orld 인터페이스는 다중 매체의 전송과 재생

을 지원한다.

- 45 -

Page 54: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

· m obile P C 사용자간의 다자간 대화 즉, 아바타 대화가 가능하다.

표 8. 개발된 in st ant m es sen ger 메신저 프로그램과 Yahoo M es sen ger

프로그램과의 비교

개발된 in stant

m essen ger 프로그램

Yahoo CE

M esseng er 프로그램

일대일 대화 Y Y

아바타 대화 Y N

다자간 대화 (채팅방) Y N

파일 전송 Y N

사용자 호출 (메시지 전송) Y Y

F T P 서버로 전송 및 수신 Y N

게시판 기능 Y Y

메일 전송 Y N

친구 등록/ 거부자 등록 및

삭제Y Y

5 .2 W A P 기 반의 인스턴 트 메신 저와의 비교

인터넷과 무선 기술의 발달로 각종 인터넷 서비스들이 무선 단말

기를 지원하고 확장되기 시작했다. 이에 따라 이동 전화에서 웹에 접근하

기 위한 W AP의 표준화가 빠르게 확산되고 W AP 브라우저를 탑재한 인터

넷 폰이 다양하게 개발되고 있다. W AP (W ireless Applicat ion Prot ocol)은

이동 전화와 다른 무선 터미널 상에서 무선 정보와 전화 서비스의 표현과

전달을 위한 표준이며, 무선 환경에서 더 진보된 서비스를 만드는데 목적

이 있다 [26]. 본 논문에서 개발된 인스턴트 메신저 프로그램이 W in dow s

CE를 OS로 사용하는 PDA에 운용한다는데 반해, W AP 기반의 인스턴트

- 46 -

Page 55: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

메신저 프로그램은 이동 전화에서 웹에 접근하여 사용된다. W AP 기반의

인스턴트 메신저 프로그램을 사용하기 위해서는 W A P 브라우저가 내장된

인터넷 폰이어야 하며, 현재 국내 단말기 회사에서 W AP 브라우저가 내장

된 인터넷 폰을 생산하고 있다. 하지만, 화면의 크기와 성능을 볼 때 아직

까지는 인스턴트 메신저의 가장 간단한 기능인 문자 전송에서 크게 벗어나

지 못하며, 전송 속도에도 좋은 성능을 나타내지 못하고 있다. 현재, 국내

의 무선 네트웍은 단말기가 먼저 게이트웨이에 접속해 회선 연결을 설정하

지 않는 이상은 서버가 단말기에 접속할 수 없다. 즉, 이동 전화에서 인터

넷에 접속을 해야만 메시지 도착 여부를 알 수 있는 문제점이 있어 인스턴

트 메신저로 보기에는 문제점이 있다. 개발 방법 역시 컨텐츠 사업자마다

서비스되는 무선 인터넷의 lan gu ag e가 달라, 서비스 업체에서는 W ML,

HDML 등 각각 다른 languag e로 작성된 모든 종류의 문서를 보유해야만

다른 서비스 업체로의 메시지 전송이 가능하다. 이에 비해 PDA에는

W in dow s 98/ NT 와 같은 사용자들에게 익숙한 인터페이스를 가지고 있으

며, 하나의 소형 컴퓨터로서 W AP 기반의 메신저에 비해 개발방법이나 기

능 면에서 쉬운 환경을 제공한다. 그리고 이동 전화기 모듈을 단말기 본체

에 내장한 PDA가 개발되고 있어 PDA에서의 인스턴트 메신저의 활용도가

점차 확산될 것이라 예상한다.

5 .3 활용 방안

본 논문에서 개발된 기술은 진보된 의미의 다자 참여 시스템, 인

터넷 쇼핑몰의 구현, 네트웍 다자 참여 시스템의 구축에 직접적으로 사용

될 수 있다. 특히, 유무선 멀티미디어 데이터 통신 서비스를 제공하는 휴대

형 단말기 (통신기기와 정보 기기 포함)의 사용자 인터페이스로서 유용하

다. 휴대형 단말기는 입출력 장치, 제한된 bat t ery 수명, 네트웍 접속 방식

등에서 desktop 컴퓨터나 not ebook 컴퓨터와 많이 다르기 때문에, 이러한

컴퓨터에서 사용하던 사용자 인터페이스를 그대로 적용할 수 없다. 본 기

술이 활용될 수 있는 예로서, 휴대형 물류정보시스템 (수주 처리, 창고 입

- 47 -

Page 56: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

출하, 재고 관리, 수송 및 배송), 순찰 업무 (개인 시상 정보 조회, 도난 차

량 조회 등), 네트웍 다자 게임, 가상 쇼핑몰, 원격 의료 업무 등을 들 수

있다. 보다 구체적인 활용 방안은 다음과 같다.

보험 업무용

이동이 잦은 보험 설계사가 고객과의 상담 즉석에서 적절한 상품을 설계해 주는

업무나, 현장의 실사 업무에 적용할 수 있다. 설계사의 경우, 설계 자료를 메신

저 프로그램을 이용하여 네트웍에 접속하여 확인하며, 사무 공간이 필요한 것이

아니라 비용도 절감할 수 있다.

② 현장 업무용

실시간으로 자료를 업데이트하거나 보고나 새로운 지시를 받기 위한 자료

를 송수신 가능하다. 따라서, 휴대형 물류정보 시스템 (수주 처리, 창고 입

출하, 재고 관리, 수송 및 배송)이나 순찰 업무 (개인 신상 정보 조회나 도

난 차량 조회 등), 각종 검침 업무 (수도, 가스, 전기 검침 등)가 좋은 예이

다. 또한, 업무의 성격에 따라 휴대형 프린터나 디지털 카메라 등이 있으면

고객 앞에서 곧 바로 견적서나 고지서, 영수증 등을 출력하여 줄 수 있다.

③ GIS/ GPS

mobile PC에서 지원되는 GIS나 GPS는 일반적인 지도 정보뿐만 아니라 각종 상

하수도관, 통신 회선 등의 배선 등을 관리하는 도구로 활동되고, 물류 등의 위치

정보를 제공하는데 활용될 수 있다.

④ Embedded OS

대부분의 사람들이 휴대 전화나 PDA와 같은 소형 디바이스를 소유하게

될 것이며, 산업 전반에 걸쳐 소형 디바이스들이 사용될 것이다. 이런 소형

디바이스가 무선 통신의 기능을 보유하게 되면, 데이터 전송의 의미는 더

욱 커지게 된다. 또한 em bedded OS인 W indow s CE가 세탁기, 냉장고,

- 48 -

Page 57: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

T V 등에 탑재가 되면 원거리에서도 메신저를 이용하여 사용자의 데이터

입력 및 명령을 송수신 할 수 있는 기능을 갖게 되어 본 논문에서 개발된

인스턴트 메신저의 의미는 증가될 것이다.

6 . 결론 및 향후 연구

본 논문에서는 m obile P C에서 실행되는 v ir tual w orld 인터페이스

를 개발하였다. 이 사용자 인터페이스는 m obile P C에서 운용되는 in stant

m es sen ger 프로그램에 적용됨으로써, 편리하고 신속하게 필요한 정보를 얻

을 수 있게 한다. 또한 개발된 프로그램은 기존의 문자를 통한 대화 방식

에서 탈피하여 인터넷이라는 가상 공간에서 사용자를 아바타를 통하여 구

별하고, 이를 통하여 대화나 파일 전송의 기능을 지원한다는 점에서

n et w orked virtu al environm ent 분야에서도 적용될 수 있다.

본 논문에서 사용한 t arget plat form인 W indow s CE는 W indow s

98/ NT 에 비해 많은 기능을 제공하지는 못하고 그에 따라 개발에 제약이

있었다. 가령, W in dow s CE 2.11에서 인식, 재생 가능한 데이터의 범위가

문자, han dw rit in g , em ail, file, 몇 가지 형식 (BMP , JPEG, GIF )의 이미지

및 w av e 형식의 audio 데이터에 국한되어 있어서, 이에 따라 전송, 재생할

수 있는 데이터의 범위가 이 형식의 데이터로 제한되었다. 국내외에서 이

미 개발이 진행되고 있는 이동 컴퓨터를 위한 au dio/ v ideo str eam ing 기술

이 상용화되면, 이를 plug - in 프로그램 형태로 이용하여 본격적인 멀티미

디어 데이터를 전송/ 재생하는 프로그램으로 활용할 수 있을 것이다. 상이

한 매체의 전송/ 재생을 위하여 개별적인 프로그램을 수행하지 않고도, 편

리한 인터페이스를 제공하는 하나의 통합된 프로그램을 사용하여 대화나

통신을 가능하게 하는 이 프로그램은, 차세대 정보 단말기의 사용자 인터

페이스로서 잠재적 가치가 크다고 하겠다.

앞으로는 대부분의 사람들이 휴대전화나 PDA와 같은 소형 디바

이스를 소유하게 될 것이며, 산업 전반에 걸쳐 소형 디바이스들이 사용될

- 49 -

Page 58: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

것이다. 이런 PDA같은 소형 디바이스가 무선 통신의 기능을 보유하게 된

다면, 데이터 전송의 의미는 더욱 커지게 될 것이다. 또한 em bedded OS인

W in dow s CE가 세탁기, 냉장고, T V 등에 탑재가 된다면 원거리에서도 메

신저를 이용하여 사용자의 데이터 입력 및 명령을 송수신 할 수 있는 기능

을 갖게 되어 본 논문에서 개발된 인스턴트 메신저의 의미는 증가될 것이

다.

향후 연구로는 다음 세 가지 방향을 고려할 수 있다:

1. 사용자의 집중을 고려한 인터페이스의 개선과 일반 사용자를 대상으

로 한 인터페이스의 실험

2. m obile P C의 전원 소모와 네트웍 부하를 고려한 프로그램 구현

3. 이동 전화와 같은 통신기기에 적용

현재의 v ir tual w orld 인터페이스를 비롯하여, 울티마 온라인과 같

은 그래픽 머드게임과 통신의 대화방에서 풍선 대화 창과 대화 스크롤 창

을 일률적으로 채택하고 있으나, 실제 사람의 인식도는 낮으며 사람의 집

중 (hum an at tent ion )이라는 요소가 결여되어 있다. Roddy &

Epelm an - W an g의 논문 [19]을 인용하면, 여러 명이 참가하는 실제 칵테일

파티에서는 몇 개의 소그룹 별로 대화가 동시에 진행되며, 관심도에 따라

소그룹을 이동하면서 불편 없이 대화를 하는 것이 가능하지만, 현재의 대

화 인터페이스로는 소수의 인원에도 불구하고 불가능하다. 따라서, 사용자

가 속하지 않은 대화방의 내용도 중요한 것은 대강 파악을 하게 하고, 원

하면 언제든지 그 대화방으로 참여할 수 있게 하는 인터페이스가 필요하

다. 또한, 인터페이스의 개발에 참여하지 않은 일반 사용자를 대상으로 실

제 실험을 하여, 인터페이스를 분석하고 보완하는 작업이 필요하다.

m obile P C를 비롯한 휴대형 단말기를 위한 사용자 인터페이스를

개발할 때 항상 고려해야 할 사항중의 하나가 네트웍 부하와 단말기의 전

원 소모를 최소화할 수 있도록 설계해야 한다는 것이다. 컬러 디스플레이

를 장착한 W indow s CE 시스템의 경우 배터리 사용 시간이 10 시간 정도

에 불과하고, 동영상과 같은 CPU 집중적인 어플리케이션을 사용할 경우

사용 시간이 더욱 감소하기 때문에, 전원 소모를 고려한 프로그램의 구현

- 50 -

Page 59: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

이 중요하다. 전원 소모를 감소시키기 위한 한 방법은, 일반적인 프로그램

최적화 이외에 각 CPU 명령어의 전원 소모를 추정하여 코드를 재배열하

는 것이다. 또한 본 논문에서 활용한 m obile P C에 탑재된 W indow s 2.11과

달리, 2000년 4월에 출시된 포켓 P C인 W in dow s CE 3.0에서는 원거리에

있는 데이터 베이스 서버에 접근할 수 있다. m obile P C용 인스턴트 프로그

램이 CE 3.0에서 구현되면, 클라이언트가 메신저 서버를 거치지 않고 직접

데이터 베이스 서버에 접속하여 원하는 자료를 가져올 수 있기 때문에, 메

신저 서버의 부하를 줄일 수 있으며, 패킷 생성 실패를 막을 수 있고, 속도

향상을 가져올 수가 있을 것이다. W indow s CE 2.11을 OS로 사용한 P DA

에 비해 W in dow s CE 3.0을 사용한 PDA가 CPU 속도와 GUI에서 뛰어난

성능을 발휘하고 있어 사용자의 편리성과 인터페이스 면에서 더 좋은 성

과를 낼 수 있을 것이다.

본 논문에서 개발한 인터페이스는 기본적으로 han dh eld P C나

P DA와 같은 정보 기기 (또는 이동 컴퓨터)에서 운용되고 시험되었다. 향

후 이동 전화와 같은 통신 기기에서 무선 인터넷 서비스를 보편적으로 이

용하려면 사용자가 편리하다고 느낄 수 있는 인터페이스가 개발되어야 한

다. 통신 기기는 정보 기기보다 훨씬 작은 화면을 사용하고 입력 장치도

더 제한되어 있다는 점에서, 사용자 인터페이스의 설계가 더 어렵다고 할

수 있다. 본 연구자는 앞에서 소개한 virtu al w orld 인터페이스를 차세대

통신기기에 확장 적용할 계획을 갖고 있다.

- 5 1 -

Page 60: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

7 . 참고 문헌

[1] Microsoft , "W in dow s P ow ered ",

h ttp :/ / w w w .microsoft .com/ w in dow sce/ , 1998.

[2] Casio, "P er sonal P Cs ", h ttp :/ / w w w .casio.com/ hpc/ , 2000.

[3] Compaq, "H andhelds H om e ",

ht tp :/ / w w w .com paq.com/ product s/ han dh elds/ , 2000.

[4] H ew lett P ackard , "hp j ornada 545/ 548 ", h ttp :/ / w w w .hp.com/ jornada/ ,

2000.

[5] NEC Com put er s , "M obilePro ", ht tp :/ / w w w .n ec- com put er s .com/ , 2000.

[6] Compaq, "W estern Research Laboratory ",

ht tp :/ / w w w .research .digital.com/ w rl/ proj ect s/ It sy/ in dex .h tm l/ , 1999.

[7] JT EL, "Cellv ic ", ht tp :/ / w w w .jt el.com/ product s/ pda .htm l/ , 2000.

[8] Be Interactiv e, "모바일 컴퓨팅 웹 매거진 ", ht tp :/ / w w w .m cn et .co.kr/ ,

2000.

[9] 삼성 전자, "izzi pro/ izzi palm ", http :/ / w w w .sam sung electronics .com/

kr/ corporateinfo/ pr/ exhibit/ 00_04/ izzi.h tm l, 1999.

[10] 한국 전자 통신 연구원, "지능형 휴대 클라이언트 기술 ",

ht tp :/ / m m .etr i.r e.kr/ n s/ project/ pf_ipc.htm/ , 2000.

[11] Larry Roof, "Profes sional Visual Basic W in dow s CE Programm ing ",

W rox Pres s , Birm ingham , Canada , 1998.

[12] 정보시대, "마이크로 소프트웨어 ", pp . 255 - 289, 1999년 11월.

[13] VBCE .COM , "W indow s CE Program m in g ", ht tp :/ / w w w .vb ce.com/ ,

1998.

[14] Rem arQ.com , "the provider of Int ernet m essaging and

collaboration ", ht tp :/ / w w w .rem arq .com/ , 1999.

- 52 -

Page 61: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

[15] 디지토닷컴, "인터넷 실시간 메시징 프로그램 ",

ht tp :/ / w w w .softm es sen ger .com/ , 1999.

[16] DST , "Em bedded S olution s ", h ttp :/ / w w w .dstcorp .co.kr/ , 1998.

[17] DST , "Microsoft W indow s CE & NT Em bedded Dev eloper s

S em in ar ", S eoul, Decem ber 1999.

[18] Am erica Onlin e, "A IM ", ht tp :/ / w w w .aol.com , 1998.

[19] Brian . J . Roddy an d H ernan Epelm an - W ang , “I n terface I s s ues in

T ex t B as ed Chat R oom s” SIGCHI Bullet in , Nov .30, N o.2,

pp .119- 123, April 1998.

[20] Yah oo, "야후 ! 메신저", ht tp :/ / kr .m es sen ger .y ah oo.com/ , 1997.

[21] n soft w are, "IPW ork s Int ernet T oolkit ", h ttp :/ / w w w .dev - soft .com ,

1998.

[22] Digitalag ent , ht tp :/ / w w w .digit alagent .co.kr/ , 2000.

[23] 정보시대, "마이크로 소프트웨어", pp . 305 - 328, 2000년 11월.

[24] ㈜블루버드소프트, "한박스 ! Nex t Com municat ion N etw ork ",

ht tp :/ / w w w .hanbox .com/ , 1998.

[25] UIN , "UIN 메신저", h ttp :/ / w w w .uin .com/ ph on e/ UIN_018.htm l, 2000

[26] 장형화, "W AP개발자 모임", ht tp :/ / w ap .pe.kr/ , 1999.

[27] 정원혁, Microsoft S QL S erv er 7.0", 도서출판 대림, 1999.

- 53 -

Page 62: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

부록

1 . W in dow s CE 개발 툴

1.1 개 발 툴 설치

1 .1 .1 개발 환 경

OS는 W in dow s 98/ NT / 2000에서 개발 가능

em ulat or 는 W in dow s NT / 2000에서만 가능

1 .1 .2 개발 툴 킷

Visu al Basic toolkit , Visu al C++ t oolkit , emb edded tools

1 .1 .3 CE 용 S D K

em ulat or와 몇몇 기본 예제가 포함

1 .1 .4 A ct iv e S y n c

* 이전 버전은 W in dow s CE S ervice 라는 이름으로 나와 있음

(1) W inCE Device 와 Deskt op 과의 연결을 관리

(2) W inCE Device 의 탐색창 을 볼수 있음

(3) S erial port 혹은 USB port를 통해서 데이터를 주고 받을 수

있다

(4) 자동으로 변환 가능

1 .1 .5 설치 순 서

(1) Visu al Basic, Visual C++ 설치

(2) T oolkit 설치

(3) Platform SDK 설치

- 54 -

Page 63: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

(4) A ct iv eSync 설치

1.2 리 모트 툴 & W indow s CE m enu

1 .2 .1 A ppli c at ion in s t al l w iz ard

- W in dow s CE용 in st allat ion program을 만든다

1 .2 .2 D o w nlo ad R un t im e F il e s

- Runt im e F iles들을 em ulat or나 CE dev ice로 카피한다

- 개발된 프로그램을 실행하기 위하여 필요한 파일등을 카피한다

1 .2 .3 Con tro l M an a g e r

- A ct iv eX control을 다루기 위한 필요한 툴

- A ct iv eX control의 리스트를 보여준다

- 필요한 A ctiv eX control을 삭제 및 추가가 가능하다.

1 .2 .4 H e ap W alk er

- CE application의 메모리 사용 현황을 보여줌

- 가장 사용하지 않는 툴

1 .2 .5 P ro c e s s V ie w er

- 현재 실행중인 프로그램의 정보를 보여준다

- CE용 프로그램을 이 툴을 이용하여 멈추게 한다

1 .2 .6 R e g i s try E dit or

- Registry Edit or

1 .2 .7 S py

- CE application이 W in dow s CE에 보내는 메시지를 분석하기

- 55 -

Page 64: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

위한 툴

1 .2 .8 Zoom

- W in dow s CE 화면을 캡쳐하기 위한 툴, 이미지를 카피한다

1 .2 .9 D ebu g D ia lo g W in dow

- Debu ggin g을 위하여 F 8을 눌러서 실행을 한다

- Debu g Dialog W indow가 화면에 실행

- 중단점 (Break P oint )를 설정하여 F 8키를 이용하여 단계별로

진행

그림 1. W indow s CE T oolkit for Visu al Basic Debu gg er

2 . CE applic ation 개 발

- 56 -

Page 65: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

2 .1 새 로운 프로 젝트 생성

(1) New 프로젝트

(2)프로젝트 속성

(3) run on t arg et 은 프로젝트 메뉴에서 속성을 통해서 바꿀수 있다.

(4) 지원되는 컴포넌트

- 57 -

Page 66: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

기본 컨트롤추가된 컨트롤

- 기본 컨트롤 (위 그림의 모든 컨트롤이 지원되는 것은 아님)

Label, com m an dbut ton , F ram e, CheckBox , OptionButt on ,

Com boBox , ListBox , S crollBar , T im er , Driv eListBox , DirListBox ,

Shape, Lin e

- 추가된 컨트롤

T apStrip , W in sock , F ile, F ileSy st em , Comm onDialog , Im ag eCtrl,

PictureBox , ListView , T reeView , Com m , GridCtrl, Com m an dBar ,

Im ag elist

- 사용 불가 컨트롤이 추가 되어진 경우

컨트롤 추가시 혹은 폼에 올릴 경우 에러 메시지를 보여준다.

- 58 -

Page 67: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

2 .2 A ctiv eX Control

2 .2 .1 D e v - S of tt 사 의 IP *W ork s Contro l

(ht tp :/ / w w w .dev - s of t .c om )

- in stallation

(1) S etup.ex e를 실행

(2) A ct iv eX control이 Desktop에 설치가 됨

(3) 프로젝트 메뉴에서 구성요소를 이용하여 필요한

A ctiv eX control 을 로드한다

2 .2 .2 A ct iv eX Contro l 등 록

(1) Control M anager를 이용해서 타겟이 되는 CE Device에 등록한다.

(2) 이 툴이 없거나, 고장이 난 경우 A ctiv eSyn c를 이용하여 CE

Dev ice에 전송 후 레지스트리를 등록

그림 2. A ctiv eX Control을 레지스트리에 등록하는 화면

- 59 -

Page 68: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

3 . W in dow s CE 3 .0

현재 인스턴트 메신저 프로그램은 CE 2.11에서 개발되었다. CE의 최신

버전인 Microsoft에서 출시한 W in dow s 3.0은 인터넷과 윈도우의 강력한 기

능을 가진 임베디드 플랫폼으로서, 차세대 32 bit s 디바이스를 위해 디자인

된 모듈화 플랫폼이다.

W in dow s 3.0의 새로운 특징은 다음과 같다.

(1) Real- t im e 기능

스레드의 동기화를 위해 S em aphores 기능이 추가 되었으며, 빠른

ev ent repon se를 위해 N est ed 인터럽트를 지원하며 무엇 보다 완벽한

Real- t im e 기능을 제공.

(2) W indow s M edia Play er 기능

DirectX와 W in dow s M edia T echn ologies을 제공하며, W in dow s CE

에서 A SF/ A SX str eam in g 및 a/ c codec 기능으로 MP EG- 4, W MA

와 MP 3 지원이 가능.

(3) W eb serv er 기능

SNMP 기능이 추가되며, HT T P serv er와 S am ple T elnet S erv er와 같

은 w eb serv er 기능 가능.

(4) Sm art card 기능

Sm artCards와 in teract 할 수 있는 Sm art Card AP I와 driv er를 제공.

(5) eMb edded Visu al T ools 3.0

Platform builder 3.0에서는 Visu al Basic 및 Visu al V C++으로 임베디

드 응용 프로그램 개발을 위해 최적화된 eMbedded Visual T ools 3.0이

포함됨.

- 60 -

Page 69: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

4 . D at ab as e

4 .1 A D OCE (A ct iv eX D at a Obj e c t f or W in do w s CE )

ADOCE는 W in dow s CE에서 DB를 생성하기 위한 A DO의

sub set이다. ADO에 비해서 제한된 m eth od를 제공하며, Rem ot e DB에

접근이 불가한 단점이 있다. 하지만 CE 3.0에서는 이 문제가 해결이 되

었다. A DOCE를 이용하여 DB를 생성하기 위해서는 ADOCE SDK를

설치해야 하면 이는 마이크로 소프트 웹사이트에서 다운받을 수 있다.

개발 방법은 ADO와 거의 흡사하다. 아래에는 A DOCE를 이용하

여 DB를 생성 및 삭제하는 간단한 예를 보인 것이다.

4 .1 .1 테 이 블 생 성

Dim recEm p

S et r ecEmp = Creat eObj ect ("adoce.recordset ")

recEm p.Open "Creat e T able Em pT est (Em pID as T ex t , Nam e

A s T ex t )"

recEm p.Close

S et r ecEmp = n othing

4 .1 .2 테이 블 삭 제

Dim recT able

S et r ecT able = Creat eObj ect ("adoce.recordset ")

recT able.Open "Drop T able Em pT est "

recT able.Close

S et r ecT able = n othing

4 .1 .3 레코 드 삭 제

Dim recEm p

S et r ecEmp = Creat eObj ect ("adoce.recordset ")

recEm p.Open "Delet e Em pT est W h ere ID = ' " & "nam riv er "

& " ' "

recEm p.Close

S et r ecEmp = n othing

- 6 1 -

Page 70: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

4 .1 .4 레코 드 입 력

Dim recEm p

S et r ecEmp = Creat eObj ect ("adoce.recordset ")

recEm p.Open "In sert int o Em pT est (EmpID, Nam e) Values ( ' "

& "n am riv er " & " ' , ' " & "이상래 & )

recEm p.Close

S et r ecEmp = n othing

4 .1 .5 레코 드 수 정

Dim recEm p

S et r ecEmp = Creat eObj ect ("adoce.recordset ")

recEm p.Open "S elect * F rom EmpT est "

recEm p.F ields ("Nam e") = "김진우

recEm p.Update

recEm p.Close

S et r ecEmp = n othing

4 .2 S QL S e rv er

본 논문에서 개발된 메신저는 데이터베이스 서버로 S QL S erv er

7.0을 사용하였으며, 7개의 테이블로 구성된다.

4 .2 .1 데이 터 베 이 스 생 성

데이터베이스 만드는 방법은 크게 두가지 방법이 있다. 하나는

직접 질의 문장을 사용하여 만드는 방법과, 다른 하나는 엔터프라이즈

메니즈를 이용하여 만드는 방법이 있다. 하지만 반복적으로 사용한다면

직접 질의 문장을 이용하는 Query An aly zer를 사용하는 것이 좋다. 아

래에는 Qu ery Analy zer를 이용하여 DB를 생성하는 방법을 설명한다.

4 .2 .1 Qu ery A n aly z er

데이터베이스를 만드는 기본적인 S QL 예를 아래에 보인다.

Creat e Dat abase m es sen ger - - 데이터베이스 이름

ON

( Nam e = m esseng erDat a - - 논리적 파일 명

, F ILENAME = 'c :\ m ssql7\ dat a\ m es sen ger .m df '

- 62 -

Page 71: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

- - 물리적 파일명

, SIZE = 10 - - 크기는 MB 단위

, MAXSIZE = 50 - - 자동적으로 늘어날 DB 최대 크기

, F ILEGROW T H = 5 - - 늘어날 때 5% 단위로 늘어남

)

LOG ON - - 로그를 저장하는 공간

( NA ME = 'm es sen ger .log '

, F ILENAME = 'c :\ m ssql7\ dat a\ m es sen ger .ldf '

, SIZE = 5MB

, MAXSIZE = 25MB

, F ILEGROW T H = 5MB - - 늘어날 때 5MB 단위로 늘어남

)

그림 3. Qu ery Analy zer를 이용하여 DB 생성 화면

5 . 메신 저 주요 사용 법

5 .1 로그인 과정

- 63 -

Page 72: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

사용자는 아이디와 비밀번호를 입력하여 로그인 한다. 사용자의

아이디와 비밀번호는 U serInfo 테이블에 입력이 되어야 한다.

5 .2 초기화면 (본 문 그 림 13 참 조 )

로그인 과정을 거친 후 사용자는 대화방 목록과 접속자 목록을 확

인할 수 있다. 사용자는 다자간 대화방과 일대일 대화방을 개설 할 수 있

다. 다자간 대화방은 참여인원은 제한이 없으나, 일대일 대화방은 두명의

사용자끼리만 참여 할 수 있다. 오른쪽의 접속자를 클릭하여 파일 전송

및 특정 사용자 호출을 수행 할 수 있다.

5 .2 .1 검색

검색 메뉴에서는 친구/ 거부자 리스트 확인 및 특정 사용자 호출과

메모보드를 확인 할 수 있다.

5 .2 .2 등록 (본문 그 림 15 참 조 )

등록 메뉴에서는 친구/ 거부자를 등록 할 수 있으며, 친구/ 거부자

리스트를 통해서 삭제가 가능하다.

5 .2 .3 아바 타 대 화 (본 문 그 림 19 참 조 )

이 메뉴를 통해서 아바타 대화방을 선택을 할 수 있다. 아바타 대

화방을 선택한 후 사용자를 대신할 아바타를 선택해서 아바타 대화방에

참여할 수 있으며, 사용자는 4명으로 제한하였다.

5 .2 .4 다자 간 대 화 및 일 대 일 대 화

사용자는 초기 화면에서 대화방을 선택하여 참여 할 수 있다. 일

대일 대화의 경우 인원이 꽉 찬 경우에는 참여 불가 메시지가 발생한다.

대화중에도 사용자 호출이나 파일 전송 등의 기능을 수행 할 수 있다.

5 .3 아바타 대화

5 .3 .1 대화 (본문 그 림 23참조 )

사용간에 나눈 대화는 오른쪽 화면에서 대화 내용을 확인 할 수

있다. 대화 도중 대화방 배경 이미지를 클릭하여 자신의 아바타의 위치

를 이동할 수 있으며, 화난 표정, 웃는 표정, 우는 표정으로 아바타의 표

- 64 -

Page 73: Development of an instant messenger program supporting ...그림 8. 소켓 생성 23 그림 9. 서버 접속 과정 23 그림 10. 메신저 서버를 경유한 DB 검색 과정 27

정을 바꿀 수 있다. 이때 같은 대화방에 참여한 모든 사용자에게 동일한

메시지가 전송이 된다.

5 .3 .2 파일 전 송 (본 문 그림 22 참 조 )

아바타 대화 도중 특정 기능을 수행 하고자 할 경우 아바타를 클

릭하여 수행 가능하다. 기능은, 사용자 호출과 파일 전송, 메일 전송, 메

일 수신 확인, F T P 서버로의 파일 송수신 기능이 있다. 아바타를 클

릭하여 파일 전송시 탐색창을 통해서 파일을 전송할 수 있다. 상대

방으로부터 받은 파일은 (보낸사람 아이디)파일 이름 의 형식으로 수신

된다. 전송 가능한 파일은 m p3, w av 등의 미디어 파일 뿐 아니라, 이미

지나 텍스트 파일 등 모든 파일을 전송 할 수 있다.

5 .3 .3 기타 기 능 (본 문 그림 16 , 17 , 18 참 조 )

아바타를 클릭 하게 되면 F T P , 메일 전송, 메일 수신의 기능을

수행 할 수 있는 메뉴가 보이게 된다. 이 기능을 구현을 위하여

IP *W ork s A ct iv eX Control을 이용하였다. 메일 전송시 바이너리 파일은

파일 첨부가 불가능하며 텍스트 파일은 첨부 가능하다. 이때 텍스트 파

일은 본문 내용 뒤에 파일 내용이 첨부되어 전송이 된다.

- 65 -