KR100722975B1 - 휴대단말기의 이벤트 표시 장치 및 방법 - Google Patents
휴대단말기의 이벤트 표시 장치 및 방법 Download PDFInfo
- Publication number
- KR100722975B1 KR100722975B1 KR1020050091344A KR20050091344A KR100722975B1 KR 100722975 B1 KR100722975 B1 KR 100722975B1 KR 1020050091344 A KR1020050091344 A KR 1020050091344A KR 20050091344 A KR20050091344 A KR 20050091344A KR 100722975 B1 KR100722975 B1 KR 100722975B1
- Authority
- KR
- South Korea
- Prior art keywords
- event
- user interface
- user
- expert
- agent
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72427—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting games or graphical animations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72454—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72484—User interfaces specially adapted for cordless or mobile telephones wherein functions are triggered by incoming communication events
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
휴대단말기의 표시 장치가, 휴대단말기의 이벤트들 각각에 대응되는 케이스에 대응되는 사용자 인터페이스 데이터들을 저장하는 메모리와, 휴대단말기에서 발생되는 이벤트들을 수집하고, 수집된 이벤트에 대해 실행 가능한 적어도 하나의 케이스를 선택하며, 선택된 케이스에 대한 사용자 인터페이스 데이터를 메모리에서 선택하여 출력하며, 사용자 인터페이스 데이터는 캐릭터 이미지를 포함하는 제어부와, 사용자 인터페이스 데이터를 표시하는 표시부로 구성된다.
에이전트, 사용자인터페이스, 휴대단말기, 이벤트
Description
도 1은 본 발명의 실시예에 따른 휴대단말기의 구성을 도시하는 도면
도 2는 본 발명의 실시예에 따른 캐릭터 에이전트 기능을 가지는 에이전트 시스템의 구성을 도시하는 도면
도 3은 본 발명의 실시예에 따른 캐릭터 에이전트 기능을 가지는 에이전트 시스템의 케이스 다이아그램을 도시하는 도면.
도 4는 본 발명의 실시예에 따른 휴대단말기 제어부의 구성을 도시하는 도면
도 5는 도 4에서 이벤트 수집부의 구성을 도시하는 도면
도 6은 도 4에서 이벤트 전달부의 구성을 도시하는 도면
도 7은 도 4에서 에이전트 제어부의 구성을 도시하는 도면
도 8a는 본 발명의 실시예에 따른 감독부의 알고리듬에서 부정 곡선의 예를 도시하는 도면이며, 도 8b는 감독부의 알고리듬에서 부정적 견해의 감소 요소 f의 계산 예를 도시하는 도면이고, 8c는 감독부의 알고리듬에서 보정된 부정곡선의 예를 도시하는 도면
도 9는 본 발명의 실시예에서 감독부의 계산에 의해 결정된 표현 우선순위대로 정렬된 전문가들을 저장하는 우선순위 큐의 구조를 도시하는 도면
도 10은 도 4에서 에이전트 표현부의 구성을 도시하는 도면
도 11은 본 발명의 실시예에 따라 에이전트 구현 절차를 도시하는 흐름도
도 12는 도 11에서 이벤트를 수집하는 절차를 도시하는 흐름도
도 13은 도 12에서 통화이벤트를 수집하는 절차를 도시하는 흐름도
도 14는 도 12에서 알람이벤트를 수집하는 절차를 도시하는 흐름도
도 15는 도 12에서 메시지이벤트를 수집하는 절차를 도시하는 흐름도
도 16은 도 12에서 주소록변경이벤트를 수집하는 절차를 도시하는 흐름도
도 17은 도 11에서 수집된 이벤트를 전달하는 절차를 도시하는 흐름도
도 18은 도 11에서 이벤트에 따라 에이전트를 제어하는 절차를 도시하는 흐름도
도 19는 도 11에서 이벤트에 따라 또 다른 에이전트 제어 절차를 도시하는 흐름도
도 20은 본 발명의 실시예에 따라 휴대단말기에서 메일 관련 이벤트를 처리하는 절차를 도시하는 도면
도 21은 본 발명의 실시예에 따라 휴대단말기에서 통화/메세지 관련 이벤트를 처리하는 절차를 도시하는 도면
도 22는 본 발명의 실시예에 따라 휴대단말기에서 통화 관련 이벤트를 처리하는 절차를 도시하는 도면
도 23은 본 발명의 실시예에 따라 휴대단말기에서 응용프로그램 관련 이벤트를 처리하는 절차를 도시하는 도면
도 24는 본 발명의 실시예에 따라 휴대단말기에서 시스템 관련 이벤트를 처리하는 절차를 도시하는 도면
도 25는 본 발명의 실시예에 따라 휴대단말기에서 일정 관련 이벤트를 처리하는 절차를 도시하는 도면
도 26a -도 26b는 본 발명의 실시예에 따라 휴대단말기에서 표시되는 사용자 인터페이스 데이터의 표시 예를 도시하는 도면
도 27a - 도 27c는 본 발명의 실시예에 따라 휴대단말기에서 메일 관련 이벤트에 따른 사용자 인터페이스 데이터의 표시 예를 도시하는 도면
도 28a - 도 28c는 본 발명의 실시예에 따라 휴대단말기에서 통화/메세지 관련 이벤트에 따른 사용자 인터페이스 데이터의 표시 예를 도시하는 도면
도 29a - 도 29c는 본 발명의 실시예에 따라 휴대단말기에서 통화 관련 이벤트에 따른 사용자 인터페이스 데이터의 표시 예를 도시하는 도면
도 30a - 도 30c는 본 발명의 실시예에 따라 휴대단말기에서 응용프로그램 관련 이벤트에 따른 사용자 인터페이스 데이터의 표시 예를 도시하는 도면
도 31a - 도 31b는 본 발명의 실시예에 따라 휴대단말기에서 시스템 관련 이벤트에 따른 사용자 인터페이스 데이터의 표시 예를 도시하는 도면
도 32는 본 발명의 실시예에 따라 휴대단말기에서 일정 관련 이벤트에 따른 사용자 인터페이스 데이터의 표시 예를 도시하는 도면
본 발명은 휴대단말기의 에이전트 장치 및 방법에 관한 것으로, 특히 아바타 에이전트 기능을 구현하는 장치 및 방법에 관한 것이다.
일반적으로 휴대단말기라 함은 사용자가 휴대할 수 있는 장치를 의미하는 것으로, 이에 따른 대표적인 장치가 휴대 전화기이다. 상기 휴대전화기는 고유의 전화기 기능 이외에 다양한 부가 기능들을 서비스할 수 있다. 상기 부가 기능을 가지는 휴대전화기들은 카메라를 구비하는 캠코더폰, TV 시청이 가능한 TV 폰, MP3 음악화일 청취가 가능한 MP3폰, 위성방송 및(또는) 지상파 방송의 시청이 가능한 디지탈방송 폰 등이 될 수 있다. 즉, 현재의 휴대전화기는 멀티미디어 데이터를 처리할 수 있는 부가 기능을 가지는 제품들이 증가하고 있는 추세이다.
그리고 상기와 같은 기능을 가지는 휴대단말기는 일반적으로 LCD 표시부를 구비하며, 상기 기능들 및 휴대단말기의 상태 등을 표시하기 위한 다양한 표시 방법들이 개발되고 있는 추세이다. 상기 휴대단말기는 다양한 종류의 사용자 데이터들을 표시할 수 있도록 발전하고 있다. 현재 상기 휴대단말기에 표시되는 사용자 데이터들은 사진데이타, 캐릭터, 애니메이션 등과 같은 시각적인 사용자데이타들이 주를 이루고 있다. 상기와 같은 사용자 데이터들 중에 아바타 이미지 데이터가 있으며, 상기 아바타 이미지 데이터들을 이용하는 휴대단말기들이 개발되는 추세이다.
따라서 본 발명의 목적은 휴대단말기의 이벤트 발생을 캐릭터 에이전트 기능으로 표현할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 휴대단말기에서 발생된 이벤트들을 분석하여 발생된 이벤트에 대하여 최적의 사용자 인터페이스 캐릭터를 선택하여 표현할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 휴대단말기에서 발생된 이벤트를 분석하여 이에 관련되는 다수의 사용자 인터페이스들을 선택하고, 상기 선택된 사용자 인터페이스에 관련된 데이터들을 표현할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 휴대단말기에서 발생된 이벤트를 분석하여 이에 관련되는 다수의 사용자 인터페이스들을 선택하고, 상기 선택된 사용자 인터페이스들의 표현 우선순위를 결정하여 정렬시키며, 상기 정렬된 우선순위에 따라 상기 사용자 인터페이스들의 캐릭터 정보들을 표현할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 휴대단말기에서 휴대단말기에 관련된 이벤트들 및 타이머 이벤트들을 분석한 후, 발생된 이벤트에 등록된 다수의 사용자 인터페이스들을 선택하고, 상기 선택된 사용자 인터페이스들의 표현 우선순위를 결정하여 정렬시키며, 상기 정렬된 우선순위에 따라 상기 사용자 인터페이스들의 캐릭터 정보들을 표현할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 휴대단말기에서 이벤트 발생시 캐릭터 에이전트로 표현하며, 상기 발생되는 이벤트 및 처리 결과에 따라 캐릭터의 수치를 변경하여 표현되는 캐릭터를 육성할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 휴대단말기에서 발생되는 이벤트를 인공지능 에이전트 시스템을 이용하여 표시할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 휴대단말기에서 발생되는 이벤트를 분석한 후 적어도 하나의 사용자 인터페이스를 설정하고, 상기 설정된 사용자 인터페이스 데이터를 캐릭터 이미지 및 텍스트로 표시할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 휴대단말기에서 발생되는 이벤트를 분석한 후 적어도 하나의 사용자 인터페이스를 설정하고, 상기 설정된 사용자 인터페이스 데이터를 캐릭터 이미지, 텍스트 및 상기 이벤트의 종류를 표시하는 아이콘 등으로 로 표시할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 휴대단말기에서 발생되는 이벤트를 분석한 후 적어도 하나의 사용자 인터페이스를 설정하고, 상기 설정된 사용자 인터페이스 데이터를 캐릭터 이미지, 텍스트, 상기 이벤트의 종류를 표시하는 아이콘 및 시간대를 표시하는 배경이미지 등으로 로 표시할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 휴대단말기에서 발생되는 이벤트를 분석한 후 적어도 하나의 사용자 인터페이스를 설정하고, 상기 설정된 사용자 인터페이스 데이터를 해당 이벤트 처리에 따른 감정 상태를 표현하는 아바타 이미지, 텍스트, 상기 이벤트의 종류를 표시하는 아이콘 및 시간대를 표시하는 배경이미지 등으로 로 표시할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 휴대단말기에서 발생되는 이벤트를 분석한 후 적 어도 하나의 사용자 인터페이스를 설정하고, 상기 설정된 사용자 인터페이스가 사용자의 피드백을 요하는 경우에는 캐릭터 이미지 및 텍스트 그리고 사용자의 피드백을 요구하는 메뉴를 표시하며, 사용자의 피드백에 따른 결과를 표시하는 동시에 저장하여 다음 이벤트에 적용할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 휴대단말기에서 발생되는 이벤트에 따른 적어도 하나의 사용자 인터페이스를 설정한 후, 상기 설정된 사용자 인터페이스 데이터를 감정 상태를 표현하는 아바타 이미지 및 이벤트에 따른 설정을 권유하는 텍스트로 표시하고, 사용자의 피드백에 따른 결과를 아바타 이미지 및 텍스트로 표현하는 동시에 이를 저장하여 다음 이벤트에 적용할 수 있는 장치 및 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 실시예에 따른 휴대단말기의 표시 장치가, 상기 휴대단말기의 이벤트들 각각에 대응되는 케이스에 대응되는 사용자 인터페이스 데이터들을 저장하는 메모리와, 휴대단말기에서 발생되는 이벤트들을 수집하고, 상기 수집된 이벤트에 대해 실행 가능한 적어도 하나의 케이스를 선택하며, 상기 선택된 케이스에 대한 상기 사용자 인터페이스 데이터를 상기 메모리에서 선택하여 출력하며, 상기 사용자 인터페이스 데이터는 캐릭터 이미지를 포함하는 제어부와, 상기 사용자 인터페이스 데이터를 표시하는 표시부로 구성된 것을 특징으로 한다.
여기서 상기 제어부는 상기 휴대단말기에서 발생되는 이벤트를 수집하여 이벤트메세지를 생성하는 이벤트수집부와, 상기 이벤트메세지에 대응되는 적어도 하나의 케이스들을 선택하고, 상기 선택된 케이스들 중에서 상기 발생된 이벤트에 최 우선하는 케이스를 설정한 후, 상기 설정된 케이스에 해당하는 사용자 인터페이스를 선택하는 에이전트제어부와, 상기 설정된 사용자인터페이스에 해당하는 데이타를 상기 표시부에 표시하도록 제어하는 에이전트표현부로 구성된 것을 특징으로 한다.
그리고 상기 에이전트 표현부는 상기 표시되는 사용자 인터페이스 데이타에 따라 사용자가 선택되는 사용자 피드백 정보를 발생하고, 상기 피드백정보에 따른 사용자 인터페이스 데이터를 표시하며, 상기 에이전트제어부가 상기 사용자 피드백 정보를 저장하여 다음 이벤트에 적용하는 것을특징으로 한다.
그리고 상기 에이전트제어부는 상기 수집되는 이벤트 및 상기 피드백된 이벤트 메시지를 저장하는 블랙보드와, 각각 대응되는 이벤트의 케이스에 대응되는 사용자 인터페이스 식별자들을 저장하는 복수의 전문가들과, 상기 이벤트의 리스트에 등록된 전문가들의 데이터들을 상기 블랙보드에서 억세스하여 최우선 순위를 가지는 전문가를 결정하는 감독부와, 상기 휴대단말기의 각 이벤트들에 따른 전문가리스트를 구비하며, 상기 이벤트 수신시 상기 수신된 이벤트 메시지를 상기 블랙보드에 저장하고, 상기 이벤트 전문가 리스트에서 대응되는 전문가들을 선택한 후 상기 감독부에 통보하며, 상기 감독부에서 결정된 전문가의 사용자 인터페이스 식별자를 상기 에이전트표현부에 전송하고, 상기 사용자 피드백 이벤트 메세지 수신시 상기 블랙보드에 저장하는 전문가관리부로 구성된 것을 특징으로 한다.
그리고 상기 이벤트수집부는 휴대단말기의 통화, 메시지, 일정, 시스템 이벤트들을 감지하는 감지기들과, 상기 감지기들에서 감지되는 이벤트를 분석하여 상기 발생된 이벤트의 종류 및 발생시간 및 이벤트식별자 등을 포함하는 이벤트 메시지를 생성하여 상기 에이전트제어부에 전송하는 이벤트수집기관리부로 구성된 것을 특징으로 한다.
그리고 상기 에이전트표현부가, 상기 사용자 인터페이스 식별자의 수에 대응되는 수로 구비되며, 사용자 피드백 여부를 감지하는 사용자 인터페이스부들과, 상기 사용자 인터페이스 식별자에 해당하는 상기 사용자 인터페이스 데이터를 상기 메모리에서 억세스하여 상기 표시부에 사용자 인터페이스 데이터를 표시하며, 상기 사용자가 피드백 정보 입력시 사용자 피드백 메시지를 를 생성하여 상기 에이전트제어부에 전달하는 아바타 사용자 인터페이스 관리부로 구성된 것을 특징으로 한다.
또한 상기 에이전트제어부는 상기 수집되는 이벤트 및 상기 피드백된 이벤트 메시지를 저장하는 블랙보드와, 각각 대응되는 이벤트의 케이스에 대응되는 사용자 인터페이스 식별자들을 저장하는 복수의 전문가들과, 상기 발생된 이벤트에 등록된 적어도 두개의 전문가들이 통보되면 상기 통보된 전문가들의 표현 우선순위를 결정하여 정렬시키는 감독부와, 상기 휴대단말기의 각 이벤트들에 따른 전문가리스트를 구비하며, 상기 이벤트 수신시 상기 수신된 이벤트 메시지를 상기 블랙보드에 저장하고, 상기 이벤트 전문가 리스트에서 대응되는 전문가들을 선택한 후 상기 감독부에 통보하며, 상기 전문가들의 사용자 인터페이스 식별자를 상기 감독부에 의해 정렬된 우선순위에 따라 상기 에이전트표현부에 전송하고, 상기 사용자 피드백 이벤트 메세지 수신시 상기 블랙보드에 저장하는 전문가관리부로 구성된 것을 특징으로 한다.
그리고 상기 에이전트제어부는 적어도 하나의 타이머처리부를 더 구비하며, 상기 타이머처리부는 상기 전문가에 의해 타이머를 설정하며, 설정된 시간에서 상기 전문가관리부에 이를 통보하며, 상기 전문가관리부는 타이머 통보시 상기 타이머를 설정한 전문가를 구동하여 해당 전문가의 사용자 인터페이스 식별자를 에이전트표현부에 전송하는 것을 특징으로 한다.
그리고 상기 감독부가 전문가들의 지정우선순위 및 사용자 선호도를 계산하여 이벤트에 대응되는 전문가들의 표현우선순위를 결정한 후 정렬시켜 상기 전문가관리부에 통보하는 것을 특징으로 한다.
그리고 상기 상기 피드백을 필요로 하는 사용자 인터페이스 데이터가 이벤트발생시 표시되는 제1사용자 인터페이스 데이터와, 상기 사용자의 피드백에 따른 결과를 표시하는 제2사용자 인터페이스 데이터로 구성되며, 상기 제1사용자 인터페이스 데이터는, 상기 발생된 이벤트에 따른 감정상태를 표시하는 캐릭터 이미지와, 상기 이벤트에 따른 텍스트 데이터와, 상기 텍스트데이타에 따라 사용자의 피드백 정보를 입력하기 위한 버튼리스트 데이터를 구비하며, 상기 제2사용자 인터페이스 데이터는 상기 사용자의 피드백 결과에 따른 감정상태를 표시하는 캐릭터 이미지와, 상기 사용자의 피드백 결과에 따른 텍스트 데이터를 포함하는 것을 특징으로 한다.
또한 상기 목적을 달성하기 위한 본 발명의 실시예에 따른 휴대단말기에서 발생되는 이벤트를 표시하는 방법이, 휴대단말기에서 발생되는 이벤트들을 수집하 는 과정과, 상기 수집된 이벤트에 대해 실행 가능한 적어도 하나의 케이스를 선택하며, 상기 선택된 케이스에 따른 사용자 인터페이스 데이터를 선택하며, 상기 사용자 인터페이스 데이터는 캐릭터 데이터를 포함하는 과정과, 상기 사용자 인터페이스 데이터를 표시하는 과정으로 이루어짐을 특징으로 한다.
이하 본 발명의 바람직한 실시예들의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 도면들 중 동일한 구성들은 가능한 한 어느 곳에서든지 동일한 부호들을 나타내고 있음을 유의하여야 한다.
하기 설명에서 이벤트들의 종류 및 에이전트 표현을 위한 필요정보들의 예 등과 같은 특정 상세들이 본 발명의 보다 전반적인 이해를 제공하기 위해 나타나 있다. 이들 특정 상세들 없이 또한 이들의 변형에 의해서도 본 발명이 용이하게 실시될 수 있다는 것은 이 기술분야에서 통상의 지식을 가진 자에게 자명할 것이다.
도 1은 본 발명의 실시예에 따라 휴대단말기에서 발생되는 이벤트에 따른 캐릭터 에이전트를 표현하는 있는 휴대단말기의 구성을 도시하는 도면이다.
상기 도 1을 참조하면, 무선통신부21은 휴대단말기의 무선 통신 기능을 수행한다. 상기 무선통신부21은 송신되는 신호의 주파수를 상승변환 및 증폭하는 RF송신기와, 수신되는 신호를 저잡음 증폭하고 주파수를 하강변환하는 RF수신기등을 포함한다.
키입력부25는 숫자 및 문자 정보를 입력하기 위한 키들 및 각종 기능들을 설 정하기 위한 기능키들을 구비한다. 또한 상기 키입력부25는 본 발명의 실시예에 따라 이벤트별 캐릭터 에이전트를 제어하기 위한 키들을 구비한다.
메모리23은 프로그램 메모리 및 데이터 메모리들로 구성될 수 있다. 상기 프로그램 메모리는 휴대단말기의 호 처리 등을 처리하기 위한 프로그램들 및 본 발명의 실시예에 따라 발생되는 이벤트들에 대한 에이전트 표현을 제어하기 위한 프로그램들을 저장하고 있다. 상기 데이터 메모리는 상기 프로그램들을 수행하는 중에 발생되는 데이터들을 일시 저장하는 기능을 수행한다. 또한 상기 데이터 메모리는 본 발명의 실시예에 따라 에이전트 표현을 위한 캐릭터 이미지들을 저장하는 캐릭터메모리를 메모리를 구비한다. 상기 캐릭터 메모리는 파일시스템(file system)으로 동작할 수 있으며, 각 캐릭터 별로 메모리(또는 파일시스템)의 인덱스를 가지고 있을 수 있다. 또한 상기 캐릭터 메모리는 각 캐릭터 세부 구성요소인 동작, 표정 및 사물표현 등을 할 수 있는 다양한 형태별로 구성될 수 있다. 즉, 상기 캐릭터 메모리에 저장된 캐릭터 정보는 에이전트 표현을 할 수 있는 각각의 형태별로 저장될 수 있다.
제어부100은 휴대단말기의 전반적인 동작을 제어하는 기능을 수행한다. 또한 상기 제어부100은 신호를 변복조하는 모뎀 및 부호/복호화하는 코덱을 구비하여 송신신호를 부호화 및 변조하며, 또한 수신신호를 복조 및 복호하는 기능을 수행한다. 여기서 상기 제어부100은 MSM 칩이 될 수 있다. 또한 여기서 상기 제어부100에서 상기 모뎀 및 코덱을 분리시킨 데이터 처리부를 독립적으로 구성하고, 상기 데이터 처리부는 상기 무선통신부21과 제어부100 사이에 위치시킬 수도 있다. 그리고 상기 제어부100은 사용자의 모드 선택에 따라 통신모드, 카메라모드 및 방송수신모드의 동작을 제어한다.
또한 상기 제어부100은 본 발명의 실시예에 따라 휴대단말기의 동작에 따른 이벤트를 수집하며, 상기 수집된 이벤트에 따른 에이전트를 제어하여 이벤트의 처리 및 상태를 에이전트로 표현할 수 있다. 여기서 상기 에이전트표현을 상기 메모리23에서 대응되는 캐릭터를 선택하여 표시할 수 있다.
카메라35는 사용자의 카메라모드 선택시 상기 제어부100에 의해 구동되며, 상기 카메라 모드에서 영상촬영신호를 발생한다. 영상처리부37은 상기 카메라모드시 상기 카메라35에서 촬영되는 영상신호를 상기 표시부27의 크기에 맞춰 스케일링(scaling)하며, 저장모드시 상기 촬영된 영상신호를 설정된 방식으로 부호화하여 저장하고, 또한 수신 또는 저장된 영상데이타를 재생하는 모드에서는 상기 부호화된 영상데이타를 복호하는 기능을 수행한다. 또한 상기 카메라 모드시 상기 영상처리부37은 상기 표시부27을 제어하여 영상신호를 표시하는 기능을 수행한다.
튜너(tuner)31은 방송수신모드시 상기 제어부100에서 설정된 채널의 방송신호를 선택하여 수신하며, 방송처리부33은 상기 선택된 채널의 방송신호를 복조 및 복호하여 영상신호는 상기 표시부27에서 출력하고, 오디오신호는 오디오처리부29에 출력한다. 여기서 상기 방송신호는 디지털 방송신호로써, 위성방송신호가 될 수 있으며, 또한 지상파 방송신호가 될 수 있다.
표시부27은 상기 제어부100의 제어하에 상기 휴대단말기의 동작에 따른 메뉴들을 표시할 수 있으며, 또한 이벤트 발생시 상기 이벤트에 대응되어 선택되는 에 이전트 제어하에 따라 해당 이벤트의 상태를 캐릭터로 표시한다. 또한 상기 표시부27은 카메라모드 또는 방송수신모드에서 각각 영상처리부37 또는 방송처리부33에서 출력되는 영상신호를 표시한다.
오디오 처리부29는 통신모드시 상기 제어부100의 제어하에 통신모드에서 발생되는 오디오신호를 처리하며, 카메라모드시 상기 영상처리부37의 제어하에 카메라 촬영 중에서 발생되는 오디오신호를 처리하고, 방송수신모드시 상기 방송처리부33의 제어하에 수신되는 방송 오디오신호를 처리한다.
상기와 같은 구성을 가지는 휴대단말기에서 상기 카메라 및(또는) 방송신호를 처리하는 구성을 생략될 수 있으며, 이런 경우에도 본 발명의 실시예에 따른 이벤트에 대한 캐릭터 에이전트 기능은 수행될 수 있다. 이하의 설명에서 상기 캐릭터는 아바타로 가정하여 설명하기로 한다. 따라서 본 발명의 실시예에서는 상기 휴대단말기의 이벤트에 대한 캐릭터 에이전트 제어는 아바타 에이전트 제어로 설명될 것이지만, 상기 아바타 이외의 모든 이미지들을 사용하여도 동일하게 적용할 수 있다.
본 발명은 인공 에이전트 시스템을 기반으로 캐릭터 인터페이스를 통해 휴대단말기의 사용자에게 유용한 기능을 제공하고, 휴대단말기 사용을 바탕으로 캐릭터를 육성할 수 있다. 도 2는 본 발명의 실시예에 따른 캐릭터 에이전트 기능을 가지는 에이전트 시스템의 구성을 도시하는 도면이다.
상기 도 2를 참조하면, 본 발명의 실시예에 따른 휴대단말기는 캐릭터 에이전트 시스템50 및 캐릭터 인터페이스 60을 구비하며, 상기 캐릭터 에이전트 시스템 50은 이벤트처리 시스템 52 및 에이전트 모듈 54로 이루어진다. 여기서 상기 에이전트 모듈 54는 각종 유용한 기능을 제공하는 모듈로써, 각 기능들에 따라 분리되어 있어 기능 추가 및 삭제가 용이한 구조를 갖는다. 즉, 상기 도 2에 도시된 바와 같이 상기 에이전트 모듈은 통화관련 에이전트, 시스템관련 에이전트, 일정관련 에이전트, 메시지관련 에이전트, 응용(application)관련 에이전트, 캐릭터육성 관련 에이전트 등으로 그룹화되어 있다. 상기와 같은 에이전트들 이외에 카메라 관련 에이전트, 디지털방송관련 에이전트, GPS(global positioning system)관련 에이전트 들도 포함될 수 있다. 그리고 상기와 같이 그룹화된 에이전트들도 세부 기능에 따라 분리되고 모듈화되어 있다. 상기 에이전트시스템50은 휴대단말기에서 발생하는 각종 이벤트를 감지하여 필요로 하는 각 기능에 전달하면, 해당 기능이 여러 상황을 종합하여 해당 기능 작동 여부를 시스템에 알려주고 에이전트시스템50은 현재 상황에 적절한 기능들을 우선 순위에 의해 작동시킨다. 이때 사용자의 선호도에 따라 해당 기능이 여러 가지 방식으로 동작할 수 있도록 캐릭터인터페이스60을 통해 사용자로부터의 피드백을 받는다.
상기 휴대단말기로부터 발생되는 각종 이벤트들 및 에이전트 기능, 그리고 사용자의 피드백에 의해 캐릭터의 수치(character quotient)가 갱신된다. 뿐만 아니라 상기 캐릭터수치를 사요할 수 있는 여러 응용들도 캐릭터 수치에 영양을 미치는데, 캐릭터 수치가 변함에 따라 캐릭터는 변하게 되고, 시간이 지남에 따라 캐릭터는 성장하는 모습을 보일 수 있다. 여기서 상기 캐릭터의 성장 및 캐릭터의 변화가 캐릭터 육성이 된다. 본 발명의 실시예에 따른 휴대단말기는 인공지능 에이전트 시스템 기반위에 캐릭터 육성을 도입하므로써, 일반적인 종래의 캐릭터 육성(예를들면 다마고치 등)과 캐릭터 기능을 표현하는 단말기와는 전혀 다른 캐릭터 에이전트 시스템을 제공할 수 있다.
상기한 바와 같이 본 발명의 실시예에 따른 캐릭터 에이전트 시스템은 휴대단말기를 사용하는 사용자에게 사용 편의와 즐거움을 제공하는 것이다. 이때 상기 휴대단말기의 사용 편의 및 즐거움을 주기 위한 기능들은 사용 케이스(use case) 또는 케이스(case)라고 칭하기로 하며, 이는 뒤에서 상세하게 설명될 것이다.
본 발명의 실시예에 따른 캐릭터 에이전트 시스템은 케이스 다이어그램(use case diagram)과 패키지 다이아그램(package diagram)으로 이루어진다. 여기서 상기 케이스 다이아그램은 캐릭터 에이전트 시스템에서 발생되는 이벤트가 각 케이스로 전달되고, 그 중 적합한 경우에 해당하는 케이스만 사용자 인터페이스(UI: user interface)를 통해 표시된다. 그러면 휴대단말기의 사용자는 캐릭터를 통해 나타나는 권장사항에 대하 선택을 통해 시스템으로 피드백을 발생한다. 도 3은 본 발명의 실시예에 따른 케이스 다이아그램을 도시하고 있다.
또한 상기 패키지 다이아그램은 캐릭터 에이전트 시스템을 크게 3부분(event collector, agent controller, agent ui expression) 또는 4부분(event collector, event delivery server, agent controller, agent ui expression)으로 표현한 다이아그램이다. 여기서 상기 이벤트수집부는 캐릭터 에이전트를 동작시키기 위한 휴대단말기의 이벤트들을 수집하며, 이벤트전달부는 상기 수집되는 이벤트를 에이전트제어부에 전달하고, 에이전트제어부는 전달되는 이벤트를 분석한 후 자신이 가진 데이터를 참조하여 필요시 에이전트표현부를 통해 캐릭터를 표현하도록 제어한다. 이때 상기 이벤트전달부는 이벤트수집부에서 수집되는 이벤터들을 상기 에이전트제어부에 전달하는 기능을 수행하며, 또한 상기 이벤트수집부를 통해 받을 수 없는 이벤트를 캐릭터에이전트 시스템으로 직접 받아 에이전트제어부에 전달하는 기능을 수행한다. 따라서 모든 이벤트들이 이벤트수집부를 통해 수집하는 캐릭터에이전트 시스템인 경우에는 상기 이벤트전달부는 생략될 수 있다. 상기 캐릭터에이전트 시스템의 패키지 다이아그램은 도 4에 도시되어 있다.
여기서 상기 캐릭터는 사람, 동물, 식물등의 캐릭터들이 될 수 있다. 이하 본 발명의 설명에서 상기 캐릭터는 아바타인 것으로 가정하여 설명하기로 한다.
상기 도 3은 본 발명의 실시예에 따른 휴대단말기의 에이전트 시스템이 발생되는 이벤트들을 분석하여 대응되는 아바타 UI들을 제어하여 표시하는 도면이다.
상기 도 3을 참조하면, 상기 이벤트는 휴대단말기의 프로그램에서 임의로 발생되는 이벤트이며, 또한 일부 케이스와 일부 아바타 UI에서 발생되는 이벤트가 될 수 있다. 상기와 같은 이벤트가 발생되면, 발생된 이벤트 케이스를 전문가들이 검사하고 검사 결과 해당 케이스에 맞으면 적절한 아바타 UI로 발생된 이벤트를 표현한다. 즉, 상기한 바와 같이 이벤트가 발생되면, 발생된 이벤트 ID에 대응되는 전문가들이 발생된 이벤트 케이스를 분석하며, 이벤트에 가장 밀접한 전문가를 선택하고, 이렇게 선택된 전문가의 아바타 UI를 표현하게 된다.
도 4는 본 발명의 실시예에 따른 캐릭터 에이전트 시스템을 구비하는 휴대단말기에서 발생되는 이벤트들을 에이전트 기능을 표현하는 구성을 도시하는 도면으 로써, 상기 제어부100의 내부 구성이 될 수 있다.
상기 도 4를 참조하면, 이벤트수집부(event collector)110은 휴대단말기에서 발생되는 이벤트들을 수집하는 기능을 수행한다. 여기서 상기 이벤트는 휴대단말기의 통신 이벤트, 휴대단말기의 자체에서 발생되는 이벤트, 사용자의 요구에 의해 발생되는 이벤트, 휴대단말기의 멀티미디어 기능 수행에 따른 이벤트등의 모든 휴대단말기의 이벤트들을 포함한다. 즉, 상기 이벤트수집부110에서 수집하는 이벤트들은 휴대단말기에서 정의된 이벤트들이 된다. 상기 이벤트수집부110은 이벤트 발생시 상기 발생된 이벤트에 필요한 정보룰 추출하여 이벤트 메시지를 생성하며, 상기 이벤트 메시지를 이벤트전달부120에 출력한다.
이벤트전달부(event delivery server)120은 상기 이벤트수집부110에서 수집되는 이벤트 메시지를 해당하는 클라이언트(client)에 전달하는 기능을 수행한다. 본 발명의 실시예에서는 에이전트제어부130에만 이벤트메시지를 전달하는 것으로 가정한다. 그러나 상기 이벤트 메시지의 전달을 요구하는 다른 구성부가 있는 경우에는 이 구성부에도 전달할 수 있다. 또한 상기 이벤트전달부120은 상기 이벤트수집부100에서 수집되는 이벤트 이외에 휴대단말기에서 정의되지 않은 사용자 정의 이벤트들도 수신하여 상기 에이전트제어부130에 전달한다. 여기서 상기와 같은 이벤트는 응용이벤트(application event)라 칭하기로 하며, 상기 응용이벤트들은 게임, 다른 응용프로그램, 웹 서비스 프로그램(web service program) 들에 의해 발생되는 이벤트들이 될 수 있다.
상기 에이전트제어부(agent controllor)130은 상기 이벤트전달부120으로부터 이벤트메시지를 전달받으면, 상기 전달되는 이벤트 메시지를 내부 버퍼에 저장하고, 또한 상기 이벤트 메시지를 분석하여 대응되는 캐릭터 에이전트를 표현할 수 있도록 UI(user interface)를 결정한다. 여기서 상기 이벤트전달부120으로부터 전달되는 이벤트는 휴대단말기의 이벤트(상기 이벤트수집부100에서 수집되는 이벤트들) 및 상기 응용이벤트들이 될 수 있다. 이하의 설명에서는 상기 이벤트수집부110에서 수집되는 이벤트의 에이전트 표현을 중심으로 설명될 것이다. 상기 에이전트제어부130은 내부의 다수의 전문가(specialist)들을 구비하며, 이들 전문가들을 제어하면서 발생된 이벤트에 대응되는 전문가를 선택하여 에이전트 제어 기능을 수행한다. 상기 에이전트제어부130은 이벤트가 수신되면, 수신된 이벤트에 따라 적절한 전문가들에 이벤트의 발생을 통보하고, 최종적으로 선택된 전문가의 에이전트 표현을 표시할 수 있도록 에이전트표현부140에 UI를 요청한다. 그리고 상기 에이전트표현부140에서 수신되는 사용자의 피드백 정보에 따라 해당 이벤트에 대한 사용자의 피드백 정보를 처리한다.
상기 에이전트표현부(agent UI expression part)140은 상기 에이전트제어부130에서 출력되는 에이전트 UI 정보에 따라 해당 이벤트에 대한 캐릭터 표현을 표시한다. 이때 상기 에이전트표현부140은 상기 표시부27에서 표시할 다수의 아바타 UI를 관리하며, 상기 에이전트제어부130에서 요구한 UI 정보에 따라 대응되는 아바타를 표시할 수 있도록 제어한다. 그리고 상기 발생된 이벤트에 따른 아바타를 표시하는 상태에서 사용자가 피드백 정보를 발생하면, 상기 에이전트표현부140은 수신되는 피드백정보를 상기 에이전트제어부130에 전송한다.
상기 도 4와 같은 구성에서 이벤트수집부110에서 수집되는 휴대단말기의 이벤트만 처리하는 경우 상기한 바와 같이 상기 이벤트전달부120은 생략될 수 있다.
상기 이벤트가 발생되면, 이벤트수집부110이 하기 <표 1>과 같이 이벤트에 필요한 정보를 추출하여 적절한 파라미터들로 이벤트 메시지를 생성한다. 그러면 상기 에이전트제어부130은 수신되는 이벤트 메시지를 적절하게 변경하여 내부의 버퍼에 저장한 후, 이벤트 메시지와 파라미터에 따른 에이전트를 제어한다.
이벤트 종류 | 발생시간 | 파라미터1 | - - - | 파라미터n |
상기 이벤트 메시지의 처리 절차에 대한 예를들면, "AP_CONTAC_ADD"라는 이벤트가 발생되는 경우, 상기 이벤트수집부110은 하기 <표 2>와 같은 (AP_SMS_SEND, 2004-09-06 14:00, 65)라는 이벤트 메시지를 생성한다. 이때 상기 이벤트 메시지에서 "65"는 메시지 데이터 베이스에 65번 ID가 생성되었음을 의미하는 것이다. 그러면 상기 에이전트 제어부130은 상기 <표 2>와 같은 이벤트 메시지를 수신하면, 이벤트가 AP_SMD_SEND이므로 메시지 데이터 베이스에서 ID를 찾아야 한다. 이때 상기 메시지 데이터 베이스에 65번 ID가 "James bond"라는 이름과 "016-432-3792"라는 전화번호이면, 상기 에이전트제어부130은 내부의 버퍼에 하기 <표 3>과 같이 이벤트 메시지를 저장한다.
이벤트 종류 | 발생시간 | 파라미터 1(ID) |
AP_SMS_SEND | 2004-09-06 14:00 | 65 |
이벤트 종류 | 발생시간 | 파라미터1 | 파라미터2 |
AP_SMS_SEND | 2004-09-06 14:00 | James bond | 016-432-3792 |
여기서 상기 에이전트 제어부130의 내부버퍼를 블랙보드(blackboard)라 칭하기로 한다.
이하의 설명에서는 상기 이벤트수집부110, 이벤트전달부120, 에이전트제어부130 및 에이전트표현부140의 동작을 구체적으로 살펴본다.
도 5는 상기 도 4의 이벤트수집부110의 구성을 도시하는 도면이다. 상기 이벤트수집부110은 휴대단말기에서 발생되는 모든 이벤트들을 수집하는 기능을 수행한다. 그리고 상기 수집되는 이벤트들은 후술하는 에이전트제어부130에서 처리되어 아바타 UI로 표시할 수 있다.
상기 도 5를 참조하면, 이벤트수집부110은 다수개의 이벤트감지기222-236 들과 이들 이벤트감지기들로부터 감지되는 이벤트들을 수집하여 이벤트메세지를 생성하며, 이를 이벤트전달부120에 전달하는 이벤트수집관리부210으로 구성된다.
먼저 시스템이벤트감지기222는 배터리의 상태, 휴대단말기의 통신환경(전파문제), 메모리 등과 같은 휴대단말기의 상태에 따른 시스템 이벤트의 발생 여부를 감지한다. 주소록이벤트감지기224는 사용자의 조작에 의해 주소록 변경여부를 감지한다. 설정이벤트감지기226은 언어 및 시간 등과 같은 휴대단말기의 설정을 변경하는 이벤트를 감지한다. 메시지이벤트 감지기228은 SMS, MMS 및 메일(e-mail) 등과 같은 메시지 이벤트의 발생을 감지한다. 일정변경이벤트감지기230은 스케쥴, 예약, 알람 등과 같은 일정 및 알람 이벤트들을 감지한다. 카메라이벤트감지기232는 카메라가 장착된 휴대단말기인 경우 상기 카메라의 동작에 관련된 이벤트를 감지한다. 방송이벤트감지기234는 방송수신기(디지탈 방송수신기(dmb, dvb 등), 일반 방송수신기 등)가 장착된 휴대단말기인 경우 상기 방송수신에 관련된 이벤트를 감지한다. 여기서 상기 방송은 지상 및 위성 디지털 방송의 디지탈방송 및 일반 아날로그 방송을 포함할 수 있다. 통화이벤트 감지기236은 휴대단말기의 통화(착신, 발신, 부재중통화, 거부)에 관련된 이벤트를 감지한다.
상기와 같은 이벤트감지기222-236들에서 감지되는 이벤트들은 이벤트수집기관리부210에 인가된다. 그러면 상기 이벤트수집기관리부210은 상기 수신되는 이벤트들을 확인한 후, 이벤트의 종류, 발생시간 및 ID 등으로 구성되는 이벤트 메시지를 생성한다. 이때 상기 이벤트 메시지는 상기 <표 1>과 같은 구조를 가지는 메시지들 중에 하나가 될 수 있다. 상기와 같은 메시지는 이벤트전달부120에 인가된다.
상기한 바와 같이 이벤트수집부110은 다수의 이벤트감지기222-236들 및 이들 감지기222-236들에서 감지되는 이벤트들을 수집하여 뒷단의 에이전트제어부130에서 제어할 수 있도록 이벤트메세지로 생성하는 이벤트수집관리부210으로 구성된다. 본 발명의 실시예에서는 8개의 이벤트감지기들이 구성된 예를 도시하고 있지만, 필요에 따라 더 많은 이벤트감지기들을 구비할 수 있으며, 또한 상기 카메라이벤트감지기232 및(또는) 방송이벤트감지기234는 해당하는 장치의 장착 여부에 따라 구비되거나 생략될 수 있다.
도 6은 상기 도 4의 이벤트전달부120의 구성을 도시하는 도면이다. 상기 이벤트전달부120은 이벤트를 받기를 원하는 클라이언트에게 수신된 이벤트를 전달한다.
상기 도 6을 참조하면, 상기 이벤트전달부120은 다수개의 클라이언트접속부252-258과 이들 클라이언트접속부252-258과 연결되어 이벤트메세지를 수신 및 수신된 메시지를 전달하는 이벤트전달처리부250으로 구성된다. 여기서 상기 이벤트메세지를 전달받고자하는 장치(예를들면 도 6에 도시된 바와 같은 에이전트제어부130과 같은 장치)는 상기 이벤트전달부120에 이벤트 메시지의 전달을 요청하여야 한다. 본 발명의 실시예에서는 상기 도 6에 도시된 바와 같이 에이전트제어부130이 이벤트메세지의 전달을 요청한 경우로 가정한다.
상기 도 6에서 상기 이벤트수집부110은 제1클라이언트접속부252에 접속된다. 상기 클라이언트접속부252는 상기 이벤트수집부110에서 수집되는 상기 이벤트 메시지를 이벤트전달처리부250에 전달하는 기능을 수행한다. 이때 상기 이벤트수집부110에서 생성되는 이벤트 메시지는 상기한 바와 같이 휴대단말기에서 발생되는 이벤트들에 대한 정보이다.
또한 에이전트제어부130은 제2클라이언트접속부254에 접속된다. 이때 상기 에이전트제어부130은 상기 이벤트수집부110에서 생성되는 이벤트 메시지를 수신하기 위하여 상기 이벤트전달부120에 이벤트메시지의 전달을 요청한다. 그러면 상기 제2클라이언트접속부254는 상기 이벤트 요청 메시지를 상기 이벤트전달처리부250에 전달하며, 상기 이벤트전달처리부250은 상기 에이전트제어부130의 이벤트 요청을 등록하고 이후 수신되는 이벤트 메시지를 상기 에이전트제어부130에 전달할 수 있도록 준비한다. 이때 상기 제1클라이언트접속부252 또는 제n클라이언트접속부258에서 이벤트메세지가 수신되면 상기 이벤트전달처리부250은 상기 수신되는 이벤트 메시지를 상기 제2클라이언트접속부254에 전달하며, 상기 제2클라이언트접속부254는 상기 전달되는 이벤트메세지를 상기 에이전트제어부130에 전달한다. 즉, 상기 이벤트전달부120은 이벤트를 요청한 상기 에이전트제어부130에 수신되는 이벤트 메시지들을 전달하는 기능을 수행한다.
제n클라이언트접속부258은 다수로 구성될 수 있으며, 상기 제n클라이언트접속258은 상기 이벤트수집부110에서 생성되는 이벤트 이외의 응용이벤트들을 수신하는 기능을 수행한다. 이때 상기 제n클라이언트접속부258에서 수신할 수 있는 이벤트들은 상기한 바와 같이 휴대단말기에서 정의되지 않은 이벤트들로써, 게임, 다른 응용프로그램, 웹서비스 프로그램들에 의해 발생되는 이벤트들이 될 수 있다.
상기한 바와 같이 이벤트전달부120은 휴대단말기에서 발생되는 모든 이벤트들을 수신하여 이벤트 전달을 요청한 에이전트제어부130에 전달하는 기능을 수행한다. 본 발명의 실시예에서는 상기 에이전트제어부130만 이벤트 전달을 요청한 경우를 가정하여 설명하고 있다. 그러나 다른 에이전트제어부를 더 구비하여 이벤트 전달을 요청한 경우, 상기 이벤트전달부120은 수신되는 메시지를 분석하여 해당하는 에이전트제어부에 수신되는 이벤트 메시지를 분배하여 전달할 수도 있다.
도 7은 상기 도 4의 에이전트제어부130의 구성을 도시하는 도면이다. 상기 에이전트제어부130은 전문가들을 관리하며, 최종적으로 선택된 전문가가 구비하고 있는 UI ID를 결정하여 에이전트표현부140에 이를 지시한다. 그리고 상기 아바타 UI 표시에 따른 사용자의 피드백 정보에 따라 행동한다.
상기 도 7을 참조하면, 상기 에이전트제어부130은 상기 이벤트전달부120에서 전달되는 이벤트 메시지를 내부버퍼(blackboard)330에 저장하고, 상기 이벤트에 대응되는 전문가로부터 UI ID를 설정하여 에이전트표현부140에 출력한다. 그리고 상기 에이전트표현부140에 의해 표시되는 아바타 에이전트 기능에 따라 사용자가 피드백정보를 발생하면 이를 상기 에이전트표현부140으로부터 수신하여 상기 사용자 피드백 정보에 따른 에이전트 제어를 수행한다. 상기와 같은 기능을 수행하기 위하여 상기 에이전트제어부130은 에이전트 UI의 ID들을 구비하는 다수의 전문가(specialist)322-328들과, 이벤트 메시지들의 정보를 저장하는 블랙보드330과, 발생된 이벤트가 다수의 전문가들에 포함되는 경우에 이들 중 하나 또는 둘 이상의 전문가를 선택하는 감독부(supervisor)350과, 상기 발생되는 이벤트들에 따라 아바타의 수치를 관리하는 아바타수치저장부340과, 상기 전문가322-328들이 특정 시간에 특정 행동을 할 수 있도록 하는 타이머처리부370과, 상기 이벤트 발생시 상기 이벤트별 전문가리스트에서 해당하는 전문가들을 선택하고, 상기 이벤트에 따른 에이전트를 제어하는 전문가관리부310등을 구비한다.
여기서 상기 에이전트제어부130의 각부 구성들을 먼저 살펴본 후, 상기 에이전트제어부130의 동작을 설명한다. 상기 에이전트제어부130은 캐릭터 에이전트 시스템을 구동하는 핵심부분으로 에이전트 엔진(agent engine)을 구비한다. 여기서 상기 에이전트 엔진은 블랙보드330, 타이머처리부370, 감독부350으로 구성되고, 이들과 상기 전문가322-328 들을 유기적으로 연결시켜주는 코드로 구성될 수 있다.
먼저 상기 전문가(specialist)322-328은 문제를 해결하는데 기여하는 전문가들로써, 한정된 부분에 대해 전문성을 갖고 상기 블랙보드330을 참조하여 해답을 찾아내어 자신이 최종적으로 선택될 수 있도록 노력한다.
상기 전문가322-328은 상기 에이전트 엔진에 의해 구동되는 실질적인 작업처리기이다. 하나의 전문가는 하나의 케이스(case, use case)를 처리한다. 따라서 50개의 케이스를 처리하는 경우에는 50개의 전문가들을 필요로 하며, 시스템을 유지하기 위한 부가적인 전문가도 존재하므로 처리하기 위한 케이스들의 수 보다 더 많은 수의 전문가들을 필요로 한다. 상기 각 전문가322-328은 자신이 처리해야 하는 일에 대한 적절한 알고리듬을 구비하며, 이런 코드들은 상기 에이전트 엔진에 의해 호출되어 처리될 수 있도록 일정한 규격으로 구현되어야 한다. 본 발명의 실시예에서는 상기 전문가 인터페이스가 하기 <표 4>와 같은 MSpecialist라는 인터페이스를 사용하는 것으로 가정한다. 상기 전문가3220328은 블랙보드330에 접근하여 정보를 읽거나 기록할 수 있으며, 타이머처리부를 활용하여 자신이 동작하고 싶은 시간을 설정할 수 있으며, 또한 설정된 시간을 변경할 수 있다.
상기 <표 4>는 전문가 인터페이스로써, 상기 전문가322-328이 반드시 구현하여야 하는 함수를 정의하고 있다. 이벤트 발생시 상기 <표 4>의 DetermineActivated()를 통하여 해당 전문가의 동작 형태를 결정하고, 동작해야 할 시점이 되었을 때 엔진에 의해 GetUIInfo()가 호출되어 UI 표현에 필요한 정보를 준 후 사용자 선택에 따른 행동을 ActvateL() 안에서 수행한다.
본 발명의 실시예에서 상기 전문가322-328은 상기한 바와 같이 각 케이스(case, use case)들의 수 만큼 또는 그 이상의 수로 구비되어야 한다. 하기 <표 5>는 본 발명의 실시예에 따른 케이스들의 예를 나타내는 테이블이다.
두 번째로 상기 블랙보드330은 상기 전문가322-328들이 서로 의사 소통을 하는 작업 환경이자 정보 공간이다. 기본적으로 상기 전문가322-328들이 필요시 언제나 정보를 이용할 수 있으며 정보를 적을 수도 있다. 상기 블랙보드330 패턴의 장점은 다음과 같다. 먼저 서로 다른 종류의 여러 전문가322-328들을 용이하게 통합할 수 있다. 두 번째로 각각의 전문가322-328들이 서로 영향을 적게 주고받기 때문에 독립적으로 모듈화하여 개발할 수 있다. 세 번째로 여러 가지 변화(전문가들의 알고리즘 변경, 새로운 전문가의 추가 등)에 탄력적이다.
상기한 바와 같이 블랙보드330은 상기 전문가322-328들의 작업환경이자 정보 공간으로써, 간편하고 탄력적인 정보 검색을 지원한다. 이것은 관계형 데이터베이스 또는 Linda, Jini 및 Java Object Space 등에서 채택하는 튜플공간(tuple space)로 설계할 수 있다.
상기 많은 전문가322-328들은 과거의 기록을 필요로 한다. 예를들어 특정한 때에 전화발신 패턴이 감지되면 자동으로 전화발신을 권유하는 전문가를 살펴보자. 과거에 많은 발신 시점을 알아야 발신 권유시점을 계산할 수 있다. 이와 같이 전화 발신이라는 이벤트를 기록해 놓고, 필요할 때 검색할 수 있는 것이 블랙보드330라 불리우는 데이터 베이스이다. 상기 캐릭터 에이전트 기능을 구비하는 휴대단말기에서는 하나의 블랙보드330을 모든 전문가3220328들이 공유한다. 물론 에이전트 엔진도 상기 블랙보드330을 사용한다. 상기 에이전트 엔진은 상기 블랙보드330에 발생한 이벤트를 기록하여야 하며, 사용자 피드백도 기록하여야 한다. 상기 전문가322-328들은 블랙보드330을 참조하여 자신의 행동을 결정하며, 상기 블랙보드330에 특정정보를 기록하기도 한다. 상기 블랙보드330은 공유되므로, 서로 다른 전문가가 기록한 모든 기록을 참고할 수 있다. 하기 <표 6>은 블랙보드330을 나타내고 있다.
상기 블랙보드330은 Insert()를 통하여 이벤트 정보를 기록할 수 있는데, 상기 이벤트에 딸린 부가적인 정보를 함께 저장을 위해 추가적인 Insert()를 제공한다. 상기 전문가322-328의 아이디를 첫 번째 인자로 사용하는 Insert()는 사용자의 피드백을 기록하는 함수이다. 상기 전문가322-328들은 GetDatabase()를 통하여 블랙보드330에 접근하여 검색 등을 할 수 있다.
세 번째로 타이머처리부370을 살펴본다. 상기 타이머처리부370은 상기 전문가322-328들을 구동시키는 기능을 수행한다. 상기 전문가322-328들이 에이전트 시스템으로부터 발생되는 이벤트들에 의해 깨어나게 되지만, 특정시간에 특정 행동을 하기 위해서는 타이머가 필요하다. 상기 전문가322-328들은 판다하는 시점과 행동하는 시점, 즉 캐릭터 UI가 표현되어 사용자에게 보여지는 시점이 다를 수 있다. 즉, 어떤 전문가는 완전히 타이머처리부370에 의존적일 수 있다. 예를들면 상기 <표 5>에 표시된 케이스들에서 SCHO6 전문가(사용자가 정한 시간에 전체 일정을 확인할 것을 권유하는 케이스)는 매일 규칙적으로 반복해서 실행되어야 하는 전문가로써, 상기 타이머처리부370에 완전히 의존되는 전문가이다. 그러나 상기 타이머처리부370을 사용하는 대부분의 전문가들은 휴대단말기에서 발생되는 이벤트들을 필요로 한다. 그리고 상기 이벤트 발생시 전문가는 캐릭터 UI를 표현할것인지 또는 아닌지를 판단하게 된다. 이때 상기 전문가가 상기 캐릭터 UI를 특정 일시(월, 일, 시간)에 표현하는 것이 적합하다고 판단하거나 또는 특정 시간이 지난 후 다시 판단하여야 하는 경우, 상기 전문가는 상기 타이머처리부370을 사용하여 판단함수를 부른다. 본 발명의 실시예에서는 상기 도 7에 도시된 바와 같이 상기 캐릭터 에이전트 시스템을 구비하는 휴대단말기는 시스템 부하를 줄이기 위해, 한개의 타이머처리부370을 사용한다. 그리고 각 전문가를 깨워달라는 시간(연, 월, 일, 시, 분, 초)의 요청은 상기 블랙보드330에 저장되고, 저장되어 있는 요청들 중 가장 빠른 요청에 대응되는 시간이 타이머처리부370에 의해 처리된다. 그리고 상기 요청 시간이 되어 알람(alarm)이 동작되면, 해당 요청을 상기 블랙보드330에서 삭제한 후, 이후 가장 빠른 알람이 요구되는 요청을 상기 타이머처리부370에 설정한다.
상기 전문가는 상기 타이머처리부370의 사용에 대한 책임을 진다. 즉, 상기 전문가322-328들은 상기 타이머처리부370에 시간을 설정할 수 있고, 또한 상기 설정 시간이 불필요하게 된 경우에는 설정된 시간의 삭제 및 변경등을 하여야 한다. 그리고 상기 설정한 시간이 되면 상기 타이머처리부370이 구동되며, 이로인해 상기 타이머를 설정한 전문가는 상기 <표 4>와 같은 전문가 인터페이스에서의 두 번째 DetermineActivated()를 호출한다. 이후의 나머지 처리 과정은 다른 이벤트들에 의한 동작 순서와 동일하게 수행된다.
상기 시간 변경 현상은 타이머처리부370을 매우 복잡하게 만드는 요소이다. 어떤 전문가가 1주일 후에 동작하는 것으로 타이머를 설정하고, 사용자가 휴대단말기의 날짜를 1년 전으로 돌렸다고 가정하자. 이때 타이머처리부370이 상기와 같은 시간 변경에 대한 처리를 하지 않는다면, 상기 타이머처리부370은 1년 1주일 후에 동작될 수 있다. 그리고 상기 블랙보드330은 변경된 날짜보다도 미래인 기록들이 쌓여있게 된다. 상기 캐릭터 에이전트 시스템을 구비하는 휴대단말기는 변경한 시간을 알 수 있으나 변경직전의 시간은 알 수 없다. 상기 엔진은 예측할 수 없는 시간 변경에 대해 미래의 기록을 지우는 것과 동시에 상기 <표 4>에 나타낸 바와 같이 모든 전문가322-328들에 시간이 변경되었음을 전문가 함수인 HandleTimeChanged()를 통해 알려준다. 그리고 상기 전문가3220328은 상기 시간 변경에 대해 각각 대책을 가지고 대응을 한다. 하기 <표 7>은 상기 시간 변경에 대한 전문가322-328들의 대응을 나타내고 있다.
상기 타이머처리부370의 동작을 살펴보면, 상기 전문가322-328들 중에서 타이머를 필요로 하는 전문가들이 있으며, 또한 상기 타이머를 필요로 하지 않는 전문가들이 있다. 이때 상기 타이머를 필요로하는 전문가들은 상기한 바와 같이 상기 타이머처리부370에 타이머를 설정하거나 변경 또는 삭제할 수 있다. 이때 상기 전문가가 상기 타이머처리부370에 타이머를 설정한 경우, 상기 타이머처리부370은 이를 상기 전문가관리부310에 통보하며, 상기 전문가관리부310은 상기 타이머를 설정한 전문가를 구동하여 설정된 시간에서 해당 전문가의 UI를 표현할 수 있도록 제어한다.
네 번째로 상기 감독부(supervisor)350은 상기 블랙보드330과 자신이 가진 상기 전문가322-328에 대한 사용자 선호도정보 및 현재 상황을 종합적으로 판단하여 표현하여야 전문가를 선택한다. 이때 상기 감독부350은 상기 캐릭터 UI를 표현할 전문가를 선택할 때 선택하고자 하는 상기 전문가들 중에서 가장 적합한 한 개의 전문가를 선택할 수 있다. 그리고 상기 캐릭터 UI를 표현할 전문가들이 복수개인 경우에 해당하는 모든 전문가들을 표시할 수도 있다.
상기 후자와 같이 전문가들의 캐릭터 UI 표현을 수행하는 경우의 상기 감독부350의 동작을 살펴본다.
상기 이벤트 발생시 전문가의 판단 함수는 엔진에 행동 방식을 알려준다. 상기 행동방식은 "아무것도 하지 않음", "지금 UI를 보여줄 것", "UI 표현 대기 중이면 대기 열에서 삭제 또는 현재 UI 표현 중이면 감춤"의 3가지로 나뉘어진다. 이중 상기 "지금 UI를 보여줄 것"은 여러 전문가들이 동시에 엔진에 알려줄 수 있는데, 이런 경우 상기 엔진은 경쟁 관계에 있게되는 전문가들을 잘 조절할 필요가 있다. 상기 전문가는 다른 전문가가의 존재를 알 수 없으며, 이로인해 자신이 표현되어야 하는지 또는 숨겨져야 하는지 등에 대한 동작을 할 뿐이다. 따라서 캐릭터 UI를 표현하여야 하는 전문가들이 감독부350에 전달되면, 상기 감독부350은 하기와 같은 알고리듬에 의해 캐릭터 표현을 하고자 하는 전문가들을 정렬한다.
이때 감독부350의 알고리듬 원칙은 3가지로 구분할 수 있다. 먼저 기본적으로 지정되어 있는 지정우선순위를 최우선으로 한다. 두 번째로 사용자의 선호도를 반영한다. 세 번째로 모든 전문가들이 캐릭터 UI를 표현할 수 있도록 한다(즉, 전문가는 굶주리지 않아야 한다.)
상기 감독부의350의 알고리듬을 살펴보면, 기본적으로 지정되어 있는 지정우선순위를 p1(p1≥0)이라하고, 해당 전문가에 대한 사용자 선호도를 p2라고 하면, 전문가의 캐릭터 사용자인터페이스를 표현하기 위한 우선순위(이하 UI 표현우선순위라 한다)는 다음과 같이 계산된다.
p = (1/(p1+1))*p2
where,
p2 = 1 - ((r(0)*f(0)+(r(1)*f(1)+ ... + (r(k-1)*f(k-1))/
(g(0)+g(1)+...+g(k-1))))
여기서 k는 14로 정할 수 있음.
whrere,
r(i) = xi/(xi+yi) if xi+yi > 0
= 0 if xi+yi = 0
f(i) = 1/(1+2logk(i+1)
g(i) = 1 if xi+yi > 0
= 0 if xi+yi = 0
r(i)는 현재로부터 과거 i번째 날에 사용자가 가진 부정적 견해의 비율
f(i)는 현재로부터 과거 i번째 날에 사용자가 가진 부정적 견해의 감소 요소
g(i)는 현재로부터 과거 i번째 날에 긍정이나 부정이 있었던 횟수
where,
xi는 현재로부터 과거 i번째 날에 사용자가 전문가를 거부한 횟수
yi는 현재로부터 과거 i번째 날에 사용자가 전문가를 거부하지 않는 횟수
여기서 상기 k를 14로 정한 이유를 살펴보면, 사용자가 14일 전에 전문가를 거부한 정도는 r(i)의 비율로 거부정도가 계산된다. 상기 14일 전에 완전히 거부한 경우, 거부 비율은 1이지만 시간이 지났으므로 r(13) = 1/(1=2) = 0.33이 된다. 만일 시간에 따른 곡선의 기울기를 조정하고 싶으면 k를 변경하면 된다. 하기 <표 8>은 k=14로 가정했을 때의 감독부350의 알고리듬 계산의 예를 나타내고 있다. 그리고 도 8a는 상기 감독부350의 알고리듬에서 부정 곡선의 예를 도시하고 있으며, 도 8b는 상기 감독부350의 알고리듬에서 부정적 견해의 감소 요소 f의 계산 예를 도시하고 있고, 도 8c는 상기 감독부350의 알고리듬에서 보정된 부정곡선의 예를 도시하고 있다.
상기 도 8a에 도시된 부정곡선의 예는 상기 <표 8>에 나타낸 감독부350의 알고리듬 계산 중 r값을 그래프로 표현한 것으로, 날짜별로 부정 빈도를 나타내고 있다. 도 8b는 감독부350의 알고리듬에서 f 계산은 사용자의 선호도가 날짜별로 반영되는 정도를 나타낸 곡선으로, 최근 것일수록 강하게 반영되는 것을 알 수 있다. 도 8c는 상기 감독부350의 알고리듬에서 보정된 부정곡선은 날짜 별 반영 정도가 함께 계산된 부정 빈도로써, 이 값들에 의해 최종 계산 결과가 나오고 위의 예에서는 사용자가 해당 전문가를 선호하는 비율이 0.79012323으로 계산된다. 이 값과 해당 전문가의 기본 지정우선순위에 의해 최종적인 UI 표현우선순위가 계산된다.
상기 감독부250은 계산된 UI 표현우선순위 대로 정렬된 전문가 리스트를 엔진(전문가관리부)에 돌려준다. 이때 상기 감독부350은 지나치게 낮은 UI 표현우선순위로 계산된 전문가는 제외시킬 수 있다. 그러므로 10개 전문가가 후보로 선정되었다 하더라도 실제 캐릭터 UI를 표현하는 전문가는 10개가 안될 수도 있다. 그러나 지나치게 낮은 UI 표현우선순위의 전문가를 배제한다고 하여도 감독부350의 알고리듬의 원칙 3에 의해 오래동안 배제된 전문가도 캐릭터 UI를 표현할 수 있도록 기회를 주어야 한다.
도 9는 상기와 같이 감독부350의 계산 방식에 의해 결정된 UI 표현 우선순위대로 정렬된 전문가들을 저장하는 우선순위 큐(priority queue)의 구조를 도시하는 도면이다. 상기 도 9에 도시된 바와 같이, 모든 전문가들은 다음과 같은 3가지의 UI 표현우선순위 중 한가지의 UI 표현우선순위를 부여받는다. 먼저 0순위의 전문가는 휴대단말기가 사용중일 때에도 캐릭터 UI를 표현하는 전문가이며, 1순위의 전문가는 휴대단말기가 사용중일 때에도 나타나지만 다른 전문가가 캐릭터 UI를 표현하고 있거나 또는 먼저 대기 상태에 있으면 대기하는 전문가이고, 2순위 전문가는 휴대단말기가 사용중일 때에는 캐릭터 UI 표현을 하지 않고 대기하는 전문가이다. 하기 <표 9>는 전문가322-328들의 기본적인 우선순위 할당 테이블을 표시하고 있다.
이때 상기 휴대단말기에서 캐릭터 UI를 표현하지 않는 상태이면 상기 도 9의 우선순위 큐는 비어있는 상태가 된다. 또한 우선순위 0인 경우, 새로운 전문가가 우선순위 큐의 맨앞에 추가되지만, UI 표현우선순위 1 및 2의 전문가는 0순위에 대기중인 전문가의 뒤에 추가된다. 그러므로 UI 표현우선순위 1 및 2를 가지는 전문가는 현재 나타나 있는 전문가의 캐릭터 UI 표현에 영향을 주지 않게 된다. 그러나 UI 표현우선순위 0을 가지는 전문가는 현재 표현되는 캐릭터 UI의 표현을 중단하고 자신의 캐릭터 UI 표현을 하게 된다. 따라서 새로운 0순위 전문가의 캐릭터 UI는 현재 표현되고 있는 캐릭터 UI 표현을 감추고 자신이 표현하는 캐릭터 UI를 표현할 수 있으며, 1순위 전문가의 캐릭터 UI는 2순위 전문가의 캐릭터 UI 표현을 감추고 자신이 표현하는 캐릭터 UI를 표현할 수 있다. 상기 1순위 및 2순위 캐릭터 UI는 동일한 캐릭터 UI가 표현되고 있거나 대기중이면 자신의 캐릭터 UI표현 순서를 기다려야 한다. 상기 캐릭터 UI는 사용자의 입력이 있거나 일정시간 아무 입력을 받지 않으면 상기 우선순위 큐에서 자동으로 삭제된다. 이때 상기 도 9와 같은 구조를 가지는 우선순위 큐의 가장 첫 아이템을 삭제하고 다음 전문가의 캐릭터 UI를 표현한다. 상기 UI 표현우선순위 2는 휴대단말기가 사용중인 상태에서는 표현되지 않아야 하며, 휴대단말기에서 제공하는 비활성화 관련 함수를 사용하거나 사용자가 키를 누른 후 일정시간이 지난 후 동작하는 방법을 사용하여 시스템의 비활성화 시점을 알아낸 후 캐릭터 UI를 표현하여야 한다.
상기 전문가들은 <표 9>와 같은 UI 표현우선순위와 더불어 캐릭터 UI가 표현되는 한계 시간을 가진다. 상기 한계 시간이 지난 캐릭터 UI는 의미가 없다. 특정한 시간에 특정 동작을 권유하는 것과 같은 일은 그 시간으로부터 시간이 어느 정도 흐르게되면 효력을 잃게 되는 것이 한가지 예가 될 수 있다.
또한 상기와 같이 기본으로 지정된 지정우선순위 및 사용자 선호도를 계산한 후, 가장 높은 순위를 가지는 전문가를 결정하고, 상기 결정된 하나의 전문가의 캐릭터 UI를 표현하는 방법도 가능하다. 이런 방법은 상기 감독부350의 전문가 결정 방법에서 전자의 방법에 해당한다.
다섯 번째로 아바타수치저장부340은 발생되는 이벤트 및 이벤트에 따른 사용자 행동에 따라 변경되는 아바타 수치를 담고 있는 기능을 수행한다. 본 발명의 실시예에 따른 상기 휴대단말기는 인공지능 에이전트 시스템을 기반으로 아바타 인터페이스를 통해 휴대단말기 사용자에게 유용한 기능을 제공하고 휴대단말기 사용을 바탕으로 아바타를 육성한다. 상기 에이전트 시스템은 휴대단말기에서 발생하는 각종 이벤트를 감지하여 필요로 하는 각 기능에 전달하면 해당 기능이 여러 상황을 종합하여 해당 기능 작동 여부를 시스템에 알려주고, 상기 에이전트제어부130은 현재 상황에 가장 적절한 하나의 전문가 또는 복수의 전문가들을 골라서 동작 준비를 한다. 이때 사용자의 선호도에 따라 해당 기능이 여러가지 방식으로 동작할 수 있도록 아바타 인터페이스를 통해 사용자로부터 피드백을 받는다.
상기 휴대단말기로부터 발생되는 각종 이벤트 및 에이전트 기능, 그리고 사용자의 피드백에 의해 아바타 내부수치가 변한다. 뿐만 아니라 아바타 수치를 사용할 수 있는 여러 응용 이벤트들에도 아바타 수치에 영향을 미치는데 내부 수치가 변함에 따라 아바타 인터페이스는 변하게 되고 시간이 지남에 따라 아바타는 성장하는 모습을 보이는데, 이것이 아바타의 육성 개념이다. 본 발명의 실시예에 따른 휴대단말기는 인공지능 에이전트 시스템 기반위에 아바타 육성을 도입한다. 이를 위하여 본 발명의 실시예에서는 휴대단말기에서 발생하는 다양한 이벤트들을 바탕으로 사용자에게 여러 가지 행동을 제안하고 알려줌으로써, 사용자에게 좀더 효과적으로 재미있게 단말기를 사용할 수 있게 한다. 그리고 이런 이벤트들 및 이에 따른 사용자의 피드백 행동에 따라 아바타의 수치도 변화하게 된다.
상기와 같은 구성을 가지는 에이전트제어부130의 동작을 상기 도 7을 참조하여 살펴보면, 상기 이벤트전달부120으로부터 이벤트가 수신되면, 상기 전문가관리부310은 상기 이벤트정보를 블랙보드330의 해당 이벤트 저장영역에 저장한다. 이때 상기 이벤트전달부120으로부터 전달되는 이벤트정보는 상기 <표 1>과 같은 포맷이다. 이때 상기 <표 1>과 같은 이벤트 메시지가 수신되면 상기 전문가관리부310은 상기 수신되는 이벤트 메시지와 파라미터를 참고하여 파라미터를 필요한 정보로 교체하거나 더 필요한 파라미터를 추가한 후, 이를 블랙보드130에 저장한다. 이후 상기 전문가관리부310은 내부의 이벤트별 전문가 리스트를 참조하여 상기 전문가322-328들 중에서 상기 수신된 이벤트에 해당하는 전문가들을 선택한 후, 상기 수신된 이벤트 메시지를 전달한다. 이때 상기 전문가322-328들은 각각 자신이 필요로 하는 이벤트 및 감독부350에 의해 최종 선택되었을 때 에이전트 표현을 위한 아바타 UI의 ID를 구비하고 있다.
이때 하나의 이벤트에 두 개 이상의 전문가들이 대응되는 경우가 발생될 수 있다. 이런 경우 본 발명의 실시예에서는 상기 대응되는 전문가들 하나의 전문가를 선택하여 캐릭터 UI를 표현할 수 있으며, 또한 둘 이상의 복수 전문가들을 선택하여 각 전문가의 캐릭터 UI를 표현할 수 있다. 이때 하나의 전문가를 선택하여 캐릭터 UI를 표현하는 경우, 상기 전문가관리부310은 감독부350에 가장 적합한 전문가를 선택하도록 요구한다. 그러면 상기 감독부350은 상기 블랙보드330의 데이터, 그리고 상기 이벤트에 따른 기본 지정우선순위 및 전문가에 대한 사용자 선호도를 분석하여 가장 적합한 전문가를 선택한다. 상기 감독부350에 의해 상기 수신된 이벤트에 따른 전문가가 결정되면, 상기 전문가관리부310은 상기 결정된 전문가에게 에이전트 표현을 위한 아바타 UI ID를 요구하며, 상기 전문가로부터 UI ID가 수신되면 이를 에이전트 표현부140에 전송한다.
또한 복수의 전문가들을 선택하여 캐릭터 UI를 표현하는 경우, 상기 전문가관리부310은 이벤트에 대하여 캐릭터 UI 표현을 하는 전문가들을 상기 감독부350에 통보한다. 그러면 상기 감독부350은 상기한 바와 같이 <표 9>와같은 우선순위 할당 테이블을 참조하여 기본적으로 지정되어 있는 지정우선순위를 참조하고, 이후 해당 전문가에 대한 사용자 선호도를 반영한다. 이후 상기 감독부350은 상기 절차를 수행하면서 결정한 우선순위대로 정렬된 전문가들의 리스트를 전문가관리부310에 알려준다. 그리고 상기와 같이 정렬되는 전문가들의 UI 표현우선순위는 도 9와 같은 우선순위 큐에 저장된다. 상기 감독부350에 의해 상기 수신된 이벤트에 따른 전문가들이 결정되면, 상기 전문가관리부310은 상기 우선순위 큐를 확인하면서 상기 결정된 전문가들의 UI 표현우선순위에 따라 해당하는 전문가에 캐릭터 UI 표현을 위한 아바타 UI ID를 요구하며, 상기 전문가로부터 UI ID가 수신되면 이를 에이전트 표현부140에 전송한다.
상기와 같이 발생된 이벤트에 대응되는 전문가들을 선택하여 캐릭터 UI를 표현하는 절차를 살펴보면, 먼저 이벤트(여기서는 이벤트수집부110에서 수집된 이벤트이거나 또는 타이머에 의한 이벤트를 모두 포함할 수 있다.)가 입력되면, 상기 전문가관리부310은 이벤트별 전문가리스트에서 상기 입력된 이벤트에 등록된 전문가들을 확인한 후, 해당하는 전문가들에 이를 통보한다. 그리고 상기 입력된 이벤트에 해당하는 전문가들이 복수개인 경우에는 이를 감독부350에 문의한다. 그러면 상기 감독부350은 지정우선순위 및 사용자 선호도를 분석하여 캐릭터 UI를 표현한 전문가들의 UI 표현우선순위를 결정하여 순서를 정렬한 후, 이를 상기 전문가관리부310에 통보한다. 그러면 상기 전문가관리부310은 상기 정렬 순서에 따라 상기 전문가들을 우선순위버퍼에 정렬시키며, 상기 정렬된 순서에 따라 전문가를 순서대로 구동시켜 해당 전문가의 UI를 표현하도록 제어한다.
또한 본 발명의 실시예에서는 상기한 바와 같이 상기 이벤트 발생 및 처리 결과에 따라 아바타 UI의 수치를 변경하여 아바타의 육성을 제어한다. 상기 아바타의 수치는 각 전문가들이 아바타 수치 저장부340에 변경요청하여 변경이 가능하다.
상기와 같은 아바타 UI ID를 수신하는 에이전트표현부140은 도 10과 같은 구성을 갖는다. 상기 에이전트표현부140은 휴대단말기의 사용자에게 보여줄 다수의 아바타 UI들을 관리하며, 상기 에이전트제어부130에서 요청한 UI ID에 해당하는 아바타 UI를 사용자에게 보여주는 동작을 수행한다.
상기 캐릭터 에이전트 시스템을 구비하는 휴대단말기는 UI로써 캐릭터를 사용한다. 여기서 상기 캐릭터는 아바타라고 가정한다. 상기 캐릭터 UI는 에이전트 엔진과는 독립적으로 구성되므로, 캐릭터 UI를 사용할 수 있으며, 또한 상기 캐릭터 UI와 함께 또는 독립적으로 텍스트, 오디오 등의 다양한 형태로 구현이 가능하다. 하기 <표 10>은 에이전트 표현부140의 UI 인터페이스를 나타내고 있다.
상기 UI는 상기 <표 10>과 같은 MAgentExpression으로 구현하여야 한다. 상기 <표 10>에서 Show()는 UI를 나타내는 것이고, Hide()는 UI를 감추는 것을 나타낸다. 상기 엔진은 SetFeedbackController를 통하여 UI에 입력되는 피드백을 받을 클래스를 지정하여야 한다.
상기한 바와 본 발명의 실시예에 따른 인공지능 에이전트 기능을 구비하는 휴대단말기가 캐릭터 UI를 사용하는 경우, 상기 캐릭터는 아바타 모델을 사용하여 사용자의 흥미를 유발시킬 수 있다. 상기 아바타 모델은 휴대단말기의 사용에 따라 캐릭터를 성장시킬 수 있다. 이때 상기 캐릭터(예를들면 아바타)의 육성은 시간 및 사용자의 기기 사용에 따라 결정될 수 있다. 예를들면 상기 캐릭터의 육성은 시간이 지남에 따라 캐릭터가 성장되고, 사용자가 기기를 사용하는 방법에 따라 다양하게 캐릭터 수치를 변경하여 캐릭터의 성격을 다르게 표현할 수 있다.
상기 도 10을 참조하면, 상기 에이전트표현부140은 아바타UI관리부360과 상기 아바타 UI에 각각 대응되는 다수개의 UI372-378들로 구성된다. 여기서 상기 UI372-378들은 실제표시되는 아바타 데이터들로써, 상기 아바타 UI는 이벤트 아바타 성장모드 및 모드 내의 단계에 따른 아바타, 그리고 아바타 수치에 따라 설정되는 아바타들이다.
따라서 상기 에이전트제어부130에서 아바타 UI ID가 수신되면, 상기 아바타UI관리부360은 상기 아바타 UI ID에 해당하는 UI를 선택하여 아바타 UI를 구동하며, 상기 아바타 UI는 표시부27에 표시된다. 이때 상기 아바타 UI는 상기와 같은 아바타 UI 이미지 이외에 아바타 UI 텍스트 및 음성, 음악도 함께 표시될 수 있다. 이때 사용자는 이벤트가 발생되면, 상기 아바타 UI에 의해 아바타 성장모드 및 아바타 수치에 따른 이벤트의 아바타 이미지 및 텍스트를 상기 표시부27을 통해 확인할 수 있다.
상기와 같은 상태에서 사용자가 표시부27에 표시되는 아바타 UI를 확인한 후, 사용자의 선택정보를 발생하면, 상기 해당 UI는 이를 아바타UI관리부360에 통보하며, 상기 아바타 UI관리부360은 이를 상기 에이전트제어부130에 사용자 피드백 정보로 전달한다.
그러면 상기 도 7와 같은 구조를 가지는 에이전트제어부130은 상기 사용자피드백 정보를 상기 블랙보드330에 저장하고, 해당 UI를 동작시킨 전문가를 동작시킨다. 이때 상기 사용자의 피드백 정보는 상기 발생된 이벤트에 대한 아바타 UI 텍스트에 따라 사용자가 선택한 사항이다. 예를들면 메시지 이벤트에서 메시지 수신/발신 처리 후 연락처가 존재하지 않으면 아바타 UI 텍스트는 연락처를 추가할 것을 권유하며, 이에 따라 사용자가 응답(yes/no)하는 정보가 사용자 피드백정보가 된다. 그리고 상기와 같은 사용자 피드백 정보가 발생되면 상기 에이전트제어부130은 상기 사용자 피드백정보를 전문가에게 넘겨서 이를 처리한다. 이 때에도 전문가를 통해 아바타 수치가 변경될 수 있다.
도 11 - 도 18은 상기 도 4 - 도 10과 같은 구성을 가지는 휴대단말기의 아바타 에이전트 시스템의 동작 절차를 도시하는 흐름도이다.
상기 도 11은 상기 도 4와 같은 아바타 에이전트 시스템에서 발생되는 이벤트를 분석하여 아바타 에이전트 시스템을 동작시키는 절차를 도시하는 흐름도이다.
상기 도 11을 참조하면, 이벤트가 발생되면 상기 제어부100은 410단계에서 이벤트를 수집하여 이벤트 메시지를 생성한다. 이때 생성되는 이벤트 메시지는 상기 <표 1>과 같은 구조를 가진다. 이후 상기 제어부100은 420단계에서 상기 생성된 이벤트를 처리할 장치에 전달한다. 상기 도 4와 같은 구조를 가지는 에이전트 시스템인 경우 상기 이벤트를 처리하는 장치는 에이전트제어부130이 될 수 있다. 또한 상기 이벤트를 생성하는 장치가 이벤트수집부110에서만 이루어지는 경우 상기 이벤트전달부120은 생략될 수 있으며, 이런 경우 상기 이벤트 전달은 상기 이벤트수집부110에서 상기 에이전트제어부130에 직접 전달할 수 있다. 이후 상기 제어부100은 430단계에서 상기 생성된 이벤트메세지를 수신하여 분석하여 상기 선택된 전문가들에서 상기 이벤트 메시지를 처리할 전문가를 선택하며, 상기 선택된 전문가가 가지고 있는 UI ID를 설정한다. 이후 상기 제어부100은 440단계에서 상기 메모리23의 아바타메모리에서 상기 설정된 UI ID에 대응되는 아바타 UI를 선택하여 상기 표시부27에 표시한다.
이때 상기 표시되는 아바타 UI에는 사용자의 선택을 요구하는 기능이 있을 수 있다. 그리고 상기 휴대단말기의 사용자가 해당 기능을 선택하면, 상기 제어부100은 450단계에서 이를 감지하고 430단계로 되돌아가 에이전트 제어 동작을 수행한다. 이때 상기 제어부100은 상기 430단계에서 사용자의 피드백 정보에 따라 상기와 같은 동작을 반복 수행하게 된다.
상기한 바와 같이 휴대단말기는 발생되는 이벤트에 대응되는 아바타 UI를 선택하여 이벤트의 발생을 아바타 에이전트 기능으로 표시할 수 있다.
도 12는 상기 에이전트 시스템에서 상기 이벤트수집부110의 동작 절차를 도시하는 흐름도이다.
상기 도 12를 참조하면, 상기 이벤트가 발생하면 상기 이벤트수집부110은 511단계에서 이를 감지하고, 이후 상기 발생된 이벤트를 감지하여 처리한다.
먼저 통화이벤트가 발생된 경우 상기 이벤트수집부110은 513단계에서 이를 감지하고 515단계에서 상기 발생된 통화이벤트를 처리한다. 이때 상기 통화이벤트의 처리는 상기 통화이벤트감지기236에서 처리한다. 상기 통화이벤트가 감지되면, 상기 이벤트수집부110은 도 13과 같은 절차로 통화이벤트를 처리한다.
상기 도 13을 참조하면, 상기 통화이벤트의 종류에는 착신호, 발신호, 응답호(answering call), 거부호 및 부재중호 등이 있을 수 있다. 이때 착신호이면 상기 이벤트수집부110은 551단계 및 553단계에서 착신호 시간 및 발신자 등에 따른 착신호 정보를 저장한다. 그리고 발신호이면 상기 이벤트수집부110은 555단계 및 557단계에서 발신호 시간 및 착신자 등에 따른 발신호 정보를 저장한다. 그리고 응답호이면 상기 이벤트수집부110은 559단계 및 561단계에서 응답 시간 및 발신자 등에 따른 응답호 정보를 저장한다. 그리고 거부호이면 상기 이벤트수집부110은 563단계 및 565단계에서 거부 시간 및 발신자 등에 따른 착신호 정보를 저장한다. 그리고 부재중 착신호이면 상기 이벤트수집부110은 551단계 및 553단계에서 부재중호 시간 및 발신자 등에 따른 부재중 착신호 정보를 저장한다. 또한 상기와 같은 통화 이벤트가 아닌 경우, 상기 이벤트수집부110은 571단계에서 해당 통화이벤트에 따른 통화시간 및 가입자 정보를 저장한다. 이후 상기 이벤트수집부110은 573은 통화 이벤트에 따른 정보를 수집하여 이벤트 메시지를 생성한다. 따라서 상기 도 13와 같은 절차를 통화이벤트감지기236에서 처리하는 경우, 상기 감지된 통화이벤트 정보는 상기 이벤트수집관리부210에 전달되어 이벤트 메시지를 생성할 수 있게 된다.
두 번째로 알람이벤트가 발생된 경우 상기 이벤트수집부110은 517단계에서 이를 감지하고 519단계에서 상기 발생된 알람이벤트를 처리한다. 이때 상기 알람이벤트의 처리는 상기 일정변경이벤트감지기230에서 처리한다. 상기 일정변경이벤트가 감지되면, 상기 이벤트수집부110은 도 14과 같은 절차로 일정변경 이벤트를 처리한다. 여기서 상기 일정변경 이벤트는 스케쥴, 일정 변경, 알람 등을 포함하는 용어이며, 도 14에서는 상기 일정변경 이벤트를 알람이벤트로 설명한다.
상기 도 14를 참조하면, 상기 이벤트수집부110은 알람이벤트가 발생되면 581단계에서 아바타 알람 이벤트인가를 검사한다. 이때 아바타 알람 이벤트이면 상기 이벤트수집부110은581단계에서 이를 감지하고 583단계에서 상기 발생된 알람이벤트의 종류, 시간 등의 알람 이벤트 정보를 저장하고, 587단계에서 상기 아바타 알람 이벤트에 따른 정보를 수집하여 이벤트 메시지를 생성한다. 그러나 상기 581단계에서 아바타 알람 이벤트가 아닌 경우에는 585단계 및 587단계를 수행하면서 알람 이벤트 종류, 시간의 일반 알람 이벤트 정보를 저장하여 이벤트 메시지를 생성한다. 따라서 상기 도 14과 같은 절차를 일정변경이벤트감지기230에서 처리하는 경우, 상기 감지된 알람이벤트 정보는 상기 이벤트수집관리부210에 전달되어 이벤트 메시지를 생성할 수 있게 된다.
세 번째로 메세지이벤트가 발생된 경우 상기 이벤트수집부110은 525단계에서 이를 감지하고 527단계에서 상기 발생된 메세지이벤트를 처리한다. 이때 상기 메세지이벤트의 처리는 상기 메세지이벤트감지기228에서 처리한다. 상기 메세지이벤트가 감지되면, 상기 이벤트수집부110은 도 15와 같은 절차로 메세지이벤트를 처리한다.
상기 도 15를 참조하면, 상기 메시지 이벤트는 메시지수신, 발신, 확인 및 삭제 등이 있을 수 있으며, 또한 상기와 같은 메시지 이벤트들은 또한 각각 SMS, MMS, 메일 등으로 발생될 수 있다. 이때 수신메세지 이벤트가 발생되면, 상기 이벤트수집부110은 613단계-625단계를 수행하면서 상기 발생된 수신메세지 이벤트가 SMS(short message service), EMS(extended message service), MMS(multimedia messaging service), 메일(e-mail) 이벤트인가 검사하며, 상기 발생된 이벤트에 대한 수신시간 및 메시지(메일) 아이디를 저장한다. 즉, 상기 수신 메시지 이벤트가 발생되면 상기 이벤트수집부110은 SMS, MMS 또는 메일이벤트인가 분석하고, 상기 분석된 메시지의 수신시간 및 메시지(메일) 아이디를 저장한다. 상기 도 15에서는 메시지 이벤트의 종류가 SMS, EMS, MMS 및 메일인 경우를 가정하여 설명하고 있으나, 상기 3가지 메시지 종류 이외의 다른 메시지들도 처리할 수 있다. 따라서 상기 도 15에서 정의되지 않은 종류의 메시지 이벤트인 경우에는 625단계에서 해당 메시지 이벤트를 처리할 수 있다.
이후 상기 이벤트수집부110은 645단계에서 상기 수신 메시지이벤트의 정보들을 이용하여 이벤트 메시지를 생성할 수 있도록 수집한다. 따라서 상기와 같은 절차를 메세지이벤트감지기228에서 처리하는 경우, 상기 감지된 메시지 이벤트 정보는 645단계에서 상기 이벤트수집관리부210에 전달되어 이벤트 메시지를 생성할 수 있게 된다.
또한 상기 발신 메시지 이벤트가 발생되면 상기 이벤트수집부110은 631단계에서 이를 감지하고 633단계에서 상기한 바와 같이 SMS, MMS 또는 메일 이벤트인가 분석하고, 상기 분석된 메시지의 발신시간 및 메시지(메일) 아이디를 저장한다. 그리고 상기 확인 메시지 이벤트가 발생되면, 상기 이벤트수집부110은 635단계에서 이를 감지하고 639단계에서 상기한 바와 같이 상기 확인하는 메시지 이벤트가 SMS, MMS 또는 메일 이벤트인가 분석하고, 상기 분석된 메시지의 확인시간 및 가입자 정보를 저장한다. 그리고 상기 삭제 메시지 이벤트가 발생되면 상기 이벤트수집부110은 639단계에서 이를 감지하고 641단계에서 삭제하고자 하는 메시지 이벤트가 상기한 바와 같이 SMS, MMS 또는 메일이벤트인가 분석하고, 상기 분석된 메시지의 삭제시간 및 메시지(메일) 아이디를 저장한다. 상기와 같은 동작들을 수행한 후, 상기 이벤트수집부110은 645단계에서 상기 메시지 이벤트의 정보들을 이용하여 이벤트 메시지를 생성할 수 있도록 수집한다. 따라서 상기 도 15과 같은 절차를 메세지이벤트감지기228에서 처리하는 경우, 상기 감지된 메시지 이벤트 정보는 645단계에서 상기 이벤트수집관리부210에 전달되어 이벤트 메시지를 생성할 수 있게 된다.
네 번째로 주소록 변경이벤트가 발생된 경우 상기 이벤트수집부110은 533단계에서 이를 감지하고 535단계에서 상기 발생된 주소록 변경이벤트를 처리한다. 이때 상기 주소록변경이벤트의 처리는 상기 주소록변경이벤감지기228에서 처리한다. 상기 주소록변경이벤트가 감지되면, 상기 이벤트수집부110은 도 16과 같은 절차로 주소록변경 이벤트를 처리한다. 여기서 상기 주소는 전화번호, 주소 및 이메일 ID 등이 될 수 있다.
상기 도 16을 참조하면, 주소록변경 이벤트가 발생되면 상기 이벤트수집부110은 651단계 - 665단계를 수행하면서 주소록 변경 이벤트의 종류를 분석하고, 상기 분석된 주소변경이벤트의 종류에 따라 발생된 시간 및 주소록 변경이벤트 항목 ID를 저장한다. 여기서 상기 주소 변경이벤트의 종류는 주소 추가, 주소 편집, 주소 삭제 등이 될 수 있으며, 상기와 같은 주소 변경 이벤트의 종류에 따른 이벤트 정보(시간 및 항목 ID)를 저장한다. 상기 도 16에서는 주소록변경 이벤트의 종류가 주소 추가, 주소 편집 및 주소 삭제인 경우를 설명하고 있으며, 상기와 같은 주소록 변경 종류 이외의 다른 주소록 변경이 있을 수 있다. 따라서 상기 3종류 이외에 다른 주소록변경 이벤트가 발생되면 상기 이벤트수집부110은 663단계에서 해당하는 주소록변경 이벤트의 정보를 저장한다. 상기와 같은 동작들을 수행한 후, 상기 이벤트수집부110은 665단계에서 상기 주소록 변경 이벤트의 정보들을 이용하여 이벤트 메시지를 생성할 수 있도록 수집한다. 따라서 상기 도 16과 같은 절차를 주소록이벤트감지기224에서 처리하는 경우, 상기 감지된 메시지 이벤트 정보는 665단계에서 상기 이벤트수집관리부210에 전달되어 이벤트 메시지를 생성할 수 있게 된다.
상기한 바와 같은 방법으로 시스템 이벤트, 설정변경 이벤트, 카메라 이벤트, 방송 이벤트들을 포함하는 다른 이벤트들도 처리하게 된다. 상기와 같이 이벤트를 처리한 후, 상기 이벤트수집부110은 547단계에서 상기 처리된 이벤트의 정보들을 이용하여 이벤트 메시지를 생성한다. 이때 이벤트 메시지는 상기한 바와 같이 <표 1>과 같은 구조를 가진다. 그리고 상기 생성된 이벤트 메시지는 549단계에서 상기 이벤트전달부120 또는 상기 에이전트 제어부130에 전달된다.
도 17은 상기 에이전트 시스템의 상기 이벤트전달부120에서 수신되는 이벤트메시지를 전달하는 절차를 도시하는 흐름도이다.
상기 도 17을 참조하면, 상기 이벤트전달부120은 671단계에서 초기화를 수행한다. 이후 메시지가 수신되면, 상기 이벤트전달부120은 673단계에서 이를 감지하고 675단계 및 681단계에서 이벤트 메시지의 전달을 요청하는 메시지인지 아니면 생성되는 이벤트 메시지인지를 검사한다. 여기서 이벤트 메시지의 전달을 요청하는 메시지는 에이전트제어부130에서 요청할 수 있으며, 이벤트 메시지는 상기 이벤트수집부110에서 생성된다. 이때 이벤트 전달을 요청하는 메시지이면 상기 이벤트전달부120은 675단계에서 이를 감지하고 679단계에서 상기 이벤트 메시지를 전달할 클라이언트접속부(본 발명의 실시예에서는 제2클라이언트접속부254)를 등록한다. 즉, 수신되는 이벤트 메시지를 상기 에이전트제어부130에 전달할 수 있도록 상기 제2클라이언트접속부254를 등록한다. 또한 상기 수신된 메시지가 이벤트 메시지이면 상기 이벤트전달감지부120은 681단계에서 이를 감지하고 685단계에서 상기 수신된 이벤트메세지(상기 이벤트수집부100에서 생성되는 이벤트 메시지 또는 응용 이벤트 메세지)를 이벤트전달을 요청한 클라이언트접속부(여기서는 제2클라이언트접속부254)를 통해 전달한다. 그리고 상기 이벤트요청 또는 수신되는 이벤트메세지가 아닌 메시지인 경우에는 683단계에서 해당 메시지를 에러 처리한다.
상기한 바와 같이 이벤트전달부120은 이벤트 전달을 요청한 에이전트제어부130에 상기 이벤트수집부110에서 생성되는 이벤트 메시지들 및 다른 응용이벤트들을 전달하는 기능을 수행한다. 이때 상기 응용이벤트들에 대하여 에이전트 제어를 하지 않는 경우에는 상기 이벤트전달부120은 생략될 수 있다.
도 18 및 도 19는 상기 에이전트 시스템의 에이전트제어부130에서 전달되는 이벤트 메시지에 따라 에이전트 제어 절차를 수행하는 흐름도이다. 여기서 상기 도 18은 이벤트 발생시 발생된 이벤트에 대해 캐릭터 UI 표현을 하는 전문가들을 확인한 후, 이들 전문가들 중에서 가장 높은 지정우선순위 및 사용자 선호도를 가지는 전문가를 결정하고, 상기 결정된 전문가의 UI ID를 표현하는 절차를 도시하고 있다. 그리고 상기 도 19는 이벤트 발생시 발생된 이벤트에 대해 캐릭터 UI 표현을 하는 전문가들을 확인한 후, 이들 전문가들의 지정우선순위 및 사용자 선호도를 확인한 후, 높은 UI 표현우선순위 및 사용자 선호도를 가지는 전문가들의 순서로 UI 표현우선순위를 결정하여 정렬하고, 상기 정렬된 UI 표현우선순위에 따라 해당하는 전문가들의 UI ID를 표현하는 절차를 도시하고 있다.
먼저 상기 도 18을 참조하면, 상기 에이전트제어부130은 711단계에서 상기 이벤트 메세지가 수신될 때 까지 대기하며, 상기 이벤트메세지가 수신되면 수신된 이벤트에 따른 필요한 정보를 수집하여 상기 블랙보드330에 저장한다. 이때 상기 블랙보드330에 저장되는 이벤트 정보는 상기 <표 1>과 같은 형태를 가질 수 있다. 상기 이벤트 정보를 상기 블랙보드330에 저장한다. 에이전트제어부130은 715단계에서 이벤트별 전문가리스트에서 상기 발생된 이벤트 전문가리스트에 등록된 전문가들을 확인한 후, 상기 확인된 전문가들에 케이스 해당 여부를 문의한다. 즉, 상기 에이전트제어부130은 상기 발생된 이벤트를 처리하는 전문가들을 선택한 후, 상기 선택된 전문가들에 하기 <표 4>와 같은 사용자 케이스(use case)들 중에서 발생된 이벤트의 케이스 해당 여부를 문의한다. 이때 상기 발생된 이벤트 케이스에 두 개 이상의 전문가들이 포함되는 경우, 상기 에이전트제어부130은 감독부350에 상기 이벤트에 관련되는 전문가들 중에서 가장 적절한 하나의 전문가를 선택하도록 한다. 이때 상기 감독부350은 상기한 바와 같이 상기 발생된 이벤트에 대응되는 전문가를 선택할 때 블랙보드의 내용, 지정우선순위 및 사용자 선호도를 분석하여 전문가를 선택한다. 이때 상기 에이전트제어부130은 상기 감독부350에서 하나의 전문가를 결정하면, 719단계에서 이를 감지하고 721단계에서 상기 결정된 전문가의 아바타 UI ID를 획득한다.
이 과정에서 해당되는 전문가들은 적절하게 아바타 수치를 변경시킬 수 있다. 아바타 수치는 상기 이벤트에 각각 대응되도록 미리 설정되어 있다. 따라서 상기 이벤트가 아바타 수치를 변경하여야 하는 경우, 해당 전문가는 상기 아바타 수치 저장부340을 통해 아바타 수치를 변경하도록 한다.
이후 상기 에이전트제어부130은 상기 721단계에서 결정된 전문가로부터 획득한 아바타 UI ID를 상기 에이전트표현부140에 전달하며, 사용자의 피드백 정보 수신을 대기한다. 그러면 상기 에이전트표현부140은 상기 아바타 UI ID에 대응되는 UI를 동작시켜 발생된 이벤트에 따른 아바타 에이전트 표현을 수행한다. 이때 상기 UI는 각각 대응되는 이벤트의 아바타 성장모드 및 성장모드 내의 단계에 따른 아바타, 그리고 아바타의 수치에 설정되는 아바타 정보들을 구비하며, 이런 아바타 정보를 표시부27에 표시한다. 이때 상기 표시부27에 표시되는 아바타 정보는 아바타 UI의 이미지 및 텍스트가 될 수 있다. 그리고 사용자는 상기 표시부27에 표시되는 아바타 UI에 따른 이미지 및 텍스트를 보고, 이에 따른 응답을 할 수 있다. 이때 상기 사용자의 응답정보는 사용자 피드백 정보로써, 상기 에이전트표현부140은 상기 사용자 피드백 정보를 상기 에이전트제어부130에 전달한다.
이때 상기 사용자 피드백 정보가 상기 에이전트표현부140으로부터 수신되면, 상기 에이전트제어부130은 731단계에서 해당 전문가에게 상기 사용자 피드백 정보를 전달하여 전문가가 상기 사용자 피드백 정보에 따른 동작 수행을 요구한다. 해당 전문가는 피드백정보에 따라 적절하게 아바타 수치를 변경시킬 수 있다. 그리고 상기 에이전트제어부130은 733단계에서 상기 사용자 피드백 정보를 상기 블랙보드330에 저장하고 상기 이벤트 제어 절차를 711단계로 진행한다.
두 번째로 상기 도 19를 참조하면, 상기 에이전트제어부130은 751단계에서 상기 이벤트 메세지가 수신될 때 까지 대기하며, 상기 이벤트메세지가 수신되면 753단계에서 수신된 이벤트에 따른 필요한 정보를 수집하여 상기 블랙보드330에 저장한다. 이때 상기 블랙보드330에 저장되는 이벤트 정보는 상기 <표 1>과 같은 형태를 가질 수 있다. 상기 이벤트 정보를 상기 블랙보드330에 저장한 후, 에이전트제어부130은 755단계에서 상기 발생된 이벤트의 캐릭터 수치를 확인한 후, 아바타수치저장부340에 저장된 캐릭터수치를 변경한다. 이후 상기 에이전트제어부130은 757단계에서 전문가관리부310의 이벤트별 전문가리스트에 등록된 전문가들에 상기 발생된 이벤트의 케이스에 해당하는지 여부를 문의한다. 이후 상기 에이전트제어부130은 759단계에서 상기 감독부350을 통해 상기 문의 결과에 따라 캐릭터 UI 표현을 하기 위한 전문가 후보들의 UI 표현우선순위를 계산하며, 계산 결과에 따라 적합한 전문가 후보들은 UI 표현우선순위를 고려하여 정렬하고, 적합하지 않은 전문가 후보들은 탈락시키며, 761단계에서 상기 정렬된 순서에 따라 상기 캐릭터 UI 표현을 할 전문가들을 상기 도 9와 같은 우선순위 큐에 저장하여 대기시킨다. 이때 상기 감독부350의 전문가의 UI 표현우선순위를 결정하는 원칙 및 방법은 상기한 바와 같다.
이후 상기 에이전트제어부130은 763단계에서 상기 표시부27에 표현되고 잇는 캐릭터 UI가 있는가 검사하며, 캐릭터 UI를 표현하고 있는 상태이면 상기 우선순위 큐에 저장된 전문가의 우선수위에 따라 처리할 수 있다. 이때 상기한 바와 같이 UI 표현우선순위 0을 가지는 전문가의 캐릭터 UI 표현은 현재 표시 여부에 상관없이 즉시 표현하며, UI 표현우선순위1 및 2의 전문가들에 캐릭터 표현은 다른 전문가의 캐릭터 표현이 수행되고 있는 상태이면 대기한다. 따라서 상기 우선순위 큐에 저장된 전문가들 중에서 UI 표현우선순위 0의 전문가가 있으면, 상기 에이전트제어부130은 765단계에서 상기 표현되는 캐릭터 UI의 표현 동작을 중단시키게 된다. 그리고 상기 우선순위 큐에 저장된 전문가들 중에서 UI 표현우선순위 0의 전문가 없으면, 상기 에이전트제어부130은 765단계에서 상기 표현되고 있는 캐릭터 UI의 표현이 종료될 때까지 대기할 수도 있다. 또한 상기 새로운 이벤트가 발생되어 캐릭터 표현을 하여야 하는 전문가들이 설정된 경우, 상기 에이전트 제어부130은 현재 표시중인 캐릭터 UI 표현을 중단시키고 상기 이벤트에 의해 결정된 전문가들의 캐릭터 UI를 표현할 수도 있다. 이런 경우 에이전트 제어부130은 765단계에서 상기 표현되는 캐릭터 UI의 표현을 중단시킬 수도 있다.
상기 763단계에서 현재 표현 중인 캐릭터 UI가 없는 상태이거나 또는 상기 765단계를 수행한 후, 상기 에이전트제어부130은 767단계에서 상기 우선순위 큐에 저장된 전문가들 중에 가장 높은 UI 표현우선순위를 가지는 전문가의 UI ID를 억세스한 후, 769단계에서 상기 에이전트표현부140을 통해 해당 전문가의 캐릭터 UI를 표현하도록 제어한다. 그리고 상기 우선순위 큐에서 상기 캐릭터 UI를 표현한 전문가를 대기열에서 제거한다. 그러면 상기 표시부27에서 해당 전문가의 캐릭터 UI가 표시된다. 이때 표시되는 캐릭터 UI에는 사용자의 피드백을 요하는 캐릭터 UI와 피드백을 필요로하지 않는 캐릭터 UI가 있을 수 있다. 이때 사용자의 피드백을 요하는 캐릭터 UI가 표현되는 상태에서 사용자가 피드백 명령을 발생하면, 상기 에이전트표현부140은 이를 상기 에이전트제어부130에 전달하며, 상기 에이전트제어부130은 771단계에서 이를 감지하고, 773단계에서 현재 표현 중인 캐릭터 UI 표현을 중단하도록 제어하고, 775단계에서 상기 사용자의 피드백 정보를 상기 블랙보드330에 저장하며, 777단계에서 상기 캐릭터 UI를 표현한 전문가에게 상기 사용자의 피드백에 따른 행동을 할 것을 요청한다. 이때 상기 전문가는 상기 사용자의 피드백 결과(긍정적인 피드백 또는 부정적인 피드백 결과)에 따른 행동을 하기 위한 UI ID들을 구비하며, 상기 에이전트제어부130은 상기 전문가의 행동에 해당하는 UI ID를 상기 에이전트 표현부140에 전달하여 캐릭터 UI 표현을 하도록 제어한다. 그리고 상기 에이전트제어부130는 779단계에서 상기 피드백 결과에 따른 캐릭터 수치를 확인한 후, 이를 상기 아바타수치저장부340에서 해당하는 캐릭터 수치를 갱신하도록 제어한다.
그러나 상기 771단계에서 사용자 피드백을 필요로 하지 않는 UI이거나 또는 사용자 피드백이 설정된 시간내에 수신되지 않으면, 또는 상기 779단계를 수행한 후, 상기 에이전트제어부130은 781단계에서 상기 우선순위 큐에 대기중인 전문가들이 있는가 검사한다. 이때 상기 우선순위 큐에 대기중인 전문가가 있으면, 상기 에이전트제어부130은 783단계에서 대기중인 전문가들 중에서 다음 UI 표현우선순위를 가지는 전문가의 UI ID를 억세스한 후, 769단계로 진행하여 상기와 같은 절차로 캐릭터 UI를 표현한다. 그리고 상기한 바와 같이 상기 우선순위 큐의 대기열에서 상기 캐릭터 UI를 표현하는 전문가를 제거한다.
상기와 같은 동작을 반복 수행하면, 상기 우선순위 큐에 대기중인 전문가들의 캐릭터 UI 표현을 UI 표현우선순위에 따라 순차적으로 표현할 수 있으며, 상기 우선순위 큐에 대기중인 모든 전문가들의 캐릭터 UI 표현을 종료하면, 상기 에이전트제어부130은 781단계에서 이를 감지하고 상기 캐릭터 UI 표현 동작을 제어하는 절차를 종료하고, 다음 이벤트가 수신될 때 까지 대기한다.
상기와 같이 이벤트가 발생되면, 에이전트제어부130은 이벤트별 전문가리스트에 등록된 전문가들에게 해당 케이스의 표현 가능 여부를 문의하며, 두개 이상의 전문가들에서 캐릭터 UI 표현이 가능한 경우에는 두가지 방법으로 처리할 수 있다. 즉, 상기 도 18에 도시된 바와 같이 감독부350을 통해 여러 전문가들 중에서 가장 적합한 캐릭터 UI 표현을 할 수 있는 하나의 전문가를 선택하여 캐릭터 표현을 수행할 수 있으며, 또한 도 19에 도시된 바와 같이 감독부350을 통해 캐릭터 표현을 할 수 있는 복수의 전문가들을 선택하고, 선택된 전문가들의 캐릭터 UI 표현의 우선순위를 결정하여 UI 표현우선순위에 따라 순차적으로 캐릭터 UI를 표현할 수 있다. 또한 상기 캐릭터 UI를 표현할 때, 발생된 이벤트에 대응되는 캐릭터 수치를 변경하고, 사용자 피드백 UI 표현을 하는 전문가인 경우에는 사용자의 피드백에 따른 캐릭터 수치를 변경한다. 여기서 상기 캐릭터 수치는 휴대단말기의 캐릭터 성장 및(또는) 상태 표현에 사용될 수 있다.
또한 상기와 같은 에이전트 시스템에서는 전문가를 작동시키기 위한 한 방법으로 타이머를 사용한다. 즉, 상기 이벤트 표현은 발생되는 이벤트의 종류에 따라 즉시 아바타 UI를 표현하여야 하는 이벤트와 특정 시간에 표현하여야 하는 이벤트들이 있을 수 있다. 예를들면 통화 및 메시지 등과 같이 이벤트가 발생되는 시점에서 아바타 UI를 표현하는 경우, 상기 선택된 전문가는 이벤트가 발생되는 시점에서 동작하게 된다. 그러나 알람 이벤트 등과 같이 특정한 시간에 동작하여야 하는 이벤트인 경우, 전문가는 설정된 특정 시간에서 동작하여야 한다. 따라서 상기와 같이 특정한 시간에 작동할 필요가 있는 전문가는 전문가 관리부310에게 요청하여 특정 시간에 깨워줄 것을 부탁하고, 상기 특정시간이 되면 상기 전문가 관리부310은 그 시간에 작동해야 하는 전문가를 작동시킨다. 이때 상기 에이전트제어부130은 시스템의 부하를 줄이기 위하여 한개의 타이머처리부370을 사용한다. 그리고 전문가관리부310은 몇 번 전문가를 언제(연,월,시,분,초 등) 깨워달라는 요청을 블랙보드370에 저장하며, 저장되어 있는 요청들 중 가장 빠른 요청만 타이머처리부370에 세팅시킨다. 그리고 설정된 시간이 되어 해당 이벤트를 처리하게 되면, 상기 해당 요청을 상기 블랙보드330에서 삭제한 후 다음에 설정된 가장 빠른 요청의 시간을 상기 타이머처리부370에 세팅한다. 이때 상기 전문가는 자신이 요청한 특정한 시각이 되었어도 우선 블랙보드330과 여러 상황을 종합하여 자신이 정말로 작동하여야 할 때인지 판별한 후, 상기 전문가 관리부310에게 알려주게 된다. 이후 작동할 것으로 결정되면, 해당하는 전문가는 다른 이벤트 처리하는 전문가(즉, 이벤트 발생 시점에서 동작하는 전문가)와 마찬가지 과정으로 나머지 과정들을 진행한다. 이때 상기 타이머처리부370에 세팅되는 시간을 삭제 또는 변경하는 경우, 이들 동작은 전문가들이 책임을 진다. 즉, 이벤트 처리를 위하 상기 타이머처리부370의 기능을 예약한 상태에서 이 기능이 불필요해진 경우, 해당 전문가는 상기 타이머처리부370의 사용을 위해 예약한 시간을 삭제 또는 변경하는 동작을 수행하여야 한다.
상기 <표 5>는 본 발명의 실시예에 따른 구체적 사례를 표시하고 있다. 상기 <표 5>에 이벤트의 사용예(use case), 사례 분류, 이벤트 판단시점, 전문가의 행동(처리)시점, 이벤트 파라미터(필요정보), 빈도 및 시간, 조건예시, UI텍스트, 사용자의 선택사항 등이 정리되어 표시되고 있다. 그리고 상기와 같은 사례들 이외에 필요한 다른 사례들이 더 추가될 수 있거나 삭제될 수 있다.
여기서 상기 에이전트 알람 서비스를 수행하는 경우, 이벤트의 사용예(use case)에 따라 여러 유형으로 나누어 서비스될 수 있다. 상기 <표 5>의 분류 항목에 나타낸 바와 같이, 메시지, 메일, 디지털방송, GPS, 카메라등의 멀티미디어, 시스템, 아바타, 일정, 통화, 통화/메세지, 할일(to do), 응용(application) 이벤트로 분류하여 서비스할 수 있다. 또한 상기 이벤트들의 특성에 따라 상기 <표 5>와 같은 사용예를 참조하여 하기와 같은 네가지의 사용예 유형으로 구분하여 서비스할 수 있다. 이하의 설명에서는 상기 네가지의 사용예 유형에 대해서는 살펴보고, 상기 <표 5>의 각 이벤트 분류에 따른 이벤트 메시지의 처리를 구체적으로 살펴보기로 한다. 여기서 상기 유형에서 케이스 ID 1-50의 유형을 중심으로 살펴보기로 하며, 나머지 유형들에 대한 설명은 생략하기로 한다.
먼저 상기 <표 5>의 케이스ID 1-50을 네가지 유형(A-D type)으로 구분하여 살펴보기로 한다.
먼저 A 형은 상기 <표 5>의 케이스ID 12, 14, 46, 47, 25, 11, 13, 29, 30이 될 수 있다. 상기 A 형 케이스를 처리하는 절차를 살펴보면, 먼저 상기 이벤트가 발생되면, 상기 이벤트수집부110에서 대응되는 감지기가 이벤트의 발생을 감지하고 이벤트수집기 관리부210에서 상기 발생된 이벤트에 해당하는 이벤트 메시지를 생성하여 이벤트전달부120에 전송한다. 그러면 상기 에이전트제어부130의 전문가관리부310은 상기 이벤트 메시지를 블랙보드330에 저장하고, 상기 이벤트에 대응되는 전문가리스트를 참조하여 해당하는 전문가들에 상기 이벤트를 전달한다. 그러면 각 전문가들은 해당되는 조건을 검사한 후 조건이 만족되는 경우에만 전문가 관리부310에게 타이머 설정을 요청한다.
상기와 같은 수행한 후, 타이머 이벤트가 발생하면 상기 에이전트제어부130은 상기 타이머이벤트의 전문가 ID를 호출하고, 이에따라 전문가는 조건검사를 재수행한다. 이때 조건을 만족하지 못하면 동작을 종료하고, 조건을 만족하면 감독부350에 ID를 전송하여 에이전트 이벤트 표현을 수행할 수 있도록 제어한다.
두 번째로 B형은 상기 <표 5>의 케이스ID 15, 16, 50, 17, 18, 31, 32, 35, 36, 37, 2, 3, 9, 4, 5, 6, 38, 41이 될 수 있다. 상기 B형 케이스를 처리하는 절차를 살펴보면, 먼저 상기 케이스가 발생되면, 상기 이벤트수집부110에서 대응되는 감지기가 이벤트의 발생을 감지하고 이벤트수집기 관리부210에서 상기 발생된 이벤트에 해당하는 이벤트 메시지를 생성하여 이벤트전달부120에 전송한다. 그러면 상기 에이전트제어부130의 전문가관리부310은 상기 이벤트 메시지를 블랙보드330에 저장하고, 상기 이벤트에 대응되는 전문가리스트를 참조하여 해당하는 전문가들에 상기 이벤트를 전달한다. 그러면 각 전문가들은 해당되는 조건을 검사한 후 조건이 만족되지 않는 경우에는 응답을 하지 않고(return no) 동작을 종료하며, 조건을 만족하는 경우에는 응답한다(return yes).
상기와 같은 동작을 수행한 후, 응답을 한 전문가(return yes)들 간의 경쟁(지정우선순위, 블랙보드의 아바타 상태(사용자선호도))을 통해 캐릭터 UI 표현을 수행할 전문가들을 선택한 후, 선택된 전문가들의 UI를 표현한다. 여기서 상기 캐릭터 UI를 표현할 전문가들은 상기한 바와 같이 두 가지 방법으로 선택할 수 있다. 즉, 상기 도 18과 같이 에이전트 제어부130의 감독부350은 응답을 한 전문가들을 분석하여 발생된 이벤트에 가장 연관성이 높은 전문가를 선택하고, 전문가관리자310은 상기 감독부350에 의해 결정된 전문가의 UI ID를 획득하여 에이전트 표현부140에 출력한다. 또한 상기 도 19와 같이 상기 감독부350은 응답을 한 전문가들의 지정우선순위 및 사용자선호도를 분석한 후, 그 결과에 따라 전문가들을 UI 표현우선순위를 결정하여 정렬시키고, 상기 정렬된 UI 표현우선순위에 따라 순차적으로 해당하는 전문가들의 UI ID를 획득하여 에이전트 표현부140에 출력한다. 그리고 상기 에이전트표현부140은 상기 UI ID에 대응되는 UI를 선택하여 아바타 UI를 표시한다.
세 번째로 C 형은 상기 <표 5>의 케이스 ID 1, 42, 43, 48, 50, 7, 8, 10, 33, 34, 44, 45, 21, 27, 28, 49, 39, 40이 될 수 있다. 상기 C형의 전문가 ID는 N일 마다 반복되는 전문가이다. 여기서 케이스 ID 1, 42, 43, 48, 50, 7, 8, 10, 33, 34, 44, 45는 조건이 있는 케이스 ID이고, 케이스 ID 21, 27, 28, 49, 39, 40은 조건이 필요 없는 케이스 ID이다.
따라서 상기와 같이 N일 뒤 이전에 설정한 타이머이벤트가 발생되면, 상기 에이전트제어부130은 상기 각 이벤트 ID에 해당하는 알람이벤트의 전문가를 호출한다. 그리고 해당전문가는 각 전문가가 가지는 조건을 검사하여 조건을 만족하면 전문가 UI를 에이전트표현부140에 전달하여 에이전트 이벤트 표현을 수행하고, 조건을 만족하지 않으면 동작을 종료한다.
네번째로 D 형은 상기 <표 5>의 케이스 ID 19, 20, 23, 24, 26이 될 수 있다. 상기 D형은 최초로 공휴일 추가 또는 달력에 기념일 등을 추가하는 경우, 또한 미팅 일정을 등록할 때 타이머을 설정한다. 이때 공휴일과 기념일 타이머 등록은 일주일 전 및 하루 전에 발생될 수 있도록 하고, 미팅의 경우에는 미팅일정 시작과 일정 종료시간 등에 대한 타이머을 설정할 수 있도록 한다.
그리고 상기와 같은 D형 케이스가 발생되면, 상기 에이전트제어부130은 상기 각 케이스 ID에 해당하는 상기 타이머이벤트의 전문가를 호출하며, 해당 전문가는 조건을 검사(공휴일, 기념일, 미팅의 설정된 시간)하여 조건을 만족하지 않으면 동작을 종료하고 만족하는 경우에는 해당 전문가의 UI를 에이전트표현부140에 전달하여 에이전트 이벤트 표현을 수행할 수 있도록 제어한다.
상기한 바와 같이 본 발명의 실시예에서는 이벤트들을 사용예 별로 분류하여 타이머를 등록하고, 타이머 발생시 해당 타이머에 대응되는 전문가를 작동하게 한다. 이를 위하여 본 발명의 실시예에서는 제1유형(A형)은 사용자의 응답(feedback)을 필요로 하지 않는 이벤트들을 처리하는 유형으로써, 먼저 휴대단말기의 특정 상태에 대한 이벤트 발생을 위하여 알람 이벤트를 설정하고, 해당하는 상태가 발생되면 이벤트를 아바타 에이전트 알람으로 처리한다. 두 번째로 제2유형(B형)은 사용자의 응답(feedback)을 필요로하는 이벤트를 처리하는 유형으로써, 이벤트 발생시 이벤트에 관계된 전문가들 중 조건을 만족하는 전문가들이 응답하고, 응답을 발생한 전문가들 중에 최우선 전문가를 선택하여 선택된 전문가의 아바타 UI를 표현한다. 세 번째로 제3유형(C형)은 일정 기간으로 반복되는 이벤트들로써, 설정된 알람 정보를 확인하여 설정된 날에 아바타 에이전트 표현을 수행한다. 네 번째로 제4유형(D형)은 사용자에 의해 설정된 일정에 따른 알람 이벤트들로써, 설정된 일 또는 시간이 되면 아바타 에이전트를 표현한다.
두 번째로 상기 <표 5>의 종류에 따른 동작을 구체적으로 살펴본다. 여기서는 메일, 시스템,일정, 통화, 통화/메세지, 응용 이벤트들에 대하여 구체적으로 살펴보기로 한다. 하기의 설명에서 도 20 - 도 25는 본 발명의 실시예에서 발생되는 이벤트들을 사용예 들에 따라 처리되는 절차를 도시하는 도면이다. 그리고 도 26a - 도 32는 상기 도 20 - 도 25와 같은 절차를 처리하면서 설정되는 UI ID에 따른 캐릭터 UI를 표시하는 예를 도시하는 도면이다. 또한 이하의 설명에서는 상기 에이전트제어부130의 감독부350이 각 이벤트에 따른 전문가들에서 UI 표현의 최우선순위를 가지는 전문가를 선택하여 캐릭터 UI 표현을 수행하는 예를 가정하여 설명할 것이다. 그러나 상기 감독부350은 상기 도 19와 같이 이벤트에 따라 복수의 전문가들이 캐릭터 UI 표현을 수행하는 경우, 각 전문가들이 캐릭터 UI를 표현하기 위한 UI 표현우선순위를 결정하고, 상기 결정된 UI 표현우선순위에 따라 상기 전문가들을 정렬시켜 대기시킨 후, 상기 UI 표현우선순위에 따라 전문가들의 UI ID를 순차적으로 확인하여 캐릭터 UI를 표현할 수도 있다.
먼저 상기 메일이벤트가 발생될 때 처리되는 순서를 살펴본다. 도 20은 메일 수신 이벤트의 처리 절차를 도시하는 도면이다.
상기 도 20을 참조하면, 먼저 802단계에서 메일 수신시에 발생하는 메일 수신 이벤트가 발생할 경우에 이벤트수집부110은 상기 이벤트를 수집하여 804단계에서 이벤트전달부120에 제공하며, 상기 이벤트전달부120은 806단계에서 이를 에이전트제어부130의 전문가 관리부310에 제공한다. 그러면 상기 전문가관리부310은 808단계에서 상기 수신한 메일 수신 이벤트를 블랙보드330에 저장하며, 이후 810단계에서 전문가관리부310의 이벤트별 전문가 리스트에서 상기 메일수신 이벤트시에 호출되는 전문가들을 확인한 후, 812단계에서 상기 메일수신 이벤트에 관련된 각 전문가들을 호출한다. 이때 상기 <표 5>에 나타낸 바와 같이, 상기 메일이벤트에 관련된 전문가는 ID 17, ID 18, ID 47의 이벤트를 처리하는 전문가들이 될 수 있으며, 상기 도 20에서는 상기 ID 17, ID 18, ID 47의 전문가들이 호출되는 것으로 가정하여 표시하고 있다.
호출된 전문가들 중에서 ID 17의 사용예(use case)는 수신 메일을 계속 보지않으면 무시 또는 삭제하는 케이스의 이벤트이다. 따라서 상기 ID 17의 전문가는 814단계에서 상기 수신된 메일이 계속 무시되었는지 확인한다. 여기서 수신 메일이 계속 무시되었음을 판단하는 기준은 메일의 발신자의 이름, 주소, 제목, 또는 메일 내용을 블랙보드330에 이전에 저장된 이전 수신한 메일의 해당 항목들과 비교하며, 동일한 항목이 있을 경우에 상기 수신된 메일을 무시 도는 삭제할 메일로 간주하며, 동일한 메일이 사용자로부터 설정횟수 이상 (예를 들어 연속적으로 3회 이상) 무시되거나 삭제되었을 경우에 해당 메일이 계속 무시된 것으로 간주한다. 이러한 판단결과 해당 메일이 계속적으로 무시되지 않았을 경우에는 이후 815단계로 진행하여 상기 전문가(ID17의 전문가)는 전문가관리부310에 'NO'를 리턴한다. 한편, 해당 메일이 계속적으로 무시되었을 경우에는 816단계로 진행하여 상기 ID17의 전문가는 상기 전문가관리부310에 'YES'를 리턴한다.
호출된 전문가 중에서 ID 18의 전문가는 820단계에서 해당 수신한 메일이 스팸메일인지를 판단한다. 이러한 수신 메일의 스팸메일 판단 기준은 일반적인 스팸메일 지정 방식에 따라, 수신한 메일 중에서 사용자의 설정에 의해 스팸메일로 분류된 메일과 동일한 발신자 이름, 주소, 제목, 또는 메일 내용의 수신 메일이 있을 경우에 스팸메일로 간주할 수 있다. 또한 미리 사용자로부터 스팸메일로 간주하기 위해 설정한 특정 문장이나 단어 등이 수신한 메일의 발신자 이름, 주소, 제목, 또는 메일 내용 등에 포함된 경우에 해당 메일을 스팸메일로 간주할 수 있다. 이와 같은 방식으로 수신한 메일이 스팸메일인지 판단한 결과 스팸메일이 아닐 경우에는 이후 821단계로 진행하여 상기 ID18의 전문가는 전문가관리부310에 'NO'를 리턴한다. 한편, 해당 메일이 스팸메일일 경우에는 이후 822단계로 진행하여 상기 ID 18의 전문가는 해당 메일을 스팸메일로 분류하고 이후 823단계에서 전문가관리부310에 'YES'를 리턴한다.
호출된 전문가 중에서 ID 47의 전문가는 830단계에서 메일 수신함에 현재 미확인 메일 수가 미리 설정된 기준치 이상인지를 판단하여 미확인 메일이 많은지를 판단한다. 판단 결과 미확인 메일이 많지 않을 경우에는 831단계로 진행하여 전문가관리부310에 'NO'를 리턴한다. 한편, 판단 결과 미확인 메일이 많을 경우에는 832단계로 진행하여 상기 ID 47의 전문가는 적절한 알람(편의상 알람 ID 47)을 설정한 후에 833단계에서 전문가관리부310에 'NO'를 리턴한다.
이러한 각 호출된 전문가(여기서는 ID 17, ID 18, ID 47의 전문가)로부터 리턴이 이루어지면, 상기 전문가관리부310은 840단계에서 YES를 리턴한 전문가 ID(도 20에서는 예를 들어 전문가 ID 17 및 ID 18)를 감독부350에 제공한다. 그러면 상기 감독부350은 842단계에서 해당 전문가(ID 17 및 ID 18의 전문가)들의 UI 표현우선순위, 또는 YES를 리턴한 전문가가 하나일 경우에는 해당 전문가의 실행여부를 확인하여 UI 표현시 최우선 전문가를 설정한 후, 상기 감독부350은 844단계에서 상기 전문가관리부310에 최우선 전문가 또는 해당 전문가의 실행여부에 대한 확인 결과를 전송한다. 그리고 이에 따라 상기 전문가관리부310은 846단계에서 해당 최우선 전문가 또는 실행할 전문가 ID별로 미리 설정된 UI-ID를 확인하며, 848단계에서 상기 확인된 UI ID를 상기 에이전트표현부140에 전송한다. 그러면 상기 이전트표현부140은 850단계에서 해당 UI를 상기 표시부27에 표현하게 되며, 필요시 오디오처리부27을 통해 대응되는 오디오신호를 재생하게 된다.
이러한 에이전트표현부140의 UI 표현은 상기 설정된 전문가의 UI ID에 대응되는 아바타 이미지와 함께 상기 <표 5>에 텍스트 예에 나타낸 바와 같이 해당 UI ID에 대응되는 텍스트로 표시된다. 예를들어 상기 ID 17의 전문가에 해당하는 UI 표현시, 이전에 계속 무시한 메일을 수신하였는데 이를 다시 무시할 것인지 여부를 묻는 내용이 포함될 수 있다. 또한 상기 ID 18의 전문가에 해당하는 UI의 표현시 '스팸메일을 수신하였는데 이를 삭제할 것인지의 여부를 묻는 내용이 포함될 수 있다. 그리고 상기 사용자가 상기 표시부27에 표시되는 UI 이미지 및 텍스트를 확인하고, 이에 따른 응답(예를들면 YES or NO)하면, 상기 에이전트표현부140은 상기 사용자의 피드백 정보를 에이전트제어부130에 제공한다. 그러면 상기 에이전트제어부130은 상기 사용자 피드백 정보에 따른 해당 ID의 전문가를 동작시켜 사용자 피드백 정보에 따른 UI를 표현하도록 UI ID를 상기 상기 에이전트표현부140에 전달하며, 이에 따라 상기 에이전트표현부140은 상기 사용자의 피드백에 따른 UI 이미지 및 텍스트를 상기 표시부27에 표시하게 된다.
도 26a 및 도 27b는 본 발명의 실시예에 따라 상기 표시부27에 표시되는 UI의 표시 예를 도시하는 도면이다. 상기 도 26a는 상기 <표 5>와 같은 사용예들 중에서 사용자의 피드백(feedback)없이 확인을 위하 표현되는 경우의 UI 표시예를 도시하는 도면이며, 도 26b는 상기 <표 5>와 같은 사용 예들 중에서 사용자의 피드백에 따라 피드백 표현을 하는 경우의 표시예를 도시하는 도면이다.
상기 도 26a를 참조하면, 아이콘 영역(icom layer)1002는 사용예의 종류에 따른 아이콘이 표시되는 영역으로, 상기 <표 5>에서 "종류"의 내용을 아이콘으로 표시한다. 배경영역(backgrounce layer)1004는 배경이미지를 표시하는 영역으로, 상기 배경이미지는 시간대 별(예를들면 아침, 점심, 저녁, 밤 등)로 다양하게 출력할 수 있다. 말풍선 영역(speech balloon layer)1006은 아바타가 말하는 텍스트를 표시하는 영역으로, 상기 <표 5>의 UI 텍스트를 표시하는 영역으로 사용될 수 있다. 아바타 영역(avatar layer)1008은 현재 상황에 맞는 아바타 이미지를 표시하는 영역으로, 사용예의 종류에 따른 감정상태를 표현할 수 있다.
상기 도 27b는 발생되는 이벤트의 사용예를 표현하며 사용자의 피드백을 대기하는 제1화면102과 사용자의 피드백에 따른 아바타의 반응화면인 제2화면1030으로 이루어진다. 상기 화면1020 및 1030의 아이콘 영역1002에는 상기한 바와 같이 사용 예의 성격에 따른 아이콘이 표현된다. 상기 제1화면1020 및 제2화면1030의 배경영역1004에도 상기한 바와 같이 배경이미지가 출력되며, 상기 배경이미지는 시간대별로 다양하게 출력될 수 있다. 상기 제1화면1020의 버튼영역(button list layer)1010에는 사용자가 선택할 수 있는 피드백 기능을 버튼 리스트로 표시하는 영역으로써, 상기 버튼영역1010에 표시되는 버튼 리스트에서 사용자가 선택된 버튼에 따라 상기 제2화면1030이 결정된다. 상기 제1화면1020의 말풍선영역1006에는 상기 발생된 이벤트의 사용예에 따라 아바타 말하는 텍스트가 표시되며, 상기 제2화면 1030의 말풍선영역1006dpsms 사용자의 피드백에 따른 아바타가 말하는 텍스트가 표시된다. 상기 제1화면1020의 아바타영역1008에는 사용예별로 정의된 감정을 가진 아바타가 표시되며, 상기 제2화면1030의 아바타영역1008에는 사용자의 피드백에 따른 아바타의 감정 표현 상태가 표시된다.
여기서 상기 도 27b와 같은 제1화면1020 및 제2화면1030의 예에서 아이콘영역1002 및 배경영역1004에 표시되는 데이터는 상기 도 27a와 같다. 상기 말풍선영역1006의 경우, 상기 제1화면1020에는 권유를 위한 텍스트 데이터를 출력하는데, 상기 텍스트 데이터를 말풍선영역1006에 표시할 때 파라미터(parameter, token)을 분석하여 테스트를 완성한다. 또한 제2화면1030의 말풍선영역1006에는 사용자의 피드백에 따른 아바타 답변 텍스트를 출력하며, 피드백 결과에 따라 다르게 표현한다. 아바타 영역 1008의 경우, 제1화면 1020에는 사용예의 ID(설정 전문가 UI ID) 별로 정의된 감정을 가지는 아바타 애니메이션으로 표현할 수 있으며, 제2화면1030에는 사용자의 피드백에 따라 감정을 표현하는 아바타 애니메이션으로 표시하며, 이때 감정 표현은 매우 기쁨(cheer), 기쁨(happy), 시무룩(down), 슬픔(sad) 및 화남(angry) 등으로 표현할 수 있다. 그리고 상기 버튼 영역1010에는 전문가 UI ID 별로 사용자의 피드백을 받기 위하 버튼 리스트를 표시하며, 숫자 단축버튼 등도 사용 가능하다.
도 27a - 도 27c는 상기 도 20와 같은 과정으로 메일 이벤트를 처리할 때 상기 표시부27에 설정된 UI를 표시하는 절차를 설명하기 위한 도면이다.
상기 도 27a는 상기 에이전트제어부130의 전문가관리부310이 ID 17의 전문가를 설정한 경우의 사용예를 설명하는 도면이다. 상기 도 27a를 참조하면, 상기 전문가관리부310이 846단계에서 ID 17의 전문가를 설정하면, 848단계에서 상기 에이전트표현부140에 UI ID17을 전송한다. 그러면 상기 에이전트표현부140은 UI ID17의 아바타 이미지를 1102와 같이 상기 표시부27에 표시한다. 여기서 상기 ID 17은 수신 메일을 계속 보지 않으면 스팸 메일 리스트에 등록할 것을 권유하는 이벤트로써, 사용자의 피드백 정보를 필요로 한다. 따라서 상기 에이전트표현부140은 UI ID17을 UI 정보를 확인하여 도 27a의 1102와 같은 화면을 표시한다. 여기서 상기 도 27a의 1102 화면은 상기 도 26b의 제1화면1020이 될 수 있다.
상기 UI ID17의 경우, 상기 도 27a에 도시된 바와 같이 파라미터(tokcen)은 "(1) "및 "(2)"로 구성되며, "(1)"은 A/B로 구성되고, "(2)"는 사람이름/메일주소로 이루어진다. 따라서 상기 파라미터 "(1)"의 A/B에 의해 텍스트는 A 및 B로 구성되어 있으며, 아바타 상태(avatar status)는 보통(normal)이고, 버튼리스트는 상기 A의 경우 "1. check mail, 2. check the mail later, 3. add to spam list"로 이루어지고, B의 경우 "1. OK, 2. read the mail, 3.remove it from the spam list?"로 이루어진다. 이때 상기 파라미터 "(1)"의 A가 선택되면, 상기 제1화면은 1102와 같이 표시된다. 여기서 상기 말풍선영역에는 B의 텍스트인 "You`ve received a mail from 메일주소, and it was classified as a Spam Mail automatically."가 표시되며, 버튼영역에는 "1. OK, 2. Read the mail, 3. Remove it from the spam list"가 표시되고, 아바타의 감정상태는 보통의 감정으로 표현된다.
상기 1102와 같은 제1화면이 표시되는 상태에서 사용자는 피드백정보를 발생할 수 있다. 여기서 상기 사용자의 피드백 정보는 버튼영역의 원하는 항목을 선택하거나 또는 단축키를 눌러 선택할 수 있다. 이때 상기 버튼영역의 "OK"가 선택되거나 단축키 "1"이 선택되면, 상기 에이전트표현부140은 1104와 같은 화면은 상기 표시부27에 표시하고, 상기 피드백결과를 상기 에이전트제어부130에 전달한다. 그러면 상기 에이전트제어부130은 상기 피드백 결과에 따른 전문가 ID 17의 피드백 결과를 ID17의 전문가에게 상기 피드백에 따른 행동을 할 것을 요청하고, 상기 백보드330에 상기 피드백 결과를 저장하여 다음 이벤트 발생에 참조할 수 있도록 하고, 상기 피드백 결과에 따른 아바타 수치를 변경하여 상기 아바타수치 저장부340에 저장한다.
상기 도 27b는 상기 에이전트제어부130의 전문가관리부310이 ID 18의 전문가를 설정한 경우의 사용예를 설명하는 도면이다. 상기 도 27b를 참조하면, 상기 전문가관리부310이 846단계에서 ID 18의 전문가를 설정하면, 848단계에서 상기 에이전트표현부140에 UI ID18을 전송한다. 그러면 상기 에이전트표현부140은 UI ID18의 아바타 이미지를 도 27b와 상기 표시부27에 표시한다. 여기서 상기 ID 18은 메일 분류 기준에 따라 스펨 메일로 분류된 메일이 수신된 경우에 이를 처리하는 이벤트로써, 사용자의 피드백 정보를 필요로 하지 않는다. 따라서 상기 에이전트표현부140은 UI ID18을 확인하여 도 27b와 같은 화면을 표시한다. 여기서 상기 도 27b의 화면은 상기 도 26a와 같은 형태의 화면이 될 수 있다.
상기 UI ID18의 경우, 상기 도 27b에 도시된 바와 같이 파라미터(tokcen)은 없다. 따라서 상기 표시부27에 표시되는 화면은 아이콘영역1002에 메일 아이콘을 표시하고, 말풍선영역1006에 수신된 메일이 스펨 메일로 분류된 메일임을 텍스트로 표시하고, 아바타 영역1008에 표시되는 아바타의 감정상태는 피곤함을 나타내는 이미지로 표시할 수 있다.
상기 도 27c는 상기 에이전트제어부130의 전문가관리부310이 ID 47의 전문가를 설정한 경우의 사용예를 설명하는 도면이다. 상기 도 27c를 참조하면, 상기 전문가관리부310이 846단계에서 ID 47의 전문가를 설정하면, 848단계에서 상기 에이전트표현부140에 UI ID47을 전송한다. 그러면 상기 에이전트표현부140은 UI ID47의 아바타 이미지를 도 27c의 1112와 같이 상기 표시부27에 표시한다. 여기서 상기 ID 48은 메일함에 읽지 않은 메일(미개봉 메일)이 많을 경우 이를 정리하거나 또는 볼 것을 권유하는 이벤트로써, 사용자의 피드백 정보를 필요로 한다. 따라서 상기 에이전트표현부140은 UI ID47을 확인하여 도 27c의 1112와 같은 화면을 표시하며, 이는 상기 도 26b의 제1화면이 될 수 있다.
상기 UI ID48의 경우, 상기 도 27b에 도시된 바와 같이 파라미터(tokcen)은 없다. 따라서 상기 표시부27에 표시되는 화면은 1112와 같이 아이콘영역1002에 메일 아이콘이 표시되며, 말풍선영역1006에 미개봉 메일을 정리하거나 볼 것을 권유하는 텍스트를 표시하며, 버튼영역1010에 버튼 리스트를 표시한다. 그리고 사용자의 피드백에 따라 도 27c의 1114 또는 1116과 같은 화면을 표시하고, 그 결과를 상기 에이전트제어부130에 피드백시키며, 상기 에이전트제어부130은 상기 사용자의 피드백 결과를 백보드330에 저장하고, 아바타수치저장부340에 이를 저장한다.
상기와 같이 메일관련 이벤트가 발생되면, 상기 에이전트제어부130은 상기 수신된 메일관련 이벤트를 분석하여 최우선 순위를 가지는 전문가를 설정하고, 상기 설정된 전문가의 UI ID를 에이전트표현부140에 전달한다. 그러면 상기 에이전트표현부140은 상기 설정된 전문가의 UI ID에 관련된 표시 정보들을 표시부27에 표시하며, 사용자의 피드백을 대기한다. 이때 사용자의 피드백이 발생되면, 상기 에이전트표현부140은 상기 피드백 결과를 상기 에이전트제어부130에 피드백시키며, 상기 에이전트제어부130은 상기 피드백 결과를 저장하는 동시에 아바타 감정수치를 변경한다. 또한 상기 에이전트표현부140은 상기 피드백결과를 표시부27에 표시한다.
도 21은 본 발명의 일 실시예에 따른 통화/메세지 이벤트 처리시의 동작 절차를 설명하기 위한 도면이다. 상기 도 21은 통화이벤트 중에서 통화종료, 발신 및 메시지 읽음 이벤트 처리 절차를 도시하는 흐름도이다.
도 21을 참조하면, 902단계에서 상기 이벤트가 발생되면, 902단계에서 이벤트수집부110이 이를 수집하여 이벤트전달부120에 제공하며, 상기 이벤트전달부120은 906단계에서 상기 이벤트를 에이전트제어부130의 전문가관리부310에 제공한다. 그러면 상기 전문가관리부310은 908단계에서 상기 수신된 이벤트를 블랙보드330에 저장하고, 910단계에서 내부의 전문가 리스트에서 상기 이벤트에 따라 호출할 전문가들을 확인한 후, 912단계에서 상기 확인된 전문가들을 호출한다. 여기서 상기 이벤트 발생시, 상기 전문가관리부310의 내부 전문가 리스트에는 상기 <표 5>에 나타낸 바와 같이 ID 4, ID 5 및 ID 6의 전문가를 호출하도록 등록되었다고 가정한다.
상기 호출된 전문가들 중에서 ID 4의 전문가는 최근 몇일간 자주 연락을 한 특정인과 관계 설정이 되어 있지 않는 경우에 관계 설정을 권유하는 전문가로써, 상기 ID 4 전문가는 914단계에서 상기 블랙보드330에 저장된 이벤트를 확인하여 상기 통화를 종료한 통화자 또는 발신 메시지의 수신자 또는 상기 메시지를 읽은 발신자를 확인한다. 그리고 상기 통화종료 이벤트의 통화자(발신자/수신자)와 최근 1주일 동안 미리 설정된 횟수(예를들면 5회 이상 통화나 메시지를 주고 받은 횟수) 이상 통화를 하였는지 확인하고, 또한 자주 연락을 한 특정인(통화자/발신자/수신자)과 권계 설정이 없는지의 여부를 판단한다. 판단 결과 관계 설정이 되어 있는 경우, 상기 ID 4 전문가는 915단계로 진행하여 전문가관리부310에 'NO'를 리턴하며, 관계 설정이 되어 있는 경우에는 916단계로 진행하여 전문가관리부310에 'YES'를 리턴한다. 이때 916단계에서 YES를 리턴시, 상기 ID 4 전문가는 상기 전문가관리부310에 상기 이벤트의 특정인에 대한 정보를 같이 전송할 수 있다.
또한 상기 호출된 전문가들 중에서 ID 5의 전문가는 최근 몇일간 자주 연락을 한 특정인과 관계 설정이 되어 있는 경우에 칭찬하는 전문가로써, 상기 ID 5 전문가는 920단계에서 상기 블랙보드330에 저장된 정보를 확인하여 해당 전화통화 종료한 통화자 또는 해당 발신 메시지의 수신자 또는 해당 읽은 메시지의 발신자를 확인한다. 이후 상기 ID 5 전문가는 상기 통화자(발신자/수신자)와 최근 1주일 동안 미리 설정된 횟수(예를들면 5회 이상 통화나 메시지를 주고 받은 횟수)를 확인하여 자주 연락을 하였는지를 확인하고, 또한 자주 연락을 한 특정인(통화자/발신자/수신자)과 권계 설정이 되었는지 여부를 판단한다. 판단 결과 관계 설정이 되어 있지 않은 경우, 상기 ID 5 전문가는 921단계로 진행하여 전문가관리부310에 'NO'를 리턴하며, 관계 설정이 되어 있는 경우에는 923단계에서 상기 전문가관리부310에 'YES'를 리턴한다. 이때 923단계에서 YES를 리턴시, 상기 ID 5 전문가는 상기 전문가관리부310에 상기 이벤트의 특정인에 대한 정보를 같이 전송할 수 있다.
호출된 전문가 중에서 ID 6의 전문가는 최근 몇주간 꾸준히 연락을 한 특정인과 관계 설정이 되어 있지 않는 경우에 관계 설정을 권유하는 전문가로써, 상기 ID 6 전문가는 930단계에서 상기 블랙보드330에 저장된 이벤트 정보를 확인하여 해당 통화 종료한 통화자 또는 해당 발신 메시지의 수신자 또는 해당 읽은 메시지의 발신자를 확인하여, 해당 통화자(발신자/수신자)와 최근 1달간 계속적으로 연락이 있었는지를 확인한다. 이러한 1달간 계속적인 연락이 있었는지에 대한 판단은 3, 4주 전에 연락(전화 통화/ 메시지 수발신)한 특정인과 최근 1주일 이내에 다시 통화가 이루어졌는지에 대해 확인함으로서 이루어질 수 있다. 이와 같이 확인한 계속적인 연락이 있는 특정인과 권계 설정이 없는지의 여부를 판단한다. 판단 결과 관계 설정이 되어 있는 경우에는 931단계로 진행하여 전문가관리부310에 'NO'를 리턴하며, 관계 설정이 되어 있는 경우에는 933단계에서 전문가관리부310에 'YES'를 리턴한다. 이때 933단계에서 YES를 리턴할 때, 상기 ID 6의 전문가는 상기 전문가 관리부310에 상기 이벤트의 특정인에 대한 정보를 같이 전송할 수 있다.
이와 같이, 호출된 전문가들로부터 리턴이 이루어지면, 상기 전문가관리부310은 940단계에서 YES를 리턴한 전문가 ID(도 21의 경우 전문가 ID 4, ID 5 또는 ID 6)들을 감독부350에 제공한다. 그리고 상기 감독부350은 942단계에서 상기 제공된 전문가들의 UI 표현 우선순위, 또는 YES를 리턴한 전문가가 하나일 경우에는 해당 전문가의 실행여부를 확인한 후, 944단계에서 상기 전문가관리부310에 최우선 전문가 또는 해당 전문가의 실행여부에 대한 확인 결과를 전송한다. 그러면 상기 전문가관리부310은 946단계에서 상기 감독부350에서 설정된 최우선 전문가 또는 실행할 전문가 ID별로 미리 설정된 UIID를 확인하며, 948단계에서 상기 에이전트표현부140에 상기 UIID를 전송한다. 그러면 상기 에이전트표현부140은 950단계에서 상기 표시부27에 상기 UI 캐릭터를 표시하며, 필요시 오디오처리부27을 통해 대응되는 오디오신호를 재생하게 된다.
이러한 에이전트표현부140의 UI 표현은 상기 설정된 전문가의 UI ID에 대응되는 캐릭터 이미지와 함께 상기 <표 5>에 텍스트 예에 나타낸 바와 같이 해당 UI ID에 대응되는 텍스트로 표시된다.
이때 상기 전문가관리부310은 상기 에이전트표현부140에 상기 전문가 ID 4 또는 ID 6의 전문가에 해당하는 UI ID 전송시에 해당 특정인에 대한 정보도 동시에 전송하며, 이에 따라 상기 에이전트표현부140은 상기 UI 표현시 해당 특정인의 정보와 더불어 관계 설정을 권유하는 내용을 표현하게 된다. 또한 상기 전문가 ID 5에 해당하는 UIID 전송시에도 해당 특정인에 대한 정보도 동시에 전송하며, 이에따라 상기 에이전트표현부140은 상기 UI표현시 해당 특정인의 정보와 더불어 통화량/메시지량이 많음을 칭찬하는 내용을 표현하게 된다.
이때 상기 관계설정을 권유하는 UI를 표현하는 경우, 상기 표시부27에는 관계 설정을 할 것인지의 여부를 묻는 내용이 포함될 수 있다. 그리고 상기 사용자가 상기 표시부27에 표시되는 UI 이미지 및 텍스트를 확인하고, 이에 따른 응답(예를들면 YES or NO)하면, 상기 에이전트표현부140은 상기 사용자의 피드백 정보를 에이전트제어부130에 제공한다. 그러면 상기 에이전트제어부130은 상기 사용자 피드백 정보에 따른 해당 ID의 전문가를 동작시켜 사용자 피드백 정보에 따른 UI를 표현하도록 UI ID를 상기 상기 에이전트표현부140에 전달하며, 이에 따라 상기 에이전트표현부140은 상기 사용자의 피드백에 따른 UI 이미지 및 텍스트를 상기 표시부27에 표시하게 된다.
상기와 같이 이벤트수집부110은 휴대단말기에서 발생되는 이벤트들을 수집하며, 에이전트제어부130은 상기 수집된 이벤트에 해당하는 최적 또는 최우선의 전문가를 선택하고, 상기 선택된 전문가의 UI ID를 에이전트표현부140에 제공하며, 상기 에이전트표현부140은 상기 제공된 UI ID에 해당하는 캐릭터 이미지 및(또는) 텍스트 데이터를 표시부27에 표시한다. 이때 상기 표시부27에 표시되는 UI는 사용자의 피드백 정보를 요구하는 데이터가 될 수 있다. 이때 상기 사용자가 피드백 정보를 발생하면, 상기 에이전트표현부140은 상기 피드백 정보를 상기 에이전트제어부130에 제공한다. 그러면 상기 에이전트제어부130은 상기 제공되는 피드백정보에 따른 UI ID를 설정한 후, 이를 다시 상기 에이전트표현부140에 제공한다. 이때 상기 제공되는 UI ID는 사용자의 피드백 정보에 따라 처리된 결과를 표현하기 위한 UI ID가 될 수 있다. 그러면 상기 에이전트표현부140은 상기 에이전트제어부130에서 제공되는 UI ID를 상기 표시부27에 캐릭터 이미지 및(또는) 텍스트로 표시하여 사용자의 피드백에 따른 처리 결과를 표현한다.
도 28a - 도 28c는 통화/메세지 관련 이벤트들의 상기 도 21과 같은 과정으로 통화/메세지관련 이벤트를 처리할 때 상기 표시부27에 설정된 UI를 표시하는 절차를 설명하기 위한 도면이다.
상기 도 28a는 상기 에이전트제어부130의 전문가관리부310이 ID 4의 전문가를 설정한 경우의 사용예를 설명하는 도면이다. 상기 도 28a를 참조하면, 상기 전문가관리부310이 946단계에서 ID 4의 전문가를 설정하면, 948단계에서 상기 에이전트표현부140에 UI ID4를 전송한다. 그러면 상기 에이전트표현부140은 UI ID4의 아바타 이미지를 1202와 같이 상기 표시부27에 표시한다. 여기서 상기 ID 17은 최근 특정인에 대해 통화량 및 메시지 량이 많으면 칭찬과 함께 관계설정을 권유하는 이벤트로써, 사용자의 피드백 정보를 필요로 한다. 따라서 상기 에이전트표현부140은 UI ID4를 UI 정보를 확인하여 도 28a의 1202와 같은 화면을 표시한다. 여기서 상기 도 28a의 1202 화면은 상기 도 26b의 제1화면1020이 될 수 있다.
상기 UI ID4의 경우, 상기 도 28a에 도시된 바와 같이 파라미터(tokcen)은 "(1) "및 "(2)"로 구성되며, "(1)"은 사람이름이고, "(2)"는 그룹이름 리스트로 이루어진다. 따라서 상기 파라미터에 의해 텍스트는 1개로 이루어지며, 텍스트 내에 사람 이름 및 그룹이름 리스트는 상기 파라미터에 의해 결정된다. 또한 상기 아바타 상태(avatar status)는 보통(normal)이고, 버튼리스트는 "1. yes, 2. no"로 이루어진다.
상기 1202와 같은 제1화면이 표시되는 상태에서 사용자는 피드백정보를 발생할 수 있다. 여기서 상기 사용자의 피드백 정보는 버튼영역의 원하는 항목을 선택하거나 또는 단축키를 눌러 선택할 수 있다. 이때 상기 버튼영역의 "yes"가 선택되거나 단축키 "1"이 선택되면, 상기 에이전트표현부140은 1204와 같은 화면을 상기 표시부27에 표시한다. 이때 상기 1204 화면은 상기 그룹을 선택하기를 권유하는 화면이며, 사용자가 방향키를 이용하여 그룹을 선택하면 1208과 같이 그룹이 선택되었음을 표시하고 선택된 그룹에 추가 등록되었음을 표시한다. 또한 상기 버튼영역의 "no"가 선택되거나 단축키 "2"가 선택되면, 상기 에이전트표현부140은 1206과 같은 화면을 상기 표시부27에 표시한다. 또한 상기 에이전트표현부140은 상기와 같은 사용자의 피드백결과를 상기 에이전트제어부130에 전달한다. 그러면 상기 에이전트제어부130은 상기 피드백 결과에 따라 ID 17의 전문가에게 상기 피드백에 따른 행동을 할 것을 요청하고, 상기 백보드330에 상기 피드백 결과를 저장하여 다음 이벤트 발생에 참조할 수 있도록 하고, 상기 피드백 결과에 따른 아바타 수치를 변경하여 상기 아바타수치 저장부340에 저장한다.
도 28b는 ID 5전문가가 설정되는 이벤트 발생시 표시되는 UI로써, 상기 ID 5는 최근에 특정에 대해 통화량, 메시지 량이 많으면 칭찬하는 이벤트이다. 도 28c는 ID 6 전문가가 설정되는 이벤트 발생시 표시되는 UI로써, 상기 ID 6은 연락은 꾸준히 하지만 관계 설정이 안된 번호에 대해서 관계 설정을 권유하는 이벤트이다. 상기 도 28b 및 도 28c와 같은 절차로 처리되는 이벤트들은 상기 도 28a와 같이 피드백을 요하는 이벤트들로써, 그 처리 절차는 상기 도 28a와 유사한 절차로 진행된다.
도 22 - 도 25는 상기와 같은 절차로 진행되는 이벤트들의 다른 처리 예들을 도시하는 도면이다.
도 22는 상기 <표 5>에서 통화 종류의 이벤트를 처리하는 절차를 설명하는 도면이다. 상기 도 22는 통화 이벤트들 중에서 통화종료 이벤트 발생시의 처리 절차를 도시하는 흐름도이다. 통화종료 이벤트 발생시 상기 에이전트제어부130의 전문가관리부310은 이벤트별 전문가 리스트에서 상기 통화종료 이벤트에 관계가 있는 전문가들을 확인한다. 상기 도 22에서 통화 이벤트에 관계가 있는 전문가들은 ID2, ID3, ID 9, ID 11의 전문가들로 가정하고 있다. 상기 도 22는 상기 전문가관리부310이 ID 2, ID 9 및 ID 11의 전문가들을 호출한 경우를 예로들어 도시하고 있다. 여기서 상기 <표 5>에 나타낸 바와 같이 상기 ID 2 전문가는 전화번호가 미등록된 통화이벤트이면 등록을 권유하는 전문가이며, ID 9 전문가는 전화 통화를 오래한 경우 칭찬하는 전문가이고, ID 11 전문가는 특정시간 또는 요일에 자주 전화를 하는 사람에게 전화 통화를 권유하는 전문가이다. 상기와 같은 전문가들로부터 현재 발생된 이벤트의 리턴 결과를 받은 후, 상기 전문가관리부310은 "YES"로 응답한 전문가들의 ID를 감독부350에 전송하여 UI 표현우선순위 결정 및 실행확인 여부를 확인한다. 그리고 상기 감독부350의 리턴 정보에 따라 가장 적절한 전문가를 설정한 후, 해당 전문가의 UI ID를 상기 에이전트표현부140에 전송하며, 상기 에이전트표현부140은 상기 수신되는 전문가의 UI ID에 따른 캐릭터 이미지를 상기 표시부27에 표시한다. 그리고 사용자가 피드백 정보를 발생하면, 상기 에이전트표현부140은 상기 피드백 정보를 상기 에이전트제어부130에 제공한다. 그러면 상기 에이전트제어부130은 상기 제공되는 피드백정보에 따른 UI ID를 설정한 후, 이를 다시 상기 에이전트표현부140에 제공한다. 이때 상기 제공되는 UI ID는 사용자의 피드백 정보에 따라 처리된 결과를 표현하기 위한 UI ID가 될 수 있다. 그러면 상기 에이전트표현부140은 상기 에이전트제어부130에서 제공되는 UI ID를 상기 표시부27에 캐릭터 이미지 및(또는) 텍스트로 표시하여 사용자의 피드백에 따른 처리 결과를 표현한다. 또한 상기 피드백 정보를 필요로 하지 않는 이벤트인 경우, 상기 에이전트표현부140은 상기 발생된 상기 표시부27에 표시하고, 피드백 정보는 발생하지 않는다.
도 23은 <표 5>에서 응용이벤트(application event)의 처리 절차를 설명하는 도면이다. 상기 도 23은 상기 응용 이벤트 발생시 상기 에이전트제어부130의 전문가관리부310은 이벤트별 전문가 리스트에서 상기 응용이벤트에 관계가 있는 전문가들을 확인한다. 여기서 상기 응용 이벤트가 응용프로그램 실행 이벤트이면, 상기 <표 5>에 표시된 바와 같이 ID 29, ID 38, ID 41 등의 전문가들이 호출될 수 있다. 상기 도 23은 상기 전문가관리부310이 ID 29, ID 38 및 ID 41의 전문가들을 호출한 경우를 예로들어 도시하고 있다. 여기서 상기 <표 5>에 나타낸 바와 같이 상기 ID 29 전문가는 특정 시간 대에서 특정 프로그램을 실행시키는 행위가 반복되어 해당 프로그램을 실행시킬 것이 예측되는 경우에 해당 프로그램의 실행 여부를 권유하는 전문가이며, ID 38의 전문가는 응용 프로그램 종료 후 다음에 실행될 프로그램이 예측되는 경우에 실행 여부를 문의하는 전문가이고, ID 41 전문가는 응용프로그램을 처음 사용하는 경우에 도움 기능을 사용할 것을 권유하는 전문가이다. 이후 상기한 바와 같이 상기 전문가관리부310이 감독부350에 확인하여 전문가를 설정하며, 상기 에이전트표현부140은 상기 설정된 전문가의 UI ID에 따른 캐릭터를 표시부27에 표시한다. 이후 사용자의 피드백정보가 발생되면 상기 에이전트표현부140은 이를 상기 에이전트제어부130에 피드백하며, 에이전트제어부130은 상기 사용자 피드백정보에 따른 전문가의 UI ID를 상기 에이전트표현부140에 전달하고, 상기 에이전트표현부140은 이에 따른 사용자 피드백 정보를 표시한다. 또한 상기 피드백 정보를 필요로 하지 않는 이벤트인 경우, 상기 에이전트표현부140은 상기 발생된 상기 표시부27에 표시하고, 피드백 정보는 발생하지 않는다.
도 24는 상기 <표 5>에서 시스템 이벤트의 처리 절차를 설명하는 도면이다. 상기 도 24는 시스템에 관련된 이벤트 발생시 상기 에이전트제어부130의 전문가관리부310은 이벤트별 전문가 리스트에서 상기 발생된 시스템 이벤트에 관계가 있는 전문가들을 확인한다. 여기서 상기 발생된 시스템 이벤트가 배터리 상태 변경 이벤트이면, 상기 <표 5>에 표시된 바와 같이 ID 31 및 ID 32 등의 전문가들이 호출될 수 있다. 상기 도 24는 상기 전문가관리부310이 ID 31 및 ID 32의 전문가들을 호출한 경우를 예로들어 도시하고 있다. 여기서 상기 <표 5>에 나타낸 바와 같이 상기 31 전문가는 배터리가 가득차면 아바타가 출현하도록 하는 전문가이며, ID 32의 전문가는 배터리가 많이 남지 않았을 경우에 배터리의 잔존량을 알려주는 전문가이다. 이후 상기한 바와 같이 상기 전문가관리부310이 감독부350에 확인하여 전문가를 설정하며, 상기 에이전트표현부140은 상기 설정된 전문가의 UI ID에 따른 캐릭터를 표시부27에 표시한다. 이후 사용자의 피드백정보가 발생되면 상기 에이전트표현부140은 이를 상기 에이전트제어부130에 피드백하며, 에이전트제어부130은 상기 사용자 피드백정보에 따른 전문가의 UI ID를 상기 에이전트표현부140에 전달하고, 상기 에이전트표현부140은 이에 따른 사용자 피드백 정보를 표시한다. 또한 상기 피드백 정보를 필요로 하지 않는 이벤트인 경우, 상기 에이전트표현부140은 상기 발생된 상기 표시부27에 표시하고, 피드백 정보는 발생하지 않는다.
도 25는 상기 <표 5>에서 일정 이벤트의 처리 절차를 설명하는 도면이다. 상기 도 25는 상기 일정 관련 이벤트 발생시 상기 에이전트제어부130의 전문가관리부310은 이벤트별 전문가 리스트에서 상기 발생된 일정관련 이벤트에 관계가 있는 전문가들을 확인한다. 여기서 상기 발생된 시스템 이벤트가 일정시작 이벤트이면, 상기 <표 5>에 표시된 바와 같이 ID 23 전문가가 호출될 수 있다. 상기 도 25는 상기 전문가관리부310이 ID 23의 전문가들을 호출한 경우를 예로들어 도시하고 있다. 여기서 상기 <표 5>에 나타낸 바와 같이 상기 ID 23 전문가는 일정 시작시 진동으로 바꾸거나 적절한 상태로 바꿀 것을 권유하는 전문가이다. 이후 상기한 바와 같이 상기 전문가관리부310이 감독부350에 확인하여 전문가를 설정하며, 상기 에이전트표현부140은 상기 설정된 전문가의 UI ID에 따른 캐릭터를 표시부27에 표시한다. 이후 사용자의 피드백정보가 발생되면 상기 에이전트표현부140은 이를 상기 에이전트제어부130에 피드백하며, 에이전트제어부130은 상기 사용자 피드백정보에 따른 전문가의 UI ID를 상기 에이전트표현부140에 전달하고, 상기 에이전트표현부140은 이에 따른 사용자 피드백 정보를 표시한다. 또한 상기 피드백 정보를 필요로 하지 않는 이벤트인 경우, 상기 에이전트표현부140은 상기 발생된 상기 표시부27에 표시하고, 피드백 정보는 발생하지 않는다.
도 29a - 도 32는 상기 도 23 - 도 160에 표시된 각 전문가들이 설정된 경우, 상기 에이전트표현부140에서 발생된 이벤트에 따른 전문가 UI ID의 UI들을 표시하는 예를 도시하고 있다. 상기 도 29a - 도 32에 도시된 바와 같이 각 UI ID들은 피드백 정보를 요하는 UI ID 및 피드백을 요하지 않는 UI ID들로 구성될 수 있다. 이때 상기 피드백을 요하는 UI ID의 경우에는 먼저 설정된 전문가의 UI ID에 따른 제1화면을 표시한다. 여기서 상기 제1화면은 상기 도 26b의 1020과 같은 화면으로써, 버튼영역1010을 구비하며, 사용자의 선택에 따른 UI를 도 26b의 103과 같은 제2화면으로 표시한다. 그리고 상기 사용자의 선택 결과를 피드백 정보로 생성하여 에이전트제어부130에 누적 저장하므로써, 이후에 발생되는 이벤트를 처리하는 정보로 사용함과 동시에 아바타의 감정수치를 갱신한다. 또한 상기 피드백을 요하지 않는 UI ID인 경우에는 상기 도 26a와 같은 한번의 표시 동작을 수행하게 되며, 이런 경우 상기 피드백 정보는 발생되지 않는다.
또한 표시되는 정보는 상기한 바와 같이, 발생되는 이벤트의 종류를 표시하는 아이콘, 그리고 UI 텍스트를 표시하기 위한 말풍선 영역, 그리고 해당 이벤트에 대한 아바타의 감정 상태들을 표시할 수 있다.
상술한 바와 같이 본 발명의 실시예는 휴대단말기에 인공지능 에이전트 시스템 기능을 구현하고, 휴대단말기에서 이벤트 발생시 해당 이벤트에 최우선 순위를 가지는 에이전트 시스템의 UI를 설정하여 시각적으로 이벤트의 발생을 표시할 수 있는 이점이 있다. 또한 상기 에이전트 시스템으로 휴대단말기의 이벤트들을 표시할 때, 에이전트 시스템이 이벤트에 대한 최우선 UI를 설정하고, 설정된 UI를 표시하면서 사용자의 피드백을 권유하고, 사용자의 피드백 결과에 따른 UI를 표시하는 동시에 이를 저장하여 다음 이벤트에 사용할 수 있도록 하여, 휴대단말기의 사용자 인터페이스 효율을 향상시킬 수 있는 이점이 있다.
Claims (55)
- 휴대단말기의 표시 장치에 있어서,상기 휴대단말기의 이벤트들 각각에 대응되는 케이스에 대응되는 사용자 인터페이스 데이터들을 저장하는 메모리와,휴대단말기에서 발생되는 이벤트들을 수집하고, 상기 수집된 이벤트에 대해 실행 가능한 적어도 하나의 케이스를 선택하며, 상기 선택된 케이스에 대한 상기 사용자 인터페이스 데이터를 상기 메모리에서 선택하여 출력하며, 상기 사용자 인터페이스 데이터는 캐릭터 이미지를 포함하는 제어부와,상기 사용자 인터페이스 데이터를 표시하는 표시부로 구성된 것을 특징으로 하는 상기 장치.
- 제1항에 있어서, 상기 사용자 인터페이스 데이터가,상기 발생된 이벤트에 따른 상태를 표시하는 캐릭터 이미지와,상기 이벤트에 따른 텍스트 데이터를 포함하는 것을 특징으로 하는 상기 장치.
- 청구항 3은(는) 설정등록료 납부시 포기되었습니다.제2항에 있어서, 상기 사용자 인터페이스 데이타가, 상기 발생된 이벤트의 종류를 표시하는 아이콘을 더 포함하는 것을 특징으로 하는 상기 장치.
- 청구항 4은(는) 설정등록료 납부시 포기되었습니다.제3항에 있어서, 상기 사용자 인터페이스 데이터가, 배경이미지를 더 포함하는 것을 특징으로 하는 상기 장치.
- 청구항 5은(는) 설정등록료 납부시 포기되었습니다.제4항에 있어서, 상기 배경이미지는 시간대별로 다르게 이미지를 가짐을 특징으로 하는 상기 장치.
- 청구항 6은(는) 설정등록료 납부시 포기되었습니다.제4항에 있어서, 상기 캐릭터이미지는 아바타 이미지이며, 상기 텍스트 데이터는 텍스트 및 오디오로 변환하여 표시하는 것을 특징으로 하는 상기 장치.
- 제1항에 있어서, 상기 표시되는 사용자 인터페이스 데이터가 사용자의 피드백을 권유하는 텍스트를 포함하며, 상기 제어부가 상기 사용자의 피드백 정보를 저장하여 다음 이벤트에 상기 피드백 정보를 사용하는 것을 특징으로 하는 상기 장치.
- 제7항에 있어서, 상기 사용자 인터페이스 데이터가 이벤트발생시 표시되는 제1사용자 인터페이스 데이터와, 상기 사용자의 피드백에 따른 결과를 표시하는 제2사용자 인터페이스 데이터로 구성되며,상기 제1사용자 인터페이스 데이터는,상기 발생된 이벤트에 따른 감정상태를 표시하는 캐릭터 이미지와,상기 이벤트에 따른 텍스트 데이터와,상기 텍스트데이타에 따라 사용자의 피드백 정보를 입력하기 위한 버튼리스트 데이터를 구비하며,상기 제2사용자 인터페이스 데이터는,상기 사용자의 피드백 결과에 따른 감정상태를 표시하는 캐릭터 이미지와,상기 사용자의 피드백 결과에 따른 텍스트 데이터를 포함하는 것을 특징으로 하는 상기 장치.
- 청구항 9은(는) 설정등록료 납부시 포기되었습니다.제8항에 있어서, 상기 제1 및 제2사용자 인터페이스 데이타가, 상기 발생된 이벤트의 종류를 표시하는 아이콘을 더 포함하는 것을 특징으로 하는 상기 장치.
- 청구항 10은(는) 설정등록료 납부시 포기되었습니다.제9항에 있어서, 상기 사용자 인터페이스 데이터가, 배경이미지를 더 포함하는 것을 특징으로 하는 상기 장치.
- 청구항 11은(는) 설정등록료 납부시 포기되었습니다.제10항에 있어서, 배경이미지는 시간대별로 다르게 이미지를 가짐을 특징으로 하는 상기 장치.
- 청구항 12은(는) 설정등록료 납부시 포기되었습니다.제10항에 있어서, 상기 캐릭터이미지는 아바타 이미지인 것을 특징으로 하는 상기 장치.
- 제1항에 있어서, 상기 제어부가,상기 휴대단말기에서 발생되는 이벤트를 수집하여 이벤트메세지를 생성하는 이벤트수집부와,상기 이벤트메세지에 대응되는 적어도 하나의 케이스들을 선택하고, 상기 선택된 케이스들 중에서 상기 발생된 이벤트에 최우선하는 케이스를 설정한 후, 상기 설정된 케이스에 해당하는 사용자 인터페이스를 선택하는 에이전트제어부와,상기 설정된 사용자인터페이스에 해당하는 데이타를 상기 표시부에 표시하도록 제어하는 에이전트표현부로 구성된 것을 특징으로 하는 상기 장치.
- 제13항에 있어서,상기 에이전트 표현부가 상기 표시되는 사용자 인터페이스 데이타에 따라 사용자가 선택되는 사용자 피드백 정보를 발생하고, 상기 피드백정보에 따른 사용자 인터페이스 데이터를 표시하며,상기 에이전트제어부가 상기 사용자 피드백 정보를 저장하여 다음 이벤트에 적용하는 것을특징으로 하는 상기 장치.
- 제14항에 있어서, 상기 에이전트제어부가,상기 수집되는 이벤트 및 상기 피드백된 이벤트 메시지를 저장하는 블랙보드와,각각 대응되는 이벤트의 케이스에 대응되는 사용자 인터페이스 식별자들을 저장하는 복수의 전문가들과,상기 이벤트의 리스트에 등록된 전문가들의 데이터들을 상기 블랙보드에서 억세스하여 최우선 순위를 가지는 전문가를 결정하는 감독부와,상기 휴대단말기의 각 이벤트들에 따른 전문가리스트를 구비하며, 상기 이벤트 수신시 상기 수신된 이벤트 메시지를 상기 블랙보드에 저장하고, 상기 이벤트 전문가 리스트에서 대응되는 전문가들을 선택한 후 상기 감독부에 통보하며, 상기 감독부에서 결정된 전문가의 사용자 인터페이스 식별자를 상기 에이전트표현부에 전송하고, 상기 사용자 피드백 이벤트 메세지 수신시 상기 블랙보드에 저장하는 전문가관리부로 구성된 것을 특징으로 하는 상기 장치.
- 제15항에 있어서, 상기 이벤트수집부가,휴대단말기의 통화, 메시지, 일정, 시스템 이벤트들을 감지하는 감지기들과,상기 감지기들에서 감지되는 이벤트를 분석하여 상기 발생된 이벤트의 종류 및 발생시간 및 이벤트식별자를 포함하는 이벤트 메시지를 생성하여 상기 에이전트제어부에 전송하는 이벤트수집기관리부로 구성된 것을 특징으로 하는 상기 장치.
- 제16항에 있어서, 상기 에이전트표현부가,상기 사용자 인터페이스 식별자의 수에 대응되는 수로 구비되며, 사용자 피드백 여부를 감지하는 사용자 인터페이스부들과,상기 사용자 인터페이스 식별자에 해당하는 상기 사용자 인터페이스 데이터를 상기 메모리에서 억세스하여 상기 표시부에 사용자 인터페이스 데이터를 표시하며, 상기 사용자가 피드백 정보 입력시 사용자 피드백 메시지를 생성하여 상기 에이전트제어부에 전달하는 아바타 사용자 인터페이스 관리부로 구성된 것을 특징으로 하는 상기 장치.
- 제17항에 있어서, 상기 피드백을 필요로 하지 않는 사용자 인터페이스 데이터가,상기 발생된 이벤트에 따른 상태를 표시하는 캐릭터 이미지와,상기 이벤트에 따른 텍스트 데이터를 포함하는 것을 특징으로 하는 상기 장치.
- 제14항에 있어서, 상기 에이전트제어부가,상기 수집되는 이벤트 및 상기 피드백된 이벤트 메시지를 저장하는 블랙보드와,각각 대응되는 이벤트의 케이스에 대응되는 사용자 인터페이스 식별자들을 저장하는 복수의 전문가들과,상기 발생된 이벤트에 등록된 적어도 두개의 전문가들이 통보되면 상기 통보된 전문가들의 표현 우선순위를 결정하여 정렬시키는 감독부와,상기 휴대단말기의 각 이벤트들에 따른 전문가리스트를 구비하며, 상기 이벤트 수신시 상기 수신된 이벤트 메시지를 상기 블랙보드에 저장하고, 상기 이벤트 전문가 리스트에서 대응되는 전문가들을 선택한 후 상기 감독부에 통보하며, 상기 전문가들의 사용자 인터페이스 식별자를 상기 감독부에 의해 정렬된 우선순위에 따라 상기 에이전트표현부에 전송하고, 상기 사용자 피드백 이벤트 메세지 수신시 상 기 블랙보드에 저장하는 전문가관리부로 구성된 것을 특징으로 하는 상기 장치.
- 제19항에 있어서, 상기 에이전트제어부는 적어도 하나의 타이머처리부를 더 구비하며, 상기 타이머처리부는 상기 전문가에 의해 타이머를 설정하며, 설정된 시간에서 상기 전문가관리부에 이를 통보하며,상기 전문가관리부는 타이머 통보시 상기 타이머를 설정한 전문가를 구동하여 해당 전문가의 사용자 인터페이스 식별자를 에이전트표현부에 전송하는 것을 특징을 하는 상기 장치.
- 제20항에 있어서, 상기 감독부가 전문가들의 지정우선순위 및 사용자 선호도를 하기 <수학식 1>과 같이 계산하여 이벤트에 대응되는 전문가들의 표현우선순위를 결정한 후 정렬시켜 상기 전문가관리부에 통보하는 것을 특징으로 하는 상기 장치.
p = (1/(p1+1))*p2 여기서 p는 표현우선순위, p1은 지정우선순위, p2는 사용자선호도임. - 제21항에 있어서, 상기 사용자선호도 p2는 하기와 같은 <수학식 2>에 의해 결정되는 것을 특징으로 하는 상기 장치.
p2 = 1 - ((r(0)*f(0)+(r(1)*f(1)+ ... + (r(k-1)*f(k-1))/ (g(0)+g(1)+...+g(k-1))))여기서r(i) = xi/(xi+yi) if xi+yi > 0= 0 if xi+yi = 0f(i) = 1/(1+2logk(i+1)g(i) = 1 if xi+yi > 0= 0 if xi+yi = 0r(i)는 현재로부터 과거 i번째 날에 사용자가 가진 부정적 견해의 비율f(i)는 현재로부터 과거 i번째 날에 사용자가 가진 부정적 견해의 감소 요소g(i)는 현재로부터 과거 i번째 날에 긍정이나 부정이 있었던 횟수xi는 현재로부터 과거 i번째 날에 사용자가 전문가를 거부한 횟수yi는 현재로부터 과거 i번째 날에 사용자가 전문가를 거부하지 않는 횟수 - 제20항에 있어서, 상기 피드백을 필요로 하는 사용자 인터페이스 데이터가 이벤트발생시 표시되는 제1사용자 인터페이스 데이터와, 상기 사용자의 피드백에 따른 결과를 표시하는 제2사용자 인터페이스 데이터로 구성되며,상기 제1사용자 인터페이스 데이터는,상기 발생된 이벤트에 따른 감정상태를 표시하는 캐릭터 이미지와,상기 이벤트에 따른 텍스트 데이터와,상기 텍스트데이타에 따라 사용자의 피드백 정보를 입력하기 위한 버튼리스트 데이터를 구비하며,상기 제2사용자 인터페이스 데이터는,상기 사용자의 피드백 결과에 따른 감정상태를 표시하는 캐릭터 이미지와,상기 사용자의 피드백 결과에 따른 텍스트 데이터를 포함하는 것을 특징으로 하는 상기 장치.
- 휴대단말기에서 발생되는 이벤트를 표시하는 방법에 있어서,휴대단말기에서 발생되는 이벤트들을 수집하는 과정과,상기 수집된 이벤트에 대해 실행 가능한 적어도 하나의 케이스를 선택하며, 상기 선택된 케이스에 따른 사용자 인터페이스 데이터를 선택하며, 상기 사용자 인터페이스 데이터는 캐릭터 데이터를 포함하는 과정과,상기 사용자 인터페이스 데이터를 표시하는 과정으로 이루어짐을 특징으로 하는 상기 방법.
- 제24항에 있어서, 상기 사용자인터페이스 데이터를 선택하는 과정이,상기 수집된 이벤트에 대해 실행 가능한 적어도 하나의 케이스를 선택하는 과정과,상기 선택된 케이스들의 표현 우선순위를 결정하는 과정과,상기 결정된 표현 우선순위에 따른 케이스들의 상기 사용자 인터페이스의 데이터를 선택하는 과정으로 이루어짐을 특징으로 하는 상기 방법.
- 제25항에 있어서, 상기 사용자 인터페이스 데이터가,상기 발생된 이벤트에 따른 감정상태를 표시하는 캐릭터 이미지와,상기 이벤트에 따른 텍스트 데이터를 포함하는 것을 특징으로 하는 상기 방법.
- 청구항 27은(는) 설정등록료 납부시 포기되었습니다.제26항에 있어서, 상기 사용자 인터페이스 데이타가, 상기 발생된 이벤트의 종류를 표시하는 아이콘을 더 포함하는 것을 특징으로 하는 상기 방법.
- 청구항 28은(는) 설정등록료 납부시 포기되었습니다.제27항에 있어서, 상기 사용자 인터페이스 데이터가, 배경이미지를 더 포함하는 것을 특징으로 하는 상기 방법.
- 청구항 29은(는) 설정등록료 납부시 포기되었습니다.제28항에 있어서, 상기 배경이미지는 시간대별로 다르게 이미지를 가짐을 특징으로 하는 상기 방법.
- 청구항 30은(는) 설정등록료 납부시 포기되었습니다.제29항에 있어서, 상기 캐릭터이미지는 아바타 이미지인 것을 특징으로 하는 상기 방법.
- 제24항에 있어서, 상기 사용자 인터페이스 데이터를 선택하는 과정이,상기 수집되는 이벤트 메시지를 저장하는 과정과,상기 이벤트에 등록된 적어도 하나의 케이스를 선택하는 과정과,상기 선택된 케이스들의 우선순위를 분석하여 최우선 순위를 가지는 케이스를 결정하는 과정과,상기 결정된 최우선순위의 케이스에 대한 사용자 인터페이스 식별자를 선택하는 과정으로 이루어짐을 특징으로 하는 상기 방법.
- 제31항에 있어서, 상기 이벤트를 수집하는 과정이,휴대단말기의 통화, 메시지, 일정, 시스템 이벤트들을 감지하는 과정과,상기 감지되는 이벤트를 분석하여 상기 발생된 이벤트의 종류 및 발생시간 및 이벤트식별자를 포함하는 이벤트 메시지를 생성하는 과정으로 이루어짐을 특징으로 하는 상기 방법.
- 제32항에 있어서, 상기 사용자 인터페이스 데이터를 표시하는 과정이,상기 사용자 인터페이스 식별자에 해당하는 캐릭터 이미지와, 텍스트 데이터를 표시함을 특징으로 하는 상기 방법.
- 제24항에 있어서, 상기 사용자 인터페이스 데이터를 선택하는 과정이,상기 수집되는 이벤트 메시지를 저장하는 과정과,상기 이벤트에 등록된 케이스들을 선택하는 과정과,상기 선택된 케이스들의 표현 우선순위를 결정하여 정렬하는 과정과,상기 정렬된 우선순위에 따라 케이스들의 사용자 인터페이스 식별자들을 선택하는 과정으로 이루어짐을 특징으로 하는 상기 방법.
- 제34항에 있어서, 상기 사용자 인터페이스 데이터를 선택하는 과정이,상기 사용자 인터페이스에 의해 타이머 이벤트를 설정하는 과정과,상기 타이머 이벤트 발생시 상기 타이머를 설정한 케이스를 구동하여 해당하는 사용자 인터페이스 식별자를 선택하는 과정을 더 구비함을 특징으로 하는 상기 방법.
- 제35항에 있어서, 상기 케이스들의 표현 우선순위를 결정하는 과정이,상기 케이스의 지정 우선순위 및 사용자 선호도를 하기 <수학식 3>과 같이 계산하여 이벤트에 대응되는 케이스들의 표현우선순위를 결정한 후 정렬시킴을 특징으로 하는 상기 방법.
p = (1/(p1+1))*p2 여기서 p는 표현우선순위, p1은 지정우선순위, p2는 사용자선호도임. - 제36항에 있어서, 상기 사용자선호도 p2는 하기와 같은 <수학식 4>에 의해 결정됨을 특징으로 하는 상기 방법.
p2 = 1 - ((r(0)*f(0)+(r(1)*f(1)+ ... + (r(k-1)*f(k-1))/ (g(0)+g(1)+...+g(k-1))))여기서r(i) = xi/(xi+yi) if xi+yi > 0= 0 if xi+yi = 0f(i) = 1/(1+2logk(i+1)g(i) = 1 if xi+yi > 0= 0 if xi+yi = 0r(i)는 현재로부터 과거 i번째 날에 사용자가 가진 부정적 견해의 비율f(i)는 현재로부터 과거 i번째 날에 사용자가 가진 부정적 견해의 감소 요소g(i)는 현재로부터 과거 i번째 날에 긍정이나 부정이 있었던 횟수xi는 현재로부터 과거 i번째 날에 사용자가 전문가를 거부한 횟수yi는 현재로부터 과거 i번째 날에 사용자가 전문가를 거부하지 않는 횟수 - 제37항에 있어서, 상기 사용자 인터페이스 데이터가 ,상기 발생된 이벤트에 따른 감정상태를 표시하는 캐릭터 이미지와,상기 이벤트에 따른 텍스트 데이터로 이루어짐을 특징으로 상기 방법.
- 휴대단말기에서 발생되는 이벤트를 표시하는 방법에 있어서,휴대단말기에서 발생되는 이벤트들을 수집하는 과정과,상기 수집된 이벤트에 대해 실행 가능한 적어도 하나의 케이스를 선택하며, 상기 선택된 케이스에 대한 제1사용자 인터페이스데이터를 선택하며, 상기 제1사용자 인터페이스 데이터는 캐릭터 데이터를 포함하는 과정과,상기 제1사용자 인터페이스 데이터를 표시하며, 상기 제1사용자 인터페이스 데이터는 사용자의 피드백 정보 입력을 요구할 수 있는 과정과,상기 표시되는 제1사용자 인터페이스 데이터에서 사용자의 선택에 따른 제2사용자 인터페이스 데이터를 표시하며, 상기 사용자 선택에 따른 피드백 정보를 저장하여 다음 이벤트 발생에 적용할 수 있도록 하는 과정으로 이루어짐을 특징으로 하는 상기 방법.
- 제39항에 있어서,상기 제1사용자 인터페이스 데이터는,상기 발생된 이벤트에 따른 감정상태를 표시하는 캐릭터 이미지와,상기 이벤트에 따른 텍스트 데이터와,상기 텍스트데이타에 따라 사용자의 피드백 정보를 입력하기 위한 버튼리스트 데이터를 구비하며,상기 제2사용자 인터페이스 데이터는,상기 사용자의 피드백 결과에 따른 감정상태를 표시하는 캐릭터 이미지와,상기 사용자의 피드백 결과에 따른 텍스트 데이터를 포함하는 것을 특징으로 하는 상기 방법.
- 청구항 41은(는) 설정등록료 납부시 포기되었습니다.제40항에 있어서, 상기 제1 및 제2 사용자 인터페이스 데이타가, 상기 발생된 이벤트의 종류를 표시하는 아이콘을 더 포함하는 것을 특징으로 하는 상기 방법.
- 청구항 42은(는) 설정등록료 납부시 포기되었습니다.제41항에 있어서, 상기 사용자 인터페이스 데이터가, 배경이미지를 더 포함하는 것을 특징으로 하는 상기 방법.
- 청구항 43은(는) 설정등록료 납부시 포기되었습니다.제42항에 있어서, 상기 배경이미지는 시간대별로 다르게 이미지를 가짐을 특징으로 하는 상기 방법.
- 청구항 44은(는) 설정등록료 납부시 포기되었습니다.제42항에 있어서, 상기 캐릭터이미지는 아바타 이미지인 것을 특징으로 하는 상기 방법.
- 제39항에 있어서, 상기 사용자 인터페이스 데이터를 선택하는 과정이,상기 수집되는 이벤트 메시지를 저장하는 과정과,상기 이벤트 메시지에 등록된 적어도 하나의 케이스들을 선택하는 과정과,상기 선택된 케이스들의 우선순위를 검사하여 최우선 순위를 가지는 사용자인터페이스를 결정하는 과정과,상기 결정된 최우선순위의 사용자 인터페이스 식별자를 선택하는 과정과,상기 사용자 피드백 이벤트 메세지 수신시 상기 피드백 이벤트 메시지를 저장하는 과정으로 이루어짐을 특징으로 하는 상기 방법.
- 제45항에 있어서, 상기 이벤트를 수집하는 과정이,휴대단말기의 통화, 메시지, 일정, 시스템 이벤트들을 감지하는 과정과,상기 감지되는 이벤트를 분석하여 상기 발생된 이벤트의 종류 및 발생시간 및 이벤트식별자를 포함하는 이벤트 메시지를 생성하는 과정으로 이루어짐을 특징으로 하는 상기 방법.
- 제46항에 있어서, 상기 사용자 인터페이스 데이터를 표시하는 과정이,상기 사용자 인터페이스 식별자에 해당하는 상기 제1사용자 인터페이스 데이터를 억세스하여 표시하는 과정과,상기 제1사용자 인터페이스 데이터를 표시하는 상태에서 상기 사용자가 피드백 정보 입력시 사용자 피드백 메시지를 생성하는 과정으로 이루어짐을 특징으로 하는 상기 방법.
- 제39항에 있어서, 상기 사용자 인터페이스를 선택하는 과정이,상기 수집되는 이벤트 메시지를 저장하는 과정과,상기 이벤트에 등록된 케이스들을 선택하는 과정과,상기 선택된 케이스들의 지정우선순위 및 사용자 선호도들을 검사하여 상기 케이스들의 표현 우선순위를 결정하여 정렬시키는 과정과,상기 정렬된 표현 우선순위에 따라 상기 사용자 인터페이스들을 선택하는 과정과,상기 사용자 인터페이스에 대한 사용자의 피드백 이벤트 메세지 수신시 수신되는 피드백 이벤트 메시지를 저장하는 과정으로 이루어짐을 특징으로 하는 상기 방법.
- 제48항에 있어서, 상기 사용자 인터페이스를 선택하는 과정이,상기 사용자 인터페이스에 의해 타이머를 설정하는 과정과,상기 설정된 타이머 시간에서 상기 타이머를 설정한 케이스의 사용자 인터페이스 식별자를 선택하는 과정을 더 구비함을 특징으로 하는 상기 방법.
- 제49항에 있어서, 상기 표현 우선순위를 결정하는 과정이,상기 케이스들의 지정우선순위 및 사용자 선호도를 하기 <수학식 5>와 같이 계산하여 이벤트에 대응되는 전문가들의 표현 우선순위를 결정한 후 정렬시킴을 특징으로 하는 상기 방법.
p = (1/(p1+1))*p2 여기서 p는 표현우선순위, p1은 지정우선순위, p2는 사용자선호도임. - 제50항에 있어서, 상기 사용자선호도 p2는 하기와 같은 <수학식 6>에 의해 결정함을 특징으로 하는 상기 방법.
p2 = 1 - ((r(0)*f(0)+(r(1)*f(1)+ ... + (r(k-1)*f(k-1))/ (g(0)+g(1)+...+g(k-1))))여기서r(i) = xi/(xi+yi) if xi+yi > 0= 0 if xi+yi = 0f(i) = 1/(1+2logk(i+1)g(i) = 1 if xi+yi > 0= 0 if xi+yi = 0r(i)는 현재로부터 과거 i번째 날에 사용자가 가진 부정적 견해의 비율f(i)는 현재로부터 과거 i번째 날에 사용자가 가진 부정적 견해의 감소 요소g(i)는 현재로부터 과거 i번째 날에 긍정이나 부정이 있었던 횟수xi는 현재로부터 과거 i번째 날에 사용자가 전문가를 거부한 횟수yi는 현재로부터 과거 i번째 날에 사용자가 전문가를 거부하지 않는 횟수 - 제51항에 있어서, 상기 피드백을 필요로 하는 사용자 인터페이스 데이터가 이벤트발생시 표시되는 제1사용자 인터페이스 데이터와, 상기 사용자의 피드백에 따른 결과를 표시하는 제2사용자 인터페이스 데이터로 구성되며,상기 제1사용자 인터페이스 데이터는,상기 발생된 이벤트에 따른 감정상태를 표시하는 캐릭터 이미지와,상기 이벤트에 따른 텍스트 데이터와,상기 텍스트데이타에 따라 사용자의 피드백 정보를 입력하기 위한 버튼리스트 데이터를 구비하며,상기 제2사용자 인터페이스 데이터는,상기 사용자의 피드백 결과에 따른 감정상태를 표시하는 캐릭터 이미지와,상기 사용자의 피드백 결과에 따른 텍스트 데이터를 포함하는 것을 특징으로 하는 상기 방법.
- 휴대단말기에서 발생되는 이벤트를 표시하는 장치에 있어서,캐릭터 UI 이미지 및 데이터들을 저장하는 메모리와,휴대단말기에서 발생되는 이벤트들을 감지하여 이벤트 ID를 포함하는 이벤트 메시지를 생성하는 이벤트수집부와,알람 이벤트 발생시 에이전트 및 일반 알람으로 구분하는 ID를 포함하는 알람이벤트 메시지를 생성하는 알람이벤트수집부와,상기 이벤트수집부 및 알람이벤트수집부에서 출력되는 이벤트 메시지를 전달하는 이벤트전달부와,상기 이벤트전달부에서 전달되는 상기 이벤트메세지에 대응되는 전문가들을 선택하며, 상기 선택된 전문가들에 의해 조건을 검사하며, 상기 전문가들에서 상기 발생된 이벤트에 최우선 전문가를 결정하고, 상기 결정된 최우선전문가 가지는 상기 캐릭터 UI ID를 선택 출력하는 에이전트제어부와,상기 캐릭터 UI ID에 대응되는 캐릭터 이미지 및 텍스트를 억세스 출력하는 에이전트 표현부와,상기 캐릭터 이미지 및 텍스트를 표시하는 표시부로 구성된 것을 특징으로 하는 상기 장치.
- 휴대단말기에서 발생되는 이벤트를 표시하는 방법에 있어서,휴대단말기에서 발생되는 이벤트들을 감지하여 이벤트 ID를 포함하는 이벤트 메시지를 생성하는 이벤트수집과정과,알람 이벤트 발생시 에이전트 및 일반 알람으로 구분하는 ID를 포함하는 알람이벤트 메시지를 생성하는 알람이벤트수집과정과,상기 발생되는 이벤트 및 알람이벤트 메시지를 전달하는 이벤트전달과정과,상기 전달되는 상기 이벤트메세지에 대응되는 전문가들을 선택하며, 상기 선택된 전문가들에 의해 조건을 검사하며, 상기 전문가들에서 상기 발생된 이벤트에 최우선 전문가를 결정하고, 상기 결정된 최우선전문가 가지는 상기 캐릭터 UI ID를 선택 출력하는 에이전트제어과정과,상기 캐릭터 UI ID에 대응되는 캐릭터 이미지 및 텍스트를 억세스 출력하는 에이전트 표현과정으로 이루어짐을 특징으로 하는 상기 방법
- 제54항에 있어서, 상기 에이전트 제어과정이,제1유형의 이벤트 수신시 이벤트에 대응되는 각 전문가들에게 해당되는 조건을 검사하며, 설정된 알람 이벤트를 확인하여 에이전트알람이면 알람이벤트의 전문가 ID를 호출하여 조건검사를 재수행하고, 조건을 만족하면 최우선 전문가를 결정하여 캐릭터 UI ID를 표현하는 과정과,제2유형의 이벤트 수신시 이벤트에 대응되는 각 전문가들에게 해당되는 조건을 검사하며, 조건을 만족하는 전문가들 간의 경쟁을 통해 최우선 전문가를 결정하여 캐릭터 UI ID를 표현하는 과정과,제3유형의 이벤트 수신시 설정된 알람이벤트를 확인하여 에이전트 알람이면 상기 알람이벤트의 전문가 ID를 호출하여 설정된 날짜 뒤로 알람을 설정하며, 설정된 날이면 해당 전문가의 캐릭터 UI ID를 표현하는 과정과,제4유형의 이벤트 수신시 설정된 날짜 및 일정 등록에 따른 알람을 설정하고, 설정된 알람이벤트가 호출되면 해당하는 알람이벤트의 전문가를 호출하여 캐릭터 UI ID를 표현하는 과정으로 이루어짐을 특징으로 하는 상기 방법.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2005800335502A CN101036308B (zh) | 2004-10-01 | 2005-09-30 | 在无线终端中显示事件的装置和方法 |
EP05792845.9A EP1803228B1 (en) | 2004-10-01 | 2005-09-30 | Device and method for displaying event in wireless terminal |
PCT/KR2005/003249 WO2006038779A1 (en) | 2004-10-01 | 2005-09-30 | Device and method for displaying event in wireless terminal |
BRPI0516817-1A BRPI0516817A (pt) | 2004-10-01 | 2005-09-30 | dispositivo e método para exibir evento em terminal sem fio |
US11/240,643 US8463244B2 (en) | 2004-10-01 | 2005-10-03 | Apparatus and method for displaying an event in a wireless terminal |
US13/915,042 US9204423B2 (en) | 2004-10-01 | 2013-06-11 | Apparatus and method for displaying an event in a wireless terminal |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20040078470 | 2004-10-01 | ||
KR1020040078470 | 2004-10-01 | ||
KR1020050040169 | 2005-05-13 | ||
KR1020050040169A KR20060047890A (ko) | 2004-10-01 | 2005-05-13 | 휴대단말기의 이벤트 표시 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060051852A KR20060051852A (ko) | 2006-05-19 |
KR100722975B1 true KR100722975B1 (ko) | 2007-05-30 |
Family
ID=37150102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050091344A KR100722975B1 (ko) | 2004-10-01 | 2005-09-29 | 휴대단말기의 이벤트 표시 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100722975B1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100714717B1 (ko) * | 2006-06-12 | 2007-05-04 | 삼성전자주식회사 | 테마를 이용하여 이벤트 로그를 표시하는 휴대단말기 및이벤트 로그를 표시하는 방법 |
KR20080087059A (ko) * | 2007-01-08 | 2008-09-30 | (주)필링크 | 배경 변환 서비스 제공 방법 및 시스템 |
US20100093316A1 (en) * | 2008-10-09 | 2010-04-15 | Nokia Corporation | Method, apparatus and computer program product for providing an information organization mechanism |
KR102561282B1 (ko) * | 2017-09-28 | 2023-07-28 | 라인 가부시키가이샤 | 정보처리 방법, 정보처리 장치 및 정보처리 프로그램 |
KR102298395B1 (ko) * | 2019-12-09 | 2021-09-08 | 주식회사 엘렉시 | 사용자 행위 분석 시스템 및 방법과, 이를 위한 이벤트 수집 에이전트 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09107306A (ja) * | 1995-10-12 | 1997-04-22 | Kokusai Electric Co Ltd | 携帯無線機 |
JP2001202340A (ja) | 2000-01-18 | 2001-07-27 | Seiko Epson Corp | 表示装置及び携帯型情報処理装置並びに情報記録媒体及び電子機器 |
KR20040022391A (ko) * | 2003-07-30 | 2004-03-12 | 김근식 | 핸드폰 및 pda 등에서의 통화중 화면변경 시스템 |
KR20040040601A (ko) * | 2002-11-07 | 2004-05-13 | 주식회사 태니 | 변이캐릭터 출력방법 및 그 시스템 |
KR20040097642A (ko) * | 2003-05-12 | 2004-11-18 | 주식회사 팬택앤큐리텔 | 이동 통신 단말기의 사용자 데이타 원터치 설정 방법 |
KR20050010526A (ko) * | 2003-07-21 | 2005-01-28 | 에스케이 텔레콤주식회사 | 캐릭터를 이용한 개인 휴대 단말기의 관리 방법 |
KR20050019368A (ko) * | 2003-08-18 | 2005-03-03 | (주)픽토소프트 | 이동통신단말의 이벤트 발생에 대한 바탕화면 사이버캐릭터의 인공지능(ai) 적용을 통한 표현 서비스 장치 및방법 |
KR20050077807A (ko) * | 2004-01-29 | 2005-08-03 | 삼성전자주식회사 | 휴대단말기의 캐릭터 처리 장치 및 방법 |
KR20050103130A (ko) * | 2004-04-23 | 2005-10-27 | 삼성전자주식회사 | 휴대단말기의 상태 정보 표시방법 |
-
2005
- 2005-09-29 KR KR1020050091344A patent/KR100722975B1/ko not_active IP Right Cessation
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09107306A (ja) * | 1995-10-12 | 1997-04-22 | Kokusai Electric Co Ltd | 携帯無線機 |
JP2001202340A (ja) | 2000-01-18 | 2001-07-27 | Seiko Epson Corp | 表示装置及び携帯型情報処理装置並びに情報記録媒体及び電子機器 |
KR20040040601A (ko) * | 2002-11-07 | 2004-05-13 | 주식회사 태니 | 변이캐릭터 출력방법 및 그 시스템 |
KR20040097642A (ko) * | 2003-05-12 | 2004-11-18 | 주식회사 팬택앤큐리텔 | 이동 통신 단말기의 사용자 데이타 원터치 설정 방법 |
KR20050010526A (ko) * | 2003-07-21 | 2005-01-28 | 에스케이 텔레콤주식회사 | 캐릭터를 이용한 개인 휴대 단말기의 관리 방법 |
KR20040022391A (ko) * | 2003-07-30 | 2004-03-12 | 김근식 | 핸드폰 및 pda 등에서의 통화중 화면변경 시스템 |
KR20050019368A (ko) * | 2003-08-18 | 2005-03-03 | (주)픽토소프트 | 이동통신단말의 이벤트 발생에 대한 바탕화면 사이버캐릭터의 인공지능(ai) 적용을 통한 표현 서비스 장치 및방법 |
KR20050077807A (ko) * | 2004-01-29 | 2005-08-03 | 삼성전자주식회사 | 휴대단말기의 캐릭터 처리 장치 및 방법 |
KR20050103130A (ko) * | 2004-04-23 | 2005-10-27 | 삼성전자주식회사 | 휴대단말기의 상태 정보 표시방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20060051852A (ko) | 2006-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1803228B1 (en) | Device and method for displaying event in wireless terminal | |
KR100809585B1 (ko) | 휴대단말기의 일정 관련 이벤트 처리 장치 및 방법 | |
US9204423B2 (en) | Apparatus and method for displaying an event in a wireless terminal | |
CN105099877B (zh) | 即时通信消息处理方法和装置 | |
KR100750999B1 (ko) | 휴대단말기의 통화/메시지 관련 이벤트 처리 장치 및 방법 | |
KR100952546B1 (ko) | 참가자의 프리퍼런스 및 정황에 기반하여 통신을 위한 바람직한 양식 또는 채널을 식별하고 설정하기 위한 시스템과 방법 | |
TWI479329B (zh) | 用於自動對話技術的方法、物件及設備 | |
US8775538B2 (en) | Methods for capturing electronic messages based on capture rules relating to online contexts of users | |
CA2513756C (en) | Utilizing instant messaging to effectuate structured communication | |
CN100370789C (zh) | 自动对收到的邮件消息进行分类的设备、方法和记录媒体 | |
CN1312617C (zh) | 用于处理和表示电子邮件信息内容的图形用户界面 | |
US9454735B2 (en) | Integrating data with a contact | |
EP2887276A1 (en) | Method for predicting reactiveness of users of mobile devices for mobile messaging | |
US20080219416A1 (en) | Method and system for obtaining feedback from at least one recipient via a telecommunication network | |
CN1551011A (zh) | 用于指导警告定时的有限延迟策略,使用本地传感器信息的交互和通信 | |
KR100722975B1 (ko) | 휴대단말기의 이벤트 표시 장치 및 방법 | |
US7555308B2 (en) | Device and method for processing call-related events in mobile terminal | |
US20100099395A1 (en) | Apparatus and method for processing a function execution recommendation alarm event in wireless terminal | |
KR100720137B1 (ko) | 휴대용 단말기에서 기능실행 권유알람 이벤트 처리 장치 및방법 | |
CN114666291A (zh) | 消息发送方法和装置 | |
KR100803050B1 (ko) | 휴대단말기의 메시지 관련 이벤트처리 장치 및 방법 | |
JP2005346493A (ja) | コミュニケーション装置及びコミュニケーション概要作成方法 | |
KR20060070431A (ko) | 휴대단말기의 응용 프로그램 관련 이벤트 처리 장치 및방법 | |
KR20060071317A (ko) | 휴대단말기의 메일 관련 이벤트 처리 장치 및 방법 | |
KR100755433B1 (ko) | 휴대단말기의 통화 관련 이벤트 처리 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
G170 | Publication of correction | ||
FPAY | Annual fee payment |
Payment date: 20130429 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140429 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150429 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20160428 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20170427 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |