이러한 목적을 달성하기 위해 본 발명에 따른 유ㆍ무선 인터넷 전자상거래 지원 시스템은상품 또는 정보를 검색하는 프로그램 코드 및 검색된 상품에 대한 거래를 보조하는 협상 프로그램 코드가 탑재된 이동 에이전트와,상기 이동 에이전트를 생성하고 상품 가격 제안서 등의 정보를 제공하며 쇼핑몰의 관리를 담당하는 쇼핑몰 에이전트 서버와,상기 이동 에이전트를 처리할 수 있는 환경을 가지고 있지 않은 쇼핑몰에 저장되어 있는 웹 문서 또는 카탈로그를 판독하여, 상기 웹 문서 또는 카탈로그를 파싱(parsing)하고 원하는 상품 리스트만을 추출하여 인코딩하는 쇼핑몰 게이트웨이 에이전트와,상기 쇼핑몰 게이트웨이 에이전트를 생성하고 상기 쇼핑몰 게이트웨이 에이전트를 최적의 검색 위치로 이동시켜 검색된 결과를 저장하는 쇼핑몰 게이트웨이 서버와,NNTP 프로토콜을 이용하여 뉴스 그룹 내의 상품에 대한 정보를 검색하고 상기 정보가 존재하지 않는 경우 이에 대한 질의를 입력하는 뉴스그룹 게이트웨이 에이전트와,상기 뉴스그룹 게이트웨이 에이전트를 생성하고 상기 뉴스그룹 게이트웨이 에이전트를 최적의 검색 위치로 이동시켜 검색된 결과를 저장하는 뉴스그룹게이트웨이 서버와상기 이동 에이전트, 상기 쇼핑몰 게이트웨이 에이전트 및 상기 뉴스그룹 게이트웨이 에이전트에 대하여, 제약조건만족 해결기법(Constraint Satisfaction Problems; CSP)을 사용하여 최적의 경로를 계산하여 상기 에이전트들의 이동 전략을 최적화하도록 제어하는 중계기를 포함하는 것을 특징으로 한다.
이하, 본 발명의 실시 예를 첨부한 도면을 참조하여 상세히 설명하기로 한다.
도 1 및 도 2에는, 본 발명에 따른 이동 에이전트를 이용한 유ㆍ무선 인터넷 전자상거래 지원 시스템의 개념도와 블럭도가 각각 도시되어 있다. 도 1 및 도 2를 참조하면, 본 발명에 따른 인터넷 전자상거래 지원 시스템은 상품 검색 및 협상을 위해 접속한 개인용 컴퓨터를 사용하는 유선 사용자(60), 휴대폰이나 PDA와 같은 무선 단말기를 이용하여 접속하는 무선 사용자(10), 무선 단말기를 중계하는 무선통신 기지국(15), 무선 및 유선 프로토콜의 변환을 담당하는 WAP 게이트웨이(20), 상품 또는 정보를 검색하기 위한 프로그램 코드와 검색된 상품에 대한 거래를 돕기 위한 협상 프로그램 코드가 탑재된 이동 에이전트(Mobile Agent)(170a, 170b, 170c), 이동 에이전트(170a, 170b, 170c)를 생성하고 상품 가격 제안서 등의 정보를 제공하며 쇼핑몰의 관리를 담당하는 쇼핑몰 에이전트 서버(Shopping Mall Agent Server)(70a, 70b, 70c, 70d), 해당 질의의 종류에 따라 최적의 경로로 이동 에이전트들을 라우팅 시켜주는 역할을 하는 중계기(Mediator)(50), 이동 에이전트(170a, 170b, 170c)를 처리할 수 있는 환경을 가지고 있지 않은 쇼핑몰(35)에 저장되어 있는 웹 문서 또는 카탈로그를 판독하여 이를 파싱(Parsing)하고 원하는 상품 리스트만을 추출하여 변환하는 역할을 하는 쇼핑몰 게이트웨이 에이전트(Shopping Mall Gateway Agent)(130a-130c), 쇼핑몰 게이트웨이 에이전트(130a-130c)를 생성하여 최적의 검색 위치로 이동시키고 검색된 결과를 저장하는 쇼핑몰 게이트웨이 서버(Shopping Mall Gateway Server)(30), NNTP(Network News Transfer Protocol) 프로토콜을 이용하여 뉴스 그룹(45)에 올려진 상품에 대한 정보 및 사용경험 등의 상품관련 게시물을 검색하고 입력하는 역할을 수행하는 뉴스그룹 게이트웨이 에이전트(News Group Gateway Agent)(140a-140c), 뉴스 그룹 게이트웨이 에이전트(140a-140c)를 생성하여 최적의 검색 위치로 이동시키고 검색된 결과를 저장하는 뉴스그룹 게이트웨이 서버(40)를 포함한다.
본 발명에 따른 이동 에이전트를 이용한 유ㆍ무선 인터넷 전자상거래 지원 시스템의 동작을 이하에서 상세히 설명한다.
유선 사용자 또는 무선 사용자가 상품 검색 또는 상품 정보 검색을 쇼핑몰 에이전트 서버(70a)에 요청하면 쇼핑몰 에이전트 서버(70a)는 이동 에이전트(170a-170c)를 생성하여, 여기에 상품 검색을 위한 프로그램 코드를 탑재시키고, 중계기(50)는 쇼핑몰 에이전트 서버(70a)의 요청에 의하여 각 쇼핑몰 또는 다른 쇼핑몰 에이전트 서버(70b-70d), 쇼핑몰 게이트웨이 서버(30), 뉴스그룹 게이트웨이 서버(40) 등으로 이동하기 위한 최적의 이동 경로를 스케줄링하게 된다. 이 스케줄링된 결과에 따라 이동 에이전트(170a-170c)는 이동하여 해당 서버에서 검색하고 검색 결과를 에이전트의 출발지인 쇼핑몰 에이전트 서버(70a)로 전송하고, 이러한 결과는 최종적으로 사용자에게 리스트 형태로 표시된다.
만약 사용자가 이들 결과 리스트를 보고, 특정한 상품을 거래하고자 하는 요청을 쇼핑몰 에이전트 서버(70a)로 한 경우에는, 쇼핑몰 에이전트 서버(70a)는 해당 상품을 검색한 이동 에이전트를 해당 쇼핑몰 에이전트 서버로 이동시킨다. 해당 쇼핑몰 에이전트 서버에 도달한 이동 에이전트는 탑재된 협상 프로그램을 실행하여 해당 쇼핑몰 에이전트 서버의 협상 에이전트와 협상을 수행하며, 수행된 결과를 출발지의 쇼핑몰 에이전트 서버(70a)로 전송한다. 쇼핑몰 에이전트 서버(70a)는 해당 이동 에이전트로부터 전송받은 협상 결과를 사용자에게 전송하여 사용자 인터페이스에 의해 사용자가 결과를 용이하게 알아볼 수 있도록 출력한다. 그 후에 사용자의 선택에 따라 재검색 또는 협상이 이루어진다.
여기서, 검색에 동원된 이동 에이전트(170a-170c)는 해당 해를 얻기 위해 서버에 질의를 던지거나 자료를 요구하는 형태로 동작하는 것이 아니라, 에이전트 코드만을 서버로 전송시키는 방식으로 동작한다. 또한, 한번 이동한 에이전트 코드는 해를 구할 때까지 더 이상 통신을 필요로 하지 않는다.
따라서, 본 발명의 이동 에이전트(170a-170c)는 다음과 같은 특징을 갖는다. 주어진 과제의 해결을 위한 코드를 이동(dispatch)시킬 수 있기 때문에 네트워크를 통한 원본 자료(raw data)의 흐름의 양을 줄여 네트워크 트래픽을 감소시킬 수 있으며, 실시간적인 내부환경의 변화에 반응할 수 있기 때문에 네트워크 대기(network latency)를 극복할 수 있고, 프로토콜에 의해 캡슐화(encapsulate)가 가능하며, 비동기적 메시지 교환 및 행동이 가능하며 하드웨어의 종류와 통신계층에 독립적으로 행동이 가능하며 강건(robust)하고 실패 감내성(fault-tolerant)이 있다.
이하에서는 도 2를 참조하여, 본 발명에 따른 유ㆍ무선 인터넷 전자상거래 지원 시스템의 동작 관계를 설명하기로 한다.
본 발명에 따른 동작은 5개의 단계로 구성되며, (1)단계를 마친 후에 중계기에 의해서 (2), (3), (4)단계가 병렬적 또는 순차적으로 수행되며, 마지막으로 (5)단계가 수행된다.
(1) 쇼핑몰 에이전트 서버(70a)에 사용자의 상품 검색 요청이 있는 경우 검색 정보를 저장하고 해당 검색 요청에 적합한 정보를 찾기 위해 이동 에이전트(170a-170c)를 생성하여 중계기(50)로 전송한다. 그 다음에 중계기(50)는 이동 에이전트(170a-170c)를 수신하여 라우팅 정책에 따라서 이동 에이전트(170a-170c) 각각을 정해진 라우팅 경로로 이동시킨다.
(2) 이동 에이전트(170a-170c)중 쇼핑몰 에이전트 서버(70b-70d)에 도착한 이동 에이전트는 쇼핑몰 에이전트 서버에서 상품을 검색하고 다음 검색 위치로 이동한다.
(3) 이동 에이전트(170a-170c)가 쇼핑몰 게이트웨이 서버(30)에 전송되면, 쇼핑몰 게이트웨이 서버(30)는 쇼핑몰 게이트웨이 에이전트(130a-130c)를 생성하여, 이들로 하여금 각각의 쇼핑몰에 저장이 된 상품 리스트를 판독하여 이를 파싱(parsing)하고 원하는 상품 리스트를 추출하여 검색하도록 한다. 이러한 쇼핑몰 게이트웨이 에이전트(130a-130c)는 검색된 결과를 가지고 쇼핑몰 게이트웨이 서버(30)로 돌아오게 되면, 이동 에이전트(170a-170c)는 그 검색 결과를 검색하고 다음 경로로 이동하게 된다.
(4) 이동 에이전트(170a-170c)가 뉴스그룹 게이트웨이 서버(40)에 전송되면, 뉴스그룹 게이트웨이 서버(40)는 뉴스그룹을 검색할 뉴스그룹 게이트웨이 에이전트(140a-140c)를 생성하고, 이들로 하여금 NNTP 프로토콜을 이용하여 뉴스 그룹에 올려진 상품에 대한 정보 및 사용경험 등의 상품 관련 게시물을 검색하도록 한다. 검색된 결과를 가지고 뉴스그룹 게이트웨이 에이전트(140a-140c)가 뉴스그룹 게이트웨이 서버(40)로 돌아온다. 검색 결과를 이동 에이전트가 검색하한 후, 이동 에이전트(170a-170c)는 다음 검색 위치로 이동한다.
(5) 이동 에이전트(170a-170c)의 검색 및 협상 결과를 수신받은 쇼핑몰 에이전트 서버(70a)는 이를 사용자에게 출력하고 사용자로부터 검색 및 협상 결과에 대한 피드백을 받는다. 피드백 결과에 따라 재검색 또는 협상한다.
도 3은 본 발명에 따른 전자상거래 지원 시스템에 포함된 쇼핑몰 에이전트 서버(70a)의 내부 모듈을 도시하고 있다.
도 3을 참조하면, 쇼핑몰 에이전트 서버(70a)는 유선통신 사용자(65a, 65b, 65c, ...)와 무선통신 사용자(15a, 15b, 15c, ...)로부터 상품구매 요청을 입력받아 결과를 출력하는 사용자 인터페이스(701)와, 무선통신 사용자(15a, 15b, 15c, ...)의 무선통신 단말기와 통신하는 무선통신 모듈(717)과, HTTP와 WAP 프로토콜의 변환을 담당하는 WAP 게이트웨이(WAP Gateway)(716)와, 사용자 질의의 종류를 분석하는 질의 분석기(Query Analyzer)(702)와, 출력된 결과에 대한 사용자의 만족도나 재검색 요청과 같은 사용자의 피드백을 저장하는 피드백 분석기(703)와, 검색된 결과 및 사용자의 피드백의 변화를 기록하는 히스토리 관리자(History Manager)(705)와, 사용자 상품 협상 요청과 검색된 상품 정보를 저장하는 상품검색 데이터베이스(Merchandise DB)(706)와, 이동 에이전트(170a-170c)의 생성(Create), 이동(Dispatch), 복제(Clone), 소멸(Dispose)을 관리하는 이동 에이전트 관리자(Mobile Agent Manager)(704)와, 이동 에이전트(170a-170c)의 실행 환경인 이동 에이전트 컨텍스트(Mobile Agent Context)(712)와, 이동 에이전트 컨텍스트(712)를 제어하고 관리하는 이동 에이전트 컨텍스트 제어기(Mobile Agent Context Controller)(710)와, 이동 에이전트와 협상을 수행하는 협상 에이전트 모듈(Negotiation Agent Module)(719)과, 이동 에이전트의 메시지 전송 및 수신을 담당하는 이동 에이전트 통신 모듈(Mobile Agent Communication Module)(711)을 포함한다.
이동 에이전트 관리자(704)는 이동 에이전트(170a-170c)를 생성할 때 내부에 질의 검색을 위한 유사도 계산 클래스(Class)를 포함시킨다. 질의 분석과 검색에는 벡터 모델(Vector Model)이 사용된다.
도 4는 사용자의 질의 검색을 위한 벡터 모델(Vector Model)의 흐름도를 도시하고 있다.
위 도 4를 참조하면, 사용자 질의가 입력되면(S1), 해당 질의와 일치하는 상품 리스트를 상품 DB(706)로부터 추출한다(S6). 그후, 검출된 데이터의 신뢰성을 위하여 유사도 측정과정을 수행하기 위하여, 사용자의 질의를 백터화하는 작업(S2) 및 추출된 상품 리스트를 백터화하는 작업(S7)을 병행하고, 이들간의 유사도를 측정하게 된다(S3). 구체적인 유사도 측정 방법은 후술하기로 한다.
이렇게 유사도 측정 단계(S3)를 거쳐서 높은 유사성을 보이는 리스트를 필터링하여(S4), 이들이 지적하는 상품 정보를 상품 DB(706)로부터 구체적인 데이터를 제공받아(S8) 이를 사용자에게 출력한다(S9).
여기서, 유사도 계산을 위한 벡터 모델에 대하여 설명하면, 이러한 벡터 모델은 사용자의 질의 및 추출된 상품 리스트를 색인어(index term)의 집합으로 표현한 후 각각의 색인어에 가중치(weight)를 부여한다. 부여된 가중치를 기초로 유사도를 측정하여 그 정보가 사용자 질의와 얼마나 부합되는 지를 판단한다. 또한 이 유사도는 각 정보의 순위(ranking)를 통한 자료 필터링에 사용된다.
본 발명의 바람직한 실시 예 중 하나를 들어 구체적으로 유사도 측정 기법을 설명하자면, 사용자 질의 q의 i번째 색인어에 부여된 가중치(weight)를 wi,q, t를 전체 색인어 수라고 하면 질의 벡터는= (w1,q, w2,q, ..., wt,q)로 정의되며 정보 벡터는= (w1,j, w2,j, ..., wt,j)로 표현된다. 사용자의 질의 벡터와 정보 벡터와의 유사도를 계산하는 공식은 코사인 계수공식을 사용한다. 이것을 식으로 나타내면 아래의 식 1과 같다,
[식 1]
유사도를 계산하기 위해서는 각 벡터의 색인어에 가중치(weight)를 부여해 주어야 한다. 정보의 색인어에 가중치(weight)를 부여하는 방법으로는 TF-IDF방식을 사용하여 계산하였고 사용자의 질의의 색인어에 가중치를 부여하는 방법은 이미 다수 공지된 바 있다. 바람직하게는 셀튼 및 버클리(Salton and Buckely)가 제안한 방법을 사용할 수 있다.
이하에서는, 사용자에 의해서 선택된 상품에 대하여 구매 협상을 하는 것에 대하여 설명하기로 한다.
쇼핑몰 에이전트 서버(70a)는 구매 협상을 위하여 내부에 협상 에이전트 모듈(719)을 구비하고, 협상을 위하여 이동 에이전트(170a-170c)를 생성할 때 또는 보낼 때, 이동 에이전트(170a-170c)내에 협상 모듈을 탑재시킨다. 따라서, 이동 에이전트(170a-170c)에 의해서 검색된 상품에 대한 구매자의 실제 구매가 발생하기 전에, 구매자가 원하는 상품에 대해서 판매자와 협상을 할 수 있도록 지원해 줄 수 있다.
일반적으로 전자상거래에서 구매자에게 상품을 판매하는 경우, 검색되어진 상품을 구매자에게 제시하는 중개형태의 판매는 구조적으로 상호간의 이익을 적절히 반영하기 어렵다.
따라서, 본 발명에서는 이동 에이전트를 기반으로 한 논쟁 기반 협상 언어를 포함하고 있다. 이동 에이전트에서 이러한 협상 구조를 지원하기 위해서는 상호간의 제안을 표현하고, 그 제안에 대한 평가 내용과 결정 사항을 전달할 수 있는 언어적인 구조가 필요하며, 협상의 대상이 되는 사안들의 특성을 반영할 수 있는 표현 구조도 요구된다. 또한 이러한 협상에서 전략을 세우고 알맞은 제안을 제시하며 상대의 제안에 대하여 전략적으로 반응할 수 있는 의사 결정 모델이 요구되므로 협상 에이전트 모듈을 필요로 한다.
도 5는 쇼핑 에이전트 서버와 이동 에이전트가 사용하는 협상 모듈을 도시한 블럭도이다.
도 5를 참조하면, 신뢰 모델(803)은 기업 정책 모델(company policymodel)(804)과, 고객 모델(customer model)(805)과, 협상 상태(negotiation state)(806)와 협상의 협상 노드 신뢰도(negotiation node belief)(807)를 포함한다. 협상 엔진(813)은 구매자와 가상기업의 이득을 계산하는 보수 평가 모듈(payoff evaluation module)(812)과 게임 이론에 따라 의사결정을 진행하는 의사 결정 모듈(game treat engine)(811)을 포함한다. 그리고 협상의 진행 내용을 계속적으로 기록하는 히스토리(History)(814)는 협상의 진행과 구매자의 반응을 기록한다. 메시지 처리 부(800)는 메시지 큐(message queue)(801)와 메시지 해석기(message interpreter)(802), 메시지 생성기(message generator)(809), 메시지 송신기(message router)(808)를 포함한다. 이 모듈은 구매자, 판매자 상호간의 이득을 고려하여 비협력적 협상을 수행하고, 구매자와 판매자 각각에 대해 협력적 관계를 유지한다. 특히 판매자 측에서 볼 때는, 이 모듈은 회사의 정책을 즉각적이고 일관되게 반영할 수 있도록 한다. 이를 위해서 판매자 이동 에이전트 서버는 회사 내부의 마케팅을 담당하는 마케팅 관리 에이전트(Marketing Management Agent) 및 마케팅 에이전트를 지원하면서 회사 내부의 각 에이전트에게 시장 분석 자료를 제공하는 시장 분석 에이전트(Market Analysis Agent)를 두어 판매자 이동 에이전트의 의사 결정 기준을 제공한다.
이러한 협상 모듈을 이용한 협상에 필요한 협상 언어, 협상의 처리과정, 및 의사결정 모델의 세 가지 요소에 대하여 상세히 설명하면 다음과 같다.
첫 번째 요소인 협상언어는 이동 에이전트의 기본 의사소통 프로토콜인ATP(Agent Transfer Protocol)위에서 KQML기반으로 확장된 프로토콜을 사용한다. 이 협상언어는 외부언어로써 사용되는 기본 상거래 프로토콜과 내부언어로써 사용되는 협상대상에 대한 프로토콜로 나뉘어질 수 있다. 사용되는 외부 언어는 아래의 표 1과 같다.
[표 1]
reward |
(reward (request (issue))(offer (issue)) ) |
A를 들어주면 B를 제공한다는 보상표현 |
appeal |
(appeal (if (issue)) (then (issue)) ) |
A를 하면 B의 이득이 있다는 호소표현 |
warn |
(warn (if[not] (action) ) (then (issue)) ) |
A에 대해 발생하는일에 대한 경고 |
request |
특정 요구조건을 표현할 때 사용 |
내부 언어는 협상을 통해서 합의에 도달해야할 협상의 대상을 표현하기 위해서 존재하며, 아래의 표 2와 같다.
[표 2]
modify |
상대방의 지식을 변경할 때 |
reply |
ask에 대한 대답 (tell)의 역할 |
request |
요구사항을 전달할 때 |
inform |
에이전트 자신이 알고 있는 정보를 상대에이전트에게 알릴 때 |
propose |
가상점원이 구매자에게 요구에 대한 제안을 할 때 |
reject/accept |
상대방 에이전트의 요구를 수용 거절할 때 |
confirm |
에이전트 자신에 대한 상대방의 Belief를 확증할 때 |
buy_request |
가상점원에게 구매자의 요구를 보낼 때 |
도 6은 쇼핑 에이전트 서버와 이동 에이전트가 사용하는 협상 절차를 도시한 도면이다.
도 6을 참조하면, 두 번째 요소인 상호간의 협상을 위한 절차는 다음의 3단계로 구분할 수 있다.
(1) 협상 과정
시작 구매자 측의 협상 모듈에서 거래를 요청하면 이를 판매자 측의 협상 모듈이 구매자 측의 요구명세서를 받아들임으로써 협상이 시작된다(상태 1(S101) - 상태 2(S102)).
(2) 실제적 협상과정
다음의 두 과정을 반복적으로 수행함으로써 상호 조건을 만족하는 계약에 도달할 수 있다.(상태 3(S103) - 상태 6(S106))
① 판매자 에이전트의 제안
판매자 에이전트는 회사의 기본 정책과 구매자 에이전트의 요구 명세에 따라 제안을 형성하여 구매자 에이전트에게 전송한다.
② 판매자 에이전트의 제안에 대한 평가
구매자 에이전트는 자신의 구매 요구에 판매자의 제안이 적절한가를 판단하고 제안에 대한 수용과 거절의 의사를 표시할 수 있다. 거절의 경우 불 만족된 사항과 이에 대한 요구를 같이 전송할 수 있다.
(3) 계약과정
구매자 에이전트가 제안을 수용하면 판매자 에이전트는 이를 마케팅에이전트에 보내고 이에 대한 승인을 얻어서 구매자 에이전트에게 계약 내용을 보내고 계약 확인을 받는다.
세 번째 구성요소인 의사결정모델에 대하여 상세히 설명하면 아래와 같다.
쇼핑몰 에이전트에서 구매자의 특성을 파악하고 마케팅의 전략을 세우는 일은 마케팅 에이전트에 의해서 이루어진다. 마케팅 에이전트는 협상언어를 통하여 획득한 구매자의 자료를 분석함으로써 협상 엔진이 의사 결정을 할 수 있도록 한다. 쇼핑몰 에이전트의 협상 모듈은 마케팅 에이전트에 의해 만들어진 구매자의 특성 정보에 맞는 전략을 세워 협상을 진행하게 된다. 이러한 전략을 위해 게임이론을 적용하였다. 구매자 협상 에이전트 또한 같은 전략으로써 각기 자신들의 이익을 위해 협상을 진행하게 된다. 본 발명에서의 협상게임은 불완전정보에 대한 무한 반복게임이라 볼 수 있다. 이러한 불완전 정보게임은 확률적 모델인 베이즈 내쉬 균형 모델(Bayesian Nash equilibrium)을 교섭에 응용한 교섭게임(Bargaining game) 모델을 사용할 수 있다.
이 모델은 어떤 상품에 대한 구매자의 주관적 가치를 정확히 모를 때, 구매자가 가졌을 것으로 예상되는 주관적 가치를 확률로 나타내고, 이에 따라 교섭을 진행하는 게임이다. I는 게임 참가자,는 각 게임참가자의 전략 집합이고,, S는 situation라 하면,(s)는 situation s에서 각 참가자들의 보수집합이고(s)는 situation s에서 각 참가자들의 전략에 대한 선택확률이라 할 때, 이 모델은 아래의 식 2와 같다.
[식 2]
이 모델이 쇼핑몰 에이전트의 협상 모듈에서 의사 결정을 하기 위해서 변형된 식은 아래의 식 3과 같다.
player = { cus, sale }
cus : 구매자
sale : 마케팅 에이전트
cyb : 판매자 협상 에이전트
: 구매자의 이슈 집합
: 구매자의 이슈 집합
: 마케팅 에이전트의 이슈 집합
j : 할인율,(회사에서 이슈 i에 대해 적용하는 할인의 비율을 의미한다.)
: 각 이슈에 할당된 값,
: 각 이슈에 대한 구매자의 중요도 값
: 각 이슈에 대한 마케팅 에이전트의 중요도
: 판매자 협상 에이전트가 취할 수 있는 전략
: 각에 대하여 구매자가 선택할 확률
- 구매자의 이득 측정
: 이슈i의 값이일 때 구매자의 이슈 i에 대한 이득 함수
|
payoff() c 이므로 모든 다른 이슈의 고려가 필요 없을 만큼 이 이슈에 대한 이득이 아주 낮을 때, c는 이득의 threshold값 |
어느 정도 만족할 경우 |
이여서 현실세계에서는 적합하지 않은 경우 |
[식 3]
-판매자의 이득 측정
: 이슈i의 값이 v_i일 때 마케팅 에이전트의 이슈 i에 대한 이득 함수
|
payoff() c 이여서 모든 다른 이슈의 고려가 필요 없을 만큼 이 이슈에 대한 이득이 아주 낮을 때, (c는 이득의 threshold값) |
어느 정도 만족할 경우 |
이여서 현실세계에서는 적합하지 않은 경우 |
[식 4]
상기 수식으로부터 판매자 측에서의 게임 모델은, 최종적으로 아래의 식 5와 같다.
[식 5]
도 7은 도 2의 중계기(50)의 내부 모듈 구조를 설명하기 위한 블럭도이다.
도 7을 참조하면, 중계기(50)는 이동 에이전트(170a-170c)와, 이동 에이전트(170a-170c)의 실행 환경인 이동 에이전트 컨텍스트(Mobile Agent Context)(403)와, 이를 제어하고 관리하는 이동 에이전트 컨텍스트 제어기(Mobile Agent Context Controller)(507)와, 이동 에이전트의 메시지 전송 및 수신을 담당하는 이동 에이전트 통신 모듈(Mobile Agent Communication Module)(504)과, 각 서버의 주소, 이름, 질의응답의 종류 등을 기록하는 서버 정보 관리자(Server Information Manager)(505)와, 실제 서버 정보를 저장하는 데이터베이스인 서버 정보 데이터베이스(Server Information Database)(506)와, 각 서버의 왕복 시간(Round Trip Time)을 계산하는 네트워크 거리 계산기(Network Distance Calculator)(508)와, 각 서버의 부하를 분산시키는 서버 부하 분배기(Server Load Distributer)(509)와, 이동 에이전트의 네트워크 이동 경로를 최적화 시켜주는 이동 에이전트 CSP 스케줄러(MA CSP Scheduler)(510)를 포함한다.
중계기(50)는 사용자의 질의에 대한 우선 순위와 네트워크 트래픽의 상태를 고려하여 이동 경로 정책을 수립한다. 즉, 이동 에이전트 CSP 스케줄러(510)가 서버 부하 분배기(509)를 통하여 얻은 각 서버의 로드와 네트워크 거리 계산기(508)를 통해 얻은 네트워크 트래픽의 상태 및 질의를 한 사용자의 우선 순위를 고려하여 이동 에이전트의 스케줄 정책을 수립한다. 각 서버의 로드가 작거나 네트워크 트래픽이 적거나 사용자의 우선 순위가 높은 경우에는 멀티 클로닝 방법을 사용하고 각 서버의 로드가 크거나 네트워크 트래픽이 많거나 사용자의 우선 순위가 낮은 경우에는 순차 검색 방법을 사용한다. 즉, 멀티 클로닝 방법(Multi Cloning Method)과 순차 검색 방법(Sequential Search Method)을 선택적으로 활용하는 혼합형 검색 방법(Hybrid Search Method)을 사용한다. 순차 검색 방법은 이동 에이전트를 하나만 생성시켜서 지정된 서버로 순차적으로 이동하면서 데이터베이스를 검색한다. 멀티 클로닝 방법은 이동 에이전트를 계속적으로 클로닝(Cloning)하여 각 서버에 각각 보내는 방법이다. 혼합형 검색 방법은 사용자의 질의의 우선 순위와 네트워크 트래픽 상태를 고려하여 검색 정책을 설정한다. 우선 순위가 높거나 네트워크 트래픽의 양이 적을 때는 멀티 클로닝 방법을 사용하고 우선 순위가 낮거나 네트워크 트래픽의 양이 많을 때는 순차 검색 방법을 사용한다.
도 8은 쇼핑몰 게이트웨이 서버(30)의 내부 모듈 구조를 도시한 블럭도이다.
도 8을 참조하면, 쇼핑몰 게이트웨이 서버(30)는 이동 에이전트와, 이동 에이전트의 실행 환경인 이동 에이전트 컨텍스트(Mobile Agent Context)(309)와, 이동 에이전트 컨텍스트(309)를 제어하고 관리하는 이동 에이전트 컨텍스트 제어기(Mobile Agent Context Controller)(307)와, 이동 에이전트의 메시지 전송 및 수신을 담당하는 이동 에이전트 통신 모듈(Mobile Agent CommunicationModule)(308)과, 쇼핑몰 게이트웨이 에이전트(130a, 130b, 130c)의 생성(Create), 이동(Dispatch), 복제(Clone), 소멸(Dispose)을 관리하는 게이트웨이 에이전트 관리자(Gateway Agent Manager)(306)와, 쇼핑몰 게이트웨이 에이전트(130a, 130b, 130c)로부터 코딩된 메시지를 수신하고 이를 디코딩 하는 게이트웨이 메시지 디코드 모듈(Gateway Message Decode Module)(303)과, 각 쇼핑몰의 주소, 이름, 질의응답의 종류 등을 기록하고 쇼핑몰 게이트웨이 에이전트(130a-130c)가 검색한 자료를 기록하는 게이트웨이 데이터베이스 관리자(Gateway Database Manager)(304)와, 실제 서버 정보를 저장하는 데이터베이스인 게이트웨이 데이터베이스(Gateway Database)(305)와, 각 서버의 왕복 시간(Round Trip Time)을 계산하는 네트워크 거리 계산기(Network Distance Calculator)(302)와, 각 서버의 부하(Load)를 분산시키는 서버 부하 분배기(Server Load Distributer)(301) 및 쇼핑몰 게이트웨이 에이전트(130a-130c)의 네트워크 이동 경로를 최적화 시켜주는 게이트웨이 CSP 스케줄러(Gateway CSP Scheduler)(300)를 포함한다.
쇼핑몰 게이트웨이 서버는 이동 에이전트의 검색 요청을 받으면 게이트웨이 데이터베이스(Gateway Database)(305)를 검색하여 저장된 자료가 있는 경우에는 이를 이용하고 없는 경우에는 쇼핑몰 게이트웨이 에이전트(130a, 130b, 130c)를 생성하여 검색을 수행한다.
도 9는 쇼핑몰 게이트웨이 에이전트(130a-130c)의 내부 모듈 구조를 설명하기 위한 블럭도이다.
도 9를 참조하면, 이동 에이전트의 실행환경인 이동 에이전트 컨텍스트(Mobile Agent Context)(350)내의 이동 에이전트와 통신을 하기 위한 쇼핑몰 게이트웨이 에이전트 통신 모듈(356)과, 쇼핑몰 게이트웨이 에이전트(130a-130c)의 복제(Clone)를 담당하는 쇼핑몰 게이트웨이 에이전트 복제 모듈(SMGA Cloning Module)(357)과, 쇼핑몰 게이트웨이 에이전트(130a, 130b, 130c)에 자바 클래스(Java Class)를 추가, 등록, 교체 및 삭제하는 클래스 등록 모듈(Class Registration Module)(358)과, 검색 종료 후 스케줄 리스트(Schedule List)에 따라 이동을 담당하는 쇼핑몰 게이트웨이 에이전트 이동 모듈(SMGA Dispatch Module)(359)과, 검색을 원하는 쇼핑몰(35)에 HTTP를 이용하여 접속을 유지하는 쇼핑몰 접속 모듈(Shopping Mall Connection Module)(351)과, 쇼핑몰의 테이블 구조를 레코드(Record)와 필드(Field) 단위로 분석하는 쇼핑몰 구조 분석 모듈(Shopping Mall Architecture Analysis Module)(352)과, 분석된 레코드와 필드 단위의 파싱 작업을 수행하여 레코드별 자료를 추출하는 게시물 검색 모듈(Article Search Module)(353)과, 검색된 자료를 필터링하고 압축을 수행하는 게시물 인코드 모듈(Article Encode Module)(354) 및 전체 검색과정을 수행한 후에도 상품을 찾지 못했을 경우 서버에 상품에 대한 게시물을 입력하는 게시물 입력 모듈(Article Input Module)(355)을 포함한다.
도 10은 쇼핑몰 게이트웨이 에이전트(130a-130c)의 웹 서버 검색 단계를 도시한 흐름도이다.
도 10을 참조하면, 먼저 쇼핑몰 접속 모듈(351)을 이용하여 검색을 원하는 쇼핑몰에 접속한다(S201). 접속한 후에 쇼핑몰 구조 분석 모듈(352)을 이용하여 테이블 구조를 분석하고 필드와 레코드 단위로 구분이 되는 테이블을 필드 단위로 파싱을 수행한다(S202). 게시판의 테이블은 게시물 검색 모듈(353)을 이용하여 번호, 제목, 작성자, 작성일, 조회 등 필드로 구분이 되며 필드의 제목이나 번호 등에 연결된 링크(Link) 정보를 이용하여 테이블 레코드 링크 범위를 구한다(S203). 범위를 구한 후에 레코드 단위로 파싱을 수행한다(S204). 검색된 자료을 필터링하여 원하는 자료만을 추출한다(S205). 검색을 마친 후에 검색된 결과가 있는 경우에는 게시물 인코드 모듈(354)을 이용하여 검색 자료의 압축 및 인코딩 과정을 수행한다(S209). 검색된 결과가 없는 경우에는 쇼핑몰 구조 분석 모듈(352)을 이용하여 사용자의 질의를 해당 서버의 테이블의 구조로 변경한다(S207). 변경된 질의는 게시물 입력 모듈(355)을 이용하여 사용자의 질의를 쇼핑몰에 등록한다(S208). 그 다음에는 쇼핑몰 게이트웨이 에이전트 이동 모듈(359)을 이용하여 다음 스케줄 리스트에 있는 목적지로 이동한다(S210).
도 11은 뉴스그룹 게이트웨이 서버의 내부 모듈 구조를 도시하고 있다.
도 11을 참조하면, 뉴스그룹 게이트웨이 서버는 이동 에이전트의 검색 요청을 받으면 게이트웨이 데이터베이스(305)를 검색하여 저장된 자료가 있는 경우에는 이를 이용하고 없는 경우에는 뉴스그룹 게이트웨이 에이전트(140a-140c)를 생성하여 검색한다.
그 구체적인 구성을 살펴보면, 뉴스그룹 게이트웨이 서버는 이동 에이전트의 실행환경인 이동 에이전트 컨텍스트(451)내의 이동 에이전트와 통신을 하기 위한 뉴스그룹 게이트웨이 에이전트 통신 모듈(457)과, 뉴스그룹 게이트웨이 에이전트(140a-140c)의 복제를 담당하는 뉴스그룹 게이트웨이 에이전트 복제 모듈(458)과, 뉴스그룹 게이트웨이 에이전트(140a-140c)에 자바 클래스를 추가, 등록, 교체 및 삭제하는 클래스 등록 모듈(459)과, 검색 종료 후 스케줄 리스트에 따라 이동을 담당하는 뉴스그룹 게이트웨이 에이전트 이동 모듈(450)과, 검색을 원하는 뉴스그룹 서버(45)에 NNTP를 이용하여 접속을 유지하는 뉴스그룹 서버 접속 모듈(451)과, 뉴스그룹 서버 내에서의 해당 뉴스그룹의 게시물 범위를 구하는 게시물 범위 검색 모듈(452)과, 얻어진 범위 내의 게시물의 참조 게시물을 구하는 참조 게시물 검색 모듈(453)과, 검색된 자료를 필터링하고 압축을 수행하는 게시물 인코드 모듈(454)과, 전체 검색과정을 수행한 후에도 답변을 찾지 못했을 경우 뉴스그룹 서버에 질의를 입력하기 위해 질의를 뉴스그룹 서버의 인코딩 포맷에 맞게 변환하는 게시물 본문 인코드 모듈(456) 및 뉴스그룹 서버에 게시물을 입력하는 게시물 입력 모듈(455)을 포함한다.
도 12는 뉴스그룹 게이트웨이 에이전트(140a-140c)의 뉴스그룹 서버 검색 단계를 도시한 흐름도이다.
도 12를 참조하면, 먼저 뉴스그룹 서버 접속 모듈(451)을 이용하여 검색을 원하는 뉴스그룹 서버(45)에 접속한다(S301). 접속 후 게시물 범위 검색 모듈(452)을 이용하여 뉴스그룹 서버내의 해당 뉴스그룹의 게시물 ID의 범위를 구한다(S302). 얻어진 게시물 ID 범위 내의 게시물을 참조 게시물 검색 모듈(453)을 이용하여 게시물 ID와 연결된 참조 게시물을 구한다(S303). 검색된 자료는 필터링되어 원하는 자료만을 추출한다(S304). 검색을 마친 후에 검색된 결과가 있는 경우에는 게시물 인코드 모듈(Article Encode Module)(454)을 이용하여 검색 자료의 압축 및 인코딩한다(S308). 만약 검색된 결과가 없으면 게시물 본문 인코드 모듈(456)을 이용하여 사용자의 질의를 해당 뉴스그룹 서버의 인코딩 포맷에 맞게 변환한다(S306). 변경된 질의는 게시물 입력 모듈(455)을 이용하여 사용자의 질의를 뉴스그룹 서버에 등록한다(S307). 마지막으로 뉴스그룹 게이트웨이 에이전트 이동 모듈(450)을 이용하여 다음 스케줄 리스트에 있는 목적지로 이동한다(S309).
이상에서 설명한 것은 본 발명에 따른 이동 에이전트를 이용한 유ㆍ무선 인터넷 전자상거래 지원 시스템 및 방법을 실시하기 위한 하나의 실시 예에 불과한 것으로서, 본 발명은 상기한 실시 예에 한정되지 않고, 이하의 특정 청구 범위에서 청구하는 바와 같이 본 발명의 요지에 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.