KR19990077424A - 이동에이전트,이동에이전트가보유하는오브젝트,네트워크상의장소에존재하는이동에이전트를기초로자에이전트를생성하는방법,및이동에이전트가동일장소에존재하는다른이동에이전트의종류를식별하는방법 - Google Patents

이동에이전트,이동에이전트가보유하는오브젝트,네트워크상의장소에존재하는이동에이전트를기초로자에이전트를생성하는방법,및이동에이전트가동일장소에존재하는다른이동에이전트의종류를식별하는방법 Download PDF

Info

Publication number
KR19990077424A
KR19990077424A KR1019990004918A KR19990004918A KR19990077424A KR 19990077424 A KR19990077424 A KR 19990077424A KR 1019990004918 A KR1019990004918 A KR 1019990004918A KR 19990004918 A KR19990004918 A KR 19990004918A KR 19990077424 A KR19990077424 A KR 19990077424A
Authority
KR
South Korea
Prior art keywords
agent
gene
mobile agent
information
child
Prior art date
Application number
KR1019990004918A
Other languages
English (en)
Other versions
KR100338206B1 (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 포만 제프리 엘
Publication of KR19990077424A publication Critical patent/KR19990077424A/ko
Application granted granted Critical
Publication of KR100338206B1 publication Critical patent/KR100338206B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • G06F9/4868Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate with creation or replication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

높은 보안성을 유지하면서, 이동 에이전트 내에 유전 정보를 조합함으로써, 각 이동 에이전트가 이동 도중에서 자기의 선조나 자식이나 손자, 형제 등을 확인하여 분류하고(identifying), 이들과 유연하게 협조하여 작업을 행하게 한다.
이동 에이전트에 선조 유전자 정보와 자기 유전자 정보를 갖게 한다. 자기유전자 정보는 오리지널의 에이전트에 대해 몇 세대째인가를 나타내는 암호화된 정보이다. 이동 에이전트가 클론(clone)을 작성할 때(즉, 자 에이전트를 생성할 때), 자기의 세대+1의 유전자 정보를 작성하고, 이 정보를 그 자 에이전트에 조합한다. 네트워크 상을 이동하여 동일 장소에서 만난 이동 에이전트는 다른 이동 에이전트의 유전자 정보를 취득한다. 그리고, 일정한 변환을 행하여 자기들이 동일한 선조로부터 태어난 에이전트인 것을 확인한다.

Description

이동 에이전트, 이동 에이전트가 보유하는 오브젝트, 네트워크 상의 장소에 존재하는 이동 에이전트를 기초로 자 에이전트를 생성하는 방법, 및 이동 에이전트가 동일 장소에 존재하는 다른 이동 에이전트의 종류를 식별하는 방법{MOBILE AGENT, OBJECT HELD BY A MOBILE AGENT, METHOD FOR CREATING A CHILD AGENT BASED ON A MOBILE AGENT EXISTING IN A PLACE ON A NETWORK, AND METHOD FOR ALLOWING A MOBILE AGENT TO IDENTIFY THE KIND OF ANOTHER MOBILE AGENT EXISTING IN A SAME PLACE}
본 발명은 분산 컴퓨터 환경에 있어서 네트워크 상에 존재하는 원격 서버로 이동하고 상기 원격 서버에서 인스트럭션을 형성하는 이동 에이전트 기술에 관한 것으로, 보다 상세하게는 이동 에이전트를 원격 서버로 이동시키는 방식에 관한 것이다.
종래부터, 분산 컴퓨터 환경에 있어서, 네트워크 상에 존재하는 서버로 이동하고 인스트럭션을 형성하는 이동 에이전트(모빌 에이전트) 기술이 존재한다(특개평7-182174호 공보 USP5,603,031), 특표평7-509799호 공보(국제 출원 번호 PCT/ US94/07397, 국제 공개 번호: W097/02219), 「닛케이 커뮤니케이션 별책, 최신 인터넷 테크놀로지」 닛케이 BP사 pp104 -117, 니시다 후미히코, 후지와라 스스므 지음 등).
이러한 이동 에이전트는, 「이동 에이전트」와「장소」라는 2개의 기본 요소를 기초로 구성된다. 이 이동 에이전트는, 자기 자신의 내부 상태를 유지한 상태 그대로 네트워크 상에 존재하는 장소 사이를 이동할 수 있다. 그리고, 이 장소에서 다른 에이전트 (이동 에이전트 또는 비이동 에이전트)와 접촉해서 필요한 서비스를 받을 수 있다. 장소는, 네트워크 상에 존재하는 서버에 의해 제공되고 있는 에이전트의 이동 장소이고, 에이전트 간의 접촉을 지원하고, 하드웨어 및 플랫폼(platforms)의 차이를 흡수하고 있다.
이러한 이동 에이전트 기술은, 사내 회의의 셋팅을 사원의 스케줄이나 회의실의 예약 상황에 따라서 다이내믹하게 조정하거나, 네트워크 상에 분산되어 있는 원하는 정보를 입수하는 등, 지금까지 남의 손에 의해 이루어지고 있던 작업을 이 이동 에이전트가 대행하는 것을 가능하게 하고 있다.
또한, 본원의 출원 시에 있어서는 알려져 있지 않지만, 본원 출원인이 평성 9년 4월 10일에 출원한 특원평9-92091호 공보와 같이, 이동 에이전트의 복잡한 행동을 기본적 행동 패턴으로 분류하고, 그 조합에 의해, 이동 에이전트가 원하는 행동 패턴을 정의할 수 있는 템플릿(Moderator Template)을 제공하고, 이동 에이전트가 전전하는 각 장소에서 요청을 하는 액티비티를, 전임자(Predecessor : 전의 장소에서 일을 하는 액티비티)와 계승자(Successor : 다음 장소에서 일을 하는 액티비티)로서 관리하는 기술이 존재한다.
이 기술을 사용하면, 단순히 에이전트를 이동시키는 것 뿐만 아니라, 이동 에이전트 스스로 분할되거나 통합되어, 그 협조성에 의지하여 문제를 해결해 갈 수 있다. 그러나, 이 기술에 있어서는, 미리 결정된 협조 알고리즘(플랜)에만 그 모델이 적용되고, 사전에 결정된 한정된 협조 알고리즘을 도중에 다시 조합하거나, 새롭게 추가하는 등의 유연성이 있는 협조 문제 해결 수법에는 이르지 못하고 있다.
이것은 이동 에이전트가 자신이나 자신으로부터 작성된 클론 (자식이나 손자, 형제나 사촌 형제, 숙부 숙모 등)을 확인하여 분류하는 기능을 갖지 않기 때문에, 이동 에이전트가 분할또는 통합되는 경우 그 지표가 되는 ID 등에 의해 서로를 감정하고 확인 분류할 수 없는 것에 기인하고 있다.
또한 단순히 자기를 증명하는 것뿐이라면, 단순한 숫자 형식의 ID 등으로 그 존재를 증명하여 해결할 수 있게 되지만, 누구나 이해할 수 있는 것이라면, 예를 들면 악의가 있는 데이타로 교체되는 등 보안의 관점에서 문제가 되는 경우가 있다.
본 발명의 하나의 목적은 이동 에이전트 내에 유전 정보를 조합함으로써 각 이동 에이전트가 자기의 선조나 자식이나 손자, 형제 등을 확인하여 분류하는 구조를 제공하는 것이다.
본 발명의 다른 하나의 목적은 타인에게는 간단히 이해할 수 없는 보안성이 높은 유전자 정보를 제공하는 것이다.
본 발명의 다른 하나의 목적은 이동 도중에 유연하게 실행하는 일(job)을변경하는 것이 가능한 이동 에이전트를 제공하는 것이다.
본 발명의 다른 하나의 목적은 이동 에이전트를 방치하고 나서 결과가 돌아올 때까지 요하는 처리 시간을 단축하는 것이다.
이동 에이전트에 선조 유전자 정보와 자기 유전자 정보를 갖게 한다. 자기유전자 정보는 오리지널의 에이전트에 대해 몇 세대째인지를 나타내는 암호화된 정보이다. 이동 에이전트가 클론을 작성할 때(즉, 자 에이전트를 생성할 때), 자기의 세대+1의 유전자 정보를 작성하고, 이것을 그 자 에이전트에 조합한다. 네트워크 상을 이동하여 동일 장소에서 만난 이동 에이전트는, 다른 이동 에이전트의 유전자 정보를 취득한다. 그리고, 일정한 변환을 행하여 자기들이 동일한 선조로부터 태어난 에이전트인 것을 확인한다.
본 발명의 한 특징에 따르면,
네트워크 상의 장소에서 다른 이동 에이전트와 접촉하는 이동 에이전트에 있어서,
(a) 소정의 변환 논리에 의해 선조 유전자 정보와 세대 정보를 도출할 수 있는 자기 유전자 정보와,
(b) 상기 이동 에이전트에 대한 자 에이전트를 생성할 때에, 상기 자 에이전트에 내장되는 자 에이전트 유전자 정보로서, 소정의 변환 논리에 의해 상기 선조 유전자 정보와 세대 정보를 도출할 수 있는 자 에이전트 유전자 정보를 생성하는 유전자 변환 모듈과,
(c) 다른 에이전트로부터 취득한 유전자 정보를 변환한 결과가 상기 선조 유전자 정보에 대응하는지의 여부를 판단하는 유전자 비교 모듈
을 포함하는 이동 에이전트가 제공된다.
본원 명세서의 특허 청구 범위에 있어서, 「소정의 변환 논리(a predetermined conversion logic)」는 소정의 비트열의 반전뿐만 아니라, 암호화된 정보의 복호, 압축된 정보의 복원(decoding) 등도 포함하는 개념이다. 또한, 「세대 정보」는 특정한 선조로부터 몇 세대째라는 정보만이 아니라, 몇 세대째 이상이거나, 자기의 선조 중의 한 선조에 대해 다른 자손과 구별하기 위한 정보 (예를 들면, 본가 또는 분가인지, 특정한 형제의 자손인지 등)를 포함하는 개념이다.
본 발명의 다른 한 특징에 따르면,
네트워크 상의 장소에서 다른 이동 에이전트와 접촉하는 이동 에이전트가 보유하는 오브젝트에 있어서,
(a) 소정의 변환 논리에 의해 선조 유전자 정보를 도출하는 것이 가능한 자기 유전자정보와,
(b) 상기 이동 에이전트에 대한 자 에이전트를 생성할 때에, 상기 자 에이전트에 내장되는 자 에이전트 유전자 정보로서, 소정의 변환 논리에 의해 상기 선조 유전자 정보를 도출하는 것이 가능한 자 에이전트 유전자 정보를 생성하는 유전자 변환 모듈과,
(c) 다른 에이전트로부터 취득한 유전자 정보를 변환한 결과가 상기 선조 유전자 정보에 대응하는지의 여부를 판단하는 유전자 비교 모듈
을 포함하는 오브젝트가 제공된다.
본 발명의 다른 한 특징에 따르면,
네트워크 상의 장소에 존재하는 이동 에이전트를 기초로 자 에이전트를 생성하는 방법에 있어서,
(a) 자기 유전자 정보와 선조 유전자 정보를 기초로 상기 이동 에이전트의 세대 정보를 도출하는 단계와,
(b) 상기 도출된 세대 정보와 상기 선조 유전자 정보를 기초로 자 에이전트의 유전자 정보를 생성하는 단계와,
(c) 상기 생성된 자 에이전트의 유전자 정보와 상기 선조 유전자 정보를 포함하는 자 에이전트를 생성하는 단계
를 포함하는 자 에이전트 생성 방법이 제공된다.
본 발명의 다른 한 특징에 따르면,
네트워크 상의 장소에 존재하는 이동 에이전트가 상기 장소에 존재하는 다른 이동 에이전트의 종류를 식별하는 방법에 있어서,
(a) 상기 다른 이동 에이전트로부터 유전자 정보를 취득하는 단계와,
(b) 상기 취득한 유전자 정보를 소정의 논리에 의해 변환하는 단계와,
(c) 상기 변환된 결과가, 상기 이동 에이전트 내에 유지되어 있는 선조 유전자 정보에 대응하는지의 여부를 판단하는 단계
를 포함하는 다른 이동 에이전트 종류 식별 방법이 제공된다.
도 1은 본 발명에 의해 생성되는 이동 에이전트가 동작하는 분산 네트워크 환경을 나타내는 도면.
도 2는 본 발명의 바람직한 실시예에 따른 노드 시스템의 하드웨어 구성의 개관도.
도 3은 본 발명의 노드 시스템에 따른 처리 요소의 한 실시예를 나타내는 기능 블럭도.
도 4는 본 발명의 바람직한 실시예에 따라 생성되는 이동 에이전트군의 오브젝트도.
도 5는 본 발명의 바람직한 실시예에 따른 오브젝트 간의 메시지의 흐름을 나타낸 도면.
도 6은 본 발명의 자손 유전자 생성 논리(descendant gene creating logic)의 일례를 설명하는 도면.
도 7은 본 발명의 바람직한 실시예에 따른 오브젝트 간의 메시지의 흐름을 나타낸 도면.
도 8은 본 발명의 유전자 비교 논리의 일례를 설명하는 도면.
〈도면의 주요 부분에 대한 부호의 설명〉
100 : 노드 시스템
200 : 이동 에이전트
201 : 선조 유전자(Ancestor Gene)
203 : 자기 유전자(Self Gene)
205 : 비교 대상 유전자
211 : 자손 작성 모듈
213 : 유전자 변환 모듈
215 : 유전자 비교 모듈
300 : 에이전트 클래스
310 : 유전자 컨버터 클래스(Gene Converter Class)
320 : 유전자 비교 클래스
A. 개요
이하, 도면을 참조하여 본 발명의 실시예를 설명한다. 도 1을 참조하면, 본 발명에 의해 생성된 이동 오브젝트를 실행하는 분산 네트워크 환경(150)이 나타나있다. 각 서버(112∼117)에는 이동 에이전트(125, 135, 141) 등에 서비스를 부여하는 것이 가능한 장소(102∼107)가 준비되어 있다. 이 분산 네트워크 환경에서의 장소군은 클라우드라 불리고 있다.
클라이언트 시스템(101)에 있어서는, 이동 에이전트를 생성하기 위한 이동 에이전트 생성부(113)가 존재한다. 이동 에이전트 생성부(113)는 이동 에이전트(111)에 생성한 플랜을 건네 주고, 이동 에이전트는 그 플랜을 실행함으로써 지정된 장소를 이동해 갈 수 있다.
이동 에이전트(125) 등은 각 장소(102∼107)에 존재하는 다른 에이전트와 접촉하고 (이동 에이전트와 접촉하고, 서비스를 제공하는 에이전트를 특히 액터 에이전트라 함), 요청을 송출하고, 그 요청의 결과를 받을 수 있다. 장소는 에이전트 간의 접촉을 지원하고 있다. 또한, 이동 에이전트(125) 등은 액터 에이전트로부터 수령한 요청의 결과를 Result (139, 143, 153, 163)로서 유지하고, 이동을 계속할 수 있으므로, 이동 도중에서, 이 Result를 합성, 분할 등 여러가지로 가공하는 것도 가능하다.
본 발명의 바람직한 실시예에 있어서, 이동 에이전트의 이동, 분열 및 소멸은 모더레이터 템플릿(moderator templates; 181∼187)에 의해 제어되어 있고, 사용자는 그 처리 형태에 의해 여러가지의 템플릿을 조합하고, 도 2에 도시한 바와 같은 분할이나 융합을 포함하는 복잡한 작업을 간단히 정의할 수 있다.
B. 하드웨어 구성
도 2는 본 발명의 바람직한 실시예에 따른 각 노드 시스템의 하드웨어구성의 개관도이다. 노드 시스템(100)은 중앙 처리 장치(CPU: 1)와 메모리(4)를 포함하고 있다. CPU(1)와 메모리(4)는, 버스(2) 등을 통해 보조 기억 장치로서의 하드디스크 장치(13, 31)를 접속하고 있다. 플로피 디스크 장치(20) [또는 MO, CD-ROM 등의 매체 구동 장치(13, 26, 28, 29, 30)]는 플로피 디스크 컨트롤러(19) [또는, IDE 컨트롤러(25), SCSI 컨트롤러(27) 등의 각종 컨트롤러]를 통해 버스(2)에 접속되어 있다.
플로피 디스크 장치(20)[또는, MO, CD-ROM 등의 매체 구동 장치(26, 28, 29)]에는, 플로피디스크 (또는 MO, CD-ROM 등의 매체)가 삽입되고, 이 플로피 디스크 등이나 하드디스크 장치(13, 30), ROM(14) 등의 기억 매체에는, 오퍼레이팅 시스템과 협동하여 CPU 등에 명령을 주고, 본 발명을 실시하기 위한 컴퓨터 프로그램의 코드를 기록할 수 있어, 메모리(4)에 로드됨으로써 실행된다. 이 컴퓨터 프로그램의 코드는 압축하거나 복수로 분할하여 복수의 매체에 기록하는 것도 가능하다.
노드 시스템(100)은 사용자 인터페이스 하드웨어를 더 구비한 시스템으로 할 수 있고, 사용자 인터페이스 하드웨어로서는, 예를 들면 화면 위치 정보를 입력하기 위한 (마우스, 죠이스틱, 트랙볼 등의) 포인팅 디바이스(7), 키 입력을 서포트하는 키보드(6) 또는 이미지 데이타를 사용자에게 제시하기 위한 디스플레이(11, 12)가 있다. 또한, 스피커(23)는 오디오 컨트롤러(21)로부터 음성 신호를 앰프(22)를 통해 수신하여 음성으로서 출력한다.
본 발명의 노드 시스템(100)의 입력이 되는 GUI 플랜 노드 라이브러리(GUI plan node library; 후에 상술함)는 하드디스크(30)나 플로피 디스크(24) 등의 기억 매체에 저장되어 있고, SCSI 인터페이스(27) 등을 통해 시스템에 입력된다. 입력이 되는 GUI 플랜 노드 라이브러리는 다른 시스템의 데이타 베이스에 저장해 놓는 것도 가능하고, 이러한 경우에는 직렬 포트(15) 및 모뎀, 또는 토큰링 등의 통신 어댑터(18) 등을 통해 다른 컴퓨터 등과 통신을 행하고, 다른 시스템의 데이타 베이스에 액세스함으로써 취득할 수 있다.
이와 같이, 본 발명은 통상의 퍼스널 컴퓨터(PC)나 워크스테이션, 텔레비젼이나 FAX 등의 각종 가전 제품에 삽입된 컴퓨터 또는 이들의 조합에 의해 실시 가능함을 용이하게 이해할 수 있을 것이다. 단, 이들 구성 요소는 예시적이고, 그 모든 구성 요소가 본 발명의 필수의 구성 요소로 되는 것은 아니다. 특히, 본 발명은 이동 에이전트를 생성하는 것이기 때문에, 직렬 포트(15), 통신 어댑터 카드(18), 오디오 컨트롤러(21), 앰프(22), 스피커(23) 등의 구성 요소는 본 발명의 한 형태에 있어서는 필수의 것은 아니다.
오퍼레이팅 시스템으로서는 Windows(마이크로소프트사의 상표), OS/2 (IBM사의 상표), AIX(IBM 사의 상표) 상의 X-WINDOW 시스템 (X Consortium의 상표) 등의 표준으로 GUI 멀티윈도우 환경을 지원하는 것이 바람직하지만, 특정한 오퍼레이팅 시스템 환경에 한정되는 것은 아니다.
또한, 도 2는 스탠드 얼론 환경(stand alone environment)의 시스템을 나타내고 있지만, 클라이언트/서버 시스템으로서 본 발명을 실현하고, 클라이언트 머신은 서버 머신에 대해 이더넷, 토큰링 등으로 LAN 접속하고, 서버 머신 측에는 후술하는 플랜 분할부 등을 배치하고, 그 밖의 기능을 클라이언트 머신측에 배치하여도 좋다. 이와 같이, 서버 머신측과 클라이언트 머신측에 어떠한 기능을 배치할지는 설계 시에 자유롭게 변경할 수 있는 사항이고, 복수의 머신을 조합하고 이들에 어떠한 기능을 배분하고 실시할 지 등의 여러가지 변경은 본 발명의 사상에 포함되는 개념이다.
C. 시스템 내의 처리 요소
도 3은 노드 시스템(100)에 있어서의 처리 요소의 한 실시예를 나타내는 기능 블럭도이다. 에이전트(200)는 선조 유전자(201)와, 자기 유전자(203)를 유지하고, 다른 에이전트로부터 비교 대상 유전자(205)를 취득한다. 또한, 에이전트(200)는 자손 작성 모듈(211), 유전자 변환 모듈(213), 및 유전자 비교 모듈(215)을 구비하고 있다. 또한, 에이전트(200)는 다른 에이전트와 자기 유전자를 서로 교환하는 인터페이스를 구비하고 있다.
선조 유전자(201)는 그 에이전트의 선조(오리지널)를 특정하기 위한 정보이다. 본 발명의 바람직한 실시예에 있어서, 이 정보는 외부에 통지하거나 또는 스스로 위조할 수 없도록 보호되고 있다.
자기 유전자(203)는 그 에이전트 자신이 선조로부터 몇 세대째의 자손인지를 특정하기 위한 정보이다. 비교 대상 유전자(205)는 다른 에이전트(230)로부터 취득한 다른 에이전트(230)의 자기 유전자(233)의 정보이다.
자손 작성 모듈(211)은 자손을 작성하기 위한 모듈이다. 자손 작성 모듈(211)은 자기 유전자(203)를 변환에 의해 작성된 자 유전자(253)를 작성한 자 에이전트(250)에 끼워넣는다. 또한, 선조 유전자(201)도 자 에이전트(250)에 매립한다.
유전자 변환 모듈(213)은 자손 작성 모듈(211)이나 유전자 비교 모듈의 요구에 따라서 어떤 문자열인 유전자를 다른 유전자로 변환한다. 이것은 역변환이 가능한 변환이다. 유전자 비교 모듈(215)은 그 유전자에게 역변환을 반복함으로써 몇 세대째의 자손인지를 확인하여 분류할 수 있다.
유전자 비교 모듈(215)은 다른 에이전트로부터 유전자(205)를 입수하고, 그 유전자의 역변환을 반복함으로써, 공통되는 선조를 갖는 에이전트인지의 여부, 및 그 몇 세대째의 자손인지를 확인하여 분류할 수 있다.
D. 오브젝트 구성
도 4는 본 발명의 이동 에이전트(200)의 오브젝트도이다. 에이전트 클래스(300)의 클래스는 데이타 및 법(method)을 갖고 있다. 또한, 유전자 컨버터 클래스(310) 및 유전자 비교 클래스(320)의 각 클래스도 법을 갖고 있다.
본 발명의 바람직한 실시예에 있어서, 에이전트 클래스(300)는 선조 유전자정보(201: ancestor Gene) 및 자기 유전자 정보(203: self Gene)의 데이타를 갖고 있다. 또한, 선조 유전자 정보(201)나 자기 유전자 정보(203)를 얻기 위한 선조 유전자 취득(get ancestor Gene) 또는 자기 유전자 취득(get self Gene) 방법을 갖고 있다.
자 생성(create child) 방법은 자 에이전트를 생성하기 위한 방법이고, 클론 생성(create clone) 방법은 자신의 클론을 생성하기 위한 방법이다. 클론 생성(create clone) 방법은 인수(引數)로서 선조 유전자(ancestor Gene)와 자 에이전트의 자 유전자(child Gene)를 갖고 있다.
유전자 컨버터 클래스(310)는 유전자 정보를 세대에 따른 변환을 행하는 유전자 변환(convert Gene) 방법을 갖고 있다. 유전자 변환(convert Gene) 방법은 인수로서, 변환된 유전자 정보(gene)와 세대 정보(n)를 갖고 있다. 유전자 비교 클래스(320)는 유전자 정보의 비교를 행하는 유전자 비교(compare Gene) 방법을 갖고 있다. 이 유전자 비교(compare Gene) 방법은 인수로서 유전자 정보(gene)를 갖고 있다.
E. 자 에이전트의 작성
도 5는 본 발명의 바람직한 실시예에 따른 자 에이전트 작성 시의 각 클래스의 주요한 메시지 흐름을 나타내는 도면이다.
자 에이전트의 작성을 위한 자 생성(create Child) 방법이 호출되면, 우선 에이전트로부터 자기 유전자를 취득한다. 다음에, 자기가 현재 몇 세대째인지를 유전자 비교 클래스(320)에 조회한다.
그리고, 선조 유전자(201)를 취득하고, 유전자 컨버터 클래스(310)에 자 에이전트(250)의 유전자(253)의 작성을 의뢰한다. 이 때의 인수는 자기의 「세대+1」의 세대 정보와 선조 유전자 정보이다. 유전자 컨버터 클래스(310)로부터 자 에이전트(250)의 유전자(253)를 건네 주면, 이것과 선조 유전자 정보를 인수로 하여 클론의 작성을 행한다 (즉, 자신의 복사를 생성한다). 이에 따라 자 에이전트(250)가 생성된다.
도 6은 본 발명의 (자손의) 자기 유전자 생성 논리의 일례를 설명하는 도면이다. 이 예에 있어서는 설명을 간단하게 하기 위해, 16비트의 열로 설명하고 있다.
좌측의 8비트는 에이전트 패밀리에 공통인 ID이다. 본 발명의 바람직한 실시예에 있어서는, 이 ID는 글로벌한 네트워크 상에서 일의로 결정되는 고유 값으로 할당된다. 예를 들면, 인터넷의 URL, 포트 번호, 시리얼 No. (오리지널인 이동 에이전트를 생성할 때마다 할당함)를 합성하여 ID를 작성하여도 좋다.
우측의 8비트는 세대를 특정하기 위한 비트열이다. 이 예에 있어서, 오리지널인 에이전트 (시조 에이전트)에는, 「10101101」이라는 유전자 정보 (선조 유전자에게 일치)가 부여되어 있다. 그리고, 그 자식(1세대째)의 에이전트에는 우측의 8비트가 반전된「01010010」이라는 유전자 정보가 부여된다.
또한, 그 자식(손자 : 2세대째)의 에이전트에는 우측의 4비트가 반전된 「01011101」이라는 유전자 정보가 부여된다. 3세대째의 에이전트에는 우측의 2비트가 반전된 「01011110」이, 4세대째의 에이전트에는 우측의 1비트가 반전된「01011111」이라는 유전자 정보가 부여된다.
이 예에 있어서는, 4세대까지 관리할 수 있다. 단, 유전자 정보는 어떤 선조에 대해 자기가 몇 세대째인지, 그 선조의 자손인 것을 판단할 수 있기 위한 정보이면 좋고, 예를 들면 선조 유전자 정보와 세대 정보 (선조 유전자 정보만이어도 좋음)를 일정한 법칙으로 암호화한 정보여도 좋다.
F. 유전자의 비교
도 7은 본 발명의 바람직한 실시예에 따른 유전자의 비교 시의 각 클래스의 주요한 메시지 흐름을 나타내는 도면이다.
에이전트(200)는 동일 장소 상의 다른 에이전트에 자기 유전자의 인도를 요구한다(get self Gene). 얻은 유전자는 비교 대상 유전자(205)로서 저장된다. 본 발명의 바람직한 실시예에 있어서는, 우선 에이전트 패밀리 ID의 확인을 행한다. 그리고, 비교 대상 유전자(205)는 유전자 비교 클래스(320)에 건네지고, 세대의 확인이 행해진다.
유전자 비교 모듈(215)은 그 유전자를 역변환하고 선조 유전자와 비교한다. N회째에 일치하면 N세대 후의 자손이라고 확인되어 분류된다. 본 발명의 바람직한 실시예에 있어서, 이와 같이 자손이라고 확인하고 분류된 경우에는 유전자 비교 클래스(320)는 N을 돌려 주고, 그 밖의 경우 (소정의 횟수 변환을 행하였지만, 선조 유전자에게 일치하지 않는 경우, 즉 자손이 아니라고 판단된 경우)에는, 로우 값 등의 에러를 나타내는 정보를 돌려 준다.
도 8은 본 발명의 유전자의 역변환 논리의 일례를 설명하는 도면이다. 이 예에 있어서는, 도 6에 있어서 설명한 4세대째의 유전자가 사용되고 있다. 이 변환에 있어서도, 도 6일 때와 마찬가지로 우측 8비트, 4비트, 2비트, 1비트의 순서로 반전되고, 그 때마다 선조 유전자(201)와의 비교가 행해진다. 도면에 도시한 바와 같이, 4회째의 변환으로 선조 유전자(201)에 일치하는 것을 알 수 있다. 즉, 그 이동 에이전트가 공통의 선조를 갖고 있는 것과 그 선조로부터 몇 세대째의 자손인지를 식별할 수 있다.
이것과 마찬가지로, 1세대인 경우에는 「01010010」 => 「10101101」과 1회째의 변환으로 선조 유전자(201)에 일치하고, 2세대의 경우에는 「01011101」 => 「10100010」 => 「10101101」와 2회째의 변환으로 선조 유전자(201)에 일치하고, 3세대의 경우에는 「01011110」=>「10100001」 => 「10101110」 => 「10101101」 과 3회째의 변환으로 선조 유전자(201)에 일치한다.
이상 설명한 바와 같이, 본 발명에 따르면 높은 보안성을 유지하면서 이동 에이전트 내에 유전 정보를 조합함으로써 각 이동 에이전트가 이동 도중에서 자기의 선조나 자식이나 손자, 형제 등을 확인하여 분류하고 이들과 유연하게 협조하여 작업을 행하게 할 수 있다.

Claims (4)

  1. 네트워크 상의 장소에서 다른 이동 에이전트(mobile agent)와 접촉하는 이동 에이전트에 있어서,
    (a) 소정의 변환 논리에 의해 선조 유전자 정보(ancestor gene information)와 세대 정보를 도출할 수 있는 자기 유전자 정보와,
    (b) 상기 이동 에이전트에 대한 자 에이전트(child agent)를 생성할 때에, 상기 자 에이전트에 조합되는 자 에이전트 유전자 정보로서, 소정의 변환 논리에 의해 상기 선조 유전자 정보와 상기 세대 정보를 도출할 수 있는 자 에이전트 유전자 정보를 생성하는 유전자 변환 모듈과,
    (c) 다른 에이전트로부터 취득한 유전자 정보를 변환한 결과가 상기 선조 유전자 정보에 대응하는지의 여부를 판단하는 유전자 비교 모듈
    을 포함하는 이동 에이전트.
  2. 네트워크 상의 장소에서 다른 이동 에이전트와 접촉하는 이동 에이전트가 보유하는 오브젝트에 있어서,
    (a) 소정의 변환 논리에 의해 선조 유전자 정보를 도출할 수 있는 자기 유전자 정보와,
    (b) 상기 이동 에이전트에 대한 자 에이전트를 생성할 때에, 상기 자 에이전트에 조합되는 자 에이전트 유전자 정보로서, 소정의 변환 논리에 의해 상기 선조 유전자 정보를 도출할 수 있는 자 에이전트 유전자 정보를 생성하는 유전자 변환 모듈과,
    (c) 다른 에이전트로부터 취득한 유전자 정보를 변환한 결과가 상기 선조 유전자 정보에 대응하는지의 여부를 판단하는 유전자 비교 모듈
    을 포함하는 오브젝트.
  3. 네트워크 상의 장소에 존재하는 이동 에이전트를 기초로 자 에이전트를 생성하는 방법에 있어서,
    (a) 자기 유전자 정보와 선조 유전자 정보를 기초로 상기 이동 에이전트의 세대 정보를 도출하는 단계와,
    (b) 상기 도출된 세대 정보와 상기 선조 유전자 정보를 기초로 자 에이전트의 유전자 정보를 생성하는 단계와,
    (c) 상기 생성된 자 에이전트의 유전자 정보와 상기 선조 유전자 정보를 포함하는 자 에이전트를 생성하는 단계
    를 포함하는 자 에이전트 생성 방법.
  4. 네트워크 상의 장소에 존재하는 이동 에이전트가 그 장소에 존재하는 다른 이동 에이전트의 종류를 식별할 수 있게 하는 방법에 있어서,
    (a) 상기 다른 이동 에이전트로부터 유전자 정보를 취득하는 단계와,
    (b) 상기 취득한 유전자 정보를 소정의 논리에 의해 변환하는 단계와,
    (c) 상기 변환된 결과가, 상기 이동 에이전트 내에 보유되어 있는 선조 유전자 정보에 대응하는 지의 여부를 판단하는 단계
    를 포함하는 다른 이동 에이전트의 종류 식별 방법.
KR1019990004918A 1998-03-13 1999-02-11 이동 에이전트, 이동 에이전트가 보유하는 오브젝트,네트워크 상의 장소에 존재하는 이동 에이전트를 기초로 자에이전트를 생성하는 방법, 및 이동 에이전트가 동일 장소에존재하는 다른 이동 에이전트의 종류를 식별하는방법 KR100338206B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP06242098A JP3234808B2 (ja) 1998-03-13 1998-03-13 移動エージェント、移動エージェントが保有するオブジェクト、ネットワーク上のプレースに存在する移動エージェントを基に子エージェントを生成する方法、移動エージェントが同一プレースに存在する他の移動エージェントの種類を識別する方法
JP1998-062420 1998-03-13

Publications (2)

Publication Number Publication Date
KR19990077424A true KR19990077424A (ko) 1999-10-25
KR100338206B1 KR100338206B1 (ko) 2002-05-27

Family

ID=13199656

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990004918A KR100338206B1 (ko) 1998-03-13 1999-02-11 이동 에이전트, 이동 에이전트가 보유하는 오브젝트,네트워크 상의 장소에 존재하는 이동 에이전트를 기초로 자에이전트를 생성하는 방법, 및 이동 에이전트가 동일 장소에존재하는 다른 이동 에이전트의 종류를 식별하는방법

Country Status (5)

Country Link
US (1) US6615232B2 (ko)
EP (1) EP0942370B1 (ko)
JP (1) JP3234808B2 (ko)
KR (1) KR100338206B1 (ko)
DE (1) DE69928716T2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6856377B2 (en) 2000-08-11 2005-02-15 Nikon Corporation Relay image optical system, and illuminating optical device and exposure system provided with the optical system

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6931550B2 (en) 2000-06-09 2005-08-16 Aramira Corporation Mobile application security system and method
US7269845B1 (en) * 2000-06-09 2007-09-11 Aramira Corporation Mobile application security system and method
US7143441B2 (en) 2001-05-08 2006-11-28 Aramira Corporation Wireless device mobile application security system
US7065783B2 (en) 2001-07-06 2006-06-20 Aramira Corporation Mobile application access control list security system
US7735134B2 (en) * 2002-10-16 2010-06-08 Aramira Corporation Jumping application security system
US7861242B2 (en) * 2002-10-16 2010-12-28 Aramira Corporation Mobile application morphing system and method
US8108455B2 (en) * 2002-10-31 2012-01-31 Oracle America, Inc. Mobile agents in peer-to-peer networks

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5603031A (en) * 1993-07-08 1997-02-11 General Magic, Inc. System and method for distributed computation based upon the movement, execution, and interaction of processes in a network
US5619615A (en) * 1994-07-22 1997-04-08 Bay Networks, Inc. Method and apparatus for identifying an agent running on a device in a computer network
US6243480B1 (en) * 1998-04-30 2001-06-05 Jian Zhao Digital authentication with analog documents

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6856377B2 (en) 2000-08-11 2005-02-15 Nikon Corporation Relay image optical system, and illuminating optical device and exposure system provided with the optical system

Also Published As

Publication number Publication date
DE69928716T2 (de) 2006-07-20
EP0942370A1 (en) 1999-09-15
EP0942370B1 (en) 2005-12-07
US6615232B2 (en) 2003-09-02
DE69928716D1 (de) 2006-01-12
JP3234808B2 (ja) 2001-12-04
US20030084090A1 (en) 2003-05-01
JPH11282682A (ja) 1999-10-15
KR100338206B1 (ko) 2002-05-27

Similar Documents

Publication Publication Date Title
US5838918A (en) Distributing system configuration information from a manager machine to subscribed endpoint machines in a distrubuted computing environment
US10360194B2 (en) Systems and methods for real time data management in a collaborative environment
US8117661B2 (en) Encryption based silicon IP protection
JP4787617B2 (ja) アプリケーション特有のアクセス制御を別個のサーバを用いてサポートするための手法
KR100338206B1 (ko) 이동 에이전트, 이동 에이전트가 보유하는 오브젝트,네트워크 상의 장소에 존재하는 이동 에이전트를 기초로 자에이전트를 생성하는 방법, 및 이동 에이전트가 동일 장소에존재하는 다른 이동 에이전트의 종류를 식별하는방법
JPH04319774A (ja) Cad部品管理システム
US20060015514A1 (en) Information processing method and information processing apparatus
CN102402458A (zh) 具有非对称处理器核的系统上的虚拟机和/或多级调度支持
CN102884509A (zh) 覆盖人类交互证明系统和技术
CN100361037C (zh) 用于在数据处理系统中认证访问请求的方法与装置
CN103631636A (zh) 用于为商业服务器使能多个租用的方法及系统
CN1647040A (zh) 用于管理计算机系统的方法和系统
WO2011074362A1 (ja) 構成情報の取得が制限された構成要素を含むシステムの構成要素の構成情報を形成するためのシステム、プログラム、および方法
US20090249338A1 (en) Method and system to modify task in a workflow system
US7636711B2 (en) Extensible workflows
JP2000020428A (ja) ネットワーク管理システム
CN105741206A (zh) 行业报告动态生成系统和方法
JPH0850559A (ja) ファイル記憶保護装置
JP5543821B2 (ja) 暗号化装置、復号化装置、および経路探索システム
JP2004078535A (ja) 排他制御装置、方法及びプログラム
Santos et al. Integrating infrastructures for manufacturing a comparative analysis
US7617529B1 (en) Robust and flexible group structure
JP6846128B2 (ja) コンテンツ共有システム
Whittingham et al. The OpenWater Project-A substrate for process knowledge management tools
Koelsch The quest for open systems

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

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee