KR20090103371A - Method for caching mobile agents and agent platform - Google Patents

Method for caching mobile agents and agent platform

Info

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

Links

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

Abstract

PURPOSE: A method for caching mobile agents and an agent platform are provided to cache a mobile agent based on a visit frequency of a mobile agent and reliability between platforms, thereby reducing network traffic and freezing time of mobile agents. CONSTITUTION: A method for caching mobile agents comprises the following steps. A moving request about a mobile agent is received(710). A visit frequency of the mobile agent is calculated(735). A caching level is determined using the visit frequency and the reliability level(740). Code information about the mobile agent is stored according to a determined caching level(745).

Description

이동 에이전트 캐싱 방법 및 에이전트 플랫폼{Method for caching mobile agents and agent platform}Method for caching mobile agents and agent platform

본 발명은 이동 에이전트에 관한 것으로, 보다 상세하게 플랫폼간의 신뢰 및 이동 에이전트의 방문 빈도에 기반하여 이동 에이전트를 캐싱하여 이동 에이전트의 성능을 향상시킬 수 있는 이동 에이전트 캐싱 방법 및 에이전트 플랫폼에 관한 것이다.The present invention relates to a mobile agent, and more particularly, to a mobile agent caching method and an agent platform that can improve the performance of a mobile agent by caching the mobile agent based on trust between platforms and visit frequency of the mobile agent.

이동 에이전트는 네트워크(network) 상에서 노드와 노드 사이를 자유롭게 이동하며 사용자의 명령에 의해 특정 연산을 수행하는 기능을 수행하는 프로그램이다. 예를 들어, 인터넷상에서 정보를 자동적으로 수집해서 데이터베이스화하는 탐색 로봇도 이동 에이전트의 일종이다. 이와 같은 이동 에이전트는 네트워크 환경 변화에 동적이고 유연하게 적응하며, 비동기적으로 작업을 수행함으로써 대역폭이 낮은 네트워크 환경에서도 원활한 작업이 가능한 이점이 있다. 이와 같은 이동 에이전트의 특징은 정보 검색, 네트워크 관리, 전자상거래 등 다양한 분산 네트워크 환경에서 더욱 유용하게 활용될 수 있다.A mobile agent is a program that freely moves between nodes on a network and performs a specific operation by a user's command. For example, a navigation robot that automatically collects and databases information on the Internet is a type of mobile agent. Such a mobile agent dynamically and flexibly adapts to changes in the network environment, and works asynchronously, thereby enabling smooth operation even in a low bandwidth network environment. The characteristics of the mobile agent may be more usefully used in various distributed network environments such as information retrieval, network management, and e-commerce.

이를 위해, 이동 에이전트들간의 통신이 근본적으로 전제되어야 함은 당연하다. 이동 에이전트들간의 통신을 위한 다양한 통신 모델들이 제시되었으며, 특히나 그룹 통신이 가장 널리 이용되는 방법으로 그룹을 구성하는 이동 에이전트들간에 투명한 메시지 전송을 보장한다. To this end, it is natural that communication between mobile agents must be fundamentally assumed. Various communication models for communication between mobile agents have been proposed. In particular, group communication is most widely used to ensure transparent message transmission between mobile agents constituting a group.

본 발명은 플랫폼들간의 신뢰도 및 이동 에이전트의 방문 빈도에 기반하여 이동 에이전트를 캐싱할 수 있는 이동 에이전트 캐싱 방법 및 에이전트 플랫폼을 제공하기 위한 것이다.An object of the present invention is to provide a mobile agent caching method and an agent platform capable of caching a mobile agent based on the reliability between platforms and the visit frequency of the mobile agent.

또한, 본 발명은 네트워크 트래픽 및 이동 에이전트의 결빙 시간을 감소시킴으로써 이동 에이전트의 성능을 향상시킬 수 있는 이동 에이전트 캐싱 방법 및 에이전트 플랫폼을 제공하기 위한 것이다.In addition, the present invention is to provide a mobile agent caching method and agent platform that can improve the performance of the mobile agent by reducing the network traffic and the freezing time of the mobile agent.

본 발명의 일 측면에 따르면, 에이전트 플랫폼에서 이동 에이전트의 방문 빈도에 따라 캐싱 레벨을 결정하여 코드 정보를 캐싱할 수 있는 방법 및 그 방법을 수행하기 위한 프로그램을 기록한 기록매체가 제공된다.According to an aspect of the present invention, a method for caching code information by determining a caching level according to a visit frequency of a mobile agent in an agent platform, and a recording medium recording a program for performing the method are provided.

본 발명의 일 실시예에 따르면, 에이전트 플랫폼에서 이동 에이전트에 대한 정보를 캐싱하는 방법에 있어서, 이동 에이전트에 대한 이주 요청을 수신받는 단계; 상기 이주 요청된 이동 에이전트의 방문 빈도를 산출하는 단계; 상기 방문 빈도 및 신뢰도 레벨을 이용하여 캐싱 레벨을 결정하는 단계; 및 상기 결정된 캐싱 레벨에 따라 상기 이동 에이전트에 대한 코드 정보를 저장하는 단계를 포함하는 캐싱 방법이 제공될 수 있다.According to an embodiment of the present invention, a method of caching information about a mobile agent in an agent platform, the method comprising: receiving a migration request for a mobile agent; Calculating a visit frequency of the migration agent requested for migration; Determining a caching level using the visit frequency and confidence level; And storing code information for the mobile agent according to the determined caching level.

상기 이동 에이전트가 최초 방문인지 여부를 판단하는 단계; 및 최초 방문으로 결정되면, 상기 이동 에이전트에 대한 방문 정보를 생성하여 저장하는 단계를 더 포함할 수 있다.Determining whether the mobile agent is an initial visit; And if the first visit is determined, generating and storing visit information about the mobile agent.

최초 방문이 아닌 경우 상기 이동 에이전트에 대한 방문 정보를 갱신하여 저장하는 단계를 더 포함할 수 있다.If not the first visit may further include updating and storing the visit information for the mobile agent.

상기 이주 요청된 이동 에이전트의 방문 빈도를 산출하는 단계는, 상기 방문 정보를 이용하여 상기 방문 빈도를 산출할 수 있다.In the calculating of the visit frequency of the mobile agent requested migration, the visit frequency may be calculated using the visit information.

상기 방문 정보는 오리지널 에이전트 플랫폼에 대한 식별 정보, 최종 방문된 에이전트 플랫폼에 대한 식별 정보, 배포명, 버전 정보, 최초 이주된 일시 정보, 최종 이주된 일시 정보 및 방문 횟수 정보 중 하나 이상을 포함할 수 있다.The visit information may include one or more of identification information on the original agent platform, identification information on the last visited agent platform, distribution name, version information, date and time of the first migration, date and time of the last migration and the number of visits. have.

상기 방문 빈도(PVF: Platform Visit Frequency)는 하기 수학식을 이용하여 산출된다.The platform visit frequency (PVF) is calculated using the following equation.

여기서,k는 임의의 자연수이며, 는 상기 이동 에이전트의 방문 횟수 정보를 나타내고, 는 상기 이동 에이전트의 최종 이주된 일시 정보를 나타내며, 는 상기 이동 에이전트의 최초 이주된 일시 정보를 나타낸다.Where k is any natural number, Represents visit count information of the mobile agent, Represents the last migrated date and time information of the mobile agent, Represents the first migrated date and time information of the mobile agent.

상기 캐싱 레벨은 상기 이동 에이전트의 코드를 지속적으로 저장할 것을 나타내는 지속 레벨(persistent level), 일시적으로 저장할 것을 나타내는 임시 레벨(temporary level) 및 소멸 후 삭제할 것을 나타내는 순간 레벨(moment level) 중 어느 하나이다.The caching level is any one of a persistent level indicating to continuously store the code of the mobile agent, a temporary level indicating to store temporarily, and a moment level indicating to delete after destruction.

본 발명의 다른 실시예에 따르면, 이동 에이전트의 이주에 상응하여 상기 이동 에이전트에 대한 정보를 캐싱하는 방법을 수행하기 위해 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 디지털 처리 장치에 의해 판독될 수 있는 프로그램이 기록된 기록매체에 있어서, 이동 에이전트에 대한 이주 요청을 수신받는 단계; 상기 이주 요청된 이동 에이전트의 방문 빈도를 산출하는 단계; 상기 방문 빈도 및 신뢰도 레벨을 이용하여 캐싱 레벨을 결정하는 단계; 및 상기 결정된 캐싱 레벨에 따라 상기 이동 에이전트에 대한 코드 정보를 저장하는 단계를 실행하는 프로그램을 기록한 기록매체가 제공될 수 있다.According to another embodiment of the present invention, a program of instructions, which are executed by a digital processing apparatus, is tangibly implemented to perform a method of caching information about the mobile agent in correspondence with the migration of the mobile agent. A recording medium having recorded thereon a program that can be read by a processing device, comprising: receiving a migration request for a mobile agent; Calculating a visit frequency of the migration agent requested for migration; Determining a caching level using the visit frequency and confidence level; And a recording medium recording a program for executing the step of storing the code information for the mobile agent according to the determined caching level.

본 발명의 다른 측면에 따르면, 이동 에이전트의 방문 빈도에 따라 캐싱 레벨을 결정하여 코드 정보를 캐싱할 수 있는 에이전트 플랫폼이 제공된다. According to another aspect of the present invention, an agent platform capable of caching code information by determining a caching level according to a visit frequency of a mobile agent is provided.

본 발명의 일 실시예에 따르면, 이동 에이전트에 대한 코드를 캐싱하는 에이전트 플랫폼에 있어서, 신뢰도 및 하나 이상의 이동 에이전트에 대한 방문 정보를 저장하고 있는 저장부; 상기 이동 에이전트에 대한 이주 요청을 수신받는 통신부; 상기 이동 에이전트에 대한 방문 정보를 이용하여 방문 빈도를 산출하는 빈도 산출부; 및 상기 방문 빈도 레벨 및 신뢰도 레벨을 이용하여 캐싱 레벨을 결정하며, 상기 캐싱 레벨에 따라 상기 이동 에이전트의 코드 정보를 저장하는 캐싱부를 포함하는 에이전트 플랫폼이 제공될 수 있다.According to an embodiment of the present invention, an agent platform for caching code for a mobile agent, the agent platform comprising: a storage unit for storing reliability and visit information for one or more mobile agents; A communication unit receiving a migration request for the mobile agent; A frequency calculator configured to calculate a visit frequency by using the visit information on the mobile agent; And a caching unit configured to determine a caching level by using the visit frequency level and the reliability level, and to store code information of the mobile agent according to the caching level.

상기 이동 에이전트가 최초 방문인지 여부를 판단하고, 최초 방문으로 결정되면, 상기 이동 에이전트에 대한 방문 정보를 생성하여 저장하는 에이전트 관리부를 더 포함할 수 있다.The method may further include an agent manager configured to determine whether the mobile agent is the first visit and to generate and store visit information about the mobile agent when the first visit is determined.

상기 에이전트 관리부는 상기 이동 에이전트가 최초 방문이 아니라고 결정되면, 상기 이동 에이전트에 대한 방문 정보를 추출하여 갱신하여 저장할 수 있다.If it is determined that the mobile agent is not the first visit, the agent manager may extract and update the visit information for the mobile agent.

상기 빈도 산출부는 상기 이동 에이전트에 대한 방문 정보를 이용하여 방문 빈도를 산출할 수 있다.The frequency calculator may calculate the visit frequency by using the visit information on the mobile agent.

상기 빈도 산출부는 하기 수학식을 이용하여 방문 빈도를 산출한다.The frequency calculator calculates a visit frequency using the following equation.

여기서,k는 임의의 자연수이며, 는 상기 이동 에이전트의 방문 횟수 정보를 나타내고, 는 상기 이동 에이전트의 최종 이주된 일시 정보를 나타내며, 는 상기 이동 에이전트의 최초 이주된 일시 정보를 나타낸다.Where k is any natural number, Represents visit count information of the mobile agent, Represents the last migrated date and time information of the mobile agent, Represents the first migrated date and time information of the mobile agent.

본 발명에 따른 캐싱 방법 및 에이전트 플랫폼을 제공함으로써, 플랫폼들간의 신뢰도 및 이동 에이전트의 방문 빈도에 기반하여 이동 에이전트를 캐싱하며, 안전한 이동 에이전트의 이주를 지원할 수 있는 효과가 있다.By providing a caching method and an agent platform according to the present invention, the mobile agent is cached based on the reliability between the platforms and the visit frequency of the mobile agent, and the mobile agent can be safely migrated.

또한, 본 발명은 네트워크 트래픽 및 이동 에이전트의 결빙 시간을 감소시킴으로써 이동 에이전트의 성능을 향상시킬 수 있는 효과도 있다.In addition, the present invention has the effect of improving the performance of the mobile agent by reducing the network traffic and the freezing time of the mobile agent.

도 1은 본 발명의 일 실시예에 따른 이동 에이전트의 이주 방법을 나타낸 순서도.1 is a flowchart illustrating a method for migrating a mobile agent according to an embodiment of the present invention.

도 2는 본 발명의 일 실시예에 따른 이주 요청 메시지의 구조를 나타낸 도면.2 is a diagram showing the structure of a migration request message according to an embodiment of the present invention.

도 3은 본 발명의 일 실시예에 따른 에이전트 플랫폼의 내부 구성 요소를 개략적으로 나타낸 블록도.3 is a block diagram schematically illustrating internal components of an agent platform according to an embodiment of the present invention.

도 4는 본 발명의 일 실시예에 따른 방문 정보의 구조를 나타낸 도면.4 is a diagram showing the structure of visit information according to an embodiment of the present invention.

도 5는 본 발명의 일 실시예에 따른 신뢰도 레벨 산출을 설명하기 위한 예시도면.5 is an exemplary view for explaining a reliability level calculation according to an embodiment of the present invention.

도 6은 본 발명의 일 실시예에 따른 캐싱 디렉토리의 구조를 나타낸 도면.6 illustrates a structure of a caching directory according to an embodiment of the present invention.

도 7은 본 발명의 일 실시예에 따른 이동 에이전트의 이주에 따른 에이전트의 코드 정보를 캐싱하는 방법을 나타낸 순서도.7 is a flowchart illustrating a method of caching code information of an agent according to a migration of a mobile agent according to an embodiment of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all transformations, equivalents, and substitutes included in the spirit and scope of the present invention. In the following description of the present invention, if it is determined that the detailed description of the related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

이하, 본 발명의 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

이하, 본 명세서에서 이동 에이전트는 하나 이상의 호스트(또는 플랫폼)들을 자율적으로 이동하면서 호스트에서 제공되는 자원들을 이용하여 독립적으로 작업을 수행하거나 다른 이동 에이전트들과 상호작용을 하면서 사용자가 원하는 작업을 수행할 수 있는 프로세스인 것으로 정의하기로 한다.Hereinafter, in the present specification, a mobile agent autonomously moves one or more hosts (or platforms) to perform tasks independently by using resources provided by the host or to perform tasks desired by a user while interacting with other mobile agents. We will define this as a process that can be used.

본 명세서에서 에이전트 플랫폼은 복수의 이동 에이전트를 관리하며, 이동 에이전트의 방문 빈도 및 신뢰도를 이용하여 당해 이동 에이전트의 코드를 캐싱 여부를 결정하는 장치일 수 있다. 물론, 구현 방법에 따라 에이전트 플랫폼은 소프트웨어의 형태로 구현될 수도 있음은 당연하다. In this specification, the agent platform may be a device that manages a plurality of mobile agents and determines whether to cache the code of the mobile agent by using the visit frequency and the reliability of the mobile agent. Of course, depending on the implementation method, the agent platform may be implemented in the form of software.

본 발명에 따른 이동 에이전트 캐싱 방법의 이해와 설명의 편의를 도모하기 위해 우선 이동 에이전트 이주 방법에 대해 설명하기로 한다. In order to facilitate understanding and explanation of the mobile agent caching method according to the present invention, a mobile agent migration method will first be described.

도 1은 본 발명의 일 실시예에 따른 이동 에이전트의 이주 방법을 나타낸 순서도이며, 도 2는 본 발명의 일 실시예에 따른 이주 요청 메시지의 구조를 나타낸 도면이다.1 is a flowchart illustrating a method for migrating a mobile agent according to an embodiment of the present invention, and FIG. 2 is a diagram illustrating a structure of a migration request message according to an embodiment of the present invention.

이해와 설명의 편의를 도모하기 위해 이동 에이전트가 현재 등록된 에이전트 플랫폼을 '소스 에이전트 플랫폼'이라 칭하며, 이동 에이전트가 이주할 에이전트 플랫폼을 '타겟 에이전트 플랫폼'이라 칭하기로 한다.For convenience of understanding and explanation, the agent platform currently registered by the mobile agent will be referred to as a 'source agent platform', and the agent platform to be migrated by the mobile agent will be referred to as a 'target agent platform'.

단계 110에서 소스 에이전트 플랫폼은 대상 이동 에이전트(이주를 요청한 이동 에이전트를 칭함)에 대한 정보를 포함하는 이주 요청 메시지(migration request message)를 생성하여 타겟 에이전트 플랫폼으로 전송한다. 이주 요청 메시지는 대상 이동 에이전트의 이주를 위해 필요한 다양한 정보들을 포함한다. In step 110, the source agent platform generates a migration request message including information on the target mobile agent (referring to the mobile agent that requested migration) and transmits it to the target agent platform. The migration request message contains various information needed for the migration of the target mobile agent.

예를 들어, 도 2에서 예시된 바와 같이, 이주 요청 메시지는 대상 이동 에이전트가 현재 등록된 소스 에이전트 플랫폼에 대한 정보, 대상 이동 에이전트를 생성한 오리지널 에이전트 플랫폼에 대한 정보, 대상 이동 에이전트에 대한 정보(예를 들어, 버전 정보, 배포판 명 등) 및 클래스 리스트 정보 등을 포함한다. 여기서, 클래스 리스트 정보는 당해 이주 에이전트에의 동작에 필요한 다양한 객체(예를 들어, 인스턴스(instance))들에 대한 정보이다.For example, as illustrated in FIG. 2, the migration request message may include information about the source agent platform to which the target mobile agent is currently registered, information about the original agent platform that generated the target mobile agent, information about the target mobile agent ( For example, version information, distribution name, etc.) and class list information. Here, the class list information is information about various objects (eg, instances) required for operation on the migration agent.

예를 들어, 이주 에이전트는 하나 이상의 클래스를 이용하여 정의 및 생성될 수 있다. 즉, 이주 에이전트의 정의 및 각 기능들은 각각 클래스로 구현될 수 있고, 이러한 정보들은 클래스 리스트에 저장된다. For example, a migration agent can be defined and created using one or more classes. In other words, each migration agent's definition and each function can be implemented as a class, and this information is stored in the class list.

단계 115에서 타겟 에이전트 플랫폼은 이주 요청 메시지를 수신받으며, 당해 대상 이동 에이전트에 상응하는 오리지널 플랫폼을 분석하여 확인한다.In step 115, the target agent platform receives the migration request message, and analyzes and confirms the original platform corresponding to the target mobile agent.

예를 들어, 타겟 에이전트 플랫폼은 이주 요청 메시지에서 대상 이동 에이전트에 상응하는 오리지널 플랫폼에 대한 정보(예를 들어, 오리지널 플랫폼 식별 정보)를 추출한 후 캐싱 디렉토리를 검색하여 동일한 오리지널 플랫폼에 대한 정보가 존재하는지 여부를 확인한다.For example, the target agent platform extracts information about the original platform corresponding to the target mobile agent (for example, the original platform identification information) from the migration request message and then searches the caching directory to see if the information about the same original platform exists. Check whether or not.

그리고, 단계 120에서 타겟 에이전트 플랫폼은 당해 대상 이동 에이전트에 상응하는 배포판명을 분석한다.In operation 120, the target agent platform analyzes a distribution name corresponding to the target mobile agent.

예를 들어, 타겟 에이전트 플랫폼은 이주 요청 메시지에서 당해 대상 이동 에이전트에 상응하는 배포판명을 추출한 후 캐싱 디렉토리를 검색하여 해당 배포판명이 존재하는지 여부를 확인한다.For example, the target agent platform extracts the distribution name corresponding to the target mobile agent from the migration request message, and then searches the caching directory to check whether the distribution name exists.

단계 125에서 타겟 에이전트 플랫폼은 요청할 코드리스트를 생성한다.In step 125, the target agent platform generates a code list to request.

예를 들어, 타겟 에이전트 플랫폼은 오리지널 플랫폼에 대한 정보 및 배포판명을 분석한 후 소스 에이전트 플랫폼에 요청할 코드리스트를 생성한다.For example, the target agent platform analyzes the information and distribution name of the original platform and then generates a code list to request the source agent platform.

예를 들어, 대상 이동 에이전트가 이주했었다면, 타겟 에이전트 플랫폼은 당해 대상 이동 에이전트에 대한 정보(예를 들어, 클래스 리스트)가 저장되어 있다. 이로 인해, 타겟 에이전트 플랫폼은 대상 이동 에이전트에 상응하여 필요한 코드리스트(즉, 필요한 변경 혹은 보유하고 있지 않는 클래스 정보)를 생성하여 소스 에이전트 플랫폼에 요청할 수 있다.For example, if the target mobile agent has migrated, the target agent platform stores information about the target mobile agent (eg, class list). As a result, the target agent platform may generate a required code list (ie, class information that is not required or have no change) corresponding to the target mobile agent and request the source agent platform.

다른 예를 들어, 타겟 에이전트 플랫폼은 대상 이동 에이전트에 상응하여 존재하는 클래스리스트 정보를 소스 에이전트 플랫폼에 전송한 후 상이한 클래스리스트 정보만을 수신 받을 수도 있다.For another example, the target agent platform may receive only the different class list information after transmitting the class list information existing corresponding to the target mobile agent to the source agent platform.

단계 130에서 타겟 에이전트 플랫폼은 요청할 코드리스트를 포함하는 응답 메시지를 생성하여 소스 에이전트 플랫폼으로 전송한다.In step 130, the target agent platform generates a response message including a code list to request and transmits it to the source agent platform.

단계 135에서 소스 에이전트 플랫폼은 응답 메시지에서 코드리스트를 획득한후 이에 상응하는 코드 정보를 추출하여 타겟 에이전트 플랫폼으로 전송한다.In step 135, the source agent platform obtains a code list from the response message, extracts corresponding code information, and transmits the corresponding code information to the target agent platform.

이에 따라 타겟 에이전트 플랫폼은 대상 이동 에이전트의 상태 정보가 수신되면, 해당 대상 이동 에이전트를 등록한 후 실행한다. Accordingly, when the target agent platform receives the state information of the target mobile agent, the target agent platform registers and executes the target mobile agent.

도 3은 본 발명의 일 실시예에 따른 에이전트 플랫폼의 내부 구성 요소를 개략적으로 나타낸 블록도이며, 도 4는 본 발명의 일 실시예에 따른 방문 정보의 구조를 나타낸 도면이고, 도 5는 본 발명의 일 실시예에 따른 신뢰도 레벨 산출을 설명하기 위한 예시도면이며, 도 6은 본 발명의 일 실시예에 따른 캐싱 디렉토리의 구조를 나타낸 도면이다. 3 is a block diagram schematically showing internal components of an agent platform according to an embodiment of the present invention, FIG. 4 is a diagram illustrating a structure of visit information according to an embodiment of the present invention, and FIG. 5 is an embodiment of the present invention. 6 illustrates an example of a reliability level calculation according to an embodiment of the present disclosure, and FIG. 6 illustrates a structure of a caching directory according to an embodiment of the present invention.

도 3을 참조하면, 본 발명에 따른 에이전트 플랫폼(300)은 통신부(310), 에이전트 이주부(315), 에이전트 입주부(320), 에이전트 관리부(325), 빈도 산출부(330), 캐싱부(335), 보안부(340), 저장부(345) 및 제어부(350)를 포함한다.Referring to FIG. 3, the agent platform 300 according to the present invention includes a communication unit 310, an agent migration unit 315, an agent occupant unit 320, an agent manager 325, a frequency calculator 330, and a caching unit. 335, a security unit 340, a storage unit 345, and a control unit 350.

통신부(310)는 통신망을 통해 이동 에이전트들 또는 다른 에이전트 플랫폼과의 데이터를 송수신한다.The communication unit 310 transmits and receives data with mobile agents or other agent platforms through a communication network.

예를 들어, 통신부(310)는 다른 에이전트 플랫폼으로부터 이주 요청 메시지를 수신받아 출력할 수 있다. 또한, 통신부(310)는 제어부(350)의 제어에 의해 에이전트 이주부로부터 응답 메시지를 입력받아 통신망을 통해 다른 에이전트 플랫폼으로 전송할 수도 있다.For example, the communication unit 310 may receive and output a migration request message from another agent platform. In addition, the communication unit 310 may receive a response message from the agent migration unit under the control of the control unit 350 and transmit the response message to another agent platform through a communication network.

에이전트 이주부(315)는 이동 에이전트의 이주 요청에 따라 당해 이동 에이전트의 실행 중단을 제어하며, 해당 이동 에이전트에 대한 각 코드 버전 정보 및 이름 정보 등을 포함하는 이주 요청 메시지를 생성하여 타겟 에이전트 플랫폼으로 전송한다.The agent migration unit 315 controls the stop of execution of the mobile agent according to the migration request of the mobile agent, and generates a migration request message including each code version information and name information of the mobile agent to the target agent platform. send.

예를 들어, 임의의 이동 에이전트로부터 이주 요청이 수신(또는 입력)되면, 에이전트 플랫폼은 당해 이동 에이전트에 대한 정보, 각 코드의 버전 정보, 에이전트 플래폼 식별 정보, 오리지널 에이전트 식별 정보 등을 포함하는 이주 요청 메시지를 생성할 수 있다. 그리고, 에이전트 이주부(315)는 해당 이주 요청 메시지를 타겟 에이전트 플랫폼으로 전송한다.For example, when a migration request is received (or entered) from any mobile agent, the agent platform may request a migration request that includes information about the mobile agent, version information for each code, agent platform identification information, original agent identification information, and the like. You can create a message. The agent migration unit 315 then transmits the migration request message to the target agent platform.

에이전트 입주부(320)는 다른 에이전트 플랫폼으로부터 임의의 이동 에이전트에 대한 입주 요청이 수신되면(즉, 이주 요청 메시지가 수신되면), 입주를 위해 필요한 코드 리스트 정보를 생성하여 이주 응답 메시지를 생성하여 전송하는 기능을 수행한다.When the tenant 320 receives a move request for an arbitrary mobile agent from another agent platform (that is, when a migration request message is received), the agent mover 320 generates and transmits a migration response message by generating code list information necessary for moving in. It performs the function.

예를 들어, 에이전트 입주부(320)는 수신된 이주 요청 메시지에서 오리지널 에이전트 식별 정보 및 배포판 명을 추출하여 캐싱 디렉토리에 존재하는지 여부를 판단한다. 존재 여부에 따라 입주에 필요한 코드 리스트 정보가 상이하므로, 에이전트 입주부(320)는 존재 여부에 따라 필요한 코드 리스트 정보를 생성하여 이주 응답 메시지와 함께 소스 에이전트 플랫폼으로 전송할 수 있다.For example, the agent entering unit 320 extracts the original agent identification information and the distribution name from the received migration request message and determines whether the agent resides in the caching directory. Since the code list information required for moving in differs depending on the presence, the agent moving unit 320 may generate the necessary code list information according to the presence and transmit it to the source agent platform along with the migration response message.

에이전트 관리부(325)는 이동 에이전트의 라이프사이클(liftcycle)을 관리하는 기능을 수행한다. 즉, 에이전트 관리부(325)는 이동 에이전트의 등록, 실행, 삭제 등에 대한 전반적인 동작을 관리하는 기능을 수행한다. The agent manager 325 performs a function of managing a lifecycle of the mobile agent. In other words, the agent manager 325 performs a function of managing overall operations for registering, executing, and deleting the mobile agent.

또한, 에이전트 관리부(325)는 각 입주한 이동 에이전트에 대한 기본적인 정보를 이용하여 에이전트 방문 정보를 생성하여 관리한다.In addition, the agent manager 325 generates and manages agent visit information by using basic information on each mobile agent.

예를 들어, 에이전트 방문 정보는 도 4에 예시된 바와 같이, 오리지널 에이전트 플랫폼 정보, 가장 최근에 등록된(이주된) 에이전트 플랫폼에 대한 정보, 당해 이동 에이전트의 배포판 명, 이동 에이전트의 버전 정보, 당해 이동 에이전트가 에이전트 플랫폼에 최초로 등록된 입주일에 대한 정보, 이동 에이전트가 가장 최근에 에이전트 플랫폼에 이주(또는 등록)된 입주일에 대한 정보 및 방문 빈도 정보를 포함할 수 있다.For example, the agent visit information may include original agent platform information, information on the most recently registered (migrated) agent platform, distribution name of the mobile agent, version information of the mobile agent, and the like as illustrated in FIG. 4. The mobile agent may include information about a move-in date when the mobile agent is initially registered on the agent platform, information about a move-in date when the mobile agent is most recently migrated (or registered) to the agent platform, and visit frequency information.

예를 들어, 에이전트 관리부(325)는 통신부(310)로부터 임의의 이동 에이전트에 대한 이주 요청이 수신되면 당해 이동 에이전트가 에이전트 플랫폼(300)에 최초 방문인지 여부를 판단한다. 예를 들어, 에이전트 관리부(325)는 해당 이동 에이전트에 대한 방문 정보가 존재하는지를 판단하여 최초 방문인지 여부를 판단할 수 있다. 만일 최초 방문이라고 판단되면, 에이전트 관리부(325)는 해당 이동 에이전트에 대한 방문 정보를 생성한다. 그러나 만일 최초 방문이 아니라면, 에이전트 관리부(325)는 캐싱 디렉토리에서 당해 이동 에이전트에 대한 방문 정보를 획득하여 갱신한다.For example, when the agent management unit 325 receives a migration request for any mobile agent from the communication unit 310, the agent manager 325 determines whether the mobile agent is the first visit to the agent platform 300. For example, the agent manager 325 may determine whether the visit information for the corresponding mobile agent exists or not, or determine whether the visit is the first visit. If it is determined that the first visit, the agent manager 325 generates the visit information for the mobile agent. However, if it is not the first visit, the agent manager 325 obtains and updates visit information about the mobile agent from the caching directory.

또한, 에이전트 관리부(325)는 당해 에이전트 플랫폼과 통신망을 통해 연결된 다른 에이전트 플랫폼간의 신뢰도를 산출하여 저장한다.In addition, the agent manager 325 calculates and stores the reliability between the agent platform and another agent platform connected through a communication network.

이해와 설명의 편의를 도모하기 위해, 도 5를 참조하여 본 발명에 따른 에이전트 관리부(325)의 신뢰도 레벨 산출 방법에 대해 간략하게 설명하기로 한다. 본 명세서에서는 각 에이전트간의 신뢰도는 미리 설정되어 있는 것을 가정하기로 한다. 즉, 도 5에서 보여지는 바와 같이, 직접 연결된 에이전트 플랫폼간의 신뢰도는 미리 설정되어 있는 것으로 가정하기로 한다.For convenience of understanding and explanation, a method of calculating the reliability level of the agent manager 325 according to the present invention will be briefly described with reference to FIG. 5. In this specification, it is assumed that the reliability between the agents is set in advance. That is, as shown in Figure 5, it is assumed that the reliability between the directly connected agent platform is set in advance.

본 명세서에서는 하기 수학식1을 이용하여 각 에이전트 플랫폼간의 신뢰도를 각각 산출할 수 있다.In the present specification, the reliability between each agent platform may be calculated using Equation 1 below.

여기서, 에이전트 플랫폼에서 에이전트 플랫폼까지의 각 경로상에 존재하는 각 에이전트 플랫폼간의 신뢰도를 곱을 나타낸다.here, On the agent platform It represents the product of the reliability between each agent platform existing on each path to the agent platform.

예를 들어, 도 5의 (a)의 경우, 제1 에이전트 플랫폼에서 제3 에이전트 플랫폼까지의 경로가 하나이므로, 의 신뢰도는 로 산출된다. 그러나 도 5의 (b)와 같은 경우, 제1 에이전트 플랫폼에서 제4 에이전트 플랫폼까지의 경로가 두개이므로 간의 신뢰도는 로 산출된다.For example, in FIG. 5A, since there is only one path from the first agent platform to the third agent platform, The reliability of Is calculated. However, as shown in (b) of FIG. 5, since there are two paths from the first agent platform to the fourth agent platform, Liver reliability Is calculated.

본 명세서에서는 각 에이전트 플랫폼간의 신뢰도는 WTPL(Web of Trust based Platform List)를 이용하여 산출된다. 이는 당업자에게는 자명한 사항이므로 이에 대한 상세한 설명은 생략하기로 한다.In the present specification, the reliability between each agent platform is calculated using a WTPL (Web of Trust based Platform List). Since this is obvious to those skilled in the art, a detailed description thereof will be omitted.

빈도 산출부(330)는 이동 에이전트의 방문 정보를 이용하여 당해 이동 에이전트의 방문 빈도(PVF: Platform Visit Frequency)를 산출한다.The frequency calculator 330 calculates a platform visit frequency (PVF) of the mobile agent using the visit information of the mobile agent.

예를 들어, 빈도 산출부(330)는 하기 수학식2를 이용하여 당해 이동 에이전트에 대한 방문 빈도를 산출할 수 있다.For example, the frequency calculator 330 may calculate a visit frequency for the mobile agent using Equation 2 below.

여기서, MAVI는 이동 에이전트의 방문 정보로써, 이동 에이전트를 생성한 에이전트 플랫폼의 식별 정보인 원시 플랫폼 식별 정보(original platform ID), 가장 최근에 이주한 에이전트 플랫폼의 식별 정보인 최종 플랫폼 식별 정보(last platform ID), 이동 에이전트의 배포판 명(distribution name or agent release name), 이동 에이전트의 버전에 대한 정보인 버전(version), 이동 에이전트가 에이전트 플랫폼에 최초로 이주한 일시 정보(first immigration date-이하에서는 '최초 입주일'이라 칭함), 이동 에이전트가 가장 최근에 에이전트 플랫폼에 입주한 일시 정보(last immigration date-이하에서는 '최종 입주일'이라 칭함), 에이전트 플랫폼에 방문한 빈도 정보(visit frequency-이하에서는 '방문 빈도(visit_frequency)'라 칭함)를 포함한다.Here, MAVI is the visit information of the mobile agent, the original platform ID (original platform ID) that is the identification information of the agent platform that created the mobile agent, the last platform identification information (last platform ID) that is the identification information of the most recently migrated agent platform ), The distribution name or agent release name of the mobile agent, the version that is information about the mobile agent's version, and the date and time when the mobile agent first migrated to the agent platform (first immigration date or less). ), The date when the mobile agent last moved to the agent platform (last immigration date, hereinafter referred to as 'last move-in date'), and the frequency of visits to the agent platform (visit frequency, hereinafter called 'visit_frequency'). '.'

수학식 2에서 last_im_date는 최종 입주일이며, first_im_date는 최초 입주일을 나타내며, k는 이동 에이전트에 부여된 식별 정보를 나타낸다.In Equation 2, last_im_date is the last move-in date, first_im_date represents the first move-in date, and k represents identification information given to the mobile agent.

캐싱부(335)는 빈도 산출부(330)에 의해 산출된 방문 빈도 및 기저장된 신뢰도를 이용하여 당해 이동 에이전트에 대한 캐싱 레벨을 결정한다. 캐싱부(335)는 캐싱 레벨의 범위를 전체 시스템 및 네트워크 환경에 따라 임의로 조정할 수 있다. The caching unit 335 determines the caching level for the mobile agent by using the visit frequency calculated by the frequency calculator 330 and the previously stored reliability. The caching unit 335 may arbitrarily adjust the range of the caching level according to the overall system and the network environment.

본 명세서에서 캐싱 레벨은 지속 레벨(persistent level), 임시 레벨(temporary level), 순간 레벨(moment level)로 구분되어 있는 것을 가정하여 설명하기로 한다. 물론, 캐싱 레벨은 에이전트 플랫폼을 관리하는 관리자에 의해 본 명세서에서 기재된 3가지 캐싱 레벨 이외의 정책적으로 다양하게 구분될 수 있음은 당연하다.In the present specification, a caching level will be described on the assumption that it is divided into a persistent level, a temporary level, and a moment level. Of course, the caching levels may be variously classified in policy other than the three caching levels described herein by the administrator managing the agent platform.

지속 레벨은 이동 에이전트의 코드 정보를 에이전트 플랫폼에 지속적으로 저장하는 것으로 정의하기로 한다. The persistence level is defined as continuously storing code information of the mobile agent in the agent platform.

또한, 임시 레벨은 이동 에이전트의 코드 정보를 미리 설정된 일정 기간 동안 일시적으로 저장하는 것으로 정의하기로 한다.In addition, the temporary level is defined as temporarily storing code information of the mobile agent for a predetermined period of time.

또한, 순간 레벨은 이동 에이전트가 소멸되거나 이주되었을 때 에이전트 플랫폼에서 당해 이동 에이전트의 코드 정보를 즉각적으로 삭제하는 것으로 정의하기로 한다.In addition, the instantaneous level is defined as immediately deleting code information of the mobile agent from the agent platform when the mobile agent is destroyed or migrated.

보안부(340)는 이동 에이전트 및 에이전트 플랫폼을 공격(attack)으로부터 보호하기 위해 다양한 보안 서비스를 제공한다.The security unit 340 provides various security services to protect the mobile agent and the agent platform from attack.

저장부(345)는 본 발명에 따른 에이전트 플랫폼 또는 이동 에이전트들을 운용하기 위해 필요한 알고리즘(또는 소프트웨어) 등이 저장된다. 또한, 저장부(345)는 캐싱부(335)에 의해 결정된 캐싱 레벨에 따라 이동 에이전트에 대한 방문 정보 및 캐싱 디렉토리가 저장된다. 도 6에 이동 에이전트가 캐싱부(335)에 의해 결정된 캐싱 레벨에 따라 저장된 캐싱 디렉토리가 예시되어 있다.The storage unit 345 stores an algorithm (or software) necessary for operating the agent platform or mobile agents according to the present invention. In addition, the storage unit 345 stores the visit information and the caching directory for the mobile agent according to the caching level determined by the caching unit 335. 6 illustrates a caching directory in which a mobile agent is stored according to a caching level determined by the caching unit 335.

제어부(350)는 본 발명에 따른 에이전트 플랫폼(300)의 내부 기능 요소(예를 들어, 통신부(310), 에이전트 이주부(315), 에이전트 입주부(320), 에이전트 관리부(325), 빈도 산출부(330), 캐싱부(335), 보안부(340), 저장부(345) 등)를 제어하는 기능을 수행한다.The control unit 350 is an internal functional element of the agent platform 300 according to the present invention (for example, communication unit 310, agent migration unit 315, agent occupant 320, agent management unit 325, frequency calculation Unit 330, caching unit 335, security unit 340, the storage unit 345).

도 7은 본 발명의 일 실시예에 따른 이동 에이전트의 이주에 따른 에이전트의 코드 정보를 캐싱하는 방법을 나타낸 순서도이다. 이하에서 설명되는 각각의 단계는 에이전트 플랫폼(300)의 각각의 내부 기능 요소에 의해 수행되어지나 이해와 설명의 편의를 도모하기 위해 에이전트 플랫폼으로 통칭하여 설명하기로 한다. 7 is a flowchart illustrating a method of caching code information of an agent according to a migration of a mobile agent according to an embodiment of the present invention. Each step described below is performed by each internal functional element of the agent platform 300, but will be collectively described as an agent platform for the convenience of understanding and description.

단계 710에서 에이전트 플랫폼(300)은 소스 에이전트 플랫폼으로부터 대상 이동 에이전트의 이주 요청 메시지를 수신받는다. 이에 상응하여 에이전트 플랫폼(300)은 이주에 필요한 관련 프로세스를 수행한다. 에이전트 플랫폼(300)에서 임의의 이동 에이전트에 대한 이주 요청 메시지에 상응하는 이주 방법에 대해서는 도 1에서 이미 설명하였으므로 중복되는 설명은 생략하기로 한다. 이하에서는 에이전트 플랫폼(300)에 의해 대상 이동 에이전트에 대한 이주가 결정된 것을 가정하여 이후의 동작에 대해서 설명하기로 한다.In step 710, the agent platform 300 receives a migration request message of the target mobile agent from the source agent platform. Correspondingly, the agent platform 300 performs a related process required for migration. Since the migration method corresponding to the migration request message for any mobile agent in the agent platform 300 has already been described with reference to FIG. 1, duplicate description thereof will be omitted. Hereinafter, assuming that the migration to the target mobile agent is determined by the agent platform 300 will be described in the following operation.

단계 715에서 에이전트 플랫폼(300)은 대상 이동 에이전트가 당해 에이전트 플랫폼에 최초 방문인지 여부를 판단한다.In step 715, the agent platform 300 determines whether the target mobile agent is the first visit to the agent platform.

전술한 바와 같이, 에이전트 플랫폼(300)은 대상 이동 에이전트에 상응하는 방문 정보가 존재하는지 여부를 판단하여 당해 대상 이동 에이전트가 최초 방문인지 여부를 결정할 수 있다. As described above, the agent platform 300 may determine whether there is visit information corresponding to the target mobile agent and determine whether the target mobile agent is the first visit.

또한, 에이전트 플랫폼(300)은 이주 요청 메시지에서 당해 대상 이동 에이전트의 버전 정보 및 배포판 명을 추출한 후 캐싱 디렉토리에 상응하는 버전 정보 및 배포판 명이 존재하는지 여부를 판단하여 당해 대상 이동 에이전트가 최초 방문인지 여부를 결정할 수도 있다.In addition, the agent platform 300 extracts the version information and the distribution name of the target mobile agent from the migration request message, and then determines whether the target mobile agent is the first visit by determining whether the version information and the distribution name corresponding to the caching directory exist. May be determined.

만일 최초 방문이라고 결정되면, 단계 720에서 에이전트 플랫폼(300)은 당해 대상 이동 에이전트에 대한 방문 정보를 생성한다. 그리고, 당해 생성된 방문 정보를 캐싱 디렉토리에 저장한다.If it is determined that the first visit, the agent platform 300 generates visit information for the target mobile agent at step 720. The generated visit information is stored in a caching directory.

그러나 만일 최초 방문이 아니라고 결정되면, 단계 725에서 에이전트 플랫폼(300)은 당해 대상 이동 에이전트에 대한 방문 정보를 갱신하여 저장한다.However, if it is determined that this is not the first visit, then at step 725 the agent platform 300 updates and stores the visit information for the target mobile agent.

예를 들어, 에이전트 플랫폼(300)은 캐싱 디렉토리에서 당해 대상 이동 에이전트에 대한 방문 정보를 추출한다. 이어서, 에이전트 플랫폼(300)은 추출된 방문 정보에서 방문 빈도 정보를 갱신하여 캐싱 디렉토리에 저장한다.For example, agent platform 300 extracts visit information for the target mobile agent from the caching directory. Subsequently, the agent platform 300 updates the visit frequency information in the extracted visit information and stores it in the caching directory.

단계 730에서 에이전트 플랫폼(300)은 당해 에이전트 플랫폼(300)과 소스 에이전트 플랫폼간의 신뢰도를 산출한다.In step 730, the agent platform 300 calculates the reliability between the agent platform 300 and the source agent platform.

즉, 에이전트 플랫폼(300)은 전술한 방법에 의해 당해 에이전트 플랫폼(300)과 소스 에이전트 플랫폼간의 신뢰도를 산출할 수 있다.That is, the agent platform 300 may calculate the reliability between the agent platform 300 and the source agent platform by the above-described method.

단계 735에서 에이전트 플랫폼(300)은 대상 이동 에이전트의 방문 정보를 이용하여 당해 대상 이동 에이전트의 방문 빈도를 산출한다.In step 735, the agent platform 300 calculates the visit frequency of the target mobile agent by using the visit information of the target mobile agent.

단계 740에서 에이전트 플랫폼(300)은 산출된 신뢰도 및 방문 빈도를 이용하여 당해 대상 이동 에이전트에 대한 캐싱 레벨을 산출한다.In step 740, the agent platform 300 calculates a caching level for the target mobile agent using the calculated reliability and visit frequency.

그리고, 단계 645에서 에이전트 플랫폼(300)은 산출된 캐싱 레벨에 따라 대상 이동 에이전트의 코드 정보를 캐싱 디렉토리에 저장한다. 여기서, 코드 정보는 대상 이동 에이전트의 클래스리스트 정보일 수 있다.In operation 645, the agent platform 300 stores the code information of the target mobile agent in the caching directory according to the calculated caching level. Here, the code information may be class list information of the target mobile agent.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to a preferred embodiment of the present invention, those skilled in the art to which the present invention pertains without departing from the spirit and scope of the present invention as set forth in the claims below It will be appreciated that modifications and variations can be made.

Claims (14)

에이전트 플랫폼에서 이동 에이전트에 대한 정보를 캐싱하는 방법에 있어서,A method of caching information about a mobile agent on an agent platform, 이동 에이전트에 대한 이주 요청을 수신받는 단계;Receiving a migration request for the mobile agent; 상기 이주 요청된 이동 에이전트의 방문 빈도를 산출하는 단계;Calculating a visit frequency of the migration agent requested for migration; 상기 방문 빈도 및 신뢰도 레벨을 이용하여 캐싱 레벨을 결정하는 단계; 및Determining a caching level using the visit frequency and confidence level; And 상기 결정된 캐싱 레벨에 따라 상기 이동 에이전트에 대한 코드 정보를 저장하는 단계를 포함하는 캐싱 방법.Storing code information for the mobile agent according to the determined caching level. 제1 항에 있어서,According to claim 1, 상기 이동 에이전트가 최초 방문인지 여부를 판단하는 단계; 및Determining whether the mobile agent is an initial visit; And 최초 방문으로 결정되면, 상기 이동 에이전트에 대한 방문 정보를 생성하여 저장하는 단계를 더 포함하는 캐싱 방법.If determined to be the first visit, generating and storing visit information for the mobile agent. 제2 항에 있어서,The method of claim 2, 최초 방문이 아닌 경우 상기 이동 에이전트에 대한 방문 정보를 갱신하여 저장하는 단계를 더 포함하는 캐싱 방법.And if not the first visit, updating and storing the visit information for the mobile agent. 제3 항에 있어서,The method of claim 3, wherein 상기 이주 요청된 이동 에이전트의 방문 빈도를 산출하는 단계는,Computing the visit frequency of the mobile agent requested migration, 상기 방문 정보를 이용하여 상기 방문 빈도를 산출하는 것을 특징으로 하는 캐싱 방법.Caching method, characterized in that for calculating the visit frequency using the visit information. 제4 항에 있어서,The method of claim 4, wherein 상기 방문 정보는 오리지널 에이전트 플랫폼에 대한 식별 정보, 최종 방문된 에이전트 플랫폼에 대한 식별 정보, 배포명, 버전 정보, 최초 이주된 일시 정보, 최종 이주된 일시 정보 및 방문 횟수 정보 중 하나 이상을 포함하는 것을 특징으로 하는 캐싱 방법.The visit information includes one or more of identification information on the original agent platform, identification information on the last visited agent platform, distribution name, version information, date of first migration, date of last migration, and number of visits. A caching method characterized by the above. 제5 항에 있어서,The method of claim 5, 상기 방문 빈도는 하기 수학식을 이용하여 산출되는 것을 특징으로 하는 캐싱 방법.Caching method, characterized in that the visit frequency is calculated using the following equation. 여기서,k는 임의의 자연수이며, 는 상기 이동 에이전트의 방문 횟수 정보를 나타내고, 는 상기 이동 에이전트의 최종 이주된 일시 정보를 나타내며, 는 상기 이동 에이전트의 최초 이주된 일시 정보를 나타냄.Where k is any natural number, Represents visit count information of the mobile agent, Represents the last migrated date and time information of the mobile agent, Represents the first migrated date and time information of the mobile agent. 제1 항에 있어서,According to claim 1, 상기 캐싱 레벨은 상기 이동 에이전트의 코드를 지속적으로 저장할 것을 나타내는 지속 레벨(persistent level), 일시적으로 저장할 것을 나타내는 임시 레벨(temporary level) 및 소멸 후 삭제할 것을 나타내는 순간 레벨(moment level) 중 어느 하나인 것을 특징으로 하는 캐싱 방법.The caching level is any one of a persistent level indicating to continuously store the code of the mobile agent, a temporary level indicating to store temporarily, and a moment level indicating to delete after destruction. A caching method characterized by the above. 이동 에이전트에 대한 코드를 캐싱하는 에이전트 플랫폼에 있어서,In an agent platform that caches code for mobile agents, 신뢰도 및 하나 이상의 이동 에이전트에 대한 방문 정보를 저장하고 있는 저장부;A storage unit for storing the reliability and the visit information for the one or more mobile agents; 상기 이동 에이전트에 대한 이주 요청을 수신받는 통신부;A communication unit receiving a migration request for the mobile agent; 상기 이동 에이전트에 대한 방문 정보를 이용하여 방문 빈도를 산출하는 빈도 산출부; 및A frequency calculator configured to calculate a visit frequency by using the visit information on the mobile agent; And 상기 방문 빈도 레벨 및 신뢰도 레벨을 이용하여 캐싱 레벨을 결정하며, 상기 캐싱 레벨에 따라 상기 이동 에이전트의 코드 정보를 저장하는 캐싱부를 포함하는 에이전트 플랫폼.And a caching unit configured to determine a caching level by using the visit frequency level and the confidence level, and to store code information of the mobile agent according to the caching level. 제8 항에 있어서,The method of claim 8, 상기 이동 에이전트가 최초 방문인지 여부를 판단하고, 최초 방문으로 결정되면, 상기 이동 에이전트에 대한 방문 정보를 생성하여 저장하는 에이전트 관리부를 더 포함하는 에이전트 플랫폼.Determining whether the mobile agent is the first visit, and if determined as the first visit, the agent platform further comprises an agent management unit for generating and storing the visit information for the mobile agent. 제9 항에 있어서,The method of claim 9, 상기 에이전트 관리부는 상기 이동 에이전트가 최초 방문이 아니라고 결정되면, 상기 이동 에이전트에 대한 방문 정보를 추출하여 갱신하여 저장하는 것을 특징으로 하는 에이전트 플랫폼.And if the mobile agent determines that the mobile agent is not the first visit, extracts and updates the visit information for the mobile agent and stores the mobile agent. 제10 항에 있어서,The method of claim 10, 상기 빈도 산출부는 상기 이동 에이전트에 대한 방문 정보를 이용하여 방문 빈도를 산출하는 것을 특징으로 하는 에이전트 플랫폼.And the frequency calculator calculates a visit frequency using the visit information on the mobile agent. 제11 항에 있어서,The method of claim 11, wherein 상기 빈도 산출부는 하기 수학식을 이용하여 방문 빈도를 산출하는 것을 특징으로 하는 에이전트 플랫폼.The frequency calculator is an agent platform, characterized in that for calculating the visit frequency using the following equation. 여기서,k는 임의의 자연수이며, 는 상기 이동 에이전트의 방문 횟수 정보를 나타내고, 는 상기 이동 에이전트의 최종 이주된 일시 정보를 나타내며, 는 상기 이동 에이전트의 최초 이주된 일시 정보를 나타냄.Where k is any natural number, Represents visit count information of the mobile agent, Represents the last migrated date and time information of the mobile agent, Represents the first migrated date and time information of the mobile agent. 제8 항에 있어서,The method of claim 8, 캐싱 레벨은 상기 이동 에이전트의 코드를 지속적으로 저장할 것을 나타내는 지속 레벨(persistent level), 일시적으로 저장할 것을 나타내는 임시 레벨(temporary level) 및 소멸 후 삭제할 것을 나타내는 순간 레벨(moment level) 중 어느 하나인 것을 특징으로 하는 에이전트 플랫폼.The caching level is any one of a persistent level indicating to continuously store the code of the mobile agent, a temporary level indicating to store temporarily, and a moment level indicating to delete after destruction. Agent platform. 이동 에이전트의 이주에 상응하여 상기 이동 에이전트에 대한 정보를 캐싱하는 방법을 수행하기 위해 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 디지털 처리 장치에 의해 판독될 수 있는 프로그램이 기록된 기록매체에 있어서,In order to perform the method of caching information about the mobile agent in correspondence with the migration of the mobile agent, a program of instructions that can be executed by the digital processing device is tangibly implemented, and the program can be read by the digital processing device. In this recorded recording medium, 이동 에이전트에 대한 이주 요청을 수신받는 단계;Receiving a migration request for the mobile agent; 상기 이주 요청된 이동 에이전트의 방문 빈도를 산출하는 단계;Calculating a visit frequency of the migration agent requested for migration; 상기 방문 빈도 및 신뢰도 레벨을 이용하여 캐싱 레벨을 결정하는 단계; 및Determining a caching level using the visit frequency and confidence level; And 상기 결정된 캐싱 레벨에 따라 상기 이동 에이전트에 대한 코드 정보를 저장하는 단계를 실행하는 프로그램을 기록한 기록매체.And recording a program for executing code information for the mobile agent according to the determined caching level.
KR1020080028934A 2008-03-28 2008-03-28 Mobile Agent Caching Methods and Agent Platforms KR100931722B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080028934A KR100931722B1 (en) 2008-03-28 2008-03-28 Mobile Agent Caching Methods and Agent Platforms

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080028934A KR100931722B1 (en) 2008-03-28 2008-03-28 Mobile Agent Caching Methods and Agent Platforms

Publications (2)

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

Family

ID=41532917

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080028934A KR100931722B1 (en) 2008-03-28 2008-03-28 Mobile Agent Caching Methods and Agent Platforms

Country Status (1)

Country Link
KR (1) KR100931722B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104113599A (en) * 2014-07-22 2014-10-22 北京星网锐捷网络技术有限公司 Caching method and device and proxy server
KR20140145254A (en) * 2013-06-12 2014-12-23 삼성전자주식회사 User device including nonvolatile memory device and write method thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11103490A (en) 1997-09-26 1999-04-13 Toshiba Corp Mobile communication system and base station device for the same
JP2000347866A (en) * 1999-06-04 2000-12-15 Nec Corp Decentralized system and unit and method for access control, and recording medium where program for access control is recorded
JP4516707B2 (en) * 2001-07-10 2010-08-04 株式会社エヌ・ティ・ティ・ドコモ Network control apparatus, mobile communication system, and mobile communication network control method
KR20060062886A (en) * 2004-12-06 2006-06-12 주식회사 팬택 System for managing mobile communication terminals' history using a radio frequency identification

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140145254A (en) * 2013-06-12 2014-12-23 삼성전자주식회사 User device including nonvolatile memory device and write method thereof
US11860774B2 (en) 2013-06-12 2024-01-02 Samsung Electronics Co., Ltd. User device including a nonvolatile memory device and a data write method thereof
CN104113599A (en) * 2014-07-22 2014-10-22 北京星网锐捷网络技术有限公司 Caching method and device and proxy server
CN104113599B (en) * 2014-07-22 2017-06-23 北京星网锐捷网络技术有限公司 A kind of caching method, device and proxy server

Also Published As

Publication number Publication date
KR100931722B1 (en) 2009-12-14

Similar Documents

Publication Publication Date Title
EP2002343B1 (en) Multi-cache cooperation for response output caching
US8984058B2 (en) Pre-fetching remote resources
JP2020173840A (en) Efficient live migration of remotely accessed data
CN108228818A (en) Web page resources loading method and device, electronic equipment and storage medium
US20090024795A1 (en) Method and apparatus for caching data
US20210209179A1 (en) System and methods for dynamic generation of object storage datasets from existing file datasets
CN107710164B (en) Disaster recovery as a service
CN110334297A (en) Loading method, terminal, server and the storage medium of terminal page
CN109491928A (en) Buffer control method, device, terminal and storage medium
US20200014756A1 (en) Identifying data for deduplication in a network storage environment
KR100931722B1 (en) Mobile Agent Caching Methods and Agent Platforms
CN114579043A (en) I/O operations in an array of LOG structures
CN104580428A (en) Data routing method, data management device and distributed storage system
Wei et al. A self-tuning client-side metadata prefetching scheme for wide area network file systems
JP2021501936A (en) Preventing long-term transaction execution from holding record locks
JP2009187393A (en) Predictive cache method for caching frequently-accessed information in advance, system and program thereof
JP4607937B2 (en) Cache method and cache device
JP2004302564A (en) Name service providing method, execution device of the same, and processing program of the same
CN117561509A (en) Proxy service for controlling persistence, availability and dissemination of information provided to service workers
US20180052617A1 (en) Generating point-in-time copy commands for extents of data
KR101492255B1 (en) System, method and computer readable recording medium for recompiling plan cache in a database
US9733871B1 (en) Sharing virtual tape volumes between separate virtual tape libraries
US10705765B2 (en) Managing point-in-time copies for extents of data
CN110413215B (en) Method, apparatus and computer program product for obtaining access rights
KR102334093B1 (en) Apparatus and method for managing data

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