KR20090103371A - 이동 에이전트 캐싱 방법 및 에이전트 플랫폼 - Google Patents
이동 에이전트 캐싱 방법 및 에이전트 플랫폼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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing 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/08—Mobility data transfer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing 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)
- Mobile Radio Communication Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
이동 에이전트 캐싱 방법 및 에이전트 플랫폼이 개시된다. 본 발명의 일 실시예에 따르면, 에이전트 플랫폼에서 이동 에이전트에 대한 정보를 캐싱하는 방법에 있어서, 이동 에이전트에 대한 이주 요청을 수신받는 단계; 상기 이주 요청된 이동 에이전트의 방문 빈도를 산출하는 단계; 상기 방문 빈도 및 신뢰도 레벨을 이용하여 캐싱 레벨을 결정하는 단계; 및 상기 결정된 캐싱 레벨에 따라 상기 이동 에이전트에 대한 코드 정보를 저장하는 단계를 포함하는 캐싱 방법이 제공될 수 있다. 따라서, 본 발명에 의해, 플랫폼들간의 신뢰도 및 이동 에이전트의 방문 빈도에 기반하여 이동 에이전트를 캐싱할 수 있다.
Description
본 발명은 이동 에이전트에 관한 것으로, 보다 상세하게 플랫폼간의 신뢰 및 이동 에이전트의 방문 빈도에 기반하여 이동 에이전트를 캐싱하여 이동 에이전트의 성능을 향상시킬 수 있는 이동 에이전트 캐싱 방법 및 에이전트 플랫폼에 관한 것이다.
이동 에이전트는 네트워크(network) 상에서 노드와 노드 사이를 자유롭게 이동하며 사용자의 명령에 의해 특정 연산을 수행하는 기능을 수행하는 프로그램이다. 예를 들어, 인터넷상에서 정보를 자동적으로 수집해서 데이터베이스화하는 탐색 로봇도 이동 에이전트의 일종이다. 이와 같은 이동 에이전트는 네트워크 환경 변화에 동적이고 유연하게 적응하며, 비동기적으로 작업을 수행함으로써 대역폭이 낮은 네트워크 환경에서도 원활한 작업이 가능한 이점이 있다. 이와 같은 이동 에이전트의 특징은 정보 검색, 네트워크 관리, 전자상거래 등 다양한 분산 네트워크 환경에서 더욱 유용하게 활용될 수 있다.
이를 위해, 이동 에이전트들간의 통신이 근본적으로 전제되어야 함은 당연하다. 이동 에이전트들간의 통신을 위한 다양한 통신 모델들이 제시되었으며, 특히나 그룹 통신이 가장 널리 이용되는 방법으로 그룹을 구성하는 이동 에이전트들간에 투명한 메시지 전송을 보장한다.
본 발명은 플랫폼들간의 신뢰도 및 이동 에이전트의 방문 빈도에 기반하여 이동 에이전트를 캐싱할 수 있는 이동 에이전트 캐싱 방법 및 에이전트 플랫폼을 제공하기 위한 것이다.
또한, 본 발명은 네트워크 트래픽 및 이동 에이전트의 결빙 시간을 감소시킴으로써 이동 에이전트의 성능을 향상시킬 수 있는 이동 에이전트 캐싱 방법 및 에이전트 플랫폼을 제공하기 위한 것이다.
본 발명의 일 측면에 따르면, 에이전트 플랫폼에서 이동 에이전트의 방문 빈도에 따라 캐싱 레벨을 결정하여 코드 정보를 캐싱할 수 있는 방법 및 그 방법을 수행하기 위한 프로그램을 기록한 기록매체가 제공된다.
본 발명의 일 실시예에 따르면, 에이전트 플랫폼에서 이동 에이전트에 대한 정보를 캐싱하는 방법에 있어서, 이동 에이전트에 대한 이주 요청을 수신받는 단계; 상기 이주 요청된 이동 에이전트의 방문 빈도를 산출하는 단계; 상기 방문 빈도 및 신뢰도 레벨을 이용하여 캐싱 레벨을 결정하는 단계; 및 상기 결정된 캐싱 레벨에 따라 상기 이동 에이전트에 대한 코드 정보를 저장하는 단계를 포함하는 캐싱 방법이 제공될 수 있다.
상기 이동 에이전트가 최초 방문인지 여부를 판단하는 단계; 및 최초 방문으로 결정되면, 상기 이동 에이전트에 대한 방문 정보를 생성하여 저장하는 단계를 더 포함할 수 있다.
최초 방문이 아닌 경우 상기 이동 에이전트에 대한 방문 정보를 갱신하여 저장하는 단계를 더 포함할 수 있다.
상기 이주 요청된 이동 에이전트의 방문 빈도를 산출하는 단계는, 상기 방문 정보를 이용하여 상기 방문 빈도를 산출할 수 있다.
상기 방문 정보는 오리지널 에이전트 플랫폼에 대한 식별 정보, 최종 방문된 에이전트 플랫폼에 대한 식별 정보, 배포명, 버전 정보, 최초 이주된 일시 정보, 최종 이주된 일시 정보 및 방문 횟수 정보 중 하나 이상을 포함할 수 있다.
상기 방문 빈도(PVF: Platform Visit Frequency)는 하기 수학식을 이용하여 산출된다.
여기서,k는 임의의 자연수이며, 는 상기 이동 에이전트의 방문 횟수 정보를 나타내고, 는 상기 이동 에이전트의 최종 이주된 일시 정보를 나타내며, 는 상기 이동 에이전트의 최초 이주된 일시 정보를 나타낸다.
상기 캐싱 레벨은 상기 이동 에이전트의 코드를 지속적으로 저장할 것을 나타내는 지속 레벨(persistent level), 일시적으로 저장할 것을 나타내는 임시 레벨(temporary level) 및 소멸 후 삭제할 것을 나타내는 순간 레벨(moment level) 중 어느 하나이다.
본 발명의 다른 실시예에 따르면, 이동 에이전트의 이주에 상응하여 상기 이동 에이전트에 대한 정보를 캐싱하는 방법을 수행하기 위해 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 디지털 처리 장치에 의해 판독될 수 있는 프로그램이 기록된 기록매체에 있어서, 이동 에이전트에 대한 이주 요청을 수신받는 단계; 상기 이주 요청된 이동 에이전트의 방문 빈도를 산출하는 단계; 상기 방문 빈도 및 신뢰도 레벨을 이용하여 캐싱 레벨을 결정하는 단계; 및 상기 결정된 캐싱 레벨에 따라 상기 이동 에이전트에 대한 코드 정보를 저장하는 단계를 실행하는 프로그램을 기록한 기록매체가 제공될 수 있다.
본 발명의 다른 측면에 따르면, 이동 에이전트의 방문 빈도에 따라 캐싱 레벨을 결정하여 코드 정보를 캐싱할 수 있는 에이전트 플랫폼이 제공된다.
본 발명의 일 실시예에 따르면, 이동 에이전트에 대한 코드를 캐싱하는 에이전트 플랫폼에 있어서, 신뢰도 및 하나 이상의 이동 에이전트에 대한 방문 정보를 저장하고 있는 저장부; 상기 이동 에이전트에 대한 이주 요청을 수신받는 통신부; 상기 이동 에이전트에 대한 방문 정보를 이용하여 방문 빈도를 산출하는 빈도 산출부; 및 상기 방문 빈도 레벨 및 신뢰도 레벨을 이용하여 캐싱 레벨을 결정하며, 상기 캐싱 레벨에 따라 상기 이동 에이전트의 코드 정보를 저장하는 캐싱부를 포함하는 에이전트 플랫폼이 제공될 수 있다.
상기 이동 에이전트가 최초 방문인지 여부를 판단하고, 최초 방문으로 결정되면, 상기 이동 에이전트에 대한 방문 정보를 생성하여 저장하는 에이전트 관리부를 더 포함할 수 있다.
상기 에이전트 관리부는 상기 이동 에이전트가 최초 방문이 아니라고 결정되면, 상기 이동 에이전트에 대한 방문 정보를 추출하여 갱신하여 저장할 수 있다.
상기 빈도 산출부는 상기 이동 에이전트에 대한 방문 정보를 이용하여 방문 빈도를 산출할 수 있다.
상기 빈도 산출부는 하기 수학식을 이용하여 방문 빈도를 산출한다.
여기서,k는 임의의 자연수이며, 는 상기 이동 에이전트의 방문 횟수 정보를 나타내고, 는 상기 이동 에이전트의 최종 이주된 일시 정보를 나타내며, 는 상기 이동 에이전트의 최초 이주된 일시 정보를 나타낸다.
본 발명에 따른 캐싱 방법 및 에이전트 플랫폼을 제공함으로써, 플랫폼들간의 신뢰도 및 이동 에이전트의 방문 빈도에 기반하여 이동 에이전트를 캐싱하며, 안전한 이동 에이전트의 이주를 지원할 수 있는 효과가 있다.
또한, 본 발명은 네트워크 트래픽 및 이동 에이전트의 결빙 시간을 감소시킴으로써 이동 에이전트의 성능을 향상시킬 수 있는 효과도 있다.
도 1은 본 발명의 일 실시예에 따른 이동 에이전트의 이주 방법을 나타낸 순서도.
도 2는 본 발명의 일 실시예에 따른 이주 요청 메시지의 구조를 나타낸 도면.
도 3은 본 발명의 일 실시예에 따른 에이전트 플랫폼의 내부 구성 요소를 개략적으로 나타낸 블록도.
도 4는 본 발명의 일 실시예에 따른 방문 정보의 구조를 나타낸 도면.
도 5는 본 발명의 일 실시예에 따른 신뢰도 레벨 산출을 설명하기 위한 예시도면.
도 6은 본 발명의 일 실시예에 따른 캐싱 디렉토리의 구조를 나타낸 도면.
도 7은 본 발명의 일 실시예에 따른 이동 에이전트의 이주에 따른 에이전트의 코드 정보를 캐싱하는 방법을 나타낸 순서도.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제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을 이용하여 각 에이전트 플랫폼간의 신뢰도를 각각 산출할 수 있다.
여기서, 에이전트 플랫폼에서 에이전트 플랫폼까지의 각 경로상에 존재하는 각 에이전트 플랫폼간의 신뢰도를 곱을 나타낸다.
예를 들어, 도 5의 (a)의 경우, 제1 에이전트 플랫폼에서 제3 에이전트 플랫폼까지의 경로가 하나이므로, 의 신뢰도는 로 산출된다. 그러나 도 5의 (b)와 같은 경우, 제1 에이전트 플랫폼에서 제4 에이전트 플랫폼까지의 경로가 두개이므로 간의 신뢰도는 로 산출된다.
본 명세서에서는 각 에이전트 플랫폼간의 신뢰도는 WTPL(Web of Trust based Platform List)를 이용하여 산출된다. 이는 당업자에게는 자명한 사항이므로 이에 대한 상세한 설명은 생략하기로 한다.
빈도 산출부(330)는 이동 에이전트의 방문 정보를 이용하여 당해 이동 에이전트의 방문 빈도(PVF: Platform Visit Frequency)를 산출한다.
예를 들어, 빈도 산출부(330)는 하기 수학식2를 이용하여 당해 이동 에이전트에 대한 방문 빈도를 산출할 수 있다.
여기서, 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)은 산출된 캐싱 레벨에 따라 대상 이동 에이전트의 코드 정보를 캐싱 디렉토리에 저장한다. 여기서, 코드 정보는 대상 이동 에이전트의 클래스리스트 정보일 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (14)
- 에이전트 플랫폼에서 이동 에이전트에 대한 정보를 캐싱하는 방법에 있어서,이동 에이전트에 대한 이주 요청을 수신받는 단계;상기 이주 요청된 이동 에이전트의 방문 빈도를 산출하는 단계;상기 방문 빈도 및 신뢰도 레벨을 이용하여 캐싱 레벨을 결정하는 단계; 및상기 결정된 캐싱 레벨에 따라 상기 이동 에이전트에 대한 코드 정보를 저장하는 단계를 포함하는 캐싱 방법.
- 제1 항에 있어서,상기 이동 에이전트가 최초 방문인지 여부를 판단하는 단계; 및최초 방문으로 결정되면, 상기 이동 에이전트에 대한 방문 정보를 생성하여 저장하는 단계를 더 포함하는 캐싱 방법.
- 제2 항에 있어서,최초 방문이 아닌 경우 상기 이동 에이전트에 대한 방문 정보를 갱신하여 저장하는 단계를 더 포함하는 캐싱 방법.
- 제3 항에 있어서,상기 이주 요청된 이동 에이전트의 방문 빈도를 산출하는 단계는,상기 방문 정보를 이용하여 상기 방문 빈도를 산출하는 것을 특징으로 하는 캐싱 방법.
- 제4 항에 있어서,상기 방문 정보는 오리지널 에이전트 플랫폼에 대한 식별 정보, 최종 방문된 에이전트 플랫폼에 대한 식별 정보, 배포명, 버전 정보, 최초 이주된 일시 정보, 최종 이주된 일시 정보 및 방문 횟수 정보 중 하나 이상을 포함하는 것을 특징으로 하는 캐싱 방법.
- 제5 항에 있어서,상기 방문 빈도는 하기 수학식을 이용하여 산출되는 것을 특징으로 하는 캐싱 방법.여기서,k는 임의의 자연수이며, 는 상기 이동 에이전트의 방문 횟수 정보를 나타내고, 는 상기 이동 에이전트의 최종 이주된 일시 정보를 나타내며, 는 상기 이동 에이전트의 최초 이주된 일시 정보를 나타냄.
- 제1 항에 있어서,상기 캐싱 레벨은 상기 이동 에이전트의 코드를 지속적으로 저장할 것을 나타내는 지속 레벨(persistent level), 일시적으로 저장할 것을 나타내는 임시 레벨(temporary level) 및 소멸 후 삭제할 것을 나타내는 순간 레벨(moment level) 중 어느 하나인 것을 특징으로 하는 캐싱 방법.
- 이동 에이전트에 대한 코드를 캐싱하는 에이전트 플랫폼에 있어서,신뢰도 및 하나 이상의 이동 에이전트에 대한 방문 정보를 저장하고 있는 저장부;상기 이동 에이전트에 대한 이주 요청을 수신받는 통신부;상기 이동 에이전트에 대한 방문 정보를 이용하여 방문 빈도를 산출하는 빈도 산출부; 및상기 방문 빈도 레벨 및 신뢰도 레벨을 이용하여 캐싱 레벨을 결정하며, 상기 캐싱 레벨에 따라 상기 이동 에이전트의 코드 정보를 저장하는 캐싱부를 포함하는 에이전트 플랫폼.
- 제8 항에 있어서,상기 이동 에이전트가 최초 방문인지 여부를 판단하고, 최초 방문으로 결정되면, 상기 이동 에이전트에 대한 방문 정보를 생성하여 저장하는 에이전트 관리부를 더 포함하는 에이전트 플랫폼.
- 제9 항에 있어서,상기 에이전트 관리부는 상기 이동 에이전트가 최초 방문이 아니라고 결정되면, 상기 이동 에이전트에 대한 방문 정보를 추출하여 갱신하여 저장하는 것을 특징으로 하는 에이전트 플랫폼.
- 제10 항에 있어서,상기 빈도 산출부는 상기 이동 에이전트에 대한 방문 정보를 이용하여 방문 빈도를 산출하는 것을 특징으로 하는 에이전트 플랫폼.
- 제11 항에 있어서,상기 빈도 산출부는 하기 수학식을 이용하여 방문 빈도를 산출하는 것을 특징으로 하는 에이전트 플랫폼.여기서,k는 임의의 자연수이며, 는 상기 이동 에이전트의 방문 횟수 정보를 나타내고, 는 상기 이동 에이전트의 최종 이주된 일시 정보를 나타내며, 는 상기 이동 에이전트의 최초 이주된 일시 정보를 나타냄.
- 제8 항에 있어서,캐싱 레벨은 상기 이동 에이전트의 코드를 지속적으로 저장할 것을 나타내는 지속 레벨(persistent level), 일시적으로 저장할 것을 나타내는 임시 레벨(temporary level) 및 소멸 후 삭제할 것을 나타내는 순간 레벨(moment level) 중 어느 하나인 것을 특징으로 하는 에이전트 플랫폼.
- 이동 에이전트의 이주에 상응하여 상기 이동 에이전트에 대한 정보를 캐싱하는 방법을 수행하기 위해 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 디지털 처리 장치에 의해 판독될 수 있는 프로그램이 기록된 기록매체에 있어서,이동 에이전트에 대한 이주 요청을 수신받는 단계;상기 이주 요청된 이동 에이전트의 방문 빈도를 산출하는 단계;상기 방문 빈도 및 신뢰도 레벨을 이용하여 캐싱 레벨을 결정하는 단계; 및상기 결정된 캐싱 레벨에 따라 상기 이동 에이전트에 대한 코드 정보를 저장하는 단계를 실행하는 프로그램을 기록한 기록매체.
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 true KR20090103371A (ko) | 2009-10-01 |
KR100931722B1 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104113599A (zh) * | 2014-07-22 | 2014-10-22 | 北京星网锐捷网络技术有限公司 | 一种缓存方法、装置及代理服务器 |
KR20140145254A (ko) * | 2013-06-12 | 2014-12-23 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 사용자 장치 및 그것의 데이터 쓰기 방법 |
Family Cites Families (4)
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 | 分散システムとアクセス制御装置及び方法、並びにアクセス制御用プログラムを記録した記録媒体 |
JP4516707B2 (ja) * | 2001-07-10 | 2010-08-04 | 株式会社エヌ・ティ・ティ・ドコモ | ネットワーク制御装置、移動通信システム及び移動通信ネットワーク制御方法 |
KR20060062886A (ko) * | 2004-12-06 | 2006-06-12 | 주식회사 팬택 | 알에프아이디를 이용한 이동통신 단말기의 이력 관리 시스템 |
-
2008
- 2008-03-28 KR KR1020080028934A patent/KR100931722B1/ko not_active IP Right Cessation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140145254A (ko) * | 2013-06-12 | 2014-12-23 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 사용자 장치 및 그것의 데이터 쓰기 방법 |
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 (zh) * | 2014-07-22 | 2014-10-22 | 北京星网锐捷网络技术有限公司 | 一种缓存方法、装置及代理服务器 |
CN104113599B (zh) * | 2014-07-22 | 2017-06-23 | 北京星网锐捷网络技术有限公司 | 一种缓存方法、装置及代理服务器 |
Also Published As
Publication number | Publication date |
---|---|
KR100931722B1 (ko) | 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 (ja) | リモートアクセスされるデータの効率的なライブマイグレーション | |
US20090024795A1 (en) | Method and apparatus for caching data | |
US20210209179A1 (en) | System and methods for dynamic generation of object storage datasets from existing file datasets | |
CN110334297A (zh) | 终端页面的加载方法、终端、服务器及存储介质 | |
EP3620925A1 (en) | Disaster recovery as a service | |
US10574751B2 (en) | Identifying data for deduplication in a network storage environment | |
US20180218276A1 (en) | Optimizing Application Performance Using Finite State Machine Model and Machine Learning | |
JP2021501936A (ja) | トランザクションの長期実行がレコード・ロックを保持することの防止 | |
KR100931722B1 (ko) | 이동 에이전트 캐싱 방법 및 에이전트 플랫폼 | |
Wei et al. | A self-tuning client-side metadata prefetching scheme for wide area network file systems | |
JP5272428B2 (ja) | アクセス頻度の高い情報を事前にキャッシュする予測型キャッシュ方法、そのシステム及びそのプログラム | |
CN114579043A (zh) | Log结构阵列中的i/o操作 | |
US10788991B2 (en) | Managing program access to data storage resources | |
CN113900907A (zh) | 一种映射构建方法和*** | |
CN117573725A (zh) | 缓存数据处理方法、装置、电子设备及存储介质 | |
JP4607937B2 (ja) | キャッシュ方法及びキャッシュ装置 | |
US10168925B2 (en) | Generating point-in-time copy commands for extents of data | |
JP2004302564A (ja) | ネームサービス提供方法及びその実施装置並びにその処理プログラム | |
CN117561509A (zh) | 用于控制提供给服务工作方的信息的持久性、利用率和传播的代理服务 | |
KR101492255B1 (ko) | 데이터베이스의 플랜 캐시 재컴파일 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체 | |
US9733871B1 (en) | Sharing virtual tape volumes between separate virtual tape libraries | |
US20200142625A1 (en) | Data Management System for Storage Tiers | |
US20190087095A1 (en) | Managing point-in-time copies for extents of 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 |