• 검색 결과가 없습니다.

Ⅲ. 개인화 북마크 에이전트 시스템

1. 시스템 구현

Fig. 2는 네이버(http://www.naver.com)에서 제공하는 웹 기반의 북마크 시 스템이다. 이 시스템에는 북마크 추가, 폴더 추가, 수정, 삭제 등과 같은 북마 크 시스템의 기본적인 기능이 포함되어 있다.

Fig. 2 네이버의 북마크

네이버의 북마크 시스템은 사용자가 직접 북마크를 등록하고 관리하여야 한다. 이는 인터넷 익스플로러 등의 웹브라우저에서 제공하는 북마크 시스템 과 같다. 본 논문에서 제안하는 시스템은 위 북마크 시스템이 가지는 기본 기 능에 자동 분류 등록 및 방문 우선순위 북마킹을 포함하고 있다.

제안 시스템의 전체적인 구조는 Fig. 3과 같다. 사용자는 웹브라우저를 통 하여 개인화 북마크 에이전트 시스템에 접근하며, 실행은 아파치 웹 서버 하 에서 이루어진다. 사용자의 요청은 PHP로 구현된 개인화 북마크 에이전트 시 스템으로 전달되고, URL 정보는 URL 검색기와 통계기능수행을 통해 데이터 베이스에 우선순위와 함께 북마크 된다. 처리과정이 모두 끝나면 응답페이지

를 작성하고, 사용자가 북마크를 요청하면 웹브라우저를 통해 응답페이지를 전달한다.

Fig. 3 개인화 북마크 에이전트 시스템의 구조

Fig. 4 개인화 북마크 에이전트 시스템의 실행 흐름도

북마크 구조는 기존의 북마크 구조에 가중치 정보와 자동 분류를 위한 태 그 정보를 포함하는 확장된 북마크 구조를 가진다. 확장된 북마크 구조는 Table 1과 같다.

Table 1. 개인화 북마크 에이전트 시스템의 데이터베이스 구조

Table 이름 tb_bookmark

필드명 타 입 설 명

num int auto_increment

uid varchar 사이트 id

title varchar 사이트 제목

url text 사이트 URL

createDate timestamp 만든 날짜 modDate timestamp 수정한 날짜 accessDate timestamp 액세스한 날짜

groupId varchar 분류 id

weight varchar 가중치

Table 이름 tb_group

필드명 타 입 설 명

gid varchar 분류 id

groupName varchar 분류 제목

createDate timestamp 만든 날짜 modDate timestamp 수정한 날짜 accessDate timestamp 액세스한 날짜

weight varchar 가중치

tb_bookmark 테이블은 북마크 정보를 저장하는데 사용되며, 가중치 필드는 북마크의 우선순위를 결정하는데 사용된다. tb_group 테이블은 북마크한 사이 트의 분류를 정하고 저장하는데 사용된다.

Fig. 5 개인화 북마크 에이전트 시스템의 실행 화면

개인화 북마크 에이전트 시스템의 실행 화면은 Fig. 5와 같다. 상단 프레임 의 주소 입력창을 통해 사이트에 접속하면 개인화 북마크 에이전트 시스템은 사이트의 URL(Uniform Resource Locator)과 일치하는 북마크를 북마크 저장 소(Bookmark Repository)에서 찾는다. 일치하는 북마크가 없으면 사용자가 처음으로 액세스한 사이트이다. 처음 액세스한 사이트이면 개인화 북마크 에 이전트 시스템은 Fig. 6에서 처럼 사이트의 타이틀과 메타 태그 주변 정보를 분석하여 가장 유사한 분류에 사이트를 북마크한다.

Fig. 6 HTML 문서의 메타 태그 정보

아래 Fig 7. 은 HTML 문서의 타이틀 태그와 메타 태그의 keywords 속성 및 description 속성 정보를 추출하는 소스의 일부분이다.

Fig. 7 메타 태그 추출 소스의 일부

Fig. 8 도메인의 분류체계

URL을 구성하는 도메인은 Fig. 8와 같은 분류체계를 가지고 있다. 인터 넷 초창기에 생성된 COM, NET, ORG (등록 시 별다른 제한 없음), EDU, GOV, INT, MIL (등록 시 제한 있음) 등 7개의 TLD와 2001∼2002 년에 걸쳐 새롭게 생성된 BIZ, INFO, NAME, PRO (이상 Unsponsored TLD), AERO, COOP, MUSEUM(이상 Sponsored TLD)등 7개 TLD를 합쳐 현재 총 14개의 gTLD가 있으며, Table 2에서 볼 수 있는 것처럼 각 국가별 최상위 도메인도 TLD에 속한다.

Table 3은 국내 도메인(Second Level Domain)을 보여주고 있는데, 국내 도메인에는 지역 KR 도메인도 포함되어 있다. 서울은 SEOUL.KR, 부산은 PUSAN.KR, 제주는 CHEJU.KR 등으로 등록되어 있다.

Table 2. 최상위 도메인(Top Level Domain)

Table 3. 국내 도메인(Second Level Domain)

흐름도를 따라 기본 분류로 가지게 된다. 초기에 개인화 북마크 에이전트 시 스템에 의해 지정된 분류는 사용자가 세분화하여 분류를 확장한다.

Fig. 9 개인화 북마크 에이전트 시스템의 자동 분류 지정 흐름도

Fig. 8은 분류와 북마크 목록 화면이다. 상단 프레임의 북마크 보기 단추를 누르면 분류와 북마크 목록 페이지가 호출된다. 분류는 수정과 삭제 기능으로 사용자 정의가 가능하고, 분류와 북마크는 가중치가 적용되어 값이 높은 순으 로 나열된다. 가중치는 사이트 접근횟수로 정해지며, 가중치가 같은 경우에는 최근 접속일을 기준으로 정렬된다.

Fig. 10 분류와 북마크 목록 화면

북마크는 편집을 통해 개인화 북마크 에이전트 시스템에서 자동으로 지정 한 사이트의 제목, URL을 변경이 가능하고, 사이트 설명을 추가할 수 있다.

북마크 저장소(Bookmark Repository)에 저장되어 있는 분류와 북마크 목록은 XML 문서로 변환되어 이종 시스템으로 자료 전달이 가능하다. 또한 Ajax[10]를 적용하여 사용자가 접속하고자 하는 사이트가 북마킹된 사이트이 면 사이트의 몇 문자의 입력만으로 사이트의 주소를 출력하도록 하였다.

Ajax는 Asynchronous JavaScript and XML의 약자로 ‘에이작스’라고 읽으 며, XHTML과 CSS를 사용하는 표준 기반의 프레젠테이션, 브라우저의 문서 객체 모델(Document Object Model)를 사용하는 동적인 디스플레이 및 상호 작용, XML과 XSLT를 사용하는 데이터 교환 및 처리, XMLHttpRequest나 XMLHTTP를 사용하는 비동기 데이터 추출 등의 기술을 포함하고 있다 [11][12].

Fig. 11에서 Ajax를 적용한 개인화 북마크 에이전트 시스템의 일부 소스를 볼 수 있다.

Fig. 11 Ajax가 적용된 소스의 일부

관련 문서