KR19980086624A - 동적 모빌 에이전트 - Google Patents

동적 모빌 에이전트 Download PDF

Info

Publication number
KR19980086624A
KR19980086624A KR1019980014076A KR19980014076A KR19980086624A KR 19980086624 A KR19980086624 A KR 19980086624A KR 1019980014076 A KR1019980014076 A KR 1019980014076A KR 19980014076 A KR19980014076 A KR 19980014076A KR 19980086624 A KR19980086624 A KR 19980086624A
Authority
KR
South Korea
Prior art keywords
component
dynamically
executable
agent
name
Prior art date
Application number
KR1019980014076A
Other languages
English (en)
Other versions
KR100290199B1 (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 KR19980086624A publication Critical patent/KR19980086624A/ko
Application granted granted Critical
Publication of KR100290199B1 publication Critical patent/KR100290199B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

모빌 에이전트의 동적 실행을 위한 개선된 방법 및 장치에 관한 것이다. 예를 들어, 실행될 콤포넌트의 심볼 이름은 에이전트가 방문할 필요가 있는 적절한 네트워크 호스트를 결정하기 위하여 콤포넌트 디렉토리를 사용하여 동적으로 분석될 수 있다. 바람직하게는, 콤포넌트 디렉토리는 클라이언트 또는 호스트 기계에 의해 문의되고 콤포넌트 호스트에 의해 갱신될 수 있다. 또한 콤포넌트의 위치 및/또는 이용가능성의 변경은 런타임으로 포착되고 에이전트는 동적으로 교체 콤포넌트 호스트로 경로배정될 수 있다. 또 다른 특징에 따르면 에이전트는 시스템의 다이내믹에 유연하게 순응할 수 있다. 예를 들어, 콤포넌트의 속성이 변경되거나, 또는 콤포넌트 호스트가 과도하게 로드되면, 에이전트는 동일한 콤포넌트에 대한 교체 호스트를 찾음으로써 그러한 변경에 적응할 수 있다. 또 다른 특징은 시스템의 관리가능성을 향상시킨다. 예를 들어, 콤포넌트 호스트는 언제든지 콤포넌트의 위치 및/또는 속성을 자유롭게 갱신할 수 있다. 갱신된 콤포넌트 위치에 탑재된 콤포넌트를 사용하는 에이전트에 대한 코드의 변경은 요구되지 않는다.

Description

동적 모빌 에이전트
본 발명은 모빌 에이전트의 동적 경로배정에 관한 것이다. 모빌 에이전트는 네트워크 호스트의 세트 상에서 실행되는 프로그램으로 쓰여질 수 있다. 에이전트는 그의 프로그램 부분을 실행하기 위하여 네트워크 호스트를 방문한다. 에이전트는, 예를 들어, 주어진 네트워크 상에 위치한 정보를 액세스할 필요가 있으며, 다양한 네트워크 호스트 상에서 그의 프로그램의 부분들을 실행함이 더 바람직할 수 있다.
종래 기술에서, 에이전트가 방문하는 호스트의 시퀀스는 에이전트 프로그램이 쓰여질 때 통계적으로 미리-구성된다. 예를 들어, White 등의 미국특허 제5,603,031호(1997년 2월 11일 등록) System and Method for Distributed Computation Based Upon the Movement, Execution, and Interaction of Processes in a Network에는 수신지 오브젝트로 구성된 수신지 리스트(destination list)에 에이전트의 일정(itinerary)을 정적으로 미리 구성하는 방법이 기재되어 있다. 각 수신지 오브젝트는 네트워크의 특정 영역으로 미리 할당된 텔레네임(telename)과 텔레어드레스(teleaddress)를 갖는다. 에이전트의 일정의 정적인 사전-구성(static pre-configuration)은 많은 약점을 가져온다. 먼저, 모빌 에이전트가 구성된 후 정보의 위치 또는 수신지 오브젝트가 변경되거나 네트워크 호스트를 이용할 수 없으면 작동하지 못하기 때문에, 사전-구성된 프로그램은 확고하지 못하다. 둘째로, 로드 증가로 인하여 네트워크 호스트가 부적합하게 될 수 있는 동적 환경에 사전-구성된 프로그램이 순응할 수 없다. 셋째로, 정보 또는 수신지 오브젝트를 사용하는 프로그램이 작동되도록 하면서 이들을 자유롭게 재배치 할 수 없으므로 시스템을 관리하는 것이 어려울 수 있다.
월드 와이드 웹의 URL=http://www.trl.ibm.co.jp/aglets/whitepaper.html에서 이용가능한 Lange 등의 IBM Aglets WorkBench--Programming Mobile Agents in Java에서, Lange 등은 복수의 교체 네트워크 호스트(multiple alternate network host)를 정적으로 구성하는 것을 제안하였다. 비록 복수의 교체 네트워크 호스트의 정적인 구성이 상기 단점들을 얼마간 완화할 수는 있지만, 이를 제거하지는 못한다.
따라서, 본 발명의 목적은 상기한 문제점을 개선할 수 있는 모빌 에이전트의 동적 실행 방법 및 장치를 제공하는 것이다.
도 1은 본 발명의 특징을 갖는 소결합(疎結合) 시스템의 일 예를 나타낸 도면.
도 2a는 도 1의 콤포넌트 디렉토리의 일 예를 나타내는 도면.
도 2b는 콤포넌트 디렉토리에서의 레코드의 일 예를 나타내는 도면.
도 2c는 도 1의 문의 서브시스템을 위한 로직의 일 예를 나타내는 도면.
도 2d는 도 1의 갱신 서브시스템을 위한 로직의 일 예를 나타내는 도면.
도 3은 도 1의 에이전트 퍼스널 어시스턴트를 위한 로직의 일 예를 나타내는 도면.
도 4는 도 1의 에이전트 실행 쉘을 위한 로직의 일 예를 나타내는 도면.
도 5는 에이전트의 구성, 경로배정, 실행을 위한 로직의 일 예를 나타내는 도면.
상기한 필요성에 따라, 본 발명은 모빌 에이전트의 동적 실행을 위한 개선된 방법 및 장치를 제공한다. 바람직한 실시예에서, 모빌 에이전트는 그 구성 콤포넌트에 대한 심볼 이름을 사용하여 쓰여진다. 심볼 이름은 기계의 물리적 주소, 기계의 논리적 주소, 콤포넌트(component)의 논리적 주소 중 하나일 수 있다.
본 발명은 에이전트가 방문할 필요가 있는 적절한 네트워크 호스트를 결정하기 위하여, 실행될 콤포넌트에 대한 심볼 이름이 콤포넌트 디렉토리를 사용하여 동적으로 분석될 수 있다는 특징을 갖는다. 바람직하게는, 콤포넌트 디렉토리는 클라이언트 또는 호스트 기계에 의해 문의되고 콤포넌트 호스트에 의해 갱신될 수 있다.
본 발명은 에이전트를 보다 강건하게 할 수 있다는 또 다른 특징을 갖는다. 예를 들어, 콤포넌트의 위치 및/또는 이용가능성의 변경을 실행시간(runtime)에 포착하고 에이전트들을 교체 콤포넌트 호스트로 동적으로 경로배정(routing)할 수 있다.
본 발명은 에이전트가 시스템의 다이내믹을 유연하게 수용할 수 있도록 하는 또 다른 특징을 갖는다. 예를 들어, 콤포넌트의 속성이 변경되거나, 또는 콤포넌트 호스트가 과도하게 로드되면, 에이전트는 동일 구성 요소에 대한 교체 호스트를 탐색함으로써 그러한 변경에 적응할 수 있다.
본 발명은 개선된 시스템 관리가 가능하다는 또 다른 특징을 갖는다. 예를 들어, 콤포넌트 호스트는 언제든지 콤포넌트의 위치 및/또는 속성을 자유롭게 갱신할 수 있다. 갱신된 콤포넌트 위치에 탑재되어 있는 콤포넌트를 사용하는 에이전트에 대한 부호의 변경을 필요로 하지 않는다.
이하, 본 발명의 실시예를 첨부한 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 특징을 갖는 시스템의 일 예를 나타낸다. 여기서, 소결합 시스템은 시스템에서 별개의 역할을 하는 컴퓨터들을 연결한다. OS2, UNIX, AIX 또는 윈도우 NT와 같은 종래의 운용 시스템을 실행할 수 있는 컴퓨터(102∼106)는, 통신 네트워크(108)와 통신 프로토콜에 의해 상호연결되어 있다. 통신 프로토콜은 예를 들어 UDP/IP 또는 TCP/IP의 어느 하나를 실행할 수 있는 Sun Microsystems RPC일 수 있다. 네트워크(108)는 LAN, 인터넷, 또는 인트라넷일 수 있다. 클라이언트(102)와 콤포넌트 호스트(104)는 IBM PC와 같은 종래의 퍼스널 컴퓨터(PC)로 구현될 수 있다. 디렉토리 서버(106)는 IBM RISC System/6000 machine과 같은 종래의 서버로 구현될 수 있다. 클라이언트(102)와 콤포넌트 호스트(104)간의 구별은 단지 논리적임에 유의해야 한다.
하나의 클라이언트(102)를 도시하였으나, 시스템에는 많은 클라이언트 기계들이 있을 수 있다. 에이전트는 클라이언트 기계 상에서 호출된다. 에이전트가 클라이언트 기계 상에서 착수될 때마다 호출되는 에이전트 퍼스널 어시스턴트(APA)(110)(상세한 사항은 도 3 참조)가 호출하는 소프트웨어 서브시스템에 의해 클라이언트 상에서 에이전트의 실행이 코디네이트(coordinate)된다.
각 컴퓨터 상에는, 네트워크를 통하여 통신하는데 사용하는, 운용 시스템에서의 TCP/IP 스택과 같은, 종래의 통신 시스템(112)이 있다. 시스템은 또한 콤포넌트 호스트(104)를 포함한다. 단지 하나만이 도시되어 있으나, 시스템에는 복수의 콤포넌트 호스트가 있을 수 있다. 콤포넌트 호스트(104)는 이 기계 상에서 실행되는 에이전트 프로그램에 의해 액세스될 수 있는 다수의 콤포넌트(124)를 저장한다. 콤포넌트는 애플릿(applets)과 서블릿(servelts)을 포함하는 하나 이상의 오브젝트 클래스로 간주될 수 있다. 그러나, 이 기술분야의 숙련자는 콤포넌트가 실행가능한 코드 유니트로 일반화될 수 있음을 알 수 있다. 본 발명에 따르면, 각 콤포넌트 호스트는, 임의의 에이전트에 의해 콤포넌트 실행을 위한 하나의 코디네이터(coordinator)로서 작용하는 에이전트 실행 쉘(120)(상세한 사항은 도 4 참조)이 호출하는 소프트웨어 서브시스템을 포함한다.
콤포넌트 호스트는 또한 로컬 콤포넌트(124)를 관리하는 콤포넌트 관리자(component manager)(122) 서브시스템을 갖는다. 종래의 콤포넌트 관리자의 일 예는 콤포넌트(124)를 다루고 로컬하게 관리하기 위한 오브젝트 저장소(store)이다. 그러한 것으로는 Object Design에 의해 상표명 OBJECTSTORE(http://www.odi.com)로 판매되고 있다. 콤포넌트 관리자(122)는 에이전트 실행 쉘(120)로 콤포넌트를 제공한다. 본 발명에 따르면, 콤포넌트(124) 특성을 문의하거나 갱신하기 위하여 디렉토리 서버(106)와 통신하도록 콤포넌트 관리자(122)가 변형된다. 콤포넌트 관리자(122)는 또한 새로운 콤포넌트를 추가하거나, 콤포넌트를 삭제하거나, 또는 콤포넌트 이름, 위치, 속성을 변경할 수도 있다. 콤포넌트 관리자(122)는 시스템 운영자(system administrator)의 제어 하에 명시적 형태로 콤포넌트 특성을 갱신할 수도 있다. 콤포넌트 관리자(122)는 또한 이용가능성과 콤포넌트 호스트상의 로드와 같은 동적 콤포넌트 속성을 주기적으로 갱신할 수도 있다.
시스템은 또한 디렉토리 서버(106)를 포함한다. 디렉토리 서버는 네스케이프의 DIRECTORY SERVER와 같은 임의의 LDAP 순응 서버일 수 있다. 이 기술분야의 숙련자는 상표명 DB2로 IBM에 의해서 판매되고 있는 것과 같은 표준 데이터베이스 관리 서버(DBMS)를 사용하여 동일한 기능을 실현시킬 수 있다. 또한 디렉토리 서버는 서로 협력하여 하나의 디렉토리 서버로 보이는 복수의 컴퓨터들로 구현될 수도 있다. 별개로 도시되어 있으나, 디렉토리 서버(106)는 콤포넌트 호스트(104)상에 탑재되거나 심지어 (충분한 성능 및 저장부를 갖는) 클라이언트에 탑재될 수도 있다.
도 2 내지 도 5를 참조하여 좀 더 구체적으로 후술하는 바와 같이, 디렉토리 서버와 콤포넌트 디렉토리(134)는 본 발명의 중요한 특징들을 제공한다. 예를 들어, 실행되기 위해 호출된(named) 콤포넌트의 심볼 이름은, 에이전트가 방문할 필요가 있는 적절한 콤포넌트 호스트(104)를 결정하기 위해 콤포넌트 디렉토리(134)를 사용하여 동적으로 분석될 수 있다. 바람직하게는, 콤포넌트 디렉토리는 클라이언트(102) 또는 콤포넌트 호스트(104)에 의해 문의되고 콤포넌트 호스트에 의해 갱신될 수 있다. 도 2a 및 도 2b를 참조하여 논의하는 바와 같이, 콤포넌트 디렉토리는 복수의 디렉토리 엔트리(202)(또한 '레코드'로도 불림)를 포함하는 종래의 관계 테이블로서 구현될 수 있다. 각 디렉토리 엔트리는 콤포넌트의 이름, 위치, 속성과 같은 콤포넌트 특성을 저장한다. 비록 바람직한 실시예는 종래의 DBMS로서 디렉토리 서버(106)의 기능을 구현하였으나, 이 기술분야의 숙련자는, 비-관계 테이블 또는 트리와 같은 다른 구조를 사용하여 본 발명이 구현될 수 있음을 알 수 있을 것이다.
도 1을 참조하면, 디렉토리 서버는 문의 서브시스템(130)과 갱신 서브시스템(132)을 포함한다. 도 2c를 참조하여 좀 더 상세히 논의될, 문의 서브시스템(130)은 클라이언트(102) 또는 콤포넌트 호스트(104)로 하여금 콤포넌트 디렉토리(134)의 내용을 문의하도록 한다. 도 2d를 참조하여 좀 더 상세히 논의될, 갱신 서브시스템(132)은 콤포넌트 호스트로 하여금 콤포넌트 디렉토리의 내용을 추가, 변경 또는 삭제하도록 한다.
도 2a는 콤포넌트 디렉토리(134)의 좀 더 구체적인 예를 나타낸다. 도 2b를 참조하여 설명되는 바와 같이, 콤포넌트 디렉토리(134)는 복수의 디렉토리 엔트리(202)를 포함한다.
도 2b는 디렉토리 엔트리(202)의 좀 더 구체적인 예를 나타낸다. 도시된 바와 같이, 각 디렉토리 엔트리(202)는 하나의 콤포넌트(124)의 특성 및 한 세트의 속성을 저장한다. 콤포넌트 속성은 제공되는 특징(feature)을 설명하는 속성 이름과 값의 쌍이다. 이 예에서, 각 엔트리(202)는 이름(203b), 위치(203a)와 같은 콤포넌트 특성(203a, ...203n)에 대한 복수의 속성 값들 및/또는 기계 구성 형태 또는 로드 지시자와 같은 콤포넌트의 다른 속성들(203c, ..., 203n)을 저장한다.
도 2c는 문의 서브시스템(130)을 위한 로직의 일 예를 나타낸다. 도시된 바와 같이, 단계 204에서, 클라이언트(102) 또는 콤포넌트 호스트(104)로부터의 문의 요구 메시지는 디렉토리 서버(106)의 문의 서브시스템(130)에 도달된다. 문의 요구 메시지는, 원하는 콤포넌트의 이름과 속성들을 포함하며, 바람직하게는 특정된 이름 및 속성에 일치하는, 리턴될 원하는 위치의 번호를 포함한다. 단계 206에서, 문의 서브시스템(130)은, 문의 요구 메시지에서 이름(203b)과 속성(203c, ..., 203n)에 일치하는 콤포넌트 위치(203a)의 요구된 번호를 콤포넌트 디렉토리(134)로부터 인출(retrieve)한다. 단계 208에서, 디렉토리 서버(106)는 요구중인 클라이언트(102) 또는 콤포넌트 호스트(104)로 인출된(retrieved) 콤포넌트 위치를 포함하는 문의 결과 메시지를 통신한다.
도 2d는 갱신 서브시스템(132)을 위한 로직의 일 예를 나타낸다. 도시된 바와 같이, 단계 220에서, 갱신 메시지는 콤포넌트 호스트(104)로부터 디렉토리 서버(106)의 갱신 서브시스템(132)에 도달한다. 단계 222에서, 갱신 서브시스템(132)은 갱신 메시지에 특정된 하나 이상의 디렉토리 엔트리(202)를 갱신(즉, 추가, 변경 또는 삭제)한다. 그 후 단계 224에서, 디렉토리 서버(106)는 요구중인 콤포넌트 호스트(104)로 긍정응답(acknowledgement)을 통신한다.
도 3은 에이전트 퍼스널 어시스턴트(110)를 위한 로직의 일 예를 나타낸다. 에이전트 퍼스널 어시스턴트(APA)(110)는 바람직하게는 에이전트가 클라이언트에 의해 착수될 때마다 호출된다. 단계 302에서, APA는 에이전트가 실행할 필요가 있는 첫 번째 콤포넌트의 이름과 속성을 결정하기 위해 에이전트를 검사한다. 단계 304에서, APA는 첫 번째 콤포넌트의 이름과 속성을 디렉토리 서버(106)에 문의하여 첫 번째 콤포넌트에 대한 콤포넌트 호스트(104)의 위치(203a)를 얻는다. 단계 306에서, APA는 예를 들어 콤포넌트 호스트가 실패 또는 네트워크 분할에 기인하여 도달할 수 없는지를 결정함으로써, 위치가 만족스러운지를 검사한다. 실패는, 예를 들어 콤포넌트 호스트 문의시 타임-아웃에 의해 나타날 수 있다. 위치가 만족스럽지 못하면, 프로세스는 단계 304로 돌아가서 APA가 다른 위치에 대한 콤포넌트 디렉토리(134)를 문의할 수 있다. 그리하여, 본 발명은 에이전트로 하여금 시스템의 다이내믹에 유연하게 순응할 수 있도록 한다. 콤포넌트 속성이 변경되거나, 또는 콤포넌트 호스트가 오버로드되면, 에이전트는 동일한 콤포넌트에 대한 교체 호스트를 검사함으로써 그러한 변경에 적응할 수 있다. 위치가 만족스러우면, 단계 308에서, APA는 그 위치로 에이전트를 보낸다. 이와 달리, 클라이언트에서 실행하기 위해 콤포넌트 호스트로부터 콤포넌트가 다운로드될 수 있다. 이 다른 실시예에서, 프로세스는 클라이언트가 모든 콤포넌트를 실행할 때까지 단계 302로 돌아간다. 단계 310에서, APA는 에이전트의 최종 콤포넌트를 실행한 콤포넌트 호스트로부터 완료 통지를 수신할 때까지 기다린다. 단계 312에서 완료 통지를 수신하자마자, 프로세스는 종료한다.
도 4는 에이전트 실행 쉘(AES)(120)을 위한 로직의 일 예를 나타낸다. 에이전트가 클라이언트 상에서 착수될 때마다 호출되는 APA(110)와 달리, AES 로직은 바람직하게는, 예를 들어 콤포넌트 호스트(104)의 데몬(daemon)으로서 실행되고 콤포넌트 호스트(104) 상에서의 모든 에이전트의 실행을 코디네이트한다. 단계 402에서, AES(120)는 에이전트가 도착하기를 기다린다. 단계 404에서, 에이전트가 도착하자마자, AES는 에이전트의 첫 번째 콤포넌트를 실행하고 에이전트로부터 이를 제거한다. 단계 406에서, AES는 이 에이전트가 실행할 필요가 있는 콤포넌트가 더 있는지를 결정한다. 그렇지 않다면, 단계 408에서, AES는 원래 클라이언트에게 완료 통지를 송신하고 프로세스는 단계 402를 반복한다. 단계 410에서 실행될 콤포넌트가 더 있으면, AES는 에이전트와 연관된 다음 콤포넌트의 이름과 속성을 결정한다. 단계 412에서, 콤포넌트 관리자(122)는 추가 이름과 속성을 디렉토리 서버(106)에 문의하여 상응하는 콤포넌트 위치를 얻는다. 단계 414에서, 예를 들어 실패에 기인하여, 위치가 도달될 수 없는지를 결정함으로써, 위치가 만족스러운지를 검사한다. 위치가 만족스럽지 못하면, 프로세스는 단계 412와 단계 414를 반복한다. 즉, AES는 만족스런 위치가 얻어질 때까지 반복적으로 콤포넌트 디렉토리를 문의하고 새로운 위치를 검사한다. 단계 416에서, 만족스런 위치를 얻으면, AES는 그 위치로 에이전트를 보낸다. 그 후 에이전트는 단계 402로 돌아가고 AES는 또 다른 에이전트가 도달되기를 기다린다. 다른 실시예에서, AES(120)는 다음 에이전트의 도착을 단순히 기다리는 동안 실제 콤포넌트 실행 및 에이전트 전송을 코디네이트하는 델리게이트(delegate)를 만들 수 있다.
도 5는 시스템에서 동적 모빌 에이전트의 구성, 경로배정, 실행을 위한 로직의 일 예를 나타낸다. 단지 예로서, 도시된 시스템은 클라이언트(102), 4개의 콤포넌트 호스트(104a∼104d), 하나의 디렉토리 서버(106)를 포함한다. 에이전트는 처음에 순서대로 실행될 4개의 콤포넌트 이름 A, B, C, D의 리스트(512)를 포함한다. 단계 522에서, 클라이언트(102)는 콤포넌트 A에 대한 디렉토리 서버(106)를 문의하여 단계 524에서 상응하는 위치(203a)의 값을 얻는다. 다음에, 클라이언트(102)는 콤포넌트 A에 대한 콤포넌트 호스트(104a)로 리스트(512)를 포함하는 에이전트를 보낸다. 호스트(104a)는 그 후 콤포넌트 A를 실행하고 콤포넌트의 에이전트 리스트(514)로부터 콤포넌트 A를 제거한다. 단계 526에서, 콤포넌트 호스트(104a)는 콤포넌트 B의 위치에 대한 디렉토리 서버(106)를 문의한다. 단계 528에서, 콤포넌트 호스트(104a)는 콤포넌트 B의 상응하는 위치(203a)의 값, 여기서는 호스트(104b)를 얻는다. 다음에, 콤포넌트 호스트(104a)는 콤포넌트 B에 대한 호스트(104b)로 갱신된 에이전트(514)를 보낸다. 단계 530∼536에서, 에이전트의 남은 콤포넌트들은 마찬가지로 콤포넌트 호스트(104b와 104c) 상에 위치되어 실행된다. 끝으로, 콤포넌트 호스트(104d)는 갱신된 에이전트(518)의 최종 콤포넌트를 실행하고 클라이언트(102)로 완료 통지(520)를 보낸다.
본 발명을 바람직한 실시예를 들어 설명한 이상, 다양한 변형 및 개선이 이 기술분야의 숙련자에 의해 이루어질 수 있다. 따라서, 바람직한 실시예는 제한이 아니라 예시로서 제공되었음을 이해하여야 한다. 본 발명의 범주는 첨부된 특허청구범위에 의해서 정해진다.
상술한 바와 같이, 본 발명은 콤포넌트 디렉토리를 사용하여 실행될 콤포넌트의 심볼 이름을 동적으로 분석하여, 에이전트가 방문할 필요가 있는 적절한 네트워크 호스트를 결정함으로써, 효율적으로 모빌 에이전트를 경로배정한다는 이점이 있다. 또한, 콤포넌트의 위치 및/또는 이용가능성의 변경을 실행시(run time)에 포착하고 에이전트들을 교체 콤포넌트 호스트로 동적으로 경로배정(routing)할 수 있으며, 에이전트가 시스템의 다이내믹을 유연하게 수용하도록 하며, 시스템 관리를 개선하는 효과가 있다.

Claims (23)

  1. 복수의 실행가능한 유닛을 포함하는 모빌 에이전트를 동적으로 경로배정하는 컴퓨터화된 방법에 있어서,
    (가) 실행가능한 유닛의 논리적 요건을 특정하는 이름과 속성을 결정하는 단계와,
    (나) 상기 이름과 속성의 기능으로서 하나 이상의 목표 위치를 동적으로 얻는 단계와,
    (다) 상기 실행가능한 유닛과 연관된 선택된 목표로 메시지를 통신하는 단계를 포함하는 모빌 에이전트의 동적 경로배정 방법.
  2. 제 1 항에 있어서, 상기 통신하는 단계는 상기 실행가능한 유닛을 실행하기 위해 상기 선택된 목표 위치로 에이전트를 보내는 단계를 포함하는 모빌 에이전트의 동적 경로배정 방법.
  3. 제 1 항에 있어서, 추가 실행가능한 유닛을 실행할 필요가 있는지를 결정하는 단계를 더 포함하는 모빌 에이전트의 동적 경로배정 방법.
  4. 제 1 항에 있어서, 상기 실행가능한 유닛은 콤포넌트 레퍼런스이고 상기 목표 위치는 콤포넌트 위치인 모빌 에이전트의 동적 경로배정 방법.
  5. 제 3 항에 있어서, 추가 실행가능한 유닛을 위해 단계 (가), (나), (다)를 반복하는 단계를 더 포함하는 모빌 에이전트의 동적 경로배정 방법.
  6. 제 1 항에 있어서, 상기 실행가능한 유닛은, 하나 이상의 오브젝트 클래스와, 애플릿과, 서블릿과, 한 블록의 실행가능한 인라인 코드(inline code)중에서 어느 하나인 모빌 에이전트의 동적 경로배정 방법.
  7. 제 1 항에 있어서, 상기 이름은 기계의 물리적 주소, 기계의 논리적 주소, 콤포넌트의 논리적 이름중 하나인 모빌 에이전트의 동적 경로배정 방법.
  8. 제 1 항에 있어서, 상기 속성은 기계 구성 형태, 로드 지시자, 한 세트의 제공되는 특징중의 하나인 모빌 에이전트의 동적 경로배정 방법.
  9. 제 1 항에 있어서, 상기 목표 위치는 콤포넌트 이름과 속성의 기능이고, 상기 동적으로 얻는 단계는 콤포넌트 디렉토리를 사용하여 콤포넌트 이름을 동적으로 분석하는 단계를 포함하는 모빌 에이전트의 동적 경로배정 방법.
  10. 제 1 항에 있어서, 상기 목표 위치가 이용불가능하거나 오버로드임을 동적으로 결정하는 단계와, 상기 이름과 상기 속성의 기능으로서 교체 목표 위치를 동적으로 결정하는 단계를 더 포함하는 모빌 에이전트의 동적 경로배정 방법.
  11. 제 1 항에 있어서, 변경된 목표 위치에서 실행가능한 유닛을 사용하는 상기 모빌 에이전트와 연관된 코드에서 어떠한 변경을 필요로 하지 않으면서, 하나 이상의 상기 목표 위치와 상기 속성을 동적으로 변경하는 단계를 더 포함하는 모빌 에이전트의 동적 경로배정 방법.
  12. 복수의 실행가능한 유닛을 포함하는 컴퓨터 네트워크에서 모빌 에이전트를 동적으로 경로배정하는 시스템에 있어서,
    (가) 실행가능한 유닛의 논리적 요건을 특정하는 이름과 속성을 결정하는 수단과,
    (나) 상기 결정하는 수단에 결합되어, 상기 이름과 속성의 기능으로서 디렉토리를 동적으로 문의함으로써 하나 이상의 목표 위치를 동적으로 얻는 수단과,
    (다) 상기 동적으로 얻는 수단에 결합되어, 상기 실행가능한 유닛과 연관된 선택된 목표로 메시지를 통신하는 수단을 포함하는 모빌 에이전트를 동적으로 경로배정하는 시스템.
  13. 제 12 항에 있어서, 상기 통신하는 수단은 상기 실행가능한 유닛을 실행하기 위해 상기 선택된 목표 위치로 에이전트를 보내는 수단을 포함하는 모빌 에이전트를 동적으로 경로배정하는 시스템.
  14. 제 12 항에 있어서, 추가 실행가능한 유닛을 실행할 필요가 있는지를 결정하는 수단을 더 포함하는 모빌 에이전트를 동적으로 경로배정하는 시스템.
  15. 제 12 항에 있어서, 상기 실행가능한 유닛은 콤포넌트 레퍼런스이고 상기 목표 위치는 콤포넌트 위치인 모빌 에이전트를 동적으로 경로배정하는 시스템.
  16. 제 14 항에 있어서, 추가 실행가능한 유닛을 위해서 (가), (나), (다) 수단이 반복적으로 실행되는 모빌 에이전트를 동적으로 경로배정하는 시스템.
  17. 제 12 항에 있어서, 상기 실행가능한 유닛은, 하나 이상의 오브젝트 클래스와, 애플릿과, 서블릿과, 한 블록의 실행가능한 인라인 코드(inline code)중에서 어느 하나인 모빌 에이전트를 동적으로 경로배정하는 시스템.
  18. 제 12 항에 있어서, 상기 이름은 기계의 물리적 주소, 기계의 논리적 주소, 콤포넌트의 논리적 이름중 하나인 모빌 에이전트를 동적으로 경로배정하는 시스템.
  19. 제 12 항에 있어서, 상기 속성은 기계 구성 형태, 로드 지시자, 한 세트의 제공되는 특징중의 하나인 모빌 에이전트를 동적으로 경로배정하는 시스템.
  20. 제 12 항에 있어서, 상기 목표 위치는 콤포넌트 이름과 속성의 기능이고, 상기 동적으로 얻는 수단은 콤포넌트 이름을 동적으로 분석하는 콤포넌트 디렉토리 수단을 더 포함하는 모빌 에이전트를 동적으로 경로배정하는 시스템.
  21. 제 12 항에 있어서, 상기 통신하는 수단은 상기 목표 위치가 이용불가능하거나 오버로드임을 동적으로 결정하는 수단을 포함하고, 상기 동적으로 결정하는 수단에 결합되어, 상기 이름과 상기 속성의 기능으로서 교체 목표 위치를 동적으로 결정하는 수단을 더 포함하는 모빌 에이전트를 동적으로 경로배정하는 시스템.
  22. 제 12 항에 있어서, 변경된 목표 위치에서 실행가능한 유닛을 사용하는 상기 모빌 에이전트와 연관된 코드에서 어떠한 변경도 필요로 하지 않으면서, 하나 이상의 상기 목표 위치와 상기 속성을 동적으로 변경하는 수단을 더 포함하는 모빌 에이전트를 동적으로 경로배정하는 시스템.
  23. 제 1 항 내지 제 3 항, 제 5 항, 제 10 항, 제 11 항중 어느 한 항에 따라 모빌 에이전트를 동적으로 경로배정하는 방법 단계를 수행하기 위하여 기계에 의해 실행가능한 명령어들의 프로그램을 유형적으로 구현하는, 기계에 의해 판독가능한, 프로그램 저장 장치.
KR1019980014076A 1997-05-01 1998-04-20 동적이동에이전트 KR100290199B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/847,079 US6055562A (en) 1997-05-01 1997-05-01 Dynamic mobile agents
US8/847,079 1997-05-01

Publications (2)

Publication Number Publication Date
KR19980086624A true KR19980086624A (ko) 1998-12-05
KR100290199B1 KR100290199B1 (ko) 2001-05-15

Family

ID=25299706

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980014076A KR100290199B1 (ko) 1997-05-01 1998-04-20 동적이동에이전트

Country Status (3)

Country Link
US (2) US6055562A (ko)
JP (1) JPH10320361A (ko)
KR (1) KR100290199B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100426135B1 (ko) * 2001-05-03 2004-04-08 인하대학교 산학협력단 이동 에이전트를 이용한 유ㆍ무선 인터넷 전자상거래 지원시스템

Families Citing this family (118)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393497B1 (en) * 1998-03-20 2002-05-21 Sun Microsystems, Inc. Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US6185611B1 (en) * 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
US6446070B1 (en) * 1998-02-26 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamic distributed computing over a network
US6466947B2 (en) * 1998-03-20 2002-10-15 Sun Microsystems, Inc. Apparatus and method for dynamically verifying information in a distributed system
US5928323A (en) * 1996-05-30 1999-07-27 Sun Microsystems, Inc. Apparatus and method for dynamically generating information with server-side software objects
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US6198738B1 (en) * 1997-04-16 2001-03-06 Lucent Technologies Inc. Communications between the public switched telephone network and packetized data networks
JPH1185524A (ja) * 1997-09-05 1999-03-30 Toshiba Corp 情報処理装置及び方法並びに情報処理プログラムを記録した記録媒体
US6256771B1 (en) * 1997-10-16 2001-07-03 At&T Corp. Method and apparatus for providing a dynamic service composition software architecture
US6999945B1 (en) 1998-01-29 2006-02-14 Automated Business Companies Multiple customer and multiple location PC service provider system
US20020059468A1 (en) * 1999-11-18 2002-05-16 Freeny Charles C. Split personal computer system
WO1999044296A2 (en) 1998-02-26 1999-09-02 Sun Microsystems, Inc. Apparatus and method for dynamically verifying information in a distributed system
CN1298503A (zh) * 1998-02-26 2001-06-06 太阳微系统公司 分布式系统中的动态查找服务
US20020046228A1 (en) * 1998-03-20 2002-04-18 Sun Microsystems, Inc. Method and system for facilitating access to a lookup service
US6477563B1 (en) * 1998-04-13 2002-11-05 Kabushiki Kaisha Toshiba Agent system and information processing method for same
DE69830386T2 (de) * 1998-04-17 2005-11-24 Motorola, Inc., Schaumburg Datenverarbeitungssystem und Verfahren dafür
US6219694B1 (en) 1998-05-29 2001-04-17 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device having a shared electronic address
US6779019B1 (en) 1998-05-29 2004-08-17 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device
US8516055B2 (en) 1998-05-29 2013-08-20 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device in a wireless data network
US6438585B2 (en) 1998-05-29 2002-08-20 Research In Motion Limited System and method for redirecting message attachments between a host system and a mobile data communication device
US7209949B2 (en) 1998-05-29 2007-04-24 Research In Motion Limited System and method for synchronizing information between a host system and a mobile data communication device
US6463463B1 (en) 1998-05-29 2002-10-08 Research In Motion Limited System and method for pushing calendar event messages from a host system to a mobile data communication device
US6553403B1 (en) * 1998-06-03 2003-04-22 International Business Machines Corporation System, method and computer program product for monitoring in a distributed computing environment
US6549932B1 (en) * 1998-06-03 2003-04-15 International Business Machines Corporation System, method and computer program product for discovery in a distributed computing environment
US6460070B1 (en) * 1998-06-03 2002-10-01 International Business Machines Corporation Mobile agents for fault diagnosis and correction in a distributed computer environment
US6694370B1 (en) * 1998-08-01 2004-02-17 International Business Machines Corporation Computerized method and system for implementing distributed applications
US6356964B1 (en) * 1998-08-31 2002-03-12 International Business Machines Corporation Method and apparatus for enabling location-independent and location-transparent interaction between a program and a user
US6286047B1 (en) * 1998-09-10 2001-09-04 Hewlett-Packard Company Method and system for automatic discovery of network services
US6356892B1 (en) * 1998-09-24 2002-03-12 International Business Machines Corporation Efficient implementation of lightweight directory access protocol (LDAP) search queries with structured query language (SQL)
US6622157B1 (en) * 1998-09-28 2003-09-16 Certeon, Inc. Extending network services using mobile agents
US6286028B1 (en) * 1998-12-01 2001-09-04 International Business Machines Corporation Method and apparatus for conducting electronic commerce
US6298478B1 (en) * 1998-12-31 2001-10-02 International Business Machines Corporation Technique for managing enterprise JavaBeans (™) which are the target of multiple concurrent and/or nested transactions
US6269373B1 (en) * 1999-02-26 2001-07-31 International Business Machines Corporation Method and system for persisting beans as container-managed fields
US7831689B2 (en) * 1999-04-02 2010-11-09 Nortel Networks Corporation Virtual private network manager GUI with links for use in configuring a virtual private network
US6765591B2 (en) * 1999-04-02 2004-07-20 Nortel Networks Limited Managing a virtual private network
US7000014B2 (en) * 1999-04-02 2006-02-14 Nortel Networks Limited Monitoring a virtual private network
US6701358B1 (en) * 1999-04-02 2004-03-02 Nortel Networks Limited Bulk configuring a virtual private network
NO992605L (no) * 1999-05-31 2000-12-01 Ericsson Telefon Ab L M Understöttelse for mobilitet i telekommunikasjonssystem
DE19930660A1 (de) * 1999-07-02 2001-01-11 Siemens Ag Verfahren zur Überwachung oder zur Installation neuer Programmcodes in einer industriellen Anlage
US6681243B1 (en) * 1999-07-27 2004-01-20 Intel Corporation Network environment supporting mobile agents with permissioned access to resources
JP3738624B2 (ja) * 1999-10-26 2006-01-25 日本電気株式会社 分散アプリケーション制御システム及び制御方法並びにプログラムを記録した記録媒体
US20030074301A1 (en) * 1999-11-01 2003-04-17 Neal Solomon System, method, and apparatus for an intelligent search agent to access data in a distributed network
US20020069134A1 (en) * 1999-11-01 2002-06-06 Neal Solomon System, method and apparatus for aggregation of cooperative intelligent agents for procurement in a distributed network
US20020055903A1 (en) * 1999-11-01 2002-05-09 Neal Solomon System, method, and apparatus for a cooperative communications network
US20020046157A1 (en) * 1999-11-01 2002-04-18 Neal Solomon System, method and apparatus for demand-initiated intelligent negotiation agents in a distributed network
FR2802676B1 (fr) * 1999-12-16 2002-02-08 Bull Sa Procede et dispositif de deploiement d'une supervision distribuee
JP3584831B2 (ja) * 2000-01-18 2004-11-04 日本電気株式会社 移動エージェントによる署名計算システムおよびプログラムを記録した記録媒体
US7092983B1 (en) 2000-04-19 2006-08-15 Silicon Graphics, Inc. Method and system for secure remote distributed rendering
US7783695B1 (en) * 2000-04-19 2010-08-24 Graphics Properties Holdings, Inc. Method and system for distributed rendering
US7337209B1 (en) 2000-04-28 2008-02-26 Sheer Networks, Inc. Large-scale network management using distributed autonomous agents
US20030037181A1 (en) * 2000-07-07 2003-02-20 Freed Erik J. Method and apparatus for providing process-container platforms
US6775671B1 (en) 2000-12-13 2004-08-10 William Marsh Rice University Component-based adaptation system and method
WO2002052798A2 (en) 2000-12-22 2002-07-04 Research In Motion Limited Wireless router system and method
US7296275B2 (en) * 2001-01-04 2007-11-13 Sun Microsystems, Inc. Method and system for passing objects in a distributed system using serialization contexts
CA2368404C (en) 2001-01-18 2005-08-09 Research In Motion Limited Unified messaging system and method
US20020152293A1 (en) * 2001-01-31 2002-10-17 Hahn Terry G. Dynamic server directory for distributed computing system
NL1017388C2 (nl) * 2001-02-16 2002-08-19 Marc Van Oldenborgh Organisch datanetwerk met een dynamische topologie.
US7082604B2 (en) * 2001-04-20 2006-07-25 Mobile Agent Technologies, Incorporated Method and apparatus for breaking down computing tasks across a network of heterogeneous computer for parallel execution by utilizing autonomous mobile agents
DE10122988A1 (de) * 2001-05-11 2002-11-14 Javexx Software Gmbh Telekommunikationssystem zur elektronischen Bereitstellung und Übertragung von Webseiten über ein Telekommunikationsnetz
US7743126B2 (en) * 2001-06-28 2010-06-22 Hewlett-Packard Development Company, L.P. Migrating recovery modules in a distributed computing environment
US20030051029A1 (en) * 2001-09-07 2003-03-13 Reedy Dennis G. Dynamic provisioning of sevice components in a distributed system
US7756969B1 (en) 2001-09-07 2010-07-13 Oracle America, Inc. Dynamic provisioning of identification services in a distributed system
US7660887B2 (en) 2001-09-07 2010-02-09 Sun Microsystems, Inc. Systems and methods for providing dynamic quality of service for a distributed system
CA2410118C (en) 2001-10-26 2007-12-18 Research In Motion Limited System and method for controlling configuration settings for mobile communication devices and services
EP1451984B1 (en) 2001-12-07 2006-09-06 Research In Motion Limited System and method of managing information distribution to mobile stations
EP1320217B1 (en) * 2001-12-14 2004-10-13 Hewlett-Packard Company, A Delaware Corporation Method of installing monitoring agents, system and computer program for monitoring objects in an IT network
WO2003071444A1 (en) * 2002-02-15 2003-08-28 Tridium, Inc. Component model for real time system control
US7676541B2 (en) * 2002-05-30 2010-03-09 Microsoft Corporation Peer communication channel partitioning
US7478233B2 (en) * 2002-05-30 2009-01-13 Microsoft Corporation Prevention of software tampering
US7043522B2 (en) * 2002-05-30 2006-05-09 Microsoft Corporation Unbounded computing space
US7634806B2 (en) * 2002-05-30 2009-12-15 Microsoft Corporation Peer assembly inspection
US7401117B2 (en) * 2002-06-10 2008-07-15 International Business Machines Corporation System and method for composite business interactions in electronic commerce
US7475107B2 (en) * 2002-07-08 2009-01-06 Electronic Evidence Discovery, Inc. System and method for managing distributed computer processes
US7370072B2 (en) * 2002-07-08 2008-05-06 Electronic Evidence Discovery, Inc. System and method for collecting electronic evidence data
US20040060054A1 (en) * 2002-09-20 2004-03-25 International Business Machines Corporation Composition service for autonomic computing
US7194445B2 (en) * 2002-09-20 2007-03-20 Lenovo (Singapore) Pte. Ltd. Adaptive problem determination and recovery in a computer system
US7043419B2 (en) * 2002-09-20 2006-05-09 International Business Machines Corporation Method and apparatus for publishing and monitoring entities providing services in a distributed data processing system
US7216343B2 (en) * 2002-09-20 2007-05-08 International Business Machines Corporation Method and apparatus for automatic updating and testing of software
US20040059704A1 (en) * 2002-09-20 2004-03-25 International Business Machines Corporation Self-managing computing system
US20080261633A1 (en) 2002-10-22 2008-10-23 Research In Motion Limited System and Method for Pushing Information from a Host System to a Mobile Data Communication Device
US7184995B2 (en) 2003-02-26 2007-02-27 America Online Inc. Data interoperability between open standard directory service and proprietary database
US7792874B1 (en) 2004-01-30 2010-09-07 Oracle America, Inc. Dynamic provisioning for filtering and consolidating events
US7922654B2 (en) 2004-08-09 2011-04-12 Boston Scientific Scimed, Inc. Fiber optic imaging catheter
US11819192B2 (en) 2004-03-23 2023-11-21 Boston Scientific Scimed, Inc. In-vivo visualization system
AU2005228956B2 (en) * 2004-03-23 2011-08-18 Boston Scientific Limited In-vivo visualization system
US20060053116A1 (en) * 2004-08-31 2006-03-09 Rits Maarten E Dynamic software updating using mobile agent AOP
US7823169B1 (en) 2004-10-28 2010-10-26 Wheeler Thomas T Performing operations by a first functionality within a second functionality in a same or in a different programming language
US7774789B1 (en) 2004-10-28 2010-08-10 Wheeler Thomas T Creating a proxy object and providing information related to a proxy object
US8266631B1 (en) 2004-10-28 2012-09-11 Curen Software Enterprises, L.L.C. Calling a second functionality by a first functionality
US7861212B1 (en) 2005-03-22 2010-12-28 Dubagunta Saikumar V System, method, and computer readable medium for integrating an original application with a remote application
US8578349B1 (en) 2005-03-23 2013-11-05 Curen Software Enterprises, L.L.C. System, method, and computer readable medium for integrating an original language application with a target language application
EP2565797B1 (en) 2005-04-18 2019-10-23 BlackBerry Limited Method For Providing Wireless Application Privilege Management
US7698685B2 (en) * 2005-10-12 2010-04-13 Microsoft Corporation Discovery, qualification, and activation of software add-in components
US7396306B2 (en) * 2005-11-21 2008-07-08 General Motors Corporation Multiplexed control system and method for an electrically variable hybrid transmission
US7810140B1 (en) 2006-05-23 2010-10-05 Lipari Paul A System, method, and computer readable medium for processing a message in a transport
US7844759B1 (en) 2006-07-28 2010-11-30 Cowin Gregory L System, method, and computer readable medium for processing a message queue
US7660780B1 (en) 2006-12-22 2010-02-09 Patoskie John P Moving an agent from a first execution environment to a second execution environment
US7949626B1 (en) * 2006-12-22 2011-05-24 Curen Software Enterprises, L.L.C. Movement of an agent that utilizes a compiled set of canonical rules
US7860517B1 (en) 2006-12-22 2010-12-28 Patoskie John P Mobile device tracking using mobile agent location breadcrumbs
US9311141B2 (en) 2006-12-22 2016-04-12 Callahan Cellular L.L.C. Survival rule usage by software agents
US8132179B1 (en) 2006-12-22 2012-03-06 Curen Software Enterprises, L.L.C. Web service interface for mobile agents
US7702604B1 (en) * 2006-12-22 2010-04-20 Hauser Robert R Constructing an agent that utilizes supplied rules and rules resident in an execution environment
US7702602B1 (en) * 2006-12-22 2010-04-20 Hauser Robert R Moving and agent with a canonical rule from one device to a second device
US7702603B1 (en) * 2006-12-22 2010-04-20 Hauser Robert R Constructing an agent that utilizes a compiled set of canonical rules
US8423496B1 (en) 2006-12-22 2013-04-16 Curen Software Enterprises, L.L.C. Dynamic determination of needed agent rules
US7660777B1 (en) * 2006-12-22 2010-02-09 Hauser Robert R Using data narrowing rule for data packaging requirement of an agent
US7698243B1 (en) * 2006-12-22 2010-04-13 Hauser Robert R Constructing an agent in a first execution environment using canonical rules
US8200603B1 (en) 2006-12-22 2012-06-12 Curen Software Enterprises, L.L.C. Construction of an agent that utilizes as-needed canonical rules
US7970724B1 (en) 2006-12-22 2011-06-28 Curen Software Enterprises, L.L.C. Execution of a canonical rules based agent
US7664721B1 (en) * 2006-12-22 2010-02-16 Hauser Robert R Moving an agent from a first execution environment to a second execution environment using supplied and resident rules
DE602007000681D1 (de) * 2007-01-19 2009-04-23 Sap Ag Verfahren und System zur sicheren Erweiterung des Weges eines Mobilagenten innerhalb eines Netzwerksystems
US20080243882A1 (en) * 2007-03-27 2008-10-02 International Business Machines Corporation Updating of link to data repository
US8179872B2 (en) 2007-05-09 2012-05-15 Research In Motion Limited Wireless router system and method
US20090082880A1 (en) * 2007-09-20 2009-03-26 Tridium Inc. Wireless device for a building control system
US9225778B2 (en) * 2008-05-07 2015-12-29 Telefonaktiebolaget L M Ericsson (Publ) System for delivery of content to be played autonomously
ES2327310B1 (es) * 2008-05-19 2010-07-21 Universitat Autonoma De Barcelona Metodo para la proteccion de plataformas de computacion frente a ataques externos de repeticion de agentes moviles y sistema de plataformas de computacion protegidas.
EP2359573B1 (en) 2008-12-18 2015-02-18 Telefonaktiebolaget L M Ericsson (publ) Method for content delivery involving a policy database
CN106250104B (zh) 2015-06-09 2019-08-20 阿里巴巴集团控股有限公司 一种针对服务器的远程操作系统、方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2044022A1 (en) * 1990-06-28 1991-12-29 Miriam A. Nihart Common agent computer management system and method
US5630121A (en) * 1993-02-02 1997-05-13 International Business Machines Corporation Archiving and retrieving multimedia objects using structured indexes
US5615400A (en) * 1993-06-30 1997-03-25 Apple Computer, Inc. System for object oriented dynamic linking based upon a catalog of registered function set or class identifiers
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
US5678045A (en) * 1993-12-06 1997-10-14 Digital Equipment Corporation Method and apparatus for multiscript access to entries in a directory
EP0712080B1 (en) * 1994-11-14 2002-03-06 Sun Microsystems, Inc. A method and a system for controlling functions of a target application using controllable objects
US5822585A (en) * 1995-02-21 1998-10-13 Compuware Corporation System and method for cooperative processing using object-oriented framework
US5793965A (en) * 1995-03-22 1998-08-11 Sun Microsystems, Inc. Method and apparatus for determining the type of an object in a distributed object system
US5802291A (en) * 1995-03-30 1998-09-01 Sun Microsystems, Inc. System and method to control and administer distributed object servers using first class distributed objects
US5740362A (en) * 1995-11-06 1998-04-14 International Business Machines Corporation Management of network distributed agents in a distributed computing environment
US5727147A (en) * 1995-12-08 1998-03-10 Sun Microsystems, Inc. System and method for resolving symbolic references to externally located program files
US5822526A (en) * 1996-06-03 1998-10-13 Microsoft Corporation System and method for maintaining and administering email address names in a network
US5963944A (en) * 1996-12-30 1999-10-05 Intel Corporation System and method for distributing and indexing computerized documents using independent agents

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100426135B1 (ko) * 2001-05-03 2004-04-08 인하대학교 산학협력단 이동 에이전트를 이용한 유ㆍ무선 인터넷 전자상거래 지원시스템

Also Published As

Publication number Publication date
KR100290199B1 (ko) 2001-05-15
US6055562A (en) 2000-04-25
US6115736A (en) 2000-09-05
JPH10320361A (ja) 1998-12-04

Similar Documents

Publication Publication Date Title
KR100290199B1 (ko) 동적이동에이전트
US6272523B1 (en) Distributed networking using logical processes
US6862593B2 (en) Separation of database transactions
EP0479660B1 (en) Distributed configuration profile for computing system
US5812779A (en) Storage medium and system for managing and distributing data objects of different types between computers connected to a network
EP0955761B1 (en) Method and server for accessing a network directory
US8489658B2 (en) Arrangement for a distributed file system having data objects mapped independent of any data object attribute
US7441007B1 (en) System and method for allowing applications to retrieve properties and configuration information from a persistent store
US7571206B2 (en) Transparent request routing for a partitioned application service
US20030028515A1 (en) Proxy processing method
JPH10154078A (ja) ネットワーク・サービスへのアクセス提供方法
JPH10240701A (ja) コンピュータ・ネットワークおよびサーバ間で作業負荷のバランスをとる方法
US20030093496A1 (en) Resource service and method for location-independent resource delivery
US7953875B2 (en) Distributed computer system for storing data items assigned to virtual directories
JP3842319B2 (ja) 情報検索システム
US7191453B2 (en) Discovery and integration of Jini services in non-Java clients
JP4038167B2 (ja) プログラムとユーザとの間で位置独立及び位置透過な相互対話を可能にする方法、データ構造及び実行シェル
Kuz et al. The globe infrastructure directory service
Hauck et al. A middleware architecture for scalable, QoS-aware, and self-organizing global services
US20070156751A1 (en) Layered data management
KR20010107137A (ko) 도메인 캐쉬를 이용한 도메인 정보 서비스 방법
KR100305981B1 (ko) 암시적에이전트재배치를사용하여원격네트워크콤포넌트에대한액세스를자동으로로컬라이징하는시스템및방법
KR0171382B1 (ko) 원격처리 요청 시스템의 원격처리 제어방법
Wang et al. A metadata framework for distributed geo-spatial databases in grid environment
JP2002082924A (ja) 分散サーバ制御方法及び装置ならびに分散サーバ制御プログラムを記録した記録媒体

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

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20140124

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20150127

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20160128

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20170125

Year of fee payment: 17

FPAY Annual fee payment

Payment date: 20180129

Year of fee payment: 18

EXPY Expiration of term