KR100931722B1 - 이동 에이전트 캐싱 방법 및 에이전트 플랫폼 - Google Patents

이동 에이전트 캐싱 방법 및 에이전트 플랫폼 Download PDF

Info

Publication number
KR100931722B1
KR100931722B1 KR1020080028934A KR20080028934A KR100931722B1 KR 100931722 B1 KR100931722 B1 KR 100931722B1 KR 1020080028934 A KR1020080028934 A KR 1020080028934A KR 20080028934 A KR20080028934 A KR 20080028934A KR 100931722 B1 KR100931722 B1 KR 100931722B1
Authority
KR
South Korea
Prior art keywords
agent
mobile agent
visit
information
caching
Prior art date
Application number
KR1020080028934A
Other languages
English (en)
Other versions
KR20090103371A (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 KR1020080028934A priority Critical patent/KR100931722B1/ko
Publication of KR20090103371A publication Critical patent/KR20090103371A/ko
Application granted granted Critical
Publication of KR100931722B1 publication Critical patent/KR100931722B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/08Mobility data transfer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

이동 에이전트 캐싱 방법 및 에이전트 플랫폼이 개시된다. 본 발명의 일 실시예에 따르면, 에이전트 플랫폼에서 이동 에이전트에 대한 정보를 캐싱하는 방법에 있어서, 이동 에이전트에 대한 이주 요청을 수신받는 단계; 상기 이주 요청된 이동 에이전트의 방문 빈도를 산출하는 단계; 상기 방문 빈도 및 신뢰도 레벨을 이용하여 캐싱 레벨을 결정하는 단계; 및 상기 결정된 캐싱 레벨에 따라 상기 이동 에이전트에 대한 코드 정보를 저장하는 단계를 포함하는 캐싱 방법이 제공될 수 있다. 따라서, 본 발명에 의해, 플랫폼들간의 신뢰도 및 이동 에이전트의 방문 빈도에 기반하여 이동 에이전트를 캐싱할 수 있다.
에이전트, agent, 이주, 입주

Description

이동 에이전트 캐싱 방법 및 에이전트 플랫폼{Method for caching mobile agents and agent platform}
본 발명은 이동 에이전트에 관한 것으로, 보다 상세하게 플랫폼간의 신뢰 및 이동 에이전트의 방문 빈도에 기반하여 이동 에이전트를 캐싱하여 이동 에이전트의 성능을 향상시킬 수 있는 이동 에이전트 캐싱 방법 및 에이전트 플랫폼에 관한 것이다.
이동 에이전트는 네트워크(network) 상에서 노드와 노드 사이를 자유롭게 이동하며 사용자의 명령에 의해 특정 연산을 수행하는 기능을 수행하는 프로그램이다. 예를 들어, 인터넷상에서 정보를 자동적으로 수집해서 데이터베이스화하는 탐색 로봇도 이동 에이전트의 일종이다. 이와 같은 이동 에이전트는 네트워크 환경 변화에 동적이고 유연하게 적응하며, 비동기적으로 작업을 수행함으로써 대역폭이 낮은 네트워크 환경에서도 원활한 작업이 가능한 이점이 있다. 이와 같은 이동 에이전트의 특징은 정보 검색, 네트워크 관리, 전자상거래 등 다양한 분산 네트워크 환경에서 더욱 유용하게 활용될 수 있다.
이를 위해, 이동 에이전트들간의 통신이 근본적으로 전제되어야 함은 당연하다. 이동 에이전트들간의 통신을 위한 다양한 통신 모델들이 제시되었으며, 특히나 그룹 통신이 가장 널리 이용되는 방법으로 그룹을 구성하는 이동 에이전트들간에 투명한 메시지 전송을 보장한다.
본 발명은 플랫폼들간의 신뢰도 및 이동 에이전트의 방문 빈도에 기반하여 이동 에이전트를 캐싱할 수 있는 이동 에이전트 캐싱 방법 및 에이전트 플랫폼을 제공하기 위한 것이다.
또한, 본 발명은 네트워크 트래픽 및 이동 에이전트의 결빙 시간을 감소시킴으로써 이동 에이전트의 성능을 향상시킬 수 있는 이동 에이전트 캐싱 방법 및 에이전트 플랫폼을 제공하기 위한 것이다.
본 발명의 일 측면에 따르면, 에이전트 플랫폼에서 이동 에이전트의 방문 빈도에 따라 캐싱 레벨을 결정하여 코드 정보를 캐싱할 수 있는 방법 및 그 방법을 수행하기 위한 프로그램을 기록한 기록매체가 제공된다.
본 발명의 일 실시예에 따르면, 에이전트 플랫폼에서 이동 에이전트에 대한 정보를 캐싱하는 방법에 있어서, 이동 에이전트에 대한 이주 요청을 수신받는 단 계; 상기 이주 요청된 이동 에이전트의 방문 빈도를 산출하는 단계; 상기 방문 빈도 및 신뢰도 레벨을 이용하여 캐싱 레벨을 결정하는 단계; 및 상기 결정된 캐싱 레벨에 따라 상기 이동 에이전트에 대한 코드 정보를 저장하는 단계를 포함하는 캐싱 방법이 제공될 수 있다.
상기 이동 에이전트가 최초 방문인지 여부를 판단하는 단계; 및 최초 방문으로 결정되면, 상기 이동 에이전트에 대한 방문 정보를 생성하여 저장하는 단계를 더 포함할 수 있다.
최초 방문이 아닌 경우 상기 이동 에이전트에 대한 방문 정보를 갱신하여 저장하는 단계를 더 포함할 수 있다.
상기 이주 요청된 이동 에이전트의 방문 빈도를 산출하는 단계는, 상기 방문 정보를 이용하여 상기 방문 빈도를 산출할 수 있다.
상기 방문 정보는 오리지널 에이전트 플랫폼에 대한 식별 정보, 최종 방문된 에이전트 플랫폼에 대한 식별 정보, 배포명, 버전 정보, 최초 이주된 일시 정보, 최종 이주된 일시 정보 및 방문 횟수 정보 중 하나 이상을 포함할 수 있다.
상기 방문 빈도(PVF: Platform Visit Frequency)는 하기 수학식을 이용하여 산출된다.
Figure 112008022642086-pat00001
여기서,k는 임의의 자연수이며,
Figure 112008022642086-pat00002
는 상 기 이동 에이전트의 방문 횟수 정보를 나타내고,
Figure 112008022642086-pat00003
는 상기 이동 에이전트의 최종 이주된 일시 정보를 나타내며,
Figure 112008022642086-pat00004
는 상기 이동 에이전트의 최초 이주된 일시 정보를 나타낸다.
상기 캐싱 레벨은 상기 이동 에이전트의 코드를 지속적으로 저장할 것을 나타내는 지속 레벨(persistent level), 일시적으로 저장할 것을 나타내는 임시 레벨(temporary level) 및 소멸 후 삭제할 것을 나타내는 순간 레벨(moment level) 중 어느 하나이다.
본 발명의 다른 실시예에 따르면, 이동 에이전트의 이주에 상응하여 상기 이동 에이전트에 대한 정보를 캐싱하는 방법을 수행하기 위해 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 디지털 처리 장치에 의해 판독될 수 있는 프로그램이 기록된 기록매체에 있어서, 이동 에이전트에 대한 이주 요청을 수신받는 단계; 상기 이주 요청된 이동 에이전트의 방문 빈도를 산출하는 단계; 상기 방문 빈도 및 신뢰도 레벨을 이용하여 캐싱 레벨을 결정하는 단계; 및 상기 결정된 캐싱 레벨에 따라 상기 이동 에이전트에 대한 코드 정보를 저장하는 단계를 실행하는 프로그램을 기록한 기록매체가 제공될 수 있다.
본 발명의 다른 측면에 따르면, 이동 에이전트의 방문 빈도에 따라 캐싱 레벨을 결정하여 코드 정보를 캐싱할 수 있는 에이전트 플랫폼이 제공된다.
본 발명의 일 실시예에 따르면, 이동 에이전트에 대한 코드를 캐싱하는 에이전트 플랫폼에 있어서, 신뢰도 및 하나 이상의 이동 에이전트에 대한 방문 정보를 저장하고 있는 저장부; 상기 이동 에이전트에 대한 이주 요청을 수신받는 통신부; 상기 이동 에이전트에 대한 방문 정보를 이용하여 방문 빈도를 산출하는 빈도 산출부; 및 상기 방문 빈도 레벨 및 신뢰도 레벨을 이용하여 캐싱 레벨을 결정하며, 상기 캐싱 레벨에 따라 상기 이동 에이전트의 코드 정보를 저장하는 캐싱부를 포함하는 에이전트 플랫폼이 제공될 수 있다.
상기 이동 에이전트가 최초 방문인지 여부를 판단하고, 최초 방문으로 결정되면, 상기 이동 에이전트에 대한 방문 정보를 생성하여 저장하는 에이전트 관리부를 더 포함할 수 있다.
상기 에이전트 관리부는 상기 이동 에이전트가 최초 방문이 아니라고 결정되면, 상기 이동 에이전트에 대한 방문 정보를 추출하여 갱신하여 저장할 수 있다.
상기 빈도 산출부는 상기 이동 에이전트에 대한 방문 정보를 이용하여 방문 빈도를 산출할 수 있다.
상기 빈도 산출부는 하기 수학식을 이용하여 방문 빈도를 산출한다.
Figure 112008022642086-pat00005
여기서,k는 임의의 자연수이며,
Figure 112008022642086-pat00006
는 상기 이동 에이전트의 방문 횟수 정보를 나타내고,
Figure 112008022642086-pat00007
는 상기 이동 에이전트의 최종 이주된 일시 정보를 나타내며,
Figure 112008022642086-pat00008
는 상기 이동 에이전트의 최초 이주된 일시 정보를 나타낸다.
본 발명에 따른 캐싱 방법 및 에이전트 플랫폼을 제공함으로써, 플랫폼들간의 신뢰도 및 이동 에이전트의 방문 빈도에 기반하여 이동 에이전트를 캐싱하며, 안전한 이동 에이전트의 이주를 지원할 수 있는 효과가 있다.
또한, 본 발명은 네트워크 트래픽 및 이동 에이전트의 결빙 시간을 감소시킴으로써 이동 에이전트의 성능을 향상시킬 수 있는 효과도 있다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체 적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 본 발명의 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다.
이하, 본 명세서에서 이동 에이전트는 하나 이상의 호스트(또는 플랫폼)들을 자율적으로 이동하면서 호스트에서 제공되는 자원들을 이용하여 독립적으로 작업을 수행하거나 다른 이동 에이전트들과 상호작용을 하면서 사용자가 원하는 작업을 수행할 수 있는 프로세스인 것으로 정의하기로 한다.
본 명세서에서 에이전트 플랫폼은 복수의 이동 에이전트를 관리하며, 이동 에이전트의 방문 빈도 및 신뢰도를 이용하여 당해 이동 에이전트의 코드를 캐싱 여부를 결정하는 장치일 수 있다. 물론, 구현 방법에 따라 에이전트 플랫폼은 소프트웨어의 형태로 구현될 수도 있음은 당연하다.
본 발명에 따른 이동 에이전트 캐싱 방법의 이해와 설명의 편의를 도모하기 위해 우선 이동 에이전트 이주 방법에 대해 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 이동 에이전트의 이주 방법을 나타낸 순서도이며, 도 2는 본 발명의 일 실시예에 따른 이주 요청 메시지의 구조를 나타낸 도면이다.
이해와 설명의 편의를 도모하기 위해 이동 에이전트가 현재 등록된 에이전트 플랫폼을 '소스 에이전트 플랫폼'이라 칭하며, 이동 에이전트가 이주할 에이전트 플랫폼을 '타겟 에이전트 플랫폼'이라 칭하기로 한다.
단계 110에서 소스 에이전트 플랫폼은 대상 이동 에이전트(이주를 요청한 이동 에이전트를 칭함)에 대한 정보를 포함하는 이주 요청 메시지(migration request message)를 생성하여 타겟 에이전트 플랫폼으로 전송한다. 이주 요청 메시지는 대상 이동 에이전트의 이주를 위해 필요한 다양한 정보들을 포함한다.
예를 들어, 도 2에서 예시된 바와 같이, 이주 요청 메시지는 대상 이동 에이전트가 현재 등록된 소스 에이전트 플랫폼에 대한 정보, 대상 이동 에이전트를 생성한 오리지널 에이전트 플랫폼에 대한 정보, 대상 이동 에이전트에 대한 정보(예를 들어, 버전 정보, 배포판 명 등) 및 클래스 리스트 정보 등을 포함한다. 여기 서, 클래스 리스트 정보는 당해 이주 에이전트에의 동작에 필요한 다양한 객체(예를 들어, 인스턴스(instance))들에 대한 정보이다.
예를 들어, 이주 에이전트는 하나 이상의 클래스를 이용하여 정의 및 생성될 수 있다. 즉, 이주 에이전트의 정의 및 각 기능들은 각각 클래스로 구현될 수 있고, 이러한 정보들은 클래스 리스트에 저장된다.
단계 115에서 타겟 에이전트 플랫폼은 이주 요청 메시지를 수신받으며, 당해 대상 이동 에이전트에 상응하는 오리지널 플랫폼을 분석하여 확인한다.
예를 들어, 타겟 에이전트 플랫폼은 이주 요청 메시지에서 대상 이동 에이전트에 상응하는 오리지널 플랫폼에 대한 정보(예를 들어, 오리지널 플랫폼 식별 정보)를 추출한 후 캐싱 디렉토리를 검색하여 동일한 오리지널 플랫폼에 대한 정보가 존재하는지 여부를 확인한다.
그리고, 단계 120에서 타겟 에이전트 플랫폼은 당해 대상 이동 에이전트에 상응하는 배포판명을 분석한다.
예를 들어, 타겟 에이전트 플랫폼은 이주 요청 메시지에서 당해 대상 이동 에이전트에 상응하는 배포판명을 추출한 후 캐싱 디렉토리를 검색하여 해당 배포판명이 존재하는지 여부를 확인한다.
단계 125에서 타겟 에이전트 플랫폼은 요청할 코드리스트를 생성한다.
예를 들어, 타겟 에이전트 플랫폼은 오리지널 플랫폼에 대한 정보 및 배포판명을 분석한 후 소스 에이전트 플랫폼에 요청할 코드리스트를 생성한다.
예를 들어, 대상 이동 에이전트가 이주했었다면, 타겟 에이전트 플랫폼은 당 해 대상 이동 에이전트에 대한 정보(예를 들어, 클래스 리스트)가 저장되어 있다. 이로 인해, 타겟 에이전트 플랫폼은 대상 이동 에이전트에 상응하여 필요한 코드리스트(즉, 필요한 변경 혹은 보유하고 있지 않는 클래스 정보)를 생성하여 소스 에이전트 플랫폼에 요청할 수 있다.
다른 예를 들어, 타겟 에이전트 플랫폼은 대상 이동 에이전트에 상응하여 존재하는 클래스리스트 정보를 소스 에이전트 플랫폼에 전송한 후 상이한 클래스리스트 정보만을 수신 받을 수도 있다.
단계 130에서 타겟 에이전트 플랫폼은 요청할 코드리스트를 포함하는 응답 메시지를 생성하여 소스 에이전트 플랫폼으로 전송한다.
단계 135에서 소스 에이전트 플랫폼은 응답 메시지에서 코드리스트를 획득한후 이에 상응하는 코드 정보를 추출하여 타겟 에이전트 플랫폼으로 전송한다.
이에 따라 타겟 에이전트 플랫폼은 대상 이동 에이전트의 상태 정보가 수신되면, 해당 대상 이동 에이전트를 등록한 후 실행한다.
도 3은 본 발명의 일 실시예에 따른 에이전트 플랫폼의 내부 구성 요소를 개략적으로 나타낸 블록도이며, 도 4는 본 발명의 일 실시예에 따른 방문 정보의 구조를 나타낸 도면이고, 도 5는 본 발명의 일 실시예에 따른 신뢰도 레벨 산출을 설명하기 위한 예시도면이며, 도 6은 본 발명의 일 실시예에 따른 캐싱 디렉토리의 구조를 나타낸 도면이다.
도 3을 참조하면, 본 발명에 따른 에이전트 플랫폼(300)은 통신부(310), 에 이전트 이주부(315), 에이전트 입주부(320), 에이전트 관리부(325), 빈도 산출부(330), 캐싱부(335), 보안부(340), 저장부(345) 및 제어부(350)를 포함한다.
통신부(310)는 통신망을 통해 이동 에이전트들 또는 다른 에이전트 플랫폼과의 데이터를 송수신한다.
예를 들어, 통신부(310)는 다른 에이전트 플랫폼으로부터 이주 요청 메시지를 수신받아 출력할 수 있다. 또한, 통신부(310)는 제어부(350)의 제어에 의해 에이전트 이주부로부터 응답 메시지를 입력받아 통신망을 통해 다른 에이전트 플랫폼으로 전송할 수도 있다.
에이전트 이주부(315)는 이동 에이전트의 이주 요청에 따라 당해 이동 에이전트의 실행 중단을 제어하며, 해당 이동 에이전트에 대한 각 코드 버전 정보 및 이름 정보 등을 포함하는 이주 요청 메시지를 생성하여 타겟 에이전트 플랫폼으로 전송한다.
예를 들어, 임의의 이동 에이전트로부터 이주 요청이 수신(또는 입력)되면, 에이전트 플랫폼은 당해 이동 에이전트에 대한 정보, 각 코드의 버전 정보, 에이전트 플래폼 식별 정보, 오리지널 에이전트 식별 정보 등을 포함하는 이주 요청 메시지를 생성할 수 있다. 그리고, 에이전트 이주부(315)는 해당 이주 요청 메시지를 타겟 에이전트 플랫폼으로 전송한다.
에이전트 입주부(320)는 다른 에이전트 플랫폼으로부터 임의의 이동 에이전트에 대한 입주 요청이 수신되면(즉, 이주 요청 메시지가 수신되면), 입주를 위해 필요한 코드 리스트 정보를 생성하여 이주 응답 메시지를 생성하여 전송하는 기능 을 수행한다.
예를 들어, 에이전트 입주부(320)는 수신된 이주 요청 메시지에서 오리지널 에이전트 식별 정보 및 배포판 명을 추출하여 캐싱 디렉토리에 존재하는지 여부를 판단한다. 존재 여부에 따라 입주에 필요한 코드 리스트 정보가 상이하므로, 에이전트 입주부(320)는 존재 여부에 따라 필요한 코드 리스트 정보를 생성하여 이주 응답 메시지와 함께 소스 에이전트 플랫폼으로 전송할 수 있다.
에이전트 관리부(325)는 이동 에이전트의 라이프사이클(liftcycle)을 관리하는 기능을 수행한다. 즉, 에이전트 관리부(325)는 이동 에이전트의 등록, 실행, 삭제 등에 대한 전반적인 동작을 관리하는 기능을 수행한다.
또한, 에이전트 관리부(325)는 각 입주한 이동 에이전트에 대한 기본적인 정보를 이용하여 에이전트 방문 정보를 생성하여 관리한다.
예를 들어, 에이전트 방문 정보는 도 4에 예시된 바와 같이, 오리지널 에이전트 플랫폼 정보, 가장 최근에 등록된(이주된) 에이전트 플랫폼에 대한 정보, 당해 이동 에이전트의 배포판 명, 이동 에이전트의 버전 정보, 당해 이동 에이전트가 에이전트 플랫폼에 최초로 등록된 입주일에 대한 정보, 이동 에이전트가 가장 최근에 에이전트 플랫폼에 이주(또는 등록)된 입주일에 대한 정보 및 방문 빈도 정보를 포함할 수 있다.
예를 들어, 에이전트 관리부(325)는 통신부(310)로부터 임의의 이동 에이전트에 대한 이주 요청이 수신되면 당해 이동 에이전트가 에이전트 플랫폼(300)에 최초 방문인지 여부를 판단한다. 예를 들어, 에이전트 관리부(325)는 해당 이동 에이 전트에 대한 방문 정보가 존재하는지를 판단하여 최초 방문인지 여부를 판단할 수 있다. 만일 최초 방문이라고 판단되면, 에이전트 관리부(325)는 해당 이동 에이전트에 대한 방문 정보를 생성한다. 그러나 만일 최초 방문이 아니라면, 에이전트 관리부(325)는 캐싱 디렉토리에서 당해 이동 에이전트에 대한 방문 정보를 획득하여 갱신한다.
또한, 에이전트 관리부(325)는 당해 에이전트 플랫폼과 통신망을 통해 연결된 다른 에이전트 플랫폼간의 신뢰도를 산출하여 저장한다.
이해와 설명의 편의를 도모하기 위해, 도 5를 참조하여 본 발명에 따른 에이전트 관리부(325)의 신뢰도 레벨 산출 방법에 대해 간략하게 설명하기로 한다. 본 명세서에서는 각 에이전트간의 신뢰도는 미리 설정되어 있는 것을 가정하기로 한다. 즉, 도 5에서 보여지는 바와 같이, 직접 연결된 에이전트 플랫폼간의 신뢰도는 미리 설정되어 있는 것으로 가정하기로 한다.
본 명세서에서는 하기 수학식1을 이용하여 각 에이전트 플랫폼간의 신뢰도를 각각 산출할 수 있다.
Figure 112008022642086-pat00009
여기서,
Figure 112008022642086-pat00010
에이전트 플랫폼에서
Figure 112008022642086-pat00011
에이전트 플랫폼까지의 각 경로상에 존재하는 각 에이전트 플랫폼간의 신뢰도를 곱을 나타낸다.
예를 들어, 도 5의 (a)의 경우, 제1 에이전트 플랫폼에서 제3 에이전트 플랫폼까지의 경로가 하나이므로,
Figure 112008022642086-pat00012
의 신뢰도는
Figure 112008022642086-pat00013
로 산출된다. 그러나 도 5의 (b)와 같은 경우, 제1 에이전트 플랫폼에서 제4 에이전트 플랫폼까지의 경로가 두개이므로
Figure 112008022642086-pat00014
간의 신뢰도는
Figure 112008022642086-pat00015
로 산출된다.
본 명세서에서는 각 에이전트 플랫폼간의 신뢰도는 WTPL(Web of Trust based Platform List)를 이용하여 산출된다. 이는 당업자에게는 자명한 사항이므로 이에 대한 상세한 설명은 생략하기로 한다.
빈도 산출부(330)는 이동 에이전트의 방문 정보를 이용하여 당해 이동 에이전트의 방문 빈도(PVF: Platform Visit Frequency)를 산출한다.
예를 들어, 빈도 산출부(330)는 하기 수학식2를 이용하여 당해 이동 에이전트에 대한 방문 빈도를 산출할 수 있다.
Figure 112008022642086-pat00016
여기서, MAVI는 이동 에이전트의 방문 정보로써, 이동 에이전트를 생성한 에이전트 플랫폼의 식별 정보인 원시 플랫폼 식별 정보(original platform ID), 가장 최근에 이주한 에이전트 플랫폼의 식별 정보인 최종 플랫폼 식별 정보(last platform ID), 이동 에이전트의 배포판 명(distribution name or agent release name), 이동 에이전트의 버전에 대한 정보인 버전(version), 이동 에이전트가 에이전트 플랫폼에 최초로 이주한 일시 정보(first immigration date-이하에서는 '최초 입주일'이라 칭함), 이동 에이전트가 가장 최근에 에이전트 플랫폼에 입주한 일시 정보(last immigration date-이하에서는 '최종 입주일'이라 칭함), 에이전트 플랫폼에 방문한 빈도 정보(visit frequency-이하에서는 '방문 빈도(visit_frequency)'라 칭함)를 포함한다.
수학식 2에서 last_im_date는 최종 입주일이며, first_im_date는 최초 입주일을 나타내며, k는 이동 에이전트에 부여된 식별 정보를 나타낸다.
캐싱부(335)는 빈도 산출부(330)에 의해 산출된 방문 빈도 및 기저장된 신뢰도를 이용하여 당해 이동 에이전트에 대한 캐싱 레벨을 결정한다. 캐싱부(335)는 캐싱 레벨의 범위를 전체 시스템 및 네트워크 환경에 따라 임의로 조정할 수 있다.
본 명세서에서 캐싱 레벨은 지속 레벨(persistent level), 임시 레벨(temporary level), 순간 레벨(moment level)로 구분되어 있는 것을 가정하여 설명하기로 한다. 물론, 캐싱 레벨은 에이전트 플랫폼을 관리하는 관리자에 의해 본 명세서에서 기재된 3가지 캐싱 레벨 이외의 정책적으로 다양하게 구분될 수 있음은 당연하다.
지속 레벨은 이동 에이전트의 코드 정보를 에이전트 플랫폼에 지속적으로 저장하는 것으로 정의하기로 한다.
또한, 임시 레벨은 이동 에이전트의 코드 정보를 미리 설정된 일정 기간 동안 일시적으로 저장하는 것으로 정의하기로 한다.
또한, 순간 레벨은 이동 에이전트가 소멸되거나 이주되었을 때 에이전트 플랫폼에서 당해 이동 에이전트의 코드 정보를 즉각적으로 삭제하는 것으로 정의하기로 한다.
보안부(340)는 이동 에이전트 및 에이전트 플랫폼을 공격(attack)으로부터 보호하기 위해 다양한 보안 서비스를 제공한다.
저장부(345)는 본 발명에 따른 에이전트 플랫폼 또는 이동 에이전트들을 운용하기 위해 필요한 알고리즘(또는 소프트웨어) 등이 저장된다. 또한, 저장부(345)는 캐싱부(335)에 의해 결정된 캐싱 레벨에 따라 이동 에이전트에 대한 방문 정보 및 캐싱 디렉토리가 저장된다. 도 6에 이동 에이전트가 캐싱부(335)에 의해 결정된 캐싱 레벨에 따라 저장된 캐싱 디렉토리가 예시되어 있다.
제어부(350)는 본 발명에 따른 에이전트 플랫폼(300)의 내부 기능 요소(예를 들어, 통신부(310), 에이전트 이주부(315), 에이전트 입주부(320), 에이전트 관리부(325), 빈도 산출부(330), 캐싱부(335), 보안부(340), 저장부(345) 등)를 제어하는 기능을 수행한다.
도 7은 본 발명의 일 실시예에 따른 이동 에이전트의 이주에 따른 에이전트의 코드 정보를 캐싱하는 방법을 나타낸 순서도이다. 이하에서 설명되는 각각의 단계는 에이전트 플랫폼(300)의 각각의 내부 기능 요소에 의해 수행되어지나 이해와 설명의 편의를 도모하기 위해 에이전트 플랫폼으로 통칭하여 설명하기로 한다.
단계 710에서 에이전트 플랫폼(300)은 소스 에이전트 플랫폼으로부터 대상 이동 에이전트의 이주 요청 메시지를 수신받는다. 이에 상응하여 에이전트 플랫폼(300)은 이주에 필요한 관련 프로세스를 수행한다. 에이전트 플랫폼(300)에서 임의의 이동 에이전트에 대한 이주 요청 메시지에 상응하는 이주 방법에 대해서는 도 1에서 이미 설명하였으므로 중복되는 설명은 생략하기로 한다. 이하에서는 에이전트 플랫폼(300)에 의해 대상 이동 에이전트에 대한 이주가 결정된 것을 가정하여 이후의 동작에 대해서 설명하기로 한다.
단계 715에서 에이전트 플랫폼(300)은 대상 이동 에이전트가 당해 에이전트 플랫폼에 최초 방문인지 여부를 판단한다.
전술한 바와 같이, 에이전트 플랫폼(300)은 대상 이동 에이전트에 상응하는 방문 정보가 존재하는지 여부를 판단하여 당해 대상 이동 에이전트가 최초 방문인지 여부를 결정할 수 있다.
또한, 에이전트 플랫폼(300)은 이주 요청 메시지에서 당해 대상 이동 에이전트의 버전 정보 및 배포판 명을 추출한 후 캐싱 디렉토리에 상응하는 버전 정보 및 배포판 명이 존재하는지 여부를 판단하여 당해 대상 이동 에이전트가 최초 방문인지 여부를 결정할 수도 있다.
만일 최초 방문이라고 결정되면, 단계 720에서 에이전트 플랫폼(300)은 당해 대상 이동 에이전트에 대한 방문 정보를 생성한다. 그리고, 당해 생성된 방문 정보를 캐싱 디렉토리에 저장한다.
그러나 만일 최초 방문이 아니라고 결정되면, 단계 725에서 에이전트 플랫폼(300)은 당해 대상 이동 에이전트에 대한 방문 정보를 갱신하여 저장한다.
예를 들어, 에이전트 플랫폼(300)은 캐싱 디렉토리에서 당해 대상 이동 에이전트에 대한 방문 정보를 추출한다. 이어서, 에이전트 플랫폼(300)은 추출된 방문 정보에서 방문 빈도 정보를 갱신하여 캐싱 디렉토리에 저장한다.
단계 730에서 에이전트 플랫폼(300)은 당해 에이전트 플랫폼(300)과 소스 에이전트 플랫폼간의 신뢰도를 산출한다.
즉, 에이전트 플랫폼(300)은 전술한 방법에 의해 당해 에이전트 플랫폼(300)과 소스 에이전트 플랫폼간의 신뢰도를 산출할 수 있다.
단계 735에서 에이전트 플랫폼(300)은 대상 이동 에이전트의 방문 정보를 이용하여 당해 대상 이동 에이전트의 방문 빈도를 산출한다.
단계 740에서 에이전트 플랫폼(300)은 산출된 신뢰도 및 방문 빈도를 이용하여 당해 대상 이동 에이전트에 대한 캐싱 레벨을 산출한다.
그리고, 단계 645에서 에이전트 플랫폼(300)은 산출된 캐싱 레벨에 따라 대상 이동 에이전트의 코드 정보를 캐싱 디렉토리에 저장한다. 여기서, 코드 정보는 대상 이동 에이전트의 클래스리스트 정보일 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변 경시킬 수 있음을 이해할 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 이동 에이전트의 이주 방법을 나타낸 순서도.
도 2는 본 발명의 일 실시예에 따른 이주 요청 메시지의 구조를 나타낸 도면.
도 3은 본 발명의 일 실시예에 따른 에이전트 플랫폼의 내부 구성 요소를 개략적으로 나타낸 블록도.
도 4는 본 발명의 일 실시예에 따른 방문 정보의 구조를 나타낸 도면.
도 5는 본 발명의 일 실시예에 따른 신뢰도 레벨 산출을 설명하기 위한 예시도면.
도 6은 본 발명의 일 실시예에 따른 캐싱 디렉토리의 구조를 나타낸 도면.
도 7은 본 발명의 일 실시예에 따른 이동 에이전트의 이주에 따른 에이전트의 코드 정보를 캐싱하는 방법을 나타낸 순서도.

Claims (14)

  1. 에이전트 플랫폼에서 이동 에이전트에 대한 정보를 캐싱하는 방법에 있어서,
    이동 에이전트에 대한 이주 요청을 수신받는 단계;
    상기 이주 요청된 이동 에이전트의 방문 빈도를 산출하는 단계;
    상기 방문 빈도 및 신뢰도 레벨을 이용하여 캐싱 레벨을 결정하는 단계; 및
    상기 결정된 캐싱 레벨에 따라 상기 이동 에이전트에 대한 코드 정보를 저장하는 단계를 포함하는 캐싱 방법.
  2. 제1 항에 있어서,
    상기 이동 에이전트가 최초 방문인지 여부를 판단하는 단계; 및
    최초 방문으로 결정되면, 상기 이동 에이전트에 대한 방문 정보를 생성하여 저장하는 단계를 더 포함하는 캐싱 방법.
  3. 제2 항에 있어서,
    최초 방문이 아닌 경우 상기 이동 에이전트에 대한 방문 정보를 갱신하여 저장하는 단계를 더 포함하는 캐싱 방법.
  4. 제3 항에 있어서,
    상기 이주 요청된 이동 에이전트의 방문 빈도를 산출하는 단계는,
    상기 방문 정보를 이용하여 상기 방문 빈도를 산출하는 것을 특징으로 하는 캐싱 방법.
  5. 제4 항에 있어서,
    상기 방문 정보는 오리지널 에이전트 플랫폼에 대한 식별 정보, 최종 방문된 에이전트 플랫폼에 대한 식별 정보, 배포명, 버전 정보, 최초 이주된 일시 정보, 최종 이주된 일시 정보 및 방문 횟수 정보 중 하나 이상을 포함하는 것을 특징으로 하는 캐싱 방법.
  6. 제5 항에 있어서,
    상기 방문 빈도는 하기 수학식을 이용하여 산출되는 것을 특징으로 하는 캐싱 방법.
    Figure 112008022642086-pat00017
    여기서,k는 임의의 자연수이며,
    Figure 112008022642086-pat00018
    는 상기 이동 에이전트의 방문 횟수 정보를 나타내고,
    Figure 112008022642086-pat00019
    는 상기 이동 에이전트의 최종 이주된 일시 정보를 나타내며,
    Figure 112008022642086-pat00020
    는 상기 이동 에이전트의 최초 이주된 일시 정보를 나타냄.
  7. 제1 항에 있어서,
    상기 캐싱 레벨은 상기 이동 에이전트의 코드를 지속적으로 저장할 것을 나타내는 지속 레벨(persistent level), 일시적으로 저장할 것을 나타내는 임시 레벨(temporary level) 및 소멸 후 삭제할 것을 나타내는 순간 레벨(moment level) 중 어느 하나인 것을 특징으로 하는 캐싱 방법.
  8. 이동 에이전트에 대한 코드를 캐싱하는 에이전트 플랫폼 장치에 있어서,
    하나 이상의 이동 에이전트에 대한 방문 정보를 저장하고 있는 저장부;
    상기 이동 에이전트에 대한 이주 요청을 수신받는 통신부;
    상기 이동 에이전트에 대한 방문 정보를 이용하여 방문 빈도를 산출하는 빈도 산출부; 및
    상기 방문 빈도 및 신뢰도 레벨을 이용하여 캐싱 레벨을 결정하며, 상기 캐싱 레벨에 따라 상기 이동 에이전트의 코드 정보를 저장하는 캐싱부를 포함하는 에이전트 플랫폼 장치.
  9. 제8 항에 있어서,
    상기 이동 에이전트가 최초 방문인지 여부를 판단하고, 최초 방문으로 결정되면, 상기 이동 에이전트에 대한 방문 정보를 생성하여 저장하는 에이전트 관리부를 더 포함하는 에이전트 플랫폼 장치.
  10. 제9 항에 있어서,
    상기 에이전트 관리부는 상기 이동 에이전트가 최초 방문이 아니라고 결정되면, 상기 이동 에이전트에 대한 방문 정보를 추출하여 갱신하여 저장하는 것을 특징으로 하는 에이전트 플랫폼 장치.
  11. 제10 항에 있어서,
    상기 빈도 산출부는 상기 이동 에이전트에 대한 방문 정보를 이용하여 방문 빈도를 산출하는 것을 특징으로 하는 에이전트 플랫폼 장치.
  12. 제11 항에 있어서,
    상기 빈도 산출부는 하기 수학식을 이용하여 방문 빈도를 산출하는 것을 특징으로 하는 에이전트 플랫폼 장치.
    Figure 112009067033439-pat00021
    여기서,k는 임의의 자연수이며,
    Figure 112009067033439-pat00022
    는 상기 이동 에이전트의 방문 횟수 정보를 나타내고,
    Figure 112009067033439-pat00023
    는 상기 이동 에이전트의 최종 이주된 일시 정보를 나타내며,
    Figure 112009067033439-pat00024
    는 상기 이동 에이전트의 최초 이주된 일시 정보를 나타냄.
  13. 제8 항에 있어서,
    캐싱 레벨은 상기 이동 에이전트의 코드를 지속적으로 저장할 것을 나타내는 지속 레벨(persistent level), 일시적으로 저장할 것을 나타내는 임시 레벨(temporary level) 및 소멸 후 삭제할 것을 나타내는 순간 레벨(moment level) 중 어느 하나인 것을 특징으로 하는 에이전트 플랫폼 장치.
  14. 이동 에이전트의 이주에 상응하여 상기 이동 에이전트에 대한 정보를 캐싱하는 방법을 수행하기 위해 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 디지털 처리 장치에 의해 판독될 수 있는 프로그램이 기록된 기록매체에 있어서,
    이동 에이전트에 대한 이주 요청을 수신받는 단계;
    상기 이주 요청된 이동 에이전트의 방문 빈도를 산출하는 단계;
    상기 방문 빈도 및 신뢰도 레벨을 이용하여 캐싱 레벨을 결정하는 단계; 및
    상기 결정된 캐싱 레벨에 따라 상기 이동 에이전트에 대한 코드 정보를 저장하는 단계를 실행하는 프로그램을 기록한 기록매체.
KR1020080028934A 2008-03-28 2008-03-28 이동 에이전트 캐싱 방법 및 에이전트 플랫폼 KR100931722B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080028934A KR100931722B1 (ko) 2008-03-28 2008-03-28 이동 에이전트 캐싱 방법 및 에이전트 플랫폼

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080028934A KR100931722B1 (ko) 2008-03-28 2008-03-28 이동 에이전트 캐싱 방법 및 에이전트 플랫폼

Publications (2)

Publication Number Publication Date
KR20090103371A KR20090103371A (ko) 2009-10-01
KR100931722B1 true KR100931722B1 (ko) 2009-12-14

Family

ID=41532917

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080028934A KR100931722B1 (ko) 2008-03-28 2008-03-28 이동 에이전트 캐싱 방법 및 에이전트 플랫폼

Country Status (1)

Country Link
KR (1) KR100931722B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102108839B1 (ko) 2013-06-12 2020-05-29 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 사용자 장치 및 그것의 데이터 쓰기 방법
CN104113599B (zh) * 2014-07-22 2017-06-23 北京星网锐捷网络技术有限公司 一种缓存方法、装置及代理服务器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11103490A (ja) 1997-09-26 1999-04-13 Toshiba Corp 移動通信システムとその基地局装置
JP2000347866A (ja) * 1999-06-04 2000-12-15 Nec Corp 分散システムとアクセス制御装置及び方法、並びにアクセス制御用プログラムを記録した記録媒体
KR20030007068A (ko) * 2001-07-10 2003-01-23 가부시키가이샤 엔.티.티.도코모 이동통신 시스템, 이동통신 네트워크 제어장치, 이동통신단말기 및 이동통신 네트워크 제어방법
KR20060062886A (ko) * 2004-12-06 2006-06-12 주식회사 팬택 알에프아이디를 이용한 이동통신 단말기의 이력 관리 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11103490A (ja) 1997-09-26 1999-04-13 Toshiba Corp 移動通信システムとその基地局装置
JP2000347866A (ja) * 1999-06-04 2000-12-15 Nec Corp 分散システムとアクセス制御装置及び方法、並びにアクセス制御用プログラムを記録した記録媒体
KR20030007068A (ko) * 2001-07-10 2003-01-23 가부시키가이샤 엔.티.티.도코모 이동통신 시스템, 이동통신 네트워크 제어장치, 이동통신단말기 및 이동통신 네트워크 제어방법
KR20060062886A (ko) * 2004-12-06 2006-06-12 주식회사 팬택 알에프아이디를 이용한 이동통신 단말기의 이력 관리 시스템

Also Published As

Publication number Publication date
KR20090103371A (ko) 2009-10-01

Similar Documents

Publication Publication Date Title
US8984058B2 (en) Pre-fetching remote resources
US20190286528A1 (en) System and method for managing and producing a dataset image across multiple storage systems
EP2002343B1 (en) Multi-cache cooperation for response output caching
CN100437519C (zh) 用于管理被存储在高速缓存中的对象的系统和方法
JP2020173840A (ja) リモートアクセスされるデータの効率的なライブマイグレーション
CN108228818A (zh) 网页资源加载方法及装置、电子设备、以及存储介质
US10885052B2 (en) Database process with virtual nodes
US8838762B2 (en) Virtual-machine management program and method for managing virtual machines
CN110334297A (zh) 终端页面的加载方法、终端、服务器及存储介质
US20190377622A1 (en) Processing System For Performing Predictive Error Resolution And Dynamic System Configuration Control
US10574751B2 (en) Identifying data for deduplication in a network storage environment
KR100931722B1 (ko) 이동 에이전트 캐싱 방법 및 에이전트 플랫폼
CN114579043A (zh) Log结构阵列中的i/o操作
CN104580428A (zh) 一种数据路由方法、数据管理装置和分布式存储系统
CN111190899A (zh) 一种埋点数据处理方法、装置、服务器及存储介质
CN114489622A (zh) 静态资源管理方法、Node.js应用、电子设备和存储介质
Wei et al. A self-tuning client-side metadata prefetching scheme for wide area network file systems
CN113900907A (zh) 一种映射构建方法和系统
JP2021501936A (ja) トランザクションの長期実行がレコード・ロックを保持することの防止
US11243882B2 (en) In-array linked list identifier pool scheme
CN116974465A (zh) 数据加载方法、装置、设备及计算机存储介质
CN109981767A (zh) Hana数据库访问方法、装置、系统、设备及存储介质
CN117561509A (zh) 用于控制提供给服务工作方的信息的持久性、利用率和传播的代理服务
JP2004302564A (ja) ネームサービス提供方法及びその実施装置並びにその処理プログラム
US20180059957A1 (en) Managing access to storage resources

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: 20120917

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131007

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee