KR20040085758A - 네트워크를 통해 서로 연결된 복수개의 단말들 간의 분산정보 공유 방법 및 시스템 - Google Patents

네트워크를 통해 서로 연결된 복수개의 단말들 간의 분산정보 공유 방법 및 시스템 Download PDF

Info

Publication number
KR20040085758A
KR20040085758A KR1020030020555A KR20030020555A KR20040085758A KR 20040085758 A KR20040085758 A KR 20040085758A KR 1020030020555 A KR1020030020555 A KR 1020030020555A KR 20030020555 A KR20030020555 A KR 20030020555A KR 20040085758 A KR20040085758 A KR 20040085758A
Authority
KR
South Korea
Prior art keywords
terminal
terminals
network
mobile agent
transmitting
Prior art date
Application number
KR1020030020555A
Other languages
English (en)
Other versions
KR100556716B1 (ko
Inventor
정원호
김윤수
강미연
Original Assignee
주식회사 아이캔텍
정원호
김윤수
강미연
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 아이캔텍, 정원호, 김윤수, 강미연 filed Critical 주식회사 아이캔텍
Priority to KR1020030020555A priority Critical patent/KR100556716B1/ko
Publication of KR20040085758A publication Critical patent/KR20040085758A/ko
Application granted granted Critical
Publication of KR100556716B1 publication Critical patent/KR100556716B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 네트워크 상에서 서로 연결된 각 단말간에 정보(data)를 검색, 전송, 공유하는 등의 작업을 수행함에 있어서, 각 단말을 이동하면서 각종 작업을 처리하는 이동 에이전트(mobile agent)를 사용하여, 단말측, 서버측 및 네트워크 전체의 부담을 대폭적으로 경감하는 동시에 종래의 기술에 비하여 효율적인 작업 처리가 가능한 네트워크상에서 서로 연결된 복수 단말간의 분산 정보 공유 방법 및 시스템에 관한 것으로서, 네트워크를 통해 서로 연결된 복수개의 단말들 중 하나인 제1단말이 네트워크를 통해 상기 단말들 중 또 다른 단말인 제2단말에 접속하여 상기 제2단말에 접속되어 있는 모든 단말들의 IP 주소를 제공받는 IP 주소 제공 단계와, 상기 제1단말이 상기 제공받은 IP 주소에 의거하여 소정 기준에 따라 직접 접속할 적어도 어느 하나 이상의 제3단말을 선택하는 직접 연결 대상 선택 단계와, 상기 제1단말이 상기 선택된 제3단말측으로 소정 작업을 수행하도록 설정된 이동 에이전트를 전송하는 이동 에이전트 전송 단계와, 상기 이동 에이전트가 상기 제3단말에서 상기 설정된 소정 작업을 수행하는 작업 수행 단계와, 상기 제3단말에서 상기 수행된 작업의 결과를 상기 제1단말로 전송하는 작업 결과 전송 단계를 구비한다.

Description

네트워크를 통해 서로 연결된 복수개의 단말들 간의 분산 정보 공유 방법 및 시스템{System and method for distribution information sharing among nodes connected each other via network}
본 발명은 네트워크상에서의 정보 공유 방법 및 시스템에 관한 것으로서, 보다 상세하게 설명하면, 네트워크 상에서 서로 연결된 각 단말간에 분산된 정보(data, information)를 검색, 전송, 공유하는 등의 작업을 수행함에 있어서, 각 단말을 이동하면서 각종 작업을 처리하는 이동 에이전트(mobile agent)를 사용하여, 단말측, 서버측 및 네트워크 전체의 부담을 대폭적으로 경감하는 동시에 종래의 기술에 비하여 효율적인 작업 처리가 가능한 네트워크상에서 서로 연결된 복수 단말간의 분산 정보 공유 방법 및 시스템에 관한 것이다.
네트워크를 통해 연결된 단말간에서 원하는 정보를 검색하고 전송하는 등의 작업을 수행하는 방법으로서 단말간의 직접 연결을 통해 특정 작업을 수행하는 이른바 P2P(Peer to Peer) 모델이 제시되고 있다. P2P라는 용어의 의미는 경우에 따라 조금씩 다르게 사용되고 있는 경우가 있으나, 본 명세서에서는 네트워크상의 클라이언트(client, node)간에 서버의 경유를 통해 연결되거나 또는 서버의 경유없이 직접 연결되어 양 클라이언트가 서로의 자원을 공유하고 특정 작업을 수행하는 모델을 의미하는 것으로 사용한다.
종래 제안되고 있는 P2P 모델은 최초 연결시 필요한 상대방 또는 정보를 찾기 위해 서버를 경유하는 혼합형(Hybrid) P2P와 중앙 서버의 개입 없이 직접 클라이언트간에 연결되는 순수(Pure) P2P 2가지로 크게 대별할 수 있다.
도 1은 혼합형 P2P방법을 설명하기 위한 도면이다.
도 1a, 1b, 1c를 참조하면, 중앙서버(11)와 통신망(12)을 통해 연결된 다수의 단말들(13, 14, 15)을 포함한다. 각 단말들(13, 14, 15)은 중앙서버(11)를 통해서 연결되어 상호간에 필요한 정보를 주고받을 수 있도록 연결된다. 여기서, 제 1 및 제 3단말(13, 14, 15)은 중앙서버(11)에 자신의 IP 주소 및 공유 자료 목록을 등록한다. 그 중, 제 1단말(13)은 중앙서버(11)로 필요한 자료를 요청하는 자료요청자이며, 중앙서버(11)로부터 자료를 보유한 제 3단말(15)의 자료 목록과 IP주소를 제공받아 제 3단말(15)로 자료를 요청한다. 그리고, 제 1단말(13)은 제 3단말(15)로부터 필요한 자료를 확보한다. 또한, 제 3단말(15)은 제 1단말(13)의 자료 요청시에 원하는 자료를 제 1단말(13)로 제공하는 자료제공자로 설정한다. 그리고, 중앙서버(11)는 검색을 위한 인덱스를 지원하고 P2P 참여자인 제 1 및 제 3단말의 인덱스(IP주소, 자료명 등)를 유지하는 인덱스서버의 역할을 한다.
도 1a를 참조하면, 각 단말들(13, 14, 15)은 P2P에 참여하기 위해 P2P 프로그램을 다운받아 실행하고 자신이 서비스할 디렉토리의 위치를 입력한다. 중앙서버(11)는 각 단말들(13, 14, 15)이 오픈한 디렉토리내의 파일 목록을 분석해 인덱스를 저장한다. 즉, 중앙서버(11)는 P2P 참여자인 제 1 및 제 3단말(13, 14, 15)로부터 IP주소와 디렉토리내에 저장된 자료 목록을 받아 등록하여 인덱스(index)를 부여한다. 이렇게 등록된 각 단말들(13, 14, 15)이 제공한 자료는 각 단말들(13,14, 15)간에 공유할 수 있는 공유자료가 된다.
도 1b를 참조하면, 제 1단말(13)은 중앙서버(11)로 통신망을 통해 자료를 요청한다. 그러면, 중앙서버(11)는 저장된 인덱스를 검색하여 검색한 결과를 제 1단말(13)로 전송한다. 여기서 중앙서버(11)는 검색결과 요청자료를 보관하고 있는 제 3단말(15)의 IP주소와 자료명을 제공한다. 이때 중앙서버(11)는 제 3단말(15)의 온라인 접속 여부 및 회선속도 등의 다양한 부가정보를 함께 제공할 수 있다.
도 1c를 참조하면, 제 1단말(13)은 중앙서버(11)로부터 자료를 보관하고 있는 제 3단말(15)의 IP주소를 이용해 제 3단말(15)에 접속한다. 이후는 중앙서버(11)의 개입이 이루어지지 않으며, 제 1단말(13)은 제 3단말(15)로 원하는 자료를 요청하게 된다. 그리고, 제 3단말(15)은 제 1단말(13)이 요청한 자료를 제 1단말(13)로 전송한다.
이러한 혼합형 P2P방법은 검색을 위한 인덱스서비스를 지원하고 기타 사용자의 온라인 접속 여부 등 부가정보를 제공한다. 또한, 혼합형 P2P방법은 웹방식의 서비스에 비해 중앙서버의 역할이 최소화되기 때문에 서버의 부담이 없으면서도 많은 사용자를 수용할 수 있다.
현재, 이러한 혼합형 P2P를 사용하는 대표적인 서비스는 음악파일을 공유하는 냅스터와 소리바다이다.
냅스터는 MP3파일 목록을 만들어 제공하고 서로의 컴퓨터를 연결해주는 서버를 운영한다. 사용자는 냅스터의 프로그램을 다운로드받아 인스톨하고 자신의 컴퓨터에 공유 디렉토리를 지정한다. 냅스터는 공유 디렉토리에서 MP3로 끝나는 모든 확장자를 찾아낸 후 이용자 ID와 MP3음악 리스트를 냅스터 중앙서버로 가져간후, MP3파일 목록을 보관한다. 사용자는 가수이름, 음악곡명, 키워드 등으로 검색하여 일치한 음악을 찾아 요청(클릭)하면 그 음악을 보유하고 있는 컴퓨터와 자동으로 연결되어 다운로드가 가능하다.
소리바다는 냅스터와 유사한 MP3파일 교환 서비스로 사용자끼리 서로의 PC에 들어 있는 MP3를 검색하고 편리하게 다운로드할 수 있다. 다운로드가 끝나지 않은 상태에서도 실시간으로 음악을 즐길 수 있으면, 가수와 제목별 검색, 채팅도 가능하다.
혼합형 P2P를 사용하는 또 다른 서비스는 전자상거래에 이용하는 오프너이다.
사용자는 오프너서비스를 제공하는 오픈포유(Open4u) 서버에 접속하여 P2P프로그램을 다운로드받아 설치한다. 구매자는 이 프로그램을 이용해 자신이 구매하고자하는 물품의 사양을 적어 메시지로 보낸다. 오픈포유서버는 구매자가 요청하는 사양의 물품을 제공할 수 있는 판매자의 IP주소를 구매자에게 전달한다. 구매자는 판매자의 IP주소를 이용해 P2P방식으로 각 판매자에게 견적요구서를 보내다. 그러면, 판매자는 견적서를 구매자에게 보내고 구매자는 견적서중의 하나를 선택하여 전자상거래가 이루어 진다. 여기서, 오픈포유서버는 최종 거래가 어느 조건으로 설립되었는지에 대한 정보만 확보하고 두 당사자간의 거래에는 개입하지 않는다.
하지만, 이러한 혼합형 P2P의 경우는 중앙서버에 의해 정보의 검색이 이루어지므로 온라인상의 사용자가 많을 경우 중앙서버에 과중한 검색 로드가 걸릴 수 있으며, 이 경우 중앙서버의 증설로 추가의 설비비가 발생하는 문제점이 있었다. 또한, 중앙서버가 동작하지 않으면 모든 시스템이 동작하지 않는 문제점이 있었다. 혼합형 P2P는 또한, 중앙서버가 공유 정보의 집중식(centralized) 중개자의 역할을 하므로 저작권법에 위반될 수 있는 문제점이 있었다.
한편, 도 2는 일반적인 순수형 P2P방법을 설명하기 위한 도면이다.
도 2a와 2b를 참조하면, 통신망(21)을 통해 다수의 단말들(22, 23, 24)이 연결되어 있다. 각 단말들(22, 23, 24)은 중앙서버가 관리하는 정보가 없이 통신망(21)을 통해 상호간에 필요한 자료를 주고받을 수 있다. 즉, 제 1 내지 제 3단말(22, 23, 24)은 설치하는 프로그램 자체에 검색기능을 내장하고 있어 보유하고 있는 IP주소를 가진 해당 단말에 직접 연결하여 자료를 주고받을 수 있다. 제 1단말(22)은 최소 하나 이상의 IP주소를 가지고 있다고 가정한다. 즉, 제 1단말(22)이 제 2단말(23)의 IP주소를 기 저장하고 있다는 가정하에, 제 1단말(22)은 제 2단말(23)로 필요한 자료를 요청하는 자료요청자이다. 제 2단말(23)은 제 1단말(22)로부터 자료요청을 받아 해당 자료가 보유되지 않은 경우 제 3단말(24)로 요청자료를 중개하는 중개자이다. 즉, 제 2단말(23)은 제 1단말(22)로부터 요청받은 자료가 없으므로, 요청자료를 제 3단말(24)의 IP로 전송하여 중개한다. 제 3단말(24)은 요청한 자료를 보유하고 있으므로, 보유에 대한 메시지를 제 1단말(22)로 전송하는 자료제공자이다. 따라서, 제 1단말(22)은 제 3단말의 자료 보유에 대한 메시지를 수신하여 제 3단말(24)로 자료를 요청한다. 그러면, 제 3단말(24)은 제1단말(22)이 요청한 자료를 제 1단말(22)로 정송한다.
도 2a를 참조하면, 제 1단말(22)은 기저장하고 있는 제 2단말(23)의 IP주소를 이용해 자료를 요청한다. 제 2단말(23)은 제 1단말(22)이 요청한 자료를 보유하는 경우는 목록명을 전송해준다. 그러나, 요청한 자료를 보유하지 않는 경우 제 2단말(23)은 제 3단말(24)로 자료 요청을 중개한다. 제 3단말(24)은 제 2단말(23)로부터 수신된 자료요청에 대한 자료를 보유하는 경우 자신의 IP주소와 해당 자료명을 제2 단말(23)로 전송하고 제2단말(23)은 다시 자료 요청자인 제 1단말(22)로 전송한다.
도 2b를 참조하면, 제 1단말(22)은 제 3단말(24)의 IP주소를 이용하여 제 3단말(24)과 접속하여 자료를 요청한다. 그러면, 제 3단말(24)은 제 1단말(22)이 요청한 자료를 제 1단말(22)로 전송한다.
현재, 이러한 순수형 P2P를 사용하는 대표적인 서비스는 파일을 공유하는 누텔라이다.
누텔라(Gnutella)는 윈앰프(winamp)로 유명한 널소프트사의 서비스이다. 누텔라 소프트웨어 패키지중 하나를 웹을 통해 다운로드 받아 설치하여 컴퓨터를 서벤트(servent : server와 client의 합성어)로 만든다. 그리고 누텔라 네트웍 상의 다른 서벤트를 찾아서 서로 접속한다. 이들 서벤트의 주소는 여러 웹사이트, 채팅룸에서 찾을 수 있다. 누텔라는 이미지, 텍스트, 소프트웨어, MP3 등 여러 형태의 파일을 공유 할 수 있다.
하지만, 이러한 순수형 P2P의 경우는 메시지에 포함된 TTL(time to live)값에 의해 메시지 전달의 깊이가 결정되는데 이러한 TTL값이 크면 대량의 메시지가 트리(tree) 형태로 전파되므로 스팸 형태의 메시지 발송이 우려되는 문제점이 있었다. 반면, TTL값이 작으면 전체 가입자에 대한 검색이 이루어지지 않아 원하는 정보에 대한 검색이 이루어지지 않는 문제점이 있었다. 또한, 중앙서버의 부재로 인하여 가입자에 대한 서비스 갱신이 어려우며, 장애에 대한 복구가 어려운 문제점이 있었다. 그리고, 최초의 검색대상인 사용자(peer)의 IP주소를 사용자가 찾아서 설정해야 하는 불편함이 있었다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 이동 에이전트를 사용함으로써 작업 수행시 부분적으로 네트워크가 차단되어도 무방하므로 네트워크 대역폭을 효율적으로 사용할 수 있는 동시에 네트워크의 부하를 현저하게 경감할 수 있는, 네트워크를 통해 서로 연결된 복수개의 단말들 간의 분산 정보 공유 방법 및 시스템을 제공하는 것을 목적으로 한다.
도 1은 종래의 혼합형 P2P방법을 설명하기 위한 도면,
도 2는 종래의 순수 P2P 방법을 설명하기 위한 도면,
도 3은 본 발명의 시스템(10)의 구성의 일실시예를 나타낸 블록도,
도 4는 단말과 시스템의 구체적인 구성 및 연결관계를 나타낸 구성도,
도 5는 메시지 송수신 처리를 설명하기 위한 도면,
도 6은 메시지 형식의 일예를 나타낸 도면,
도 7은 이벤트 처리 과정을 나타낸 도면,
도 8 내지 도 11은 본 발명의 방법의 실시예들을 나타낸 흐름도이다.
<도면 주요 부분의 부호에 대한 설명>
11...IP 서버, 12...모니터 서버,
13...에이전트 서버, 14...모바일 에이전트
이하, 첨부 도면을 참조하여 본 발명에 의한 실시예들을 상세하게 설명한다.
우선, 도 3은 본 발명의 시스템(10)의 구성의 일실시예를 나타낸 블록도이다. 도 1에 나타낸 바와 같이, 본 실시예에 따른 시스템(10)은 네트워크를 통해 연결된 단말에 구비되며, 각각 연결되는 단말들의 접속을 관리하고 접속된 단말로 각 단말의 IP 주소를 전송하는 IP 서버(11)와, 사용자 인터페이스를 제공하는 모니터 서버(12)와, 모바일 에이전트(14)의 생성 및 소멸을 관리하며, 모바일 에이전트(14)를 특정 단말로 전송하여 소정의 작업을 수행토록 하는 에이전트 서버(13)와, 상기 에이전트 서버(13)에 의해 네트워크를 통해 단말간을 이동하며 지정된 작업을 수행하는 이동 에이전트(14)를 포함한다.
도 4는 이러한 단말과 시스템의 구체적인 구성 및 연결관계를 나타낸 구성도이다. 도 4에 나타낸 바와 같이, IP 서버(11)는 단말이 네트워크에 접속(on-line)할 때 자신에게 접속하는 각 단말(10)을 관리하며 단말의 요청에 따라 자신에게 연결된 단말의 IP 주소를 요청한 단말측으로 제공한다. 이러한 역할을 수행하는 단말을 일반적인 단말(피어,peer)과 구별하여 슈퍼피어(super peer)라고 칭하는 것으로 정의한다. 이러한 슈퍼피어로서의 역할을 수행하는 단말은 부하의 분산을 위해 자신에게 접속하여 등록하는 단말 개수의 상한선을 설정할 수 있으며 이 경우 소정 기준에 따라 다른 단말을 슈퍼피어로 지정할 수 있다.
한편, 도 3 및 도 4의 모니터 서버(12)는 모바일 에이전트를 생성하고 모바일 에이전트가 작업을 수행할 때 필요한 여러 가지 환경을 사용자가 설정할 수 있도록 하는 인터페이스를 제공한다. 모바일 에이전트가 작업을 수행함에 있어서 필요한 환경은 여정 리스트 , 응답 리스트, 여정 모드, 응답 모드 등이 있으며 이에대해 구체적인 것은 후술한다. 또한 모니터 서버는 에이전트 서버(13)로부터 모바일 에이전트의 상태를 전달받아 사용자가 확인할 수 있도록 하는 기능도 수행한다.
도 3 및 도 4의 에이전트 서버(13)는 모바일 에이전트(14)의 생성, 소멸, 이동 및 정보 전송 작업을 관리한다. 또한 단말간의 각종 메시지 전달도 에이전트 서버(13)를 통해 이루어진다.
도 3 및 도 4의 모바일 에이전트(14)는 네트워크를 통해 연결된 단말(10)간을 이동하며 특정한 작업을 수행하는데 기본적으로 생성, 이동, 작업 수행, 응답 및 소멸의 5가지 단계의 주기를 갖는 것이 일반적이다. 즉, 에이전트 서버(13)에 의해 생성되어 다른 단말로 이동하여 소정 작업을 수행하고 다른 단말로 응답을 한 후 소멸하게 된다.
모바일 에이전트(mobile agent)의 개념에 대해 좀 더 상세하게 설명하면 다음과 같다. 일반적으로 에이전트(agent)라 함은 유저를 대신하여 유저가 하고자 하는 작업을 대행하는 프로그램을 의미한다. 이러한 에이전트는 정적(static) 에이전트와 모바일(동적, mobile) 에이전트로 구별되며, 정적 에이전트는 유저 호스트에 고정되어 주로 메시지 통신 기반으로 다른 단말 또는 에이전트와 작업을 수행하며, 모바일 에이전트는 특정 호스트에 고정되지 않고 네트워크상에서 노드간을 옮겨 다니면서 작업을 수행하는 점에서 양자가 차이가 있다.
간단하게 말하면, 모바일 에이전트는 네트워크상에서 자유롭게 이동하면서 특정 작업을 수행하는 프로그램을 말한다. 이러한 모바일 에이전트의 개념과 유사한 것으로서 Java applet을 들 수 있는데, 이러한 Java applet은 웹 브라우저가 요구할 때 서버가 특정 code를 전송하고 JVM(Java Virtual Machine)이 코드를 수행한다. 모바일 에이전트는 네트워크에 연결된 단말간을 옮겨 다니면서 작업을 수행하는데 단말간의 네트워크 연결 상태를 유지할 필요가 없다는 점을 또 다른 특징으로 한다. 즉, 모바일 에이전트가 A 단말에서 B 단말로 이동한 후, 네트워크 연결 상태는 단절되도 무방하며 B 단말에서 특정 작업을 수행한 후 결과를 전송할 때 A 단말로 네트워크 연결을 요청하는 등의 방법을 사용하므로 단말간의 연결 상태가 계속될 필요는 없게 된다. 이하에서 모바일 에이전트는 간단하게 에이전트라고도 표기한다.
한편, 본 시스템에서의 서버간 또는 모바일 에이전트간의 통신은 메시지를 통해 처리된다. 이러한 메시지 처리는 도 4에 도시한 메시지 핸들러(message handler) 및 핸들 메시지(handle message) 모듈에 의해 이루어진다. 메시지의 송수신 및 처리는 도 5에 도시한 바와 같이 ReceiveMessageThread, ListenThread, SendMessageThread의 3개의 thread에 의해 이루어진다. ListenThread와 ReceiveThread 사이에는 속도 균형을 위한 유한한 크기의 통신 버퍼가 존재한다.
IP 서버(11)는 활성화된 단말의 에이전트 서버들의 등록 또는 해지를 위한 메시지 처리에만 사용되며 에이전트 서버 없이 직접 IP 서버에 의해 통신이 이루어지지만 그 외의 경우에는 에이전트 서버(13)를 통해 모든 통신이 이루어진다.
이러한 메시지의 형식의 일예를 도 6에 나타내었다. 도 6에 나타낸 바와 같이, 메시지는 sender, receiver, kind, info-1, info-2, info-3 등 6개의 필드로 구성된다. sender와 receiver는 메시지를 송수신하는 노드의 이름(혹은 IP 주소)과 송수신 시에 사용하는 포트 번호, 송수신하는 에이전트의 이름으로 구성된 Address 객체이다. 메시지의 kind는 의미를 가지는 메시지 유형을 나타내며, info-1부터 info-3은 모두 메시지에 포함된 정보 내용 필드로 각각 String, Object, byte[] 형으로 정의되어 있다.
한편, 에이전트 서버(13)에 의해 관리되는 모바일 에이전트(14)의 이동과 소멸은 미리 정의된 이벤트에 따라 이루어지는데 이러한 이벤트의 관리는 이벤트 핸들러(Event Handler)에 의해 처리된다. 이러한 처리 과정을 도 7에 나타내었다. 도 7에 나타낸 바와 같이, 모바일 에이전트는 이동이나 소멸시에 에이전트 서버(13)에게 DISPATCH_REQUEST와 DESTROY_REQUEST 이벤트를 각각 보내고, 에이전트 서버(13)의 이벤트 핸들러는 이벤트에 따라 에이전트를 이동시키거나 소멸시킨다. 또한 에이전트 서버(13)는 모니터 서버(12)로 이러한 이벤트를 통해 에이전트가 이동 혹은 소멸되었음을 알린다. 모니터 서버(12)에서는 PlaceEventHandler가 이벤트를 받아 처리한다.
또한, 각 단말의 시스템(10)은 라우팅(routing) 모듈을 포함할 수 있다. 라우팅 모듈은 에이전트가 이동할 때 발생할 수 있는 여러 상황에 따라 몇 가지의 이동 방식을 설정하기 위한 것으로서, 예컨대 단순 디스패치(simple dispatch), 동적디스패치(dynamic dispatch), 다중 디스패치(multiple dispatch) 등과 같이 이동 방식을 다르게 지정할 수 있다. 이러한 이동방식은 모니터 서버(12)가 제공하는 사용자 인터페이스를 통해 사용자에 의해 지정되거나 형상(configuration) 파일에 명시될 수 있다. 이동 방식의 구체적인 설명에 대해서는 후술한다.
한편, 각 단말의 시스템(10)은 응답(reply) 모듈을 구비할 수 있다. 응답 모듈은 모바일 에이전트가 작업을 완료한 후 결과를 응답할 시점에서 발생할 수 있는 여러 상황에 따라 몇 가지 응답 방식을 설정하기 위한 것으로서, 예컨대 고정 응답(fixed reply), 동적 응답(dynamic reply), 다중 응답(multiple reply) 등과 같이 응답 방식을 다르게 지정할 수 있다. 응답 방식도 모니터 서버(12)가 제공하는 사용자 인터페이스를 통해 사용자에 의해 지정되거나 형상(configuration) 파일에 명시될 수 있다. 응답 방식의 구체적인 설명 또한 후술한다.
이 밖에, 도 3 및 도 4의 시스템(10)은 에이전트 테이블, 에이전트 서버 테이블, 여정 리스트, 응답 리스트 등을 포함할 수 있다.
에이전트 테이블은 에이전트 서버(13)가 생성된 에이전트 혹은 이동되어 온 에이전트에 대한 정보를 저장 관리하기 위한 데이터 구조이다. 에이전트 서버(13)는 에이전트 테이블을 이용하여 현재 에이전트 서버(13)상에서 수행되고 있는 에이전트들에게 메시지 처리, 작업 수행 등 각 에이전트가 해야 할 일을 분배한다. 에이전트가 다른 에이전트 서버(13)로 이동하거나 소멸되면 에이전트 테이블에서 삭제된다.
에이전트 서버 테이블은 온라인되어 등록되는 단말 즉 에이전트 서버(13)의 IP 주소를 저장하는 테이블이며, 에이전트 서버(13)가 오프라인 되면 IP 주소를 테이블에서 삭제한다.
여정 리스트(Priority Itinereray List)는 에이전트가 이동할 때 에이전트가 방문해야 할 노드의 주소를 우선순위별로 저장하고 있는 데이터 구조이다. 이 데이터는 에이전트의 라우팅을 위해 우선적으로 설정되어야 한다. 이 자료는 사용자에 의해 설정될 수 있으나, 일반적으로 IP 서버(11)에 의해 제공받는 것이 바람직하다.
응답 리스트(Priority Reply List)는 각 시스템(10)에서 에이전트가 작업을 완료한 후 결과를 응답해야 할 노드를 우선순위별로 저장하고 있는 데이터구조이다. 이 데이터는 에이전트가 결과를, 자신을 보낸 노드가 아닌 다른 노드로 해야 할 경우가 있기 때문이다. 이 데이터는 에이전트의 이동전에 사용자에 의해 설정될 수 있으며, 아무 설정이 없는 경우 자신을 보낸 노드로 자동 설정된다.
다음으로, 이상에서 설명한 바와 같은 시스템(10)에 의해 본 발명에 의한 방법의 실시예들에 대해 도 8 이하를 참조하여 설명한다.
도 8은 본 발명에 의한 방법의 일실시예를 나타낸 흐름도이다.
우선, 네트워크를 통해 서로 연결된 복수개의 단말로서 도 3 및 도 4에서 설명한 바와 같은 시스템(10)을 구비하는 단말들 중 어느 하나인 제1단말이 네트워크를 통해 상기 단말들 중 또 다른 단말인 제2단말에 접속하여 상기 제2단말에 접속되어 있는 모든 단말들의 IP 주소를 제공받는다(S100). 이는 앞서 설명한 바와 같이 슈퍼피어에 다른 피어가 접속하는 것으로서, 제2 단말의 IP 서버에 제1 단말의 에이전트 서버가 접속하여 등록하고 다른 피어의 IP 주소를 제공받는 것을 의미한다.
다음으로, 상기 제1단말이 상기 제공받은 IP 주소에 의거하여 소정 기준에 따라 직접 접속할 적어도 어느 하나 이상의 제3단말을 선택한다(S110). 연결할 제3 단말의 선택은 여러 가지 설정에 따라 다양하게 이루어질 수 있으며, 앞서 설명한 여정 리스트를 참조하여 이루어질 수 있다.
연결할 제3단말이 선택되면, 상기 제1단말은 선택된 제3단말측으로 자료 검색 요청 등 소정 작업을 수행하도록 설정된 모바일 에이전트를 전송(dispatch)한다(S120).
제3 단말로 모바일 에이전트가 이동되면, 제1 단말과의 네트워크 접속을 유지할 필요가 없으므로 연결 상태를 종료할 수 있다. 제1 단말과의 네트워크 연결은 에이전트의 작업 수행후 복구시킬 수 있다.
다음으로, 모바일 에이전트는 제3단말에서 임의의 작업을 수행하게 된다(S130). 에이전트가 수행하는 작업은 여러 가지가 있으나 대표적인 것으로서는 제1 단말이 원하는 정보를 검색하는 것이다. 예컨대, 특정 이름의 파일을 제3 단말에 저장되어 있는가를 검색하는 등 제1단말이 원하는 데이터를 제3단말이 가지고있는가를 검색할 수 있다.
에이전트가 작업 수행을 완료하면, 제3단말에서 수행된 작업의 결과를 제1단말로 전송한다(S140).
제1단말은 작업 결과에 따라 필요한 경우 제3단말로 또는 다른 단말로 에이전트를 다시 전송하여 동일 작업 또는 다른 작업을 수행하도록 할 수 있다. 예컨대, 제1단말이 특정한 데이터를 제3단말에서 검색하도록 하였으나 제3단말에 그러한 데이터가 없다는 결과를 전송받으면 다른 단말로 에이전트를 재전송하여 검색을 재 수행하도록 할 수 있다. 만약, 제3단말에 그러한 데이터가 존재한다는 결과를 전송받으면 제3단말로 그 데이터를 자기 자신에게 전송하도록 하는 작업을 지시할 수도 있다.
도 9는 본 발명에 따른 방법의 다른 실시예를 나타낸 흐름도이다. 도 9의 실시예는 앞서 설명한 단순 디스패치에 대한 것으로서, 제1단말이 미리 여정리스트에 설정된 단말 목록에 따라 모든 단말에 순차적으로 접속하면서 가장 먼저 접속 가능한 것으로 판단되는 단말로 에이전트를 전송하고 작업을 수행한 후, 작업 결과를 제1 단말로 다시 전송하는 경우에 대한 것이다.
우선, 도 8에서 설명한 단계(S100)과 같이 제1단말이 네트워크를 통해 제2단말에 접속하여 제2단말에 접속되어 있는 모든 단말들의 IP 주소를 제공받는다(S200).
그리고, 제1단말은 미리 설정된 리스트에 포함된 단말들에 순차적으로 접속하면서 접속 가능한지를 판단한다(S210). 리스트의 단말에 접속하는 순서는 리스트의 맨 앞으로부터 순차적으로 접속할 수도 있고 랜덤하게 선택할 수도 있다. 접속 가능 여부는 소정 신호를 타단말측으로 전송하여 타단말로부터 소정 시간 내에 응답(승인(ack)) 신호를 받도록 하는 등의 방법을 사용한다.
다음으로, 상기 단계(S210)에서 가장 먼저 접속 가능하다고 판단되는 단말을 직접 접속할 제3단말로 선택한다(S220). 이 과정은 예컨대, 리스트의 맨 앞으로부터 순차적으로 접속하게 되는 경우 리스트의 맨 앞의 단말이 응답(승인) 신호를 보내면 리스트의 다른 단말은 접속 가능 여부를 판단할 필요도 없이 이루어지게 된다.
연결할 제3단말이 선택되면, 제1단말은 선택된 제3단말측으로 소정 작업을 수행하도록 설정된 에이전트를 전송(dispatch)하고(S230), 에이전트는 제3단말에서 설정된 소정 작업을 수행한다(S240). 그리고, 작업 수행이 완료되면, 제3단말은 수행된 작업의 결과를 제1단말로 전송한다(S250).
도 10은 본 발명에 따른 방법의 또 다른 실시예를 나타낸 흐름도이다. 도 10의 실시예는 앞서 설명한 동적 디스패치, 즉 에이전트를 제3단말로 전송할 때 이동할 여정 리스트를 함께 가지고 가도록 하고 제3단말에서의 작업 수행후 결과를 제1단말로 전송한 후 여정 리스트에 따라 다른 단말로 바로 이동하는 경우에 대한 것이다.
우선, 도 8의 단계(S100)과 같이 제1단말이 네트워크를 통해 제2단말에 접속하여 제2단말에 접속되어 있는 모든 단말들의 IP 주소를 제공받고(S300), 제1단말은 설정된 여정 리스트 정보로부터 소정 기준에 따라 직접 연결할 제3단말을 선택한다(S310).
제3단말이 선택되면, 제3단말로 소정 작업을 수행하도록 설정된 에이전트를 상기 여정 리스트 정보와 함께 전송한다(S320).
에이전트가 제3단말로 전송되면, 제3단말에서 상기 설정된 소정 작업을 수행하고(S330), 제3단말에서 수행된 작업의 결과를 제1단말로 전송한다(S340).
작업 결과를 제1단말로 전송한 후, 에이전트는 제3단말에서 리스트 정보에 의거하여 리스트 중에서 다음으로 이동할 다른 단말을 제3단말로 선택하고(S350), 리스트가 종료될 때까지 상기 이동 에이전트 전송 단계, 상기 작업 수행 단계, 상기 작업 결과 전송 단계를 반복하게 된다.
한편, 에이전트는 제3단말에서 작업을 수행한 이후에 다른 단말로 이동하는 것으로 설명하였으나 수행 속도의 향상을 위해서 제3단말에서 작업을 수행하기 이전에 또는 작업을 수행하면서 동일한 에이전트를 복제(clone 생성)하여 다른 단말로 전송할 수도 있다.
도 11은 본 발명의 방법의 또 다른 실시예를 나타낸 흐름도이다. 도 11의 실시예는 도 8의 실시예와 유사하나 작업 결과를 자신을 보낸 단말로 무조건적으로 보내는 것이 아니라 응답 리스트에 따라 작업 결과를 전송할 다른 단말을 선택하고그 단말로 결과를 전송하는 경우에 대한 것이다.
우선, 도 8의 단계(S100)과 같이 제1단말이 네트워크를 통해 제2단말에 접속하여 제2단말에 접속되어 있는 모든 단말들의 IP 주소를 제공받고(S400), 제1단말은 상기 제공받은 IP 주소에 의거하여 소정 기준에 따라 직접 접속할 적어도 어느 하나 이상의 제3단말을 선택한다(S410).
그리고, 제1단말은 선택된 제3단말측으로 소정 작업을 수행하도록 설정된 에이전트를 전송하고(S420), 에이전트가 상기 제3단말에서 상기 설정된 소정 작업을 수행한다(S430).
작업 수행이 완료되면, 제3단말은 미리 설정된 응답 리스트에 따라 수행된 작업 결과를 전송할 단말을 선택하고(S440), 상기 선택된 단말로 작업 결과를 전송하게 된다(S450).
한편 상기 단계(S440)에서 작업 결과를 전송할 단말을 선택함에 있어서의 기준은 여러 가지를 사용할 수 있다. 예컨대, 가장 먼저 접속할 수 있는 단말을 선택하거나, 접속 가능한 모든 단말을 작업 결과를 전송하는 단말로 선택하여 접속 가능한 모든 단말로 동시에 또는 순차적으로 작업 결과를 전송하도록 할 수도 있다.
이상에서, 본 발명에 따른 실시예들을 설명하였으나 본 발명이 이러한 실시예에 한정되는 것이 아님은 물론이며 본 발명이 개시하고 있는 권리범위는 첨부하는 특허청구범위를 참조하여 여러 가지의 변형, 수정 태양을 포함하여 해석하여야 할 것이다.
본 발명에 의하면, 이동 에이전트를 사용함으로써 작업 수행시 부분적으로 네트워크가 차단되어도 무방하므로 네트워크 대역폭을 효율적으로 사용할 수 있는 동시에 네트워크의 부하를 현저하게 경감할 수 있는, 네트워크를 통해 서로 연결된 복수개의 단말들 간의 분산 정보 공유 방법 및 시스템을 제공할 수 있다.

Claims (8)

  1. 네트워크를 통해 서로 연결된 복수개의 단말들 간의 분산 정보 공유 방법에 있어서,
    상기 단말들 중 하나인 제1단말이 네트워크를 통해 상기 단말들 중 또 다른 단말인 제2단말에 접속하여 상기 제2단말에 접속되어 있는 모든 단말들의 IP 주소를 제공받는 IP 주소 제공 단계;
    상기 제1단말이 상기 제공받은 IP 주소에 의거하여 소정 기준에 따라 직접 접속할 적어도 어느 하나 이상의 제3단말을 선택하는 직접 연결 대상 선택 단계;
    상기 제1단말이 상기 선택된 제3단말측으로 소정 작업을 수행하도록 설정된 이동 에이전트를 전송하는 이동 에이전트 전송 단계;
    상기 이동 에이전트가 상기 제3단말에서 상기 설정된 소정 작업을 수행하는 작업 수행 단계; 및
    상기 제3단말에서 상기 수행된 작업의 결과를 상기 제1단말로 전송하는 작업 결과 전송 단계
    를 구비하는 네트워크상에서의 복수 단말간의 분산 정보 공유 방법.
  2. 네트워크를 통해 서로 연결된 복수개의 단말들 간의 분산 정보 공유 방법에 있어서,
    상기 단말들 중 하나인 제1단말이 네트워크를 통해 상기 단말들 중 또 다른 단말인 제2단말에 접속하여 상기 제2단말에 접속되어 있는 모든 단말들의 IP 주소를 제공받는 IP 주소 제공 단계;
    상기 제1단말이 미리 설정된 리스트에 포함된 단말들에 순차적으로 접속하면서 접속 가능한 것으로 가장 먼저 판단되는 제3단말을 선택하는 직접 연결 대상 선택 단계;
    상기 제1단말이 상기 선택된 제3단말측으로 소정 작업을 수행하도록 설정된 이동 에이전트를 전송하는 이동 에이전트 전송 단계;
    상기 이동 에이전트가 상기 제3단말에서 상기 설정된 소정 작업을 수행하는 작업 수행 단계; 및
    상기 제3단말에서 상기 수행된 작업의 결과를 상기 제1단말로 전송하는 작업 결과 전송 단계
    를 구비하는 것을 특징으로 하는 네트워크상에서의 복수 단말간의 분산 정보 공유 방법.
  3. 네트워크를 통해 서로 연결된 복수개의 단말들 간의 분산 정보 공유 방법에 있어서,
    상기 단말들 중 하나인 제1단말이 네트워크를 통해 상기 단말들 중 또 다른 단말인 제2단말에 접속하여 상기 제2단말에 접속되어 있는 모든 단말들의 IP 주소를 제공받는 IP 주소 제공 단계;
    상기 제1단말이 미리 설정된 리스트 정보로부터 소정 기준에 따라 직접 연결할 제3단말을 선택하는 제3 단말 선택 단계;
    상기 선택된 제3단말로 소정 작업을 수행하도록 설정된 이동 에이전트를 상기 리스트 정보와 함께 전송하는 이동 에이전트 전송 단계;
    상기 이동 에이전트가 상기 제3단말에서 상기 설정된 소정 작업을 수행하는 작업 수행 단계;
    상기 제3단말에서 상기 수행된 작업의 결과를 상기 제1단말로 전송하는 작업 결과 전송 단계;
    상기 제3단말에서 상기 리스트 정보에 의거하여 상기 리스트 중 나머지 단말로부터 다른 하나를 제3단말로 선택하고, 상기 이동 에이전트 전송 단계, 상기 작업 수행 단계, 상기 작업 결과 전송 단계를 반복하는 것을 특징으로 하는 네트워크상에서의 복수 단말간의 분산 정보 공유 방법.
  4. 제1항 내지 제3항중 어느 한 항에 있어서,
    상기 제1단말과 상기 제3단말의 접속은 상기 이동 에이전트 전송 단계 이후 해제되고 상기 작업 결과 전송 단계 이전에 복구되는 것을 특징으로 하는 네트워크상에서의 복수 단말간의 분산 정보 공유 방법.
  5. 네트워크를 통해 서로 연결된 복수개의 단말들 간의 분산 정보 공유 방법에 있어서,
    상기 단말들 중 하나인 제1단말이 네트워크를 통해 상기 단말들 중 또 다른 단말인 제2단말에 접속하여 상기 제2단말에 접속되어 있는 모든 단말들의 IP 주소를 제공받는 IP 주소 제공 단계;
    상기 제1단말이 상기 제공받은 IP 주소에 의거하여 소정 기준에 따라 직접 접속할 적어도 어느 하나 이상의 제3단말을 선택하는 직접 연결 대상 선택 단계;
    상기 제1단말이 상기 선택된 제3단말측으로 소정 작업을 수행하도록 설정된 이동 에이전트를 전송하는 이동 에이전트 전송 단계;
    상기 이동 에이전트가 상기 제3단말에서 상기 설정된 소정 작업을 수행하는 작업 수행 단계;
    상기 제3단말에서 미리 설정된 리스트에 따라 수행된 작업 결과를 전송할 단말을 선택하는 작업 결과 전송대상 선택단계;
    상기 선택된 단말로 작업 결과를 전송하는 작업 결과 전송 단계
    를 구비하는 네트워크상에서의 복수 단말간의 분산 정보 공유 방법.
  6. 제5항에 있어서,
    상기 작업 결과 전송대상 선택 단계는,
    가장 먼저 접속 가능한 단말을 작업 결과를 전송하는 단말로 선택하는 것을 특징으로 하는 네트워크상에서의 복수 단말간의 분산 정보 공유 방법.
  7. 제5항에 있어서,
    상기 작업 결과 전송대상 선택 단계는, 접속 가능한 모든 단말을 작업 결과를 전송하는 단말로 선택하는 것을 특징으로 하는 네트워크상에서의 복수 단말간의 분산 정보 공유 방법.
  8. 네트워크를 통해 서로 연결된 복수 단말 간의 분산 정보 공유 시스템에 있어서,
    상기 각 단말들은,
    연결되는 단말들의 접속을 관리하고, 접속된 단말로 각 단말의 IP 주소를 전송하는 IP 서버;
    사용자 인터페이스를 제공하는 모니터 서버;
    이동 에이전트의 생성 및 소멸을 관리하며, 이동 에이전트를 특정 단말로 전송하여 소정의 작업을 수행토록 하는 에이전트 서버; 및
    상기 에이전트 서버에 의해 네트워크를 통해 단말간을 이동하며 지정된 작업을 수행하는 이동 에이전트
    를 포함하는 것을 특징으로 하는 네트워크상에서의 복수 단말간의 분산 정보 공유 시스템.
KR1020030020555A 2003-04-01 2003-04-01 네트워크를 통해 서로 연결된 복수개의 단말들 간의 분산정보 공유 방법 및 시스템 KR100556716B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030020555A KR100556716B1 (ko) 2003-04-01 2003-04-01 네트워크를 통해 서로 연결된 복수개의 단말들 간의 분산정보 공유 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030020555A KR100556716B1 (ko) 2003-04-01 2003-04-01 네트워크를 통해 서로 연결된 복수개의 단말들 간의 분산정보 공유 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20040085758A true KR20040085758A (ko) 2004-10-08
KR100556716B1 KR100556716B1 (ko) 2006-03-10

Family

ID=37368696

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030020555A KR100556716B1 (ko) 2003-04-01 2003-04-01 네트워크를 통해 서로 연결된 복수개의 단말들 간의 분산정보 공유 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR100556716B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100714504B1 (ko) * 2006-01-25 2007-05-04 피어컴 주식회사 유무선 인터넷을 이용한 개인 단말의 컨텐츠 검색 시스템및 방법
KR100828920B1 (ko) * 2007-02-14 2008-05-13 주식회사 대우일렉트로닉스 이동통신 시스템에서의 모바일 아이피를 이용한 파일 공유방법 및 장치
KR101224827B1 (ko) * 2008-06-13 2013-01-22 재단법인서울대학교산학협력재단 Dacon 을 이용한 네트워크 시스템 및 네트워크 연결방법
KR20160019231A (ko) * 2014-08-11 2016-02-19 한화테크윈 주식회사 통신 단말기의 운영 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100714504B1 (ko) * 2006-01-25 2007-05-04 피어컴 주식회사 유무선 인터넷을 이용한 개인 단말의 컨텐츠 검색 시스템및 방법
KR100828920B1 (ko) * 2007-02-14 2008-05-13 주식회사 대우일렉트로닉스 이동통신 시스템에서의 모바일 아이피를 이용한 파일 공유방법 및 장치
KR101224827B1 (ko) * 2008-06-13 2013-01-22 재단법인서울대학교산학협력재단 Dacon 을 이용한 네트워크 시스템 및 네트워크 연결방법
KR20160019231A (ko) * 2014-08-11 2016-02-19 한화테크윈 주식회사 통신 단말기의 운영 방법

Also Published As

Publication number Publication date
KR100556716B1 (ko) 2006-03-10

Similar Documents

Publication Publication Date Title
US6938042B2 (en) Peer-to-peer file sharing
KR100722916B1 (ko) 통신 관리자가 장치된 컴퓨터 시스템에 의한액티브티-베이스 협력 방법 및 장치
US7136927B2 (en) Peer-to-peer resource resolution
US7484225B2 (en) System and method for describing and identifying abstract software modules in peer-to-peer network environments
US7487509B2 (en) System and method for providing multiple embodiments of abstract software modules in peer-to-peer network environments
US7533161B2 (en) System and method for multiplatform implementation of abstract software modules in peer-to-peer network environments
US20030145093A1 (en) System and method for peer-to-peer file exchange mechanism from multiple sources
KR101220614B1 (ko) 피어 투 피어 게이트웨이
KR20000028677A (ko) 클라이언트와 적응형 동기 및 변형 서버를 위한 방법,장치, 프로그램 저장장치
KR19980041908A (ko) 컴퓨터화된 자원 명칭 도출 메카니즘
JPH04230567A (ja) 計算システムのための分散型構成プロフィル
WO2001080014A2 (en) System and method for on-network storage services
US7945615B1 (en) Distributed shared persistent objects
US7934218B2 (en) Interprocess communication management using a socket layer
JP4504609B2 (ja) 高性能クライアントサーバ通信システム
KR100556716B1 (ko) 네트워크를 통해 서로 연결된 복수개의 단말들 간의 분산정보 공유 방법 및 시스템
JP2007013804A (ja) 属性指定通信方法および通信装置
US20030061359A1 (en) Distributed processing system
KR20030041637A (ko) 웹사이트 방문자 자동 연결 방법 및 시스템
KR100649961B1 (ko) 분산 혼합형 피투피 네트워크 제공 방법 및 장치
JP2001092731A (ja) データ配信方法
Lindgren et al. Peer-to-peer technology

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
FPAY Annual fee payment

Payment date: 20130212

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140206

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150114

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160406

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee