KR20000005680A - 분산컴퓨팅환경에서디스커버리를위한시스템,방법및컴퓨터프로그램제품 - Google Patents

분산컴퓨팅환경에서디스커버리를위한시스템,방법및컴퓨터프로그램제품 Download PDF

Info

Publication number
KR20000005680A
KR20000005680A KR1019990017819A KR19990017819A KR20000005680A KR 20000005680 A KR20000005680 A KR 20000005680A KR 1019990017819 A KR1019990017819 A KR 1019990017819A KR 19990017819 A KR19990017819 A KR 19990017819A KR 20000005680 A KR20000005680 A KR 20000005680A
Authority
KR
South Korea
Prior art keywords
discovery
computer network
given
agent
machine
Prior art date
Application number
KR1019990017819A
Other languages
English (en)
Other versions
KR100324977B1 (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 KR20000005680A publication Critical patent/KR20000005680A/ko
Application granted granted Critical
Publication of KR100324977B1 publication Critical patent/KR100324977B1/ko

Links

Classifications

    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • H04L41/048Network management architectures or arrangements comprising network management agents or mobile agents therefor mobile agents
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • 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
    • 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
    • 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)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 복수의 단말기를 서비스(service)하는 매니지먼트 서버(management server)에 관한 것으로, 특히 단말이 특정 작업 배치를 위한 후보인지를 결정하기 위해 실행되는 디스커버리 에이전트(discovery agent)에 관한 것이다. 큰 분산 엔터프라이즈(large distributed enterprise)는 복수의 단말기를 서비스하는 매니지먼트 서버를 포함하는 컴퓨팅 자원을 포함한다. 매니지먼트 인프라(management infrastructure)는 런타임 엔진이 주어진 단말기 상에 배치되는 것을 포함한다. 관리 서버에서 작업 배치 요청에 응답하여, 디스커버리 에이전트는 상기 컴퓨터 네트워크로 내보내어질 수 있다. 소프트웨어 에이전트가 상기 런타임 엔진(runtime engine)을 지원하는 주어진 기계에 도착할 때, 에이전트는, 단말이 특정 작업 배치를 위한 후보인지를 결정하기 위해 실행된다.

Description

분산 컴퓨팅 환경에서 디스커버리를 위한 시스템, 방법 및 컴퓨터 프로그램 제품{system, method and computer program product for discovery in a distributed computing environment}
본 발명은 큰 분산 컴퓨터 엔터프라이즈 네트워크(large distributed computer enterprise network)를 관리하는 것에 관한 것이며, 특히 네트워크 안에 배치되고 로칼 런타임 환경(local runtime environment)에서 실행되도록 적용되는 소프트웨어 콤포넌트를 선택적으로 사용하여 그 네트워크에서 디스커버리 동작(discovery operation)을 수행하는 것에 관한 것이다.
오늘날, 회사들은 그들의 모든 전산 자원을 회사 네트워크 상에 연결시키기를 원한다. 이 목적으로, 컴퓨터들을 큰, 지리학적으로 분산된 네트워크 환경 안에 연결하고 그러한 환경을 분산 방식으로 관리하는 것이 알려져 있다. 그러한 하나의 매니지먼트 프레임워크(management framework)는 다수의 노드를 관리하는 서버를 포함하고, 이 노드 각각은 로칼 노드에 특정한 객체 데이터를 저장하는 로칼 객체 데이터베이스를 가진다. 각 관리 노드(managed node)는, 원격 머시인(machine)에 대한 상당수(예를 들어 수백)의 동시적 네트워크 연결일 수 있는, 다수의 매니지먼트 루틴을 포함하는 매니지먼트 프레임워크를 전형적으로 포함한다. 관리 노드의 수가 증가됨에 따라, 시스템 보수 문제는 증가하고, 또한 약간의 머시인 장애 또는 다른 결함(fault)들이 발생한다.
노드 수가 증가함에 따라, 문제는 전형적인 엔터프라이즈 안에서 악화된다. 이들 노드 중에, 오직 작은 퍼센트만이 파일 서버(file server), 네임 서버(name server), 데이터베이스 서버(database server) 또는, 회선의 끝 부분이나 "단말"("endpoint") 머시인이 아닌 다른 것이다. 네트워크 머시인의 대다수는 단순한 퍼스날 컴퓨터( personal computer ; "PC" ) 또는 정상적인 하루 동안에 적은 관리 활동을 관찰하는 워크스테이션들이다.
시스템 관리자(system administrator)는, 어떤 로칼 머시인 상에서 관리자에 의하여 구성되고 네트워크로 분산되거나 배치되는 시스템 및 네트워크 작업을 통해 그러한 환경을 전형적으로 관리한다. 작업을 수신하는 머시인은 배치 "목표"(deployment "target")로 언급된다. 그러나, 목표 머시인의 위치 및 특성은 관리자에 의하여 수작업으로 전형적으로 결정된다. 따라서, 예를 들면, 배치되는 작업이 데이터베이스 관리 애플리케이션이면, 관리자는 네트워크에서 특별한 데이터베이스 서버를 지정하여야 한다. 특히, 수많은 연결된 머시인을 포함하기 위하여 네트워크의 크기가 증가하기 때문에, 이 프로세스는 성가시고 시간을 소비하는 일이다. 시스템 관리자가 모든 목표 머시인을 지정하지 않는다면, 시스템 관리 작업은 부정확하게 실시될 수 있다. 선택적으로, 목표들의 수 및 위치가 과도하게 지정되면, 네트워크 자원은 불필요하게 소비된다.
덧붙여, 네트워크 관리자가 그렇게 큰 관리되는 환경에서 소위 디스커버리 동작(discovery operation)을 수행함에 흥미를 가지는데 대한 많은 다른 이유가 있다. 일 예로서, 관리자는 이 환경에서 얼마나 많은 그리고 어느 머시인이 소프트웨어 프로그램의 주어진 버전(version)을 지원하는가를 결정하는 것을 요구할 수 있다. 디스커버리는, 특정의 머시인이 소프트웨어 업그레이드를 지원하기 위해 충분한 자원(예를 들면, 활용 가능한 디스크 저장)을 가지는지를 결정하는 것이 또한 요구될 수 있다. 디스커버리 동작을 수행하는 또 다른 이유는 미래의 엔터프라이즈 확장을 위한 계획을 용이하게 하는 시스템 또는 자원 목록을 수행하기 위한 필요 또는 요구를 단순히 포함할 수 있다. 따라서, 디스커버리 동작의 특성 또는 형식은 잘 변할 수 있다.
알려진 분산 관리 구조는 시스템 관리자에게 분산 요청을 발행하고 작업을 주어진 그룹의 머시인과 수작업으로 결합시킬 필요 없이 작업을 배치할 능력을 제공하지 않는다. 마찬가지로, 그러한 알려진 기술은, 특히 네트워크가 수많은 연결되고 관리되는 머시인을 포함하기 위해 증가함에 따라 그러한 환경에서 시스템 관리, 매니지먼트, 그리고 유지 보수를 용이하게 하기 위해 요구되는 넓은 범위의 기본 디스커버리 동작을 용이하게 하기 위해 손쉽게 개조되지 않았다.
본 발명은 종래 기술의 이러한 그리고 다른 관련된 문제들을 처리한다.
본 발명의 목적은 다수의 머시인이 연결되고 관리되는 분산 컴퓨팅 엔터프라이즈 환경(distributed computing enterprise environment)에서 디스커버리 동작(discovery operation)을 수행하는 것이다.
본 발명의 다른 목적은 그러한 디스커버리 동작을 수행하기 위해 로칼 런타임 환경(local runtime environment)에서 수행되는 분산 컴퓨터 네트워크에서 디스커버리 에이전트(discovery agent)를 배치하는 것이다.
본 발명의 또 다른 목적은 연속해서 일어나는 동작(예를 들면, 작업 배치)을 제어함에 유용한 주어진 사실(예를 들면, 머시인 및/또는 소스 아이덴티티, 특성, 상태(state), 동작 상태(status), 애트리뷰트(attribute), 그리고 이와 유사한 것)을 발견하기 위해 분산, 관리되는 환경으로 손쉽게 배치되는 소프트웨어 콤포넌트를 제공하는 것이다.
본 발명의 또 다른 특정의 목적은 관리자 또는 다른 유저가 작업을 주어진 그룹의 머시인과 수작업으로 결합시킬 필요가 없도록 작업 배치를 수신하는 후보자(candidate)인 특정의 머시인을 디스패처(dispatcher)가 확인할 수 있는 메카니즘을 제공하는 것이다.
본 발명의 또 다른 특정의 목적은 네트워크 내에 특정의 작업 배치를 수신하도록 목표되어지는 특정의 머시인 또는 자원을 발견하기 위해 자바-기반(Java-based) 소프트웨어 디스커버리 에이전트를 분산 컴퓨터 네트워크 환경으로 배치하는 것이다.
본 발명의 또 다른 목적은 주어진 작업을 수신하기 위해 적합한 목표 머시인 또는 자원을 확인하고 지정할 목적으로 주어진 요청에 응답하여 하나 또는 그 이상의 디스커버리 에이전트를 큰 분산 컴퓨터 네트워크로 내보내는 것이다. 작업들은 관리 작업(administrative task), 매니지먼트 작업(management task), 구성 작업(configuration task), 또는 어떤 다른 애플리케이션(application)일 수 있다.
본 발명의 또 다른 특정의 목적은 디스커버리 목적을 위해 네트워크에서 발송된 소프트웨어 에이전트를 연속적으로 배치되는 작업 형식의 기능으로서 주문 제작(customize) 또는 맞춤 제작(tailor)하는 것이다. 따라서, 소프트웨어 에이전트는 후보 머시인이 배치를 위한 잠재적 목표로서 자격이 있을 수 있는지를 더욱 손쉽게 결정할 수 있다.
본 발명의 또 다른 일반적 목적은 큰 분산 컴퓨팅 네트워크에서 분산 목표의 디스커버리를 더욱 충분히 자동화하고 그럼으로써 시스템 관리의 비용 및 복잡성을 감소시키는 것이다.
본 발명의 다른 목적은 큰 컴퓨터 네트워크에서 연속적인 작업 배치를 위한 분배 목표를 발견하기 위해 필요할 수 있는 최소량의 코드를 초기에 발송하는 것이다.
본 발명의 또 다른 목적은 주어진 기준을 만족하는 워크스테이션을 발견하기 위해 셀프-라우팅 소프트웨어 에이전트(self-routing software agent)를 분산 컴퓨터 네트워크로 배치하는 것이다. 특정의 검색 동안, 주어진 에이전트는 새로운 네트워크 경로를 따라 검색을 계속하기 위해 특정 노드에서 그 자신을 복제(clone)할 수 있다.
본 발명의 또 다른 일반적 목적은 모바일 디스커버리 에이전트(mobile discovery agent)가 네트워크를 통해 발송되고 이동됨에 따라, 큰 컴퓨터 네트워크
환경에서 워크스테이션에 대한 정보를 수집하는 것이다.
도 1은 본 발명이 실시될 수 있는 큰 분산 컴퓨팅 엔터프라이즈 환경(large distributed computing enterprise environment)을 나타내는 단순화된 다이아그램.
도2는 프레임워크 기능성(framework functionality)이 어떻게 게이트웨이(gateway)와 관리 지역(managed region) 내의 단말을 통해 분산될 수 있는지를 나타내는 바람직한 시스템 매니지먼트 프레임워크(system management framework)의 블록 다이아그램.
도2a는 시스템 매니지먼트 프레임워크의 LCF 클라이언트 컴포넌트(component)를 포함하는 엘리먼트(element)의 블록 다이아그램.
도 3은 서버(server)와 게이트웨이 기능이 동일 기계 상에 지원되는 엔터프라이즈의 보다 작은 워크 그룹(workgroup)의 실시를 나타내는 블록 다이아그램.
도 4는 본 발명의 바람직한 방법을 실시함에 있어서의 사용을 위한 매니지먼트 인프라(management infrastructure)를 가지는 분산 컴퓨터 네트워크 환경을 나타내는 도면.
도 5는 컴퓨터 네트워크에서 분산 요청에 응답하여 소프트웨어 디스커버리 에이전트(discovery agent)를 배치하는 바람직한 방법을 나타내는 플로우챠트.
도 6은 본 발명의 바람직한 실시예에 따라 소프트웨어 에이전트 로칼 디스커버리 메카니즘(local discovery mechanism)의 플로우챠트.
* 도면의 주요 부분에 대한 부호의 설명
14 서버
16 게이트웨이
18 터미널 노드
본 발명의 이러한 목적은 큰 분산 컴퓨팅 네트워킹 환경(large distributed computing networking environment)에서 디스커버리(discovery)를 위한 개시된 시스템, 방법 그리고 컴퓨터 제품에 의하여 이루어진다. 네트워킹 환경에서 지원되는 매니지먼트 인프라(management infrastructure)는 가급적이면 중앙 위치(예를 들면, 관리 서버)에 위치한 발송 메카니즘(dispatch mechanism) 및 네트워크(network)의 주어진 노드(node) 상에서 지원되는 런타임 환경(runtime environment)을 포함한다. 특히, 런타임 환경(예를 들면, 엔진)은 분산 엔터프라이즈 환경의 각 관리 노드(managed node) 상에서 지원되는 분산 프레임워크의 부분이다.
바람직한 하나의 방법은 분배 요청 즉시 시작한다. 분배 요청은 시스템 또는 네트워크 관리, 구성, 또는 매니지먼트 작업의 어떤 특정한 형식으로 제한되지 않는다. 요청에 응답하여, 발송 메카니즘은 배치를 위해 목표되는 머시인(즉, "목표 머시인"("target machine"))이 로칼 소스(local source)( 예를 들면, 이전에 수집된 또는 발생된 구성 정보의 로칼 저장소)로부터 확인될 수 있는지를 결정한다. 그러한 정보가 활용 가능하지 않거나 또는 그렇지 않고 유용하지 않다면, 발송 메카니즘은 배치를 위해 적합한 목표(들)를 지정하고 확인하도록 작업되는 하나 또는 그 이상의 "디스커버리 에이전트"("discovery agent")를 네트워크로 배치한다. 이들 하나 또는 그 이상의 에이전트는 연속해서 발생하는 작업 배치를 용이하게 하기 위하여 정보를 수집하도록 네트워크로 "팬-아웃"("fan-out") 한다. 바람직하게, 디스커버리 에이전트는 나중에 배치되는 특정 작업의 기능으로서 주문 제작(customize) 또는 맞춤 제작(tailor)되는 코드의 작은 조각(piece)이다. 에이전트가 특정의 특성을 위한 후보 노드(candidate node)를 평가하기 위해 조정될 수 있기 때문에, 이 주문 제작은 전체 검색을 완성하기 위해 필요한 시간을 감소시킨다. 그 특성이 실재하지 않는다면, 소프트웨어 에이전트는 이외 딴 곳으로 진행할 수 있다( 또는 새로운 네트워크 경로를 따르기 위해 그 자신을 복제한다).
특정의 디스커버리 에이전트가 네트워크 안의 노드에 도착할 때, 소프트웨어 에이전트는, 이미 실재하는 로칼 런타임 환경으로 링크되고, 그럼으로써 로칼 디스커버리 프로세스를 초기화한다. 디스커버리 에이전트에 의해 실행되는 디스커버리 루틴(discovery routine)은 로칼 머시인(또는 어떤 자원 또는 그 위의 애플리케이션)이 적절한 목표임을, 로칼 머시인(또는 그 위의 일부 애플리케이션)이 적절하지 않은 목표임을, 또는 불충분한 정보가 이 결정을 하기 위해 활용되고 있다는 것을 발견할 수 있다. 디스커버리 프로세스 동안 획득된 정보에 기반 하여, 소프트웨어에이전트는, 디스커버리 프로세스를 지속하고 그래서 검색을 완성하기 위하여 트래버스(traverse)되어야 하는 하나 또는 그 이상의 새로운 네트워크 경로를 확인할 수 있다. 소프트웨어 에이전트는 그 자신을 다른 노드로 내보낼(launch) 수 있고, 또는 그것은 그 자신을 "복제"("clone")할 수 있고 그리고 요구되는 바와 같은 새로운 네트워크 경로 상으로 "복제된"("cloned") 에이전트를 내보낼 수 있다.
소프트웨어 에이전트는 후보 머시인이 적합한 목표임을 발견하면, 어떤 확인 정보( 예를 들면, 확증, 머시인 확인자, 상태 확인자 또는 이와 유사한 것)가 발생된다. (에이전트가 발송 메카니즘으로 리턴 한다면) 확인 정보는 에이전트와 결합된 데이터저장(datastore) 내에 세이브 되고, 또는 선택적으로 (디스커버리 프로세스 완료 즉시 에이전트가 그 자신을 소멸시킨다면) 그러한 정보는 발송 메카니즘으로 재 전송된다. 그러한 전송은 단순한 메세징 기술(messaging technique)을 사용하여 달성될 수 있다. 주어진 네트워크 경로가 다 소모될 때, 경우에 따라서, 디스커버리 에이전트는 발송 메카니즘으로 리턴 하거나 또는 그 자신을 소멸시킨다.
따라서, 각 노드에서, 소프트웨어 에이전트는 바람직하게, 거기에 이전에 배치된 런타임 엔진에 의하여 작동된다. 선택적으로, 소프트웨어 에이전트는 존재하는 로칼 자원을 사용하여 단독 운영 프로세스(standalone process)로서 작동한다. (목표 머시인으로서) 워크스테이션의 적합성이 미정일 때, 소프트웨어 에이전트는 그것의 결정을 용이하게 하기 위하여 발송 메카니즘으로부터 또는 일부 다른 네트워크 소스로부터 추가의 코드를 획득할 수 있다. 그러한 추가의 코드는 다른 소프트웨어 에이전트일 수 있다.
바람직한 하나의 디스커버리 동작은 주어진 머시인 또는 자원이 작업 배치를 위한 적합한 목표인지의 결정을 포함하는 반면에, 다른 디스커버리 동작은 이와 같은 방법으로 실시될 수 있다. 따라서, 디스커버리 동작은 목록 제어(inventory control)를 위해, 어떠한 머시인이 주어진 소프트웨어의 어떠한 버전을 지원하는가를 결정하기 위해, 주어진 소프트웨어를 지원하는 또는 주어진 작업을 수행하는 주어진 머시인 또는 결합된 자원의 능력등을 결정하기 위해 실시될 수 있다.
전술 사항은 본 발명의 더욱 관련되는 목적의 일부를 약술하고 있다. 이 객체는 본 발명의 더욱 중요한 특성 및 애플리케이션의 일부를 단지 설명하는 것으로 해석되어야 한다. 많은 다른 유익한 결과가 게재된 발명을 다른 방법으로 적용함으로써 또는 기술될 발명을 변형함으로써 성취될 수 있다. 따라서, 본 발명의 다른 목적과 보다 충분한 이해는 뒤따르는 바람직한 실시예의 상세 설명을 참조함으로써 얻어질 수 있다.
도 1에 따르면, 본 발명은 수천의 "노드"("node")를 포함하는 큰 분산 컴퓨터 환경에서 바람직하게 실시될 수 있다. 노드는 전형적으로 지리학적으로 산재될 것이고, 전체 환경은 분산 방법으로 "관리"("manage")된다. 바람직하게, 관리 환경(managed environment : ME)은 일련의 느슨하게 연결된 관리 구역(managed region : MR)(12)으로 논리적으로 쪼개지고, 각각은 MR과 함께 로칼 자원을 관리하기 위한 그것 자신의 매니지먼트 서버(14)를 가진다. 네트워크는 전형적으로 다른 분산 네트워크 기능을 수행하기 위한 다른 서버(나타내어지지 않음)를 포함할 것이다. 이것들은 네임 서버(name server), 보안 서버(security server), 파일서버(file server), 쓰레드 서버(thread server), 타임 서버(time server), 그리고 유사한 것을 포함한다. 복수의 서버(14)는 엔터프라이즈를 통해 활동(activity)을 결합하고 원격 사이트 매니지먼트 및 동작을 허가한다. 각 서버(14)는 다수의 게이트웨이 머시인(16)을 서브(serve)하고, 그리고 각각의 게이트웨이 머시인은 번갈아 복수의 터미널 노드(18)를 지원한다. 서버(14)는 터미널 노드 매니저(20)를 사용하여 MR 내에서 모든 활동을 결합한다.
도 2에 따르면, 각 게이트웨이 머시인(16)은 시스템 매니지먼트 프레임워크의 서버 콤포넌트(server component)(22)를 작동시킨다. 서버 콤포넌트(22)는 객체 요청 브로우커(object request broker), 즉 "ORB"(21), 인증 서비스(authorization service)(23), 객체 위치 서비스(object location service)(25), 그리고 기본 객체 어댑터(basic object adaptor), 즉 "BOA"(27)와 같은 여러가지 콤포넌트를 포함하는 멀티-쓰레드 런타임 프로세스(multi-threaded runtime process)이다. 서버 콤포넌트(22)는 또한 객체 라이브러리(29)를 포함한다. 바람직하게, ORB(21)는 동작 시스템으로부터 분리되어 연속적으로 작동하고, 그리고 그것은 인터프로세스 통신(interprocess communication : IPC ) 시설(19)을 경유하여 분리된 스터브(stub)와 스켈리톤(skeleton)을 통하여 두 서버 및 클라이언트 프로세스와 통신한다. 특히, 안전한 원격 프로시져 콜(remote procedure call :RPC)은 원격 객체 상에서 동작을 호출하기 위해 사용된다. 게이트웨이 머시인(16)은 오퍼레이팅 시스템(operating system)(15)과 쓰레드 메카니즘(17)을 또한 포함한다.
시스템 매니지먼트 프레임워크는 각 단말 머시인(endpoint machine)(18) 상에서 지원되는 클라이언트 컴포넌트(24)를 포함한다. 클라이언트 컴포넌트(24)는 시스템 매니지먼트 데이터가 엄격한 방법으로 거기에 캐쉬(cache)되지 않거나 저장되지 않는 의미에서, 바람직하게 데이터가 없는 낮은 비용, 낮은 유지 보수 애플리케이션 슈트(application suite)이다. 이 클라이언트-서버 방법에서 매니지먼트 프레임워크의 실시는 종래 기술에 대해 중요한 장점을 가지며, 그것은 관리되는 환경으로 퍼스날 컴퓨터의 연결을 용이하게 한다. 객체 지향 접근법(object-oriented approach)을 사용하면, 시스템 매니지먼트 프레임워크는 MR에서 자원을 관리하기 위해 요구되는 시스템 매니지먼트 작업의 실행을 용이하게 한다. 그러한 작업은 잘 변경되고, 제한 없이, 파일 및 데이터 분배, 네트워크 사용 모니터링, 유저 매니지먼트, 프린터 또는 다른 자원 구성 매니지먼트, 그리고 이와 유사한 것을 포함한다.
도 1에서 나타내어진 바와 같은 큰 엔터프라이즈에서, 다수의 게이트웨이를 가진 MR마다 바람직하게 하나의 서버가 있다. 도 3에서 설명된 바와 같은 워크그룹-사이즈 인스톨레이션(workgroup-size installation)(예를 들면, 근거리 통신망 : local area network)을 위해서, 단일 서버 클래스 머시인은 서버 및 게이트웨이 머시인으로서 사용될 수 있으며, 그리고 클라이언트 머시인은 낮은 유지 보수 프레임워크를 작동시킬 수 있다. 이들 엘리먼트가 단일 플랫폼으로 결합될 수 있으므로, 별개의 서버 그리고 하나 또는 그 이상의 게이트웨이(들)에 대한 여기에서의 참조는 제한을 목적으로 취급되어서는 아니된다. 중재 사이즈인스톨레이션(intermediate size installation)을 위해 MR은 가로로(breadth-wise) 증가하고, 추가의 게이트웨이는 단말 부하의 균형을 이루기 위해 사용되어진다.
서버는 모든 게이트웨이 및 단말기 상의 탑-레벨 권한(top-level authority)이다. 서버는 단말기 리스트를 유지하고, 이 단말기 리스트는 관리되는 구역에서 모든 단말기의 트랙을 유지한다. 이 리스트는 이름, 위치, 그리고 머시인 형식과 같은 정보를 제한 없이 포함하는 단말기를 독특하게 확인하고 관리하기 위해 필요한 모든 정보를 바람직하게 포함한다. 서버는 또한 단말기와 게이트웨이 사이에서 맵핑(mapping)을 유지하고, 이 맵핑은 바람직하게 동적(dynamic)이다.
전술된 바와 같이, 관리 구역마다 하나 또는 그 이상의 게이트웨이가 있다. 바람직하게, 게이트웨이는 게이트웨이로서 동작하기 위해 구성된 완전한 관리(fully-managed) 노드이다. 단말기가 로그인(login) 함에 따라, 게이트웨이는 그것의 단말기를 위해 단말기 리스트를 구성한다. 게이트웨이의 의무는 단말기 로그인 요청을 듣기, 단말기 갱신 요청을 듣기, 그리고 단말기 상에서 방법 호출을 위한 게이트웨이로서 (그것의 주요한 작업) 작동을 바람직하게 포함한다.
전술된 바와 같이, 단말기는 여기에서 낮은 비용 프레임워크(low cost framework : LCF)로서 언급되는 시스템 매니지먼트 프레임워크 클라이언트 콤포넌트를 작동시키는 머시인이다. 도 2a에서 나타내어진 바와 같이, LCF는 두 개의 주요 부분, LCF 대몬(daemon)(24a) 및 애플리케이션 런타임 라이브러리( application runtime library)(24b)를 가진다. LCF 대몬(24a)은 단말기 로그인하는 것에 대해 그리고 애플리케이션 단말기를 실행가능 하게 스폰(spawn)하는 것에 대해 책임이있다. 실행 가능한 것(executable)이 스폰되면, LCF 대몬(24a)은 그것과 더 이상의 상호 작용은 가지지 않는다. 각 실행 가능한 것은 애플리케이션 런타임 라이브러리(24b)와 링크되고, 이 라이브러리는 게이트웨이와의 더 이상의 모든 통신을 다룬다.
바람직하게, 서버와 각 게이트웨이는 컴퓨터 또는 "머시인"("machine")이다. 예를 들면, 각 컴퓨터는 버전(version) 3.2.5 또는 그 이상의 AIX(Advanced Interactive Executive) 동작 시스템을 작동시키는 RISC 시스템/6000ⓡ(축소된 명령 셋트 또는 소위 RISC-기반 워크스테이션)일 수 있다. 적합한 선택적인 머시인은 노벨 유닉스웨어 2.0(Novell Unixware 2.0)을 작동시키는 IBM 호환가능 PC x86 또는 그 이상의 것, AT&T 유닉스 SVR4 MP-RAS 릴리스 2.02 (release 2.02) 또는 그 이상의 것을 작동시키는AT&T 3000 시리즈, DG/UX 버전 5.4R3.00 또는 그 이상의 것을 작동시키는 데이터 제너랄 아비욘 시리즈(Data General AViiON series), HP/UX 9.05를 통해 HP/UX 9.00을 작동시키는 HP 9000/700 및 800 시리즈, SVR4 버전 R40V4.2를 작동시키는 모토롤라 88K 시리즈(Motorola 88K series), 솔라리스(Solaris) 2.3 또는 2.4를 작동시키는 선 스파크 시리즈(Sun SPARC series), 또는 선 OS(SunOS) 4.1.2 또는 4.1.3을 작동시키는 선 스파크 시리즈를 포함한다. 물론, 다른 머시인 및/또는 오퍼레이팅 시스템은 또한 게이트웨이 및 서버 머시인을 위해 사용될 수 있다.
각 단말은 또한 컴퓨터이다. 본 발명의 바람직한 일 실시예에서, 단말의 대부분은 퍼스날 컴퓨터( 예를 들면, 데스크탑 머시인(desktop machine) 또는랩탑(laptop))이다. 이 구조에서, 단말은 고성능이거나, 복잡한 머시인이거나, 또는 워크스테이션일 필요는 없다. 하나 또는 그 이상의 단말은 노트북 컴퓨터(note-book computer), 예를 들면 IBM 씽크패드 머시인( ThinkPad machine), 또는 일부 다른 인텔 x86(Intel x86), 또는 윈도우즈 '95(Windows '95) 또는 그 이상의 오퍼레이팅 시스템(operating system)을 작동시키는 펜티움-기반 컴퓨터(Pentium-based computer)일 수 있다. OS/2오퍼레이팅 시스템 하에서 작동하는 IBM또는 IBM 호환 가능 머시인은 단말로서 또한 실시될 수 있다. 단말 컴퓨터는 바람직하게 넷스케이프 내비게이터(Netscape Navigator) 또는 마이크로소프트 인터넷 익스플로러(Microsoft Internet Explorer)와 같은 브라우저(browser)를 포함하고, 인터넷, 인트라넷, 또는 다른 일부 컴퓨터 네트워크를 경유하여 게이트웨이로 접속될 수 있다.
본 발명의 바람직한 실시예가 도 4에 나타낸 바와 같이 엔터프라이즈 환경 안에서 실시될 수 있다. 후술되는 바와 같이, 소프트웨어 디스커버리 에이전트의 셋트는, 관리, 구성, 또는 다른 매니지먼트 작업이 지정되고, 구성되고 및/또는 배치되는 네트워크에서 중앙 위치(예를 들면, 매니저 14)에서 또는 복수의 위치(예를 들면, 게이트웨이 16)에서 활용 가능하다. 소프트웨어 에이전트는, 에이전트가 발송 메카니즘으로부터 발송되고(후술될 것임) 네트워크 환경을 통해 이동한다는 의미에서 "모바일"("mobile")이다.
일반적으로, 모바일 소프트웨어 에이전트는 소위 디스커버리 동작을 수행하기 위해 네트워크를 트래버스한다. 디스커버리 동작의 특정 형식은 잘 변할 수 있다. 따라서, 예를 들면, 디스커버리 애플리케이션이 동작되면, 특정의 디스커버리 동작은 종래 그래픽 유저 인터페이스(graphical user interface)를 통한 관리 자원에서 유저에 의하여 시작될 수 있다. 이 동작은 머시인 형식을 결정하기 위해 머시인의 각 셋트를 질의하는(주어진 에이전트가 수행됨) 하나 또는 그 이상의 디스커버리 에이전트를 단순히 발행할 수 있다. 디스커버리 동작은 주어진 머시인과 연관된 자원의 리스트를 확인할 수 있다. 디스커버리 동작은 주어진 머시인이 특정 형식의 자원을 가지는지를 확인할 수 있다. 다른 디스커버리 동작은, 머시인 또는 일부 관련된 자원이 주어진 특성을 가지는지를 머시인이 발견하는가를 단순히 질의할 수 있다. 후자 상황의 예는, 특정의 자원(예를 들면, 디스크 드라이브 파티션(disk drive partition))이 일부 정의된 표준(예를 들면, 저장 공간)을 충족시키는지를 결정하기 위해, 디스커버리 동작이 주어진 머시인에서 시작되는 경우이다. 따라서, 특정의 디스커버리 동작은 매우 일반적이거나 또는 매우 특정적이고, 그리고 주어진 동작은, 즉 머시인이 장래에 다른 자원을 지원할 수 있는가를(예를 들면, 계획된 시스템 확장을 위하여) 선택적으로 결정하기 위하여 존재하는 상태(예를 들면, 존재하는 자원 또는 그들의 동작 상태)와 관련이 있다. 후자 상황의 예는, 그들 머시인의 어느 것이 소프트웨어 업그레이드를 요구할 수 있는지를 결정하기 위해 네트워크 관리자가 존재하는 머시인의 목록을 요구하는 때이다. 대표적인 애플리케이션에서, 네트워크 관리자는 분산 컴퓨터 환경에서 주어진 자원을 모니터 하는 것을 요구한다. 그러한 경우에, 디스커버리 에이전트의 특질은 그것이 작동하는 것을 대신하여 모니터링 콤포넌트(monitoring component)에 직접적으로 링크될 수 있다. 따라서, 오직 특정 오퍼레이팅 시스템으로부터 활용 가능한 일부 메트릭(metric)을 모니터하기 원하는 모니터링 컴포넌트를 위해, 디스커버리 에이전트는 오직 그러한 시스템 상에서 성공적인 디스커버리를 보고할 수 있다.
일부 모니터링 컴포넌트는, 자원의 몇몇 예가 어떤 주어진 컴퓨터 상에 실재할 수 있는 어떠한 자원 형식을 모니터 하도록 의도될 수 있다. 그러한 자원은, 예를 들면 디스크 드라이브 또는 그것들의 콤포넌트(즉, 파일 시스템), 특정 형식의 프로세스, 특정 형식의 로그 파일, 그리고 이와 유사한 것을 포함한다. 이들 콤포넌트를 위한 디스커버리 에이전트는 주어진 컴퓨터 상에서 그러한 자원의 예를 발견하고, 요구된다면, 발견된 각 자원을 위해 모니터링 컴포넌트 카피(copy)의 실증(instantiation)을 야기하도록 설계될 수 있다.
동적으로 나타나고 사라지는 자원이 추적될 수 있도록, 일부 디스커버리 에이전트는 시스템의 상태를 계속적으로 모니터 하도록 설계된다. 그러한 에이전트는 일부 단순한 스케쥴링 메트릭에 따라 자원 실예를 위해 전형적으로 스캔한다. 그러한 자원의 예는 클라이언트와 일부 소프트웨어 서버 프로세스 사이의 활성 연결(active connection)이다.
디스커버리 프로세스의 결과로서, 발견된 정보가 수집되고 디스패처 또는 일부 다른 위치로 리턴 되도록 요구되는 것은 빈번한 경우이다. 유저로 리턴된 특정의 정보는 시작된 디스커버리 동작의 형식에 필연적으로 의존할 것이다. 그러한 정보의 프리젠테이션 및 포맷팅은 설계상의 선택 문제이지 본 발명의 제한은 아니다. 예를 제시하기 의해서, 디스커버리 동작이 단지 주어진 소프트웨어 루틴의 버전 x.yy를 가지는 모든 머시인의 아이덴티티를 찾는다면, 리턴된 정보는 스크롤할 수 있는 리스트 박스(scrollable list box) 또는 다른 알려진 GUI 구조에서 디스플레이 되는 단지 확인된 자원의 명령된 리스트일 수 있다.
서술적으로 후술되는 실시예에서, 디스커버리 동작은, 관리되는 환경에서 어느 머시인이 특정의 작업 배치, 예를 들면 분산 네트워크를 통해서 관리 자원 안에서 사용을 위한 분산 모니터링 애플리케이션을 수신하는가를 결정한다. 이 예가 마침내 설명되긴 하였지만, 이 분야의 통상의 지식을 가진 자는 특정 디스커버리 동작의 특질, 형식, 그리고 특성이 환경에 의존하여 잘 변화될 수 있음을 이해할 것이다. 본 발명은 어떤 특정의 디스커버리 동작 또는 그러한 동작의 어떤 정의된 셋트로 제한되지 않는다.
이 서술적인 실시예에서, 환경에서 배치되는 특정 작업은 지정될 수 있으나, 목표 머시인은 쉽게 확인될 수 없다. 그러한 경우에, 적절한 디스커버리 에이전트는 확인되고 이 정보를 결정하기 위해 발송된다. 에이전트가 검사되는 초기 위치에서 목표 머시인을 발견하지 않는다면, 에이전트(또는 그것의 복제)는 검색을 계속하기 위해 네트워크를 통해 이동한다. 에이전트는 각 검사되는 위치로부터 수집되는 정보로부터 뿐만 아니라 발송 위치에서 수신된 정보 상에 기반된 네트워크를 통해 그것의 경로를 바람직하게 선택한다. 나타내어지는 바와 같이, 특정 노드로부터 수집된 정보가 어떤 주어진 방식으로 디스커버리 에이전트를 새 방향으로 고칠 수 있기 때문에, 소프트웨어 디스커버리 에이전트가 네트워크를 통하여 이동하는 바와 같이 특정의 "경로"는 전형적으로 변한다.
설명적인 목적만을 위해서, 하나의 그러한 디스커버리 방법은 도 4에서 나타내어진 큰 분산 엔터프라이즈 환경에서 실시될 수 있으며, 반면에 이것은 본 발명의 제한은 아니다. 이 예에서, 매니저(14)는 그것과 함께 결합된 소프트웨어 에이전트(37)의 셋트를 가진 발송 메카니즘(35)을 포함한다. 선택적으로, 발송 메카니즘(35)은 하나 또는 그 이상의 에이전트가 구성되는 구성 가능한 소프트웨어 작업(39)의 셋트를 포함할 수 있다. 매니저(14)는 관리되도록 설계된 분산 컴퓨팅 환경에서 모든 머시인의 리스트를 확인하는 정보를 포함하는 데이터베이스(43)를 또한 바람직하게 포함한다. 발송 메카니즘 그 자신은 복수의 노드를 통하여 분포될 수 있다.
적어도 일부 게이트웨이 노드(16) 그리고 적어도 일부 터미널 노드(18)( 또는 그것들의 일부 정의된 서브셋트)는 분산 서비스를 경유하여 특정 노드로 다운로드(download)된 런타임 엔진(41)을 포함한다. 엔진(41)은 소프트웨어 에이전트를 위한 런타임 환경을 제공한다. 제한하는 것으로 의도되는 것은 아니지만, 특정 분산 기술은 "분산 컴퓨터 네트워크 구성 정보를 관리하기 위한 방법"("Method For Managing Distributed Computer Network Configuration Information") 제목을 가지고, 본 발명의 양수인에게 양도된 출원 번호(Serial No.) 08/414,960에서 기술된 바와 같이 서브스크립션 프로세스를 포함할 수 있다. 선택적으로, 진단 엔진이 컴퓨터 네트워크에서 "분산 비주얼 빌더 빌트 작업을 위한 드래그 및 드랍 기술"(Drag And Drop Technique For Distributing Visual Builder Built Tasks In A Computer Network") 제목을 가진, 미국 출원에서 서술된 기술을 통하여 여러 노드로 분포될 수 있으며, 이것은 본 발명의 양수인에게 또한 양도된 것이다. 이들 게재는 여기서 참조에 의하여 합체된다.
전술된 바와 같이, 본 발명은 관리자 또는 다른 시스템 엔티티(system entity)에 의하여 지정되는 특정의 관리(administration), 구성 또는 다른 매니지먼트 작업(또는 다른 일부 서비스)을 용이하게 하기 위하여 주어진 디스커버리 오퍼레이션(예를 들면, 특정의 머시인, 그 위의 자원, 또는 이와 유사한 것)을 수행하는 하나 또는 그 이상의 소프트웨어 디스커버리 에이전트를 자동적으로 배치한다. 바람직하게, 소프트웨어 에이전트는 에이전트가 도착하는 노드에 위치한 런타임 엔진에 의해 실행되는 소프트웨어 콤포넌트(즉, 코드의 일부)이다. 선택적으로, 소프트웨어 에이전트는 로칼 자원(local resources)을 사용하는 단독 운영 애플리케이션(stand alone application)으로서 작동한다. 또 다른 선택안은 소프트웨어 에이전트가, 교대로 호스트 플랫트폼을 검사하고 디스커버리 동작을 수행하는(이 예에서, 목표 작업 배치를 수신하기 위한 호스트의 적합성을 결정함), 엔진을 제어하도록 하는 것이다.
대표적인 실시예에서, 두 런타임 엔진과 소프트웨어 에이전트(들)는 편리하게 자바(Java)로 기록된다. 이 분야에서 알려진 바와 같이, 자바는 소프트웨어 프로그램을 발달시키고, 테스트하고, 그리고 유지하기 위해 사용되는 객체 지향, 멀티-쓰레드(multi-threaded), 휴대용, 플랫폼 독립형, 보안 프로그램 환경이다. 자바 프로그램은 인터넷 멀티미디어 정보 검색 시스템인 월드 와이드 웹(world wide web) 상에서 광범위한 용도를 발견하였다. 이들 프로그램은 애플렛(applet)으로알려진 자바 활용 가능 웹 브라우저에서 작동하는 작은 프로그램뿐만 아니라 완전히 구성된 상호 작용, 단독 운영 애플리케이션을 포함한다.
본 발명의 특정의 일 실시예에서, 소프트웨어 에이전트는 자바 애플렛이고(예를 들면, 자바 "클래스" 파일의 셋트를 포함하는) 그리고 런타임 환경은 웹 브라우저와 결합된 자바 가상 머시인(Java virtual machine : JVM )을 포함한다. 이 서술적인 예에서, 네트워크의 여러 노드는 인터넷, 인트라넷, 또는 일부 다른 컴퓨터 네트워크 또는 그것의 일부의 부분이다.
관리자가 배치를 위한 작업을 구성할 때, 발송 메카니즘은 적절한 자바 클래스 파일(작업 또는 그것의 일부 특성에 기반한)을 컴파일하고 네트워크에서 (소프트웨어 에이전트로서) 애플렛을 발송한다. 크기에 의존하여, 네트워크의 구성 및/또는 토폴로지(topology), 즉 복수의 에이전트는 발송될 수 있다. 각 애플렛은, 노드가 작업의 배치를 위한 적절한 목표인지를 결정하기 위해 후보 노드에 위치한 JVM 상에서 실행된다.
도 5는 본 발명에 따른 서술적인 디스커버리 루틴이다. 이 루틴의 일부는 다른 시간에서 그리고 다른 제어 환경 하에서 발생할 수 있다. 그들은 단지 설명을 단순히 하기 위해 함께 설명되고 기술된다.
루틴은 스텝(30)에서 시작하고, 런타임 엔진은 여러 노드로 분포하게 된다. 이 예에서, 전술된 바와 같이, 런타임 엔진은 LCF 런타임 라이브러리(24B)의 부분일 수 있다. 더욱 유사하게, 이전의 노드 구성 작업 동안 런타임 라이브러리 전에 런타임 엔진은 배치된다. 어느 경우에나, 이 런타임 엔진은 엔터프라이즈 환경의매니지먼트 인프라의 부분을 집합적으로 형성한다. 매니지먼트 인프라가 위치에 있다면, 실제 동작 루틴은 시작한다.
스텝(32)에서, 테스트는, 예를 들면 작업 배치 요청, 방법 호출, 또는 이와 유사한 것과 같은 주어진 발생이 네트워크 안의 기타 다른 곳으로부터 발생되고 수신되는지를 결정하기 위하여 발송 메카니즘에서 수행된다. 전술된 바와 같이, 작업 배치의 경우에, 관리자는 종래의 GUI를 사용하는 바람직한 작업 구성을 수행한다. 특정 작업 구성 또는 지정 기술은 본 발명의 분야가 아니다. 스텝(32)은 물론 어떤 주어진 기능을 나타낼 수 있으나 단지 작업 배치로 제한되는 것은 아니다. 그러나, 향후 설명의 편의를 위해서, 디스커버리 프로세스는 그러한 하나의 배치에 보조적임이 가정된다.
스텝(32)에서의 테스트의 결과가 네가티브이면, 루틴은 나타내어진 바와 같이 순환한다. 그러나, 스텝(32)에서의 테스트의 결과가 배치될 작업이 지정되었음을 지시한다면, 방법은 스텝(34)으로 계속된다.
스텝(34)에서, 테스트는, 디스커버리 프로세스가 지정의 특성과 함께 시스템 또는 시스템 관리자에 의하여 활용 가능하여지는지를 결정하기 위해 수행된다. 제한하는 것으로 의도되는 것은 아니지만, 관리자는 GUI, CLI( command line interface) 또는 어떤 다른 알려진 인터페이스 기술을 사용함으로써 디스커버리 프로세스를 활용 가능하게 할 수 있다(그리고, 특정적으로 디스커버리 동작을 지정할 수 있다). 스텝(34)에서 테스트의 결과가 활용 가능하지 않으면, 루틴은 종료한다. 디스커버리 프로세스가 스텝(34)에서의 테스트로 파지티브 결과에 의하여 지시되는 바와 같이 활용 가능하다면, 루틴은, 목표 머시인 그리고 그들의 특성(예를 들면, 위치, 상태, 스테이터스, 구성, 그리고 이와 유사한 것)이 이미 발견되고 또는 지정되었는지를 결정하기 위해 저장소를 질의하는(예를 들면, 매니지먼트 서버에서) 스텝(36)으로 계속된다. 스텝(36)에서 테스트의 결과가 파지티브이면, 루틴은 스텝(38)에서 정보를 발송 메카니즘으로 리턴하고 리턴된 데이터는 스텝(40)에서 요구되는 바와 같이 실증(instantiate)된다. 이 경로가 택하여지면, 디스커버리가 요구되지 않기 때문에 루틴은 종료한다.
그러나, 스텝(36)에서의 질의의 결과가 필요한 정보가 저장소로부터 활용 가능하지 않음을 지시한다면(예를 들면, 그러한 저장소가 존재하지 않기 때문에, 분포를 주문 제작(tailor)하기 의해 요구되는 어떠한 정보가 수집되지 않았기 때문에, 정보가 주어진 에이징 팩터(aging factor)로 인해 노후화 되기 때문에), 루틴은 스텝(42)으로 계속된다. 특히, 배치되는 작업이 하나 또는 그 이상의 검색 특성을 확인하기 위하여 분석된다. 이 스텝은 유저(예를 들면, GUI를 통해)에 의해 지정되는 정보에 의하여 자동적으로 실행되고 제어될 수 있다. 따라서, 예를 들면, 배치되는 작업이 데이터베이스 서버 상에서 지원될 데이터베이스 매니지먼트 작업이면, 스텝(42)은 검색 프로세스를 용이하게 하기 위하여 주어진 후보 머시인의 특성을 확인할 수 있다. 이 예에서, 그 특성은 "상주 데이터베이스 서버 소프트웨어를 가진 머시인" 또는 이와 유사한 것일 수 있다. 이 프로세스를 용이하게 하기 위하여, GUI는 머시인, 자원, 또는 그들의 애트리뷰트와 결합을 형성하기 위해 선택될 수 있는 아이콘 또는 다른 비주얼 디바이스를 디스플레이할 수 있다. 물론, 어떤 편리한 지정 또는 선택 메카니즘이 실시될 수 있다. 배치될 작업의 하나 또는 그 이상의 특성을 확인함으로써, 독창적인 메카니즘은 더욱 효율적인 방법으로 후보 머시인 상에서 어떠한 특정 하드웨어, 소프트웨어, 또는 다른 컴포넌트를 찾기 위해 소프트웨어 에이전트를 맞춤 제작(customize) 또는 주문 제작할 수 있다.
이 목적으로, 루틴은, 다른 유저-선택된(user-selected) 일부, 또는 시스템 선택된(system selected) 표준 상에서, 또는 히스토리칼 데이터(historical data)와 같은 일부 다른 정보에 기반하여, 스텝(42)에서 유도된 주어진 특성 상에 기반한 적절한 소프트웨어 에이전트를 선택, 구성, 또는 분류하는 것을 계속한다. 여기에서 사용된 바와 같이, 스텝(44)의 선택 프로세스는 이 목적을 위해 하나 또는 그 이상의 소프트웨어 작업을 "커스톰 "("custom") 소프트웨어 작업을 컴파일링(compiling) 하는 것을 포함할 수 있다. 따라서, 본 발명은 "운행중"("on the fly") 생성 또는 발생된 에이전트뿐만 아니라 존재하는 소프트웨어 에이전트의 사용을 포함한다.
스텝(46)에서, 소프트웨어 에이전트는 네트워크로 배치된다. 에이전트는, 코드가 로칼 실행 콘텍스트에 빠지는 것이 가능하도록 설계되고 특정 디스커버리 동작에 영향을 주기 위해 제어되는 적절한 루틴을 포함한다. 스텝(46)은 네트워크의 토폴로지에 의존하는 복수 에이전트의 배치(현재 또는 점진적으로 발송된)를 포함할 수 있다. 전술된 바와 같이, 각 소프트웨어 에이전트는 그것의 목적이 분배 정보를 발견하기 위한 것인 모바일 "디스커버리" 에이전트이다. 이것은 디스커버리 에이전트 배치 루틴을 완성한다.
도 6의 플로우챠트는 특정 노드에서 디스커버리 동작을 기술한다. 주어진 소프트웨어 에이전트가 노드에 도착하는 때 스텝(50)에서 루틴은 시작한다. 물론, 복수 에이전트가 네트워크 내에서 발송될 수 있기 때문에, 도 6에서 나타내어진 루틴은 동시에( 또는 그렇지 않으면) 네트워크 안의 많은 다른 노드 상에서 실행될 수 있다. 스텝(52)에서, 디스커버리 에이전트는 로칼 자동화 엔진으로 링크될 수 있다. 그러한 링크는 전형적으로 소프트웨어 에이전트를 런타임 환경으로 묶음(binding)을 포함한다. 로칼 디스커버리 프로세스는 스텝(54)에서 시작된다. 스텝(56)에서, 테스트는, 테스트 하의 시스템이 주어진 표준( 전술된 주문 제작 프로세스를 통하여 지정된 바와 같이 바람직하게)에 부응하는지를 결정하기 위해 수행된다. 스텝(56)에서 테스트의 결과가 불확정이면, 루틴은 기술된 바와 같이 순환한다. 그러나, 스텝(56)에서 테스트의 결과가 머시인(또는 그것의 주어진 일부 컴포넌트)이 소프트웨어 에이전트에 의하여 지정된 검색 표준을 만족시키는 것을 지시하면, 루틴은 스텝(58)으로 분기한다.
루틴에서의 이 시점에서, 소프트웨어 에이전트는 발송 메카니즘에 의하여 요구될 수 있거나 또는 요청될 수 있는 적절한 정보를 수집하고 컴파일 하거나 또는 그렇지 않으면 발생시킨다. 예를 들면, 이 정보는 호스트 플랫트폼을 확인하는 정보 또는 데이터, 그것의 위치와 다른 확인 특성, 동작 콤포넌트의 현재 상태를 확인하는 정보, 그리고 이와 유사한 것을 포함한다. 정보의 특정 형식은 배치될 작업, 또는 더욱 일반적으로 디스커버리 동작의 특성에 의존하면서 변경될 것이다. 스텝(60)에서, 테스트는, 소프트웨어 에이전트가 스스로 소멸하는지(self-extinguishing), 즉 에이전트가 주어진 네트워크 경로 상에서 검색의 완료 즉시 그 자신을 소멸시키거나 또는 "죽이는"("kill")지를 결정하도록 만들어진다. 스텝(60)에서 테스트의 결과가, 소프트웨어 에이전트가 스스로 소멸하는 것임을 지시하면, 루틴은, 예를 들면 로칼 메시지 시설을 사용하는 네트워크를 통해 확인 정보를 재 전송함으로써 스텝(62)에서 계속된다. 소프트웨어 에이전트가 스스로 소멸하는 것이 아니면, 확인 정보는 스텝(64)에서 에이전트와 결합된 데이터 저장(datastore)으로 기록된다. 그러한 정보는, 소프트웨어 에이전트가 발송 메카니즘으로 리턴할 때, 그 후에 흘러든다. 전형적인 데이터저장(datastore)은 에이전트 코드 그 자신 "내에"("within") 위치한다. 선택적으로, 확인 정보는 플랫트폼에서 저장될 수 있다.
제어는 스텝(66)에서 계속된다. 스텝(56)의 결과가, 플랫트폼이 검색 표준 하에서 자격이 없음을 지시하면, 이 스텝은 주 프로세싱 루프 안에 도착한다. 스텝(66)에서, 테스트는 다른 추가의 네트워크 경로가 트래버스(traverse)되어야 하는지를 결정하기 위해 수행한다. 이 질의를 결정하기 위한 표준은 단순할 수 있고, 예를 들면 특정의 머시인은 단말이고 (이 경우에, 더 이상의 트래버살(traversal)이 요청되지 않음), 또는 그것은 더욱 복잡해질 수 있다. 테스트의 결과가 네가티브이면, (스텝(60)에서 테스트의 결과가 파지티브였다면) 루틴은 소프트웨어 에이전트를 소멸시키거나 또는 소프트웨어 에이전트는 발송 메카니즘으로 재착수된다. 이것은 스텝(68)이다. 그러나, 스텝(66)에서 테스트의 결과가 파지티브이면, 소프트웨어 에이전트에 의하여 트래버스되는 추가의 네트워크 경로가 존재한다.
루틴은, 소프트웨어 에이전트가 검색을 계속하기 위해 복제되는지를 테스트하기 위해 스텝(70)에서 계속된다. 예를 들면, 소프트웨어 에이전트가 일부 다른 진단 목적을 위해 유용할 수 있는 어떠한 환경 하에서, 로칼 디스커버리가 완료된 후에 플랫트폼에서 에이전트를 유지하는 것이 바람직할 수 있다. 따라서, 예를 들면, 노드에서 미래의 디스커버리 동작은 이전에 실행되고 이미 상주하는 에이전트(또는 그것의 일부분)를 가짐으로써 단순화될 수 있다.
따라서, 소프트웨어 에이전트는 일반적으로 디스패처로 리턴하고, 노드에 잔류하고, 또는 검색을 계속하기 위해 그 자신의 다른 실예(instance)를 복제하고 재착수하는 능력을 포함한다. 스텝(70)에서 테스트의 결과가 파지티브이면, 소프트웨어 에이전트는 스텝(72)에서 복제되고 스텝(74)에서 확인된 경로 상에 착수된다. 이 루틴은, 모든 소프트웨어 에이전트가 그들 자신을 소멸시키거나 또는 디스패처로 다시 리턴할 때까지 반복적인 방법으로 계속된다. 디스패처로 리턴된 정보는 미래의 검색 "분야"("field")를 용이하게(예를 들면, 좁게) 하기 위하여 참조 목적으로 바람직하게 저장된다.
따라서, 본 발명은 이 환경에서 배치될 일부 작업을 위해 목표 워크스테이션의 위치 및 특성을 발견하기 위한 메카니즘을 제공한다. 작업 그 자신은 소프트웨어 에이전트 또는 애플리케이션, 프로세스, 또는 다른 루틴의 어떤 다른 형식일 수 있다. 종래의 디스커버리가 발생한다면, 그들로부터 유도된 정보는 배치를 용이하게 하기 위하여 사용될 수 있다. 그러나, 그러한 정보가 활용가능하지 않고, 또는 그렇지 않으면 유용하지 않는(예를 들면, 그것이 노후화 되었기 때문에) 곳에서, 하나 또는 그 이상의 디스커버리 에이전트가 요청되는 정보를 발견하기 위해 처음으로 착수된다. 발견된 정보는 작업의 "목표된"("targeted") 분배를 용이하게 하기 위한 사용을 위하여 디스패처로 리턴된다.
이 분야의 통상의 지식을 가진 자는, 디스패처가 요청되는 소프트웨어 에이전트의 수 또는 목표 노드의 리스트를 발생시키기 위해 방문되어야 하는 노드의 수를 감소시키기 위한 하나 또는 그 이상의 방법으로 검색 전략을 지시함을 이해할 것이다. 소프트웨어 에이전트(들)는 특정 목표 위치가 확인되는 일반 "목표"("target") 구역으로 배치될 수 있다.
바람직한 일 실시예에서, 에이전트는 큰 분산 컴퓨터 네트워크에서 적절한 시스템으로 라우트 가능한(routable) 작업의 셋트로 이루어진 객체이다. 작업의 셋트는 결함(fault)를 진단 및/또는 정정하기 위하여 필요하기 때문에 함께 결합될 수 있다. 각 노드에서, 에이전트는 바람직하게 합체되거나 또는 그렇지 않으면 이전에 배치된 런타임 환경에 의하여 실행된다. 따라서, 디스커버리 능력의 큰 부분( 즉, 런타임 엔진)이 이미 시스템에서 평가된 바와 같이, 네트워크 트래픽은 더 최소화된다.
목표 머시인이 확인된다면, 작업은 이들 머시인으로 배치되거나 또는 일부 다른 주어진 작동이 취해진다. 예를 들면, 목표 머시인의 "맵"("map")은 디스패처에 또는 나중에 연속적인 배치를 용이하게 하기 위하여 이외 다른 곳에 저장될 수있다. 따라서, 디스커버리 메카니즘은 연구 또는 다른 목적을 위해 네트워크화된 환경의 토폴로지를 "챠팅"("charting") 또는 "맵핑"("mapping")하기 위해 또한 유용하다. 작업이 이후에 배치될 때, 배치는 작업을 수신하기 위해 요청되는 관리된 네트워크의 그들 지역으로만 집중화된다. 이것은 주파수 대역폭을 크게 감소시키고 그 때문에 네트워크 자원을 보존한다.
특정의 에이전트는 노드가 적합한 목표인지를 결정하기 위한 필요한 코드를 가질 수 없다. 에이전트는 필요한 코드를 가질 수 있거나 또는 그것은 로칼 디스커버리 프로세스에 영향을 주는 추가의 코드를 위해 발송 메카니즘으로 요청을 송신할 수 있다. 추가의 코드는 다른 소프트웨어 에이전트(들)일 수 있다.
소프트웨어 에이전트는 목표 머시인을 발견하기 위해 또는 로칼 디스커버리 프로세스와 결합된 일부 작업을 수행하기 위해 필요한 가장 작은 량의 소프트웨어 코드이다. 일부 디스커버리 기능성(discovery functionality)을 엔진 안에서 분배함으로써, 오직 작은 량의 코드만이 목표 사이트로 발송될 필요가 있기 때문에 네트워크 주파수 대역폭은 보존된다. 이것은 큰 엔터프라이즈 환경에서 복잡성 및 시스템 매니지먼트의 비용을 더 감소시킨다.
바람직하게, 각 단말에서 작동하는 클라이언트-클래스 프레임워크(client-class framework)는 매니지먼트 작업을 하기 위해 준비되나 적은 머시인 자원을 소모하는(왜냐하면, 그것은 정상적으로 아이들(idle) 상태이기 때문에) 낮은 유지 보수, 낮은 비용 프레임워크이다. 각 단말은, 특정 시스템 매니지먼트 작업이 실시되거나 또는 실행되기 이전에 또는 이후에 시스템 매니지먼트 데이터가 그 안에 저장된다는 의미에서 "데이타가 없다"("dataless"). 이 구조는 10 개 단위의 서버, 100 개 단위의 게이트웨이 머시인, 1000 개 단위의 단말을 가지는 엔터프라이즈의 합리적 분할을 유익하게 가능하게 한다. 각 서버는 전형적으로 200 게이트웨이 까지 서비스할 수 있으며, 각 게이트웨이는 1000 개 단위의 단말을 서비스한다. 프레임워크 레벨에서, 단말로의 또는 단말로부터의 모든 동작은 게이트웨이 머시인을 통해 통과한다. 많은 동작에서, 게이트웨이는 투명하고, 그것은 요청을 수신하고, 목표를 결정하고, 요청을 재송신하고, 결과를 기다리고, 결과를 호출자로 다시 리턴한다. 각 게이트웨이는 복수의 동시 발생 요청을 취급하고, 그리고 엔터프라이즈에서는 어떠한 수의 게이트웨이들이 있을 수가 있으며, 이 정확한 수는 활용 가능한 자원과 서비스될 필요가 있는 단말의 수를 포함하는 많은 요소(factor)들에 의존한다.
바람직한 실시예에서, 이들 그리고 다른 객체는 하나 또는 그 이상의 관리 지역으로 조직화된 컴퓨팅 자원을 포함하는 큰 분산 엔터프라이즈 안에서 성취되고, 각 지역은 하나 또는 그 이상의 게이트웨이 머시인을 서비스하는 매니지먼트 서버에 의하여 관리되고, 각 게이트웨이 머시인은 복수의 단말기를 서비스한다. 전술된 바와 같이, 시스템 매니지먼트 프레임워크는 시스템 매니지먼트 작업을 실행하기 위해 게이트웨이 머시인과 하나 또는 그 이상의 단말기 상에 바람직하게 분배된다. 전술된 환경이 선호될지라도, 이 분야의 통상의 지식을 가진 자는 이 발명의 개념이 보다 작은 분산 클라이언트 서버 네트워크 환경에서 실시될 수 있음을 이해할 것이다. 따라서, 본 발명이 바람직한 실시예에서 기술된 특정의 큰 규모분산 컴퓨팅 환경으로 제한되는 것으로 추론되어서는 안된다. 본 발명의 바람직한 실시예의 하나는 컴퓨터의 램(random access memory : RAM) 안에 상주하는 코드 모듈(code module)에서의 명령의 셋트이다. 컴퓨터에 의하여 요청될 때까지, 명령의 셋트는 다른 컴퓨터 메모리, 예를 들면 하드 디스크 드라이브, 광 디스크와 같은 삭제 가능한 메모리( CD ROM 안에서 영구 사용을 위한) 또는 플로피 디스크(플로피 디스크 드라이브 안에서 영구 사용을 위한) 안에서 저장될 수 있고, 또는 인터넷을 통해 다운로드될 수 있다.
덧붙여, 기술된 여러 방법들이 소프트웨어에 의하여 선택적으로 구동되거나 또는 재구성되는 범용 컴퓨터에서 편의적으로 실시되지만, 이 분야의 통상의 지식을 가진 자는 그러한 방법이 요청되는 방법 스텝을 수행하기 위해 구성된 하드웨어, 또는 펌웨어(firmware), 또는 전용 장치에서 실행될 수 있음을 이해할 것이다.
더욱이, 본 발명이 특정 네트워크 환경에서 바람직한 실시예의 관점에서 기술되었다 하더라도, 이 분야의 통상의 지식을 가진 자는 본 발명이 첨부된 청구항의 사상과 범위를 가진 다른 네트워크 구조에서 변형을 가지고서 실시될 수 있음을 이해할 것이다. 더욱이, 본 발명의 특징적인 기술은 어떤 분산 네트워크 환경에서 유용할 수 있다.
기술된 본 발명을 가지고서, 새로운 것으로 청구하고 그리고 특허법에 의하여 보호하기를 바라는 것은 다음 청구항에 게재된다.
본 발명에 따르면, 큰 분산 엔터프라이즈 환경에서의 디스커버리 동작 수행을 통해서 시스템 관리 비용 및 복잡성을 피할 수 있는 이점을 얻을 수 있다.

Claims (29)

  1. 머시인(machine)의 셋트(set)를 서비스(service)하는 매니지먼트 서버(management server)를 가지는 분산 컴퓨터 네트워크(distributed computer network) 안에서의 디스커버리(discovery) 방법에 있어서,
    상기 분산 컴퓨터 네트워크에서 분산 런타임 환경(runtime environment)을 생성하기 위하여 상기 머시인의 서브셋트(subset)를 통해 런타임 엔진(runtime engine)의 예를 배치하는 단계:
    주어진 발생에 응답하여, 디스커버리 에이전트(discovery agent)를 소스(source)로부터 상기 컴퓨터 네트워크로 배치하는 단계; 및
    상기 런타임 엔진의 예를 지원하는 주어진 머시인에서, 디스커버리 동작을 수행하기 위하여 상기 런타임 엔진을 사용하여 상기 디스커버리 에이전트를 실행하는 단계
    를 포함하는
    분산 컴퓨터 네트워크 안에서의 디스커버리 방법.
  2. 제 1 항에 있어서,
    상기 디스커버리 동작이, 작업 배치를 위해 적합한 머시인을 확인함, 머시인과 결합된 자원의 셋트를 확인함, 머시인 형식을 확인함, 그리고 머시인에서 자원의 주어진 특성을 확인함으로 구성된 디스커버리 동작의 그룹으로부터 선택되는
    분산 컴퓨터 네트워크 안에서의 디스커버리 방법.
  3. 제 1 항에 있어서,
    상기 디스커버리 에이전트에 의하여 발견되는 정보를 수집하는 단계
    를 더 포함하는
    분산 컴퓨터 네트워크 안에서의 디스커버리 방법.
  4. 제 3 항에 있어서,
    상기 디스커버리 에이전트를 상기 소스로 리턴하는 단계
    를 더 포함하는
    분산 컴퓨터 네트워크 안에서의 디스커버리 방법.
  5. 제 1 항에 있어서,
    상기 머시인에서 상기 디스커버리 에이전트를 복제하는 단계
    를 더 포함하는
    분산 컴퓨터 네트워크 안에서의 디스커버리 방법.
  6. 제 5 항에 있어서,
    상기 컴퓨터 네트워크에서 새로운 경로를 따라 상기 복제된 디스커버리 에이전트를 시작하는 단계
    를 더 포함하는
    분산 컴퓨터 네트워크 안에서의 디스커버리 방법.
  7. 제 1 항에 있어서,
    상기 런타임 환경이 런타임 엔진을 포함하고, 상기 디스커버리 에이전트가 상기 런타임 엔진에 의하여 실행 가능한 하나 또는 그 이상의 작업의 셋트인
    분산 컴퓨터 네트워크 안에서의 디스커버리 방법.
  8. 제 7 항에 있어서,
    상기 컴퓨터 네트워크가 인터넷이고, 상기 런타임 엔진이 브라우저(browser)와 결합되고, 그리고 소프트웨어 에이전트는 애플렛(applet)인
    분산 컴퓨터 네트워크 안에서의 디스커버리 방법.
  9. 머시인의 셋트를 서비스하는 매니지먼트 서버를 가지는 분산 컴퓨터 네트워크에서의 디스커버리 방법에 있어서,
    상기 분산 컴퓨터 네트워크에서 분산 런타임 환경을 생성하기 위하여 상기 머시인의 서브셋트를 통해 런타임 엔진의 예를 배치하는 단계;
    작업 배치 요청에 응답하여, 상기 컴퓨터 네트워크에서 주어진 노드(node)의 셋트를 통하여 상기 디스커버리 에이전트를 이주(migrate)하는 단계; 및
    아래의 스텝을 수행하기 위해 상기 디스커버리 에이전트가 수신되는 각 노드에서 상기 런타임 환경 안의 상기 디스커버리 에이전트를 실행하는 단계 :
    (a) 상기 노드에서의 상기 머시인이 상기 분배 요청의 목표인지를 결정하는 단계;
    (b) 상기 분배 요청을 위해 후보로 남아 있는 상기 노드와 결합된 주어진 노드의 서브셋트를 확인하는 단계;
    (c) 상기 디스커버리 에이전트를 상기 주어진 서브셋트로 배치하는 단계; 및
    (d) 목표들이 확인되거나 또는 모든 네트워크 경로가 소모될 때까지 스텝((a)에서 (c))들을 반복하는 단계
    를 포함하는
    분산 컴퓨터 네트워크 안에서의 디스커버리 방법.
  10. 제 9 항에 있어서,
    상기 분배 리스트를 수신하게 되는 머시인들의 리스트를 컴파일링(compiling)하는 단계
    를 더 포함하는
    분산 컴퓨터 네트워크 안에서의 디스커버리 방법.
  11. 머시인의 셋트를 서비스하는 매니지먼트 서버를 가지는 큰 분산 컴퓨터 네트워크에서의 작업 디스커버리 방법에 있어서,
    주어진 머시인의 서브셋트는 이전에 배치된 런타임 환경을 포함하고, 상기 방법이
    작업 배치 요청에 응답하여, 상기 매니지먼트 서버로부터 디스커버리 에이전트를 상기 컴퓨터 네트워크로 시작하는 단계;
    상기 서브셋트 안의 주어진 머시인에서, 상기 머시인 상에서 상기 런타임 환경을 사용하여 상기 디스커버리 에이전트의 하나를 실행하는 단계; 및
    작업 배치를 수신하게 되는 상기 서브셋트 안의 상기 머시인을 확인하는 상기 매니지먼트 서버로 정보를 리턴하는 단계
    를 포함하는
    큰 분산 컴퓨터 네트워크에서의 작업 디스커버리 방법.
  12. 제 11 항에 있어서,
    확인되는 상기 머시인의 리스트를 디스플레이(display)하는 단계
    를 더 포함하는
    큰 분산 컴퓨터 네트워크에서의 작업 디스커버리 방법.
  13. 제 11 항에 있어서,
    적어도 상기 디스커버리 에이전트의 하나가 상기 작업 배치 요청에 기반하여 주문 제작되는
    큰 분산 컴퓨터 네트워크에서의 작업 디스커버리 방법.
  14. 제 11 항에 있어서,
    상기 런타임 환경이 런타임 엔진을 포함하고, 각 디스커버리 에이전트가 상기 런타임 엔진에 의하여 실행 가능한 하나 또는 그 이상의 작업의 셋트인
    큰 분산 컴퓨터 네트워크에서의 작업 디스커버리 방법.
  15. 제 14 항에 있어서,
    상기 컴퓨터 네트워크가 인터넷이고, 런타임 엔진이 브라우저와 결합되고, 그리고 소프트웨어 에이전트가 애플렛인
    큰 분산 컴퓨터 네트워크에서의 작업 디스커버리 방법.
  16. 매니지먼트 인프라(management infrastructure)가 지원되는 큰 분산 컴퓨터 네트워크에서 동작하는 작업 디스커버리 방법에 있어서,
    소프트웨어 에이전트의 셋트로부터 적어도 하나의 소프트웨어 에이전트를 선택하는 단계; 및
    작업 배치를 위한 목표 머시인을 확인하기 위해 상기 컴퓨터 네트워크 안의 주어진 노드의 셋트를 통하여 상기 선택된 소프트웨어 에이전트를 이주하는 단계
    를 포함하는
    큰 분산 컴퓨터 네트워크에서 동작하는 작업 디스커버리 방법.
  17. 제 16 항에 있어서,
    상기 선택 스텝이 상기 작업의 주어진 특성을 확인하고 상기 주어진 특성에 기반하여 상기 소프트웨어 에이전트를 선택하는 것을 포함하는
    큰 분산 컴퓨터 네트워크에서 동작하는 작업 디스커버리 방법.
  18. 제 16 항에 있어서,
    이주 스텝이 주어진 노드에서 상기 소프트웨어 에이전트를 복제하고 네트워크 경로를 따라 상기 복제된 소프트웨어 에이전트를 이동시키는
    큰 분산 컴퓨터 네트워크에서 동작하는 작업 디스커버리 방법.
  19. 제 16 항에 있어서,
    상기 매니지먼트 인프라가 상기 컴퓨터 네트워크의 주어진 노드에서 배치되는 런타임 환경을 포함하고 그리고 상기 소프트웨어 에이전트가 상기 런타임 환경에 의하여 실행되는 하나 또는 그 이상의 작업의 셋트인
    큰 분산 컴퓨터 네트워크에서 동작하는 작업 디스커버리 방법.
  20. 제 19 항에 있어서,
    상기 컴퓨터 네트워크가 인터넷이고, 상기 런타임 환경이 브라우저와 결합되고, 그리고 소프트웨어 에이전트가 애플렛인
    큰 분산 컴퓨터 네트워크에서 동작하는 작업 디스커버리 방법.
  21. 디스커버리 동작을 달성 하기 위한 단말기의 셋트를 서비스하는 매니지먼트 서버를 가지는 큰 분산 엔터프라이즈로 연결 가능한 장치에 있어서,
    각 예는 주어진 단말기에서 지원되는, 런타임 엔진의 복수의 예;
    주어진 발생에 반응하여, 주어진 단말기에서 상기 런타임 엔진에 의하여 실행 가능한 소프트웨어 에이전트를 선택하기 위한 수단; 및
    디스커버리 동작을 수행하기 위해 상기 선택된 소프트웨어 에이전트를 상기 컴퓨터 네트워크로 배치하기 위한 수단
    을 포함하는
    큰 분산 엔터프라이즈로 연결 가능한 장치.
  22. 작업을 배치하기 위한 단말기의 셋트를 서비스하는 매니지먼트 서버를 가지는 큰 분산 엔터프라이즈로 연결 가능한 디스커버리 시스템에 있어서,
    주어진 단말기 상에서 각각 지원되는 런타임 엔진의 복수의 예; 및
    디스커버리 요청에 응답하여, 주어진 표준을 만족시키는 머시인을 확인하기 위해 하나 또는 그 이상의 소프트웨어 에이전트 셋트를 분산 엔터프라이즈로 발송하는 수단 - 여기에서, 주어진 소프트웨어 에이전트가 주어진 단말기에서 상기 런타임 엔진에 의하여 실행 가능함 -
    을 포함하는
    큰 분산 엔터프라이즈로 연결 가능한 디스커버리 시스템.
  23. 제 22 항에 있어서,
    상기 주어진 표준이, 상기 단말기가 상기 디스커버리 동작을 위한 후보라는 결정인
    큰 분산 엔터프라이즈로 연결 가능한 디스커버리 시스템.
  24. 제 22 항에 있어서,
    소프트웨어 에이전트를 발생시키는 수단
    을 더 포함하는
    큰 분산 엔터프라이즈로 연결 가능한 디스커버리 시스템.
  25. 제 24 항에 있어서,
    상기 발생 수단이 주어진 소프트웨어 에이전트를 상기 디스커버리 동작의 기능으로서 주문 제작하기 위한 수단을 포함하는
    큰 분산 엔터프라이즈로 연결 가능한 디스커버리 시스템.
  26. 프로세서, 메모리, 그리고 컴퓨터를 매니지먼트 서버를 가지는 큰 분산 엔터프라이즈로 연결하기 위한 수단을 가지는 상기 컴퓨터에서의 사용을 위한 컴퓨터 판독 가능 매체에서의 컴퓨터 프로그램 제품에 있어서,
    제 1 동작 동안 상기 컴퓨터로 다운로드되는 런타임 엔진; 및
    디스커버리 동작 동안 상기 컴퓨터로 배치되고 그리고 상기 컴퓨터가 주어진 표준을 만족시키는지를 발견하기 위해 상기 런타임 환경에 의하여 실행 가능한 소프트웨어 에이전트
    를 포함하는
    컴퓨터 프로그램 제품.
  27. 제 26 항에 있어서,
    상기 소프트웨어 에이전트가 상기 디스커버리 동작의 기능으로서 선택된 하나 또는 그 이상의 작업을 포함하는
    컴퓨터 프로그램 제품.
  28. 제 26 항에 있어서,
    상기 런타임 환경이 상기 컴퓨터의 브라우저와 결합되고 상기 소프트웨어 에이전트가 애플렛인
    컴퓨터 프로그램 제품.
  29. 프로세서, 메모리, 그리고 머시인의 셋트를 서비스하는 매니지먼트 서버를 가지는 컴퓨터 네트워크인 큰 분산 컴퓨터 네트워크로 컴퓨터를 연결하기 위한 수단을 가지는 상기 컴퓨터에서의 사용을 위한 컴퓨터 판독 가능 매체에서의 컴퓨터 프로그램 제품에 있어서,
    주어진 머시인에서 사용을 위한 각 런타임 엔진의 복수의 예;
    하나 또는 그 이상의 작업의 셋트를 포함하는 각 소프트웨어 에이전트의 셋트;
    주어진 요청에 응답하여, 상기 네트워크로 배치될 소프트웨어 에이전트를 선택하기 위한 수단 - 여기에서, 상기 소프트웨어 에이전트가, 주어진 단말기가 연속적으로 배치되는 작업을 수신하기 위한 후보인지를 결정하기 위하여 상기 주어진 단말기에서 상기 런타임 엔진에 의하여 실행 가능함 -
    을 포함하는
    컴퓨터 프로그램 제품.
KR1019990017819A 1998-06-03 1999-05-18 분산 컴퓨팅 환경에서 발견을 위한 시스템, 방법 및 컴퓨터 프로그램 제품 KR100324977B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/089,961 1998-06-03
US09/089,961 US6549932B1 (en) 1998-06-03 1998-06-03 System, method and computer program product for discovery in a distributed computing environment

Publications (2)

Publication Number Publication Date
KR20000005680A true KR20000005680A (ko) 2000-01-25
KR100324977B1 KR100324977B1 (ko) 2002-02-20

Family

ID=22220403

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990017819A KR100324977B1 (ko) 1998-06-03 1999-05-18 분산 컴퓨팅 환경에서 발견을 위한 시스템, 방법 및 컴퓨터 프로그램 제품

Country Status (6)

Country Link
US (1) US6549932B1 (ko)
EP (1) EP0964334A3 (ko)
JP (1) JP3629548B2 (ko)
KR (1) KR100324977B1 (ko)
CN (1) CN100392632C (ko)
TW (1) TW412707B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101099227B1 (ko) * 2003-02-19 2011-12-27 마이크로소프트 코포레이션 복제 명령들을 서브스크라이버들에게 분배하는 컴퓨팅 시스템, 컴퓨터화된 방법 및 컴퓨터 판독가능 기록 매체

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120684B2 (en) * 1998-10-22 2006-10-10 Electronic Data Systems Corporation Method and system for central management of a computer network
US7075895B1 (en) * 1998-12-04 2006-07-11 Sun Microsystems, Inc. System and method for facilitating discovery of network addresses and selected charateristics of computer systems and the like which are connected in digital data networks
US6453347B1 (en) * 1999-10-29 2002-09-17 Mcafee.Com, Inc. Active marketing based on client computer configurations
US7703131B1 (en) * 2000-03-01 2010-04-20 Microsoft Corporation Secured distributed impersonation
AU2000231862A1 (en) * 2000-03-23 2001-10-03 Sun Microsystems, Inc. Method of and system for testing software in computers
US7752024B2 (en) * 2000-05-05 2010-07-06 Computer Associates Think, Inc. Systems and methods for constructing multi-layer topological models of computer networks
US7500143B2 (en) * 2000-05-05 2009-03-03 Computer Associates Think, Inc. Systems and methods for managing and analyzing faults in computer networks
US20020144143A1 (en) * 2000-12-15 2002-10-03 International Business Machines Corporation Method and system for network management capable of restricting consumption of resources along endpoint-to-endpoint routes throughout a network
US6914887B2 (en) * 2001-01-04 2005-07-05 Intel Corporation Managing links between processor-based systems
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
US20020178254A1 (en) * 2001-05-23 2002-11-28 International Business Machines Corporation Dynamic deployment of services in a computing network
US20030009657A1 (en) * 2001-06-29 2003-01-09 Ibm Corporation Method and system for booting of a target device in a network management system
GB2377775A (en) * 2001-07-18 2003-01-22 Ibm Distributing programs to processing units in a network using information on the capabilities of the units
US7139823B2 (en) 2001-08-23 2006-11-21 International Business Machines Corporation Dynamic intelligent discovery applied to topographic networks
DE10156036A1 (de) * 2001-11-15 2003-06-05 Evotec Ag Verfahren und Vorrichtung zur Datenverarbeitung
JP2003208413A (ja) 2002-01-17 2003-07-25 Fujitsu Ltd 資産情報の一元管理を行うコンピュータシステム
JP4039158B2 (ja) * 2002-07-22 2008-01-30 ソニー株式会社 情報処理装置および方法、情報処理システム、記録媒体、並びにプログラム
DE10238546A1 (de) * 2002-08-22 2004-03-11 Siemens Ag Verfahren zur Bereitstellung von Ressourcen in Kommunikations-Netzwerken
US8108455B2 (en) * 2002-10-31 2012-01-31 Oracle America, Inc. Mobile agents in peer-to-peer networks
US7361249B2 (en) * 2002-12-05 2008-04-22 Multimedia Games, Inc. Apparatus for applying a removable cover to a ticket substrate
JP4284060B2 (ja) * 2002-12-18 2009-06-24 株式会社日立製作所 分散システムおよびサービス授受環境形成方法
US7613797B2 (en) * 2003-03-19 2009-11-03 Unisys Corporation Remote discovery and system architecture
EP1614255B1 (en) * 2003-04-04 2014-09-03 CA, Inc. Method and system for discovery of remote agents
US20040221003A1 (en) * 2003-04-30 2004-11-04 Steele Douglas W. System and method for transmitting supporting requests in a data center with a support meta language
DE10328661A1 (de) 2003-06-26 2005-01-13 Deutsche Telekom Ag Verfahren und System zur Organisation eines Telekommunikationsnetzwerkes in Ausnahmefällen
EP1642217A4 (en) * 2003-07-03 2008-10-22 Xerox Corp SYSTEM AND METHOD FOR ELECTRONIC MANAGEMENT OF DISCOVERY PLEADING INFORMATION
US7613767B2 (en) * 2003-07-11 2009-11-03 Microsoft Corporation Resolving a distributed topology to stream data
US7467203B2 (en) * 2003-10-06 2008-12-16 Microsoft Corporation System and methods for robust discovery of servers and services in a heterogeneous environment
US20060179116A1 (en) * 2003-10-10 2006-08-10 Speeter Thomas H Configuration management system and method of discovering configuration data
US8104043B2 (en) 2003-11-24 2012-01-24 Microsoft Corporation System and method for dynamic cooperative distributed execution of computer tasks without a centralized controller
US7712108B2 (en) * 2003-12-08 2010-05-04 Microsoft Corporation Media processing methods, systems and application program interfaces
US7900140B2 (en) * 2003-12-08 2011-03-01 Microsoft Corporation Media processing methods, systems and application program interfaces
US7733962B2 (en) 2003-12-08 2010-06-08 Microsoft Corporation Reconstructed frame caching
US7735096B2 (en) * 2003-12-11 2010-06-08 Microsoft Corporation Destination application program interfaces
US7640546B2 (en) * 2004-01-16 2009-12-29 Barclays Capital Inc. Method and system for identifying active devices on network
US7941739B1 (en) 2004-02-19 2011-05-10 Microsoft Corporation Timeline source
US7934159B1 (en) 2004-02-19 2011-04-26 Microsoft Corporation Media timeline
US7664882B2 (en) * 2004-02-21 2010-02-16 Microsoft Corporation System and method for accessing multimedia content
US20050193105A1 (en) * 2004-02-27 2005-09-01 Basham Robert B. Method and system for processing network discovery data
US7577940B2 (en) * 2004-03-08 2009-08-18 Microsoft Corporation Managing topology changes in media applications
US7609653B2 (en) * 2004-03-08 2009-10-27 Microsoft Corporation Resolving partial media topologies
US7383271B2 (en) * 2004-04-06 2008-06-03 Microsoft Corporation Centralized configuration data management for distributed clients
US7590669B2 (en) * 2004-04-06 2009-09-15 Microsoft Corporation Managing client configuration data
US7669206B2 (en) * 2004-04-20 2010-02-23 Microsoft Corporation Dynamic redirection of streaming media between computing devices
US20050256935A1 (en) * 2004-05-06 2005-11-17 Overstreet Matthew L System and method for managing a network
US20060041534A1 (en) * 2004-05-24 2006-02-23 Atwell Micah E Remote infrastructure management
US7703073B2 (en) * 2004-06-08 2010-04-20 Covia Labs, Inc. Device interoperability format rule set and method for assembling interoperability application package
US20060014861A1 (en) * 2004-06-11 2006-01-19 Montana State University Compositions and methods relating to an adhesive composition
GB2416872A (en) * 2004-07-30 2006-02-08 Canon Kk System for managing tasks on a network by using a service discover, a task manager and a service publisher
US7590750B2 (en) 2004-09-10 2009-09-15 Microsoft Corporation Systems and methods for multimedia remoting over terminal server connections
JP2006099307A (ja) * 2004-09-29 2006-04-13 Hitachi Ltd 分散サーバへのアプリケーションセットのインストール方法
US7509371B1 (en) * 2005-03-02 2009-03-24 Sun Microsystems, Inc. Application discovery method including identifying task entry points and launch points
US7698685B2 (en) * 2005-10-12 2010-04-13 Microsoft Corporation Discovery, qualification, and activation of software add-in components
US20070094270A1 (en) * 2005-10-21 2007-04-26 Callminer, Inc. Method and apparatus for the processing of heterogeneous units of work
US8533309B1 (en) * 2005-10-24 2013-09-10 Crimson Corporation Systems and methods for distributed node detection and management
US7523093B2 (en) * 2006-01-03 2009-04-21 International Business Machines Corporation System and method for providing trickle resource discovery
US7716586B2 (en) * 2006-02-17 2010-05-11 International Business Machines Corporation Apparatus, system, and method for progressively disclosing information in support of information technology system visualization and management
US7849069B2 (en) * 2006-06-21 2010-12-07 International Business Machines Corporation Method and system for federated resource discovery service in distributed systems
US8200806B2 (en) * 2006-07-20 2012-06-12 International Business Machines Corporation Automated discovery and configuration of components on a computer network
US8289879B2 (en) * 2008-02-07 2012-10-16 Ciena Corporation Methods and systems for preventing the misconfiguration of optical networks using a network management system
JP4612699B2 (ja) * 2008-03-11 2011-01-12 株式会社東芝 監視診断装置及び遠隔監視診断システム
US8296262B1 (en) 2009-05-04 2012-10-23 United Services Automobile Association (Usaa) Systems and methods for real-time online monitoring of computing devices
WO2012020405A1 (en) 2010-08-09 2012-02-16 Neebula Systems Ltd. System and method for determining a topology of at least one application in a computerized organization
US20120311016A1 (en) * 2011-06-02 2012-12-06 Recursion Software, Inc. System and method for providing self-healing capabilites in a distributed knowlegde network/intelligent sensor network
US9430622B2 (en) * 2011-07-13 2016-08-30 Dell Products L.P. Mini appliance
TW201312973A (zh) * 2011-09-01 2013-03-16 Chunghwa Telecom Co Ltd 解決主從式應用系統檔案i/o瓶頸之系統
US9298713B2 (en) * 2011-09-30 2016-03-29 Oracle International Corporation Executor for software configuration automation
US9779429B2 (en) * 2011-12-20 2017-10-03 International Business Machines Corporation Custom rule based determination of pricing information using file with predetermined name stored in installation directory in install path
TWI454949B (zh) 2011-12-26 2014-10-01 Ind Tech Res Inst 分散式資源管理系統及其分散式資源管理方法
US9258206B2 (en) * 2012-03-14 2016-02-09 Panorama9, Inc. System administration
US9246935B2 (en) 2013-10-14 2016-01-26 Intuit Inc. Method and system for dynamic and comprehensive vulnerability management
US9313281B1 (en) * 2013-11-13 2016-04-12 Intuit Inc. Method and system for creating and dynamically deploying resource specific discovery agents for determining the state of a cloud computing environment
US9501345B1 (en) 2013-12-23 2016-11-22 Intuit Inc. Method and system for creating enriched log data
US9323926B2 (en) 2013-12-30 2016-04-26 Intuit Inc. Method and system for intrusion and extrusion detection
US9413891B2 (en) 2014-01-08 2016-08-09 Callminer, Inc. Real-time conversational analytics facility
US20150304343A1 (en) 2014-04-18 2015-10-22 Intuit Inc. Method and system for providing self-monitoring, self-reporting, and self-repairing virtual assets in a cloud computing environment
US9325726B2 (en) 2014-02-03 2016-04-26 Intuit Inc. Method and system for virtual asset assisted extrusion and intrusion detection in a cloud computing environment
US10757133B2 (en) 2014-02-21 2020-08-25 Intuit Inc. Method and system for creating and deploying virtual assets
US9866581B2 (en) 2014-06-30 2018-01-09 Intuit Inc. Method and system for secure delivery of information to computing environments
US9276945B2 (en) 2014-04-07 2016-03-01 Intuit Inc. Method and system for providing security aware applications
US9245117B2 (en) 2014-03-31 2016-01-26 Intuit Inc. Method and system for comparing different versions of a cloud based application in a production environment using segregated backend systems
US11294700B2 (en) 2014-04-18 2022-04-05 Intuit Inc. Method and system for enabling self-monitoring virtual assets to correlate external events with characteristic patterns associated with the virtual assets
US9374389B2 (en) 2014-04-25 2016-06-21 Intuit Inc. Method and system for ensuring an application conforms with security and regulatory controls prior to deployment
US9900322B2 (en) 2014-04-30 2018-02-20 Intuit Inc. Method and system for providing permissions management
US9330263B2 (en) 2014-05-27 2016-05-03 Intuit Inc. Method and apparatus for automating the building of threat models for the public cloud
US9473481B2 (en) 2014-07-31 2016-10-18 Intuit Inc. Method and system for providing a virtual asset perimeter
US10102082B2 (en) 2014-07-31 2018-10-16 Intuit Inc. Method and system for providing automated self-healing virtual assets
US9395969B2 (en) 2014-09-23 2016-07-19 International Business Machines Corporation Complex computer environment installation
US10862803B2 (en) * 2015-09-02 2020-12-08 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Repurposing a target endpoint to execute a management task
US20170289069A1 (en) * 2016-03-30 2017-10-05 Microsoft Technology Licensing, Llc Selecting an Autonomous Software Agent
US11729043B2 (en) * 2017-10-06 2023-08-15 Cisco Technology, Inc. Traffic outage detection in the internet
US11036571B2 (en) * 2017-11-29 2021-06-15 Cisco Technology, Inc. Repair walker agents in a network
US10929048B2 (en) * 2018-10-01 2021-02-23 EMC IP Holding Company LLC Dynamic multiple proxy deployment

Family Cites Families (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01194054A (ja) * 1988-01-29 1989-08-04 Hitachi Ltd 分散処理システムのプログラムローデイング方式
US5113398A (en) 1989-06-01 1992-05-12 Shackleton System Drives Corporation Self-healing data network and network node controller
JP2804125B2 (ja) 1989-11-08 1998-09-24 株式会社日立製作所 情報処理システムの障害監視装置と制御方法
US5301270A (en) * 1989-12-18 1994-04-05 Anderson Consulting Computer-assisted software engineering system for cooperative processing environments
JPH0771106B2 (ja) * 1989-12-30 1995-07-31 株式会社日立製作所 通信システム
JP2560510B2 (ja) * 1990-03-06 1996-12-04 日本電気株式会社 ネットワーク管理マネージャ切り替え方式
US5157667A (en) * 1990-04-30 1992-10-20 International Business Machines Corporation Methods and apparatus for performing fault isolation and failure analysis in link-connected systems
US5187785A (en) 1990-12-28 1993-02-16 General Electric Company Algorithm for representing component connectivity
US5282212A (en) 1990-12-28 1994-01-25 Shah Rasiklal P Algorithm for identifying highly suspect components in fault isolation
US5375126B1 (en) 1991-04-09 1999-06-22 Hekimian Laboratories Inc Integrated logical and physical fault diagnosis in data transmission systems
JP3118855B2 (ja) * 1991-04-10 2000-12-18 株式会社日立製作所 マルチプロセッサシステム
US5321813A (en) * 1991-05-01 1994-06-14 Teradata Corporation Reconfigurable, fault tolerant, multistage interconnect network and protocol
JP2985505B2 (ja) * 1991-07-08 1999-12-06 株式会社日立製作所 品質情報収集診断システム及びその方法
US5367635A (en) * 1991-08-29 1994-11-22 Hewlett-Packard Company Network management agent with user created objects providing additional functionality
US5606693A (en) 1991-10-02 1997-02-25 International Business Machines Corporation Distributed database management over a network
US5321837A (en) * 1991-10-11 1994-06-14 International Business Machines Corporation Event handling mechanism having a process and an action association process
AU662805B2 (en) * 1992-04-06 1995-09-14 Addison M. Fischer A method for processing information among computers which may exchange messages
US5550976A (en) 1992-12-08 1996-08-27 Sun Hydraulics Corporation Decentralized distributed asynchronous object oriented system and method for electronic data management, storage, and communication
JPH06243112A (ja) * 1993-02-19 1994-09-02 Seiko Epson Corp マルチプロセッサ装置
US5371126A (en) 1993-04-14 1994-12-06 Sandoz Ltd. Processing aid for paper making
US5838918A (en) * 1993-12-13 1998-11-17 International Business Machines Corporation Distributing system configuration information from a manager machine to subscribed endpoint machines in a distrubuted computing environment
US5566092A (en) 1993-12-30 1996-10-15 Caterpillar Inc. Machine fault diagnostics system and method
US5465221A (en) 1993-12-30 1995-11-07 The United States Of America As Represented By The Secretary Of The Air Force Automated process planning for quality control inspection
CA2143057C (en) 1994-02-28 2002-07-16 Anthony J. Dezonno Automatic call distributor with automated postconversation message system
US5623628A (en) * 1994-03-02 1997-04-22 Intel Corporation Computer system and method for maintaining memory consistency in a pipelined, non-blocking caching bus request queue
JPH07253952A (ja) * 1994-03-15 1995-10-03 Hitachi Ltd 分散処理システム
US5615359A (en) * 1994-06-23 1997-03-25 Candle Distributed Solutions, Inc. Data server with data probes employing predicate tests in rule statements
US5544308A (en) 1994-08-02 1996-08-06 Giordano Automation Corp. Method for automating the development and execution of diagnostic reasoning software in products and processes
US5768506A (en) * 1994-09-30 1998-06-16 Hewlett-Packard Co. Method and apparatus for distributed workflow building blocks of process definition, initialization and execution
US5826020A (en) * 1994-09-30 1998-10-20 Hewlett-Packard Co. Workflow real time intervention
US5655081A (en) * 1995-03-08 1997-08-05 Bmc Software, Inc. System for monitoring and managing computer resources and applications across a distributed computing environment using an intelligent autonomous agent architecture
US5572528A (en) * 1995-03-20 1996-11-05 Novell, Inc. Mobile networking method and apparatus
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
FR2734068B1 (fr) * 1995-05-12 1997-06-20 Bull Sa Procede de controle d'execution d'un scenario de commande
US6240451B1 (en) * 1995-05-25 2001-05-29 Punch Networks Corporation Method and apparatus for automatically disseminating information over a network
TW292365B (en) * 1995-05-31 1996-12-01 Hitachi Ltd Computer management system
US5603029A (en) * 1995-06-07 1997-02-11 International Business Machines Corporation System of assigning work requests based on classifying into an eligible class where the criteria is goal oriented and capacity information is available
US6006251A (en) * 1995-07-11 1999-12-21 Hitachi, Ltd. Service providing system for providing services suitable to an end user request based on characteristics of a request, attributes of a service and operating conditions of a processor
US5590126A (en) 1995-09-27 1996-12-31 Lucent Technologies Inc. Method for call establishment and rerouting in mobile computing networks
US6029175A (en) * 1995-10-26 2000-02-22 Teknowledge Corporation Automatic retrieval of changed files by a network software agent
SE506431C2 (sv) * 1995-12-08 1997-12-15 Ericsson Telefon Ab L M Agent, system och förfarande vid övervakning av objekt
JP3622313B2 (ja) * 1996-01-29 2005-02-23 株式会社日立製作所 ドキュメント管理システム
US6075863A (en) * 1996-02-28 2000-06-13 Encanto Networks Intelligent communication device
WO1997035262A1 (fr) * 1996-03-15 1997-09-25 Hitachi, Ltd. Procede de generation automatique de programme et procede de commande d'execution
US6185611B1 (en) * 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
US6038590A (en) * 1996-07-01 2000-03-14 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server state machine in an interprise computing framework system
US6266709B1 (en) * 1996-07-01 2001-07-24 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server failure reporting process
US5913037A (en) * 1996-07-03 1999-06-15 Compaq Computer Corporation Dynamic management information base manager
US5761428A (en) * 1996-07-05 1998-06-02 Ncr Corporation Method and aparatus for providing agent capability independent from a network node
US5872931A (en) * 1996-08-13 1999-02-16 Veritas Software, Corp. Management agent automatically executes corrective scripts in accordance with occurrences of specified events regardless of conditions of management interface and management engine
JPH1091478A (ja) * 1996-09-13 1998-04-10 Nippon Telegr & Teleph Corp <Ntt> エージェント管理方法
JP3952544B2 (ja) * 1996-09-17 2007-08-01 株式会社東芝 分散システム
US6662205B1 (en) * 1996-10-01 2003-12-09 International Business Machines Corporation Scaleable and extensible system management architecture with dataless endpoints
US5944782A (en) * 1996-10-16 1999-08-31 Veritas Software Corporation Event management system for distributed computing environment
JPH10187638A (ja) * 1996-10-28 1998-07-21 Mitsubishi Electric Corp クラスタ制御システム
US5901286A (en) * 1996-11-15 1999-05-04 Canon Information Systems, Inc. Method and apparatus for communicating with a network peripheral
US6012152A (en) * 1996-11-27 2000-01-04 Telefonaktiebolaget Lm Ericsson (Publ) Software fault management system
US6108782A (en) * 1996-12-13 2000-08-22 3Com Corporation Distributed remote monitoring (dRMON) for networks
US5958009A (en) * 1997-02-27 1999-09-28 Hewlett-Packard Company System and method for efficiently monitoring quality of service in a distributed processing environment
US5920692A (en) * 1997-03-24 1999-07-06 International Business Machines Corp. Method and system for a remote notification service for a multi-user server architecture
US6055562A (en) * 1997-05-01 2000-04-25 International Business Machines Corporation Dynamic mobile agents
US5958016A (en) * 1997-07-13 1999-09-28 Bell Atlantic Network Services, Inc. Internet-web link for access to intelligent network service control
WO1999005597A1 (en) * 1997-07-25 1999-02-04 British Telecommunications Public Limited Company Visualisation in a modular software system
US5987135A (en) * 1997-07-25 1999-11-16 Prc Inc. System and method for controlling and monitoring remote distributed processing system
US5944783A (en) * 1997-07-29 1999-08-31 Lincom Corporation Apparatus and method for data transfers through software agents using client-to-server and peer-to-peer transfers
US6009456A (en) * 1997-07-30 1999-12-28 Lockheed Martin Corp. Information exchange by intelligent mobile agents in a network
US6061721A (en) * 1997-10-06 2000-05-09 Sun Microsystems, Inc. Bean-based management system
GB2332288A (en) * 1997-12-10 1999-06-16 Northern Telecom Ltd agent enabling technology
US6094673A (en) * 1998-01-16 2000-07-25 Aspect Communications Method and apparatus for generating agent scripts
US6330597B2 (en) * 1998-03-04 2001-12-11 Conexant Systems, Inc. Method and apparatus for monitoring, controlling, and configuring remote communication devices
US6112225A (en) * 1998-03-30 2000-08-29 International Business Machines Corporation Task distribution processing system and the method for subscribing computers to perform computing tasks during idle time
US6363421B2 (en) * 1998-05-31 2002-03-26 Lucent Technologies, Inc. Method for computer internet remote management of a telecommunication network element
US6336139B1 (en) * 1998-06-03 2002-01-01 International Business Machines Corporation System, method and computer program product for event correlation in a distributed computing environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101099227B1 (ko) * 2003-02-19 2011-12-27 마이크로소프트 코포레이션 복제 명령들을 서브스크라이버들에게 분배하는 컴퓨팅 시스템, 컴퓨터화된 방법 및 컴퓨터 판독가능 기록 매체

Also Published As

Publication number Publication date
CN100392632C (zh) 2008-06-04
US6549932B1 (en) 2003-04-15
EP0964334A2 (en) 1999-12-15
EP0964334A3 (en) 2006-07-26
JP3629548B2 (ja) 2005-03-16
KR100324977B1 (ko) 2002-02-20
JP2000029709A (ja) 2000-01-28
CN1237734A (zh) 1999-12-08
TW412707B (en) 2000-11-21

Similar Documents

Publication Publication Date Title
KR100324977B1 (ko) 분산 컴퓨팅 환경에서 발견을 위한 시스템, 방법 및 컴퓨터 프로그램 제품
US6477572B1 (en) Method for displaying a network topology for a task deployment service
US6308208B1 (en) Method for monitoring network distributed computing resources using distributed cellular agents
US6259448B1 (en) Resource model configuration and deployment in a distributed computer network
US6460070B1 (en) Mobile agents for fault diagnosis and correction in a distributed computer environment
US7334222B2 (en) Methods and apparatus for dependency-based impact simulation and vulnerability analysis
US7703091B1 (en) Methods and apparatus for installing agents in a managed network
US8176484B2 (en) One click deployment
KR100546973B1 (ko) 분산 시스템에서의 의존관계 관리 방법 및 장치
US6502099B1 (en) Method and system for extending the functionality of an application
US6170065B1 (en) Automatic system for dynamic diagnosis and repair of computer configurations
US6336139B1 (en) System, method and computer program product for event correlation in a distributed computing environment
US7970879B1 (en) Task-based automatic network management system with distributed control and management information base
US7120684B2 (en) Method and system for central management of a computer network
US20030009540A1 (en) Method and system for presentation and specification of distributed multi-customer configuration management within a network management framework
US20080320006A1 (en) Enterprise console
US20080301267A1 (en) Method and System for Network Management with Platform-Independent Protocol Interface for Discovery and Monitoring Processes
US8234660B2 (en) Method and apparatus for a support platform
JPH10124468A (ja) 資源管理方法及びコンピュータ
KR20050053657A (ko) 분산 시스템에서의 근본 원인 식별 및 문제점 판정을 위한방법 및 장치
US20030120776A1 (en) System controller for use in a distributed processing framework system and methods for implementing the same
US6877066B2 (en) Method and system for adaptive caching in a network management framework using skeleton caches
US20190317736A1 (en) State machine representation of a development environment deployment process
US20020191014A1 (en) Graphical user interfaces for software management in an automated provisioning environment
US20030172088A1 (en) Method and apparatus for managing a data imaging system using CIM providers in a distributed computer system

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

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee