CN1237734A - 用于分布式计算环境中的发现的系统、方法和计算机程序产品 - Google Patents

用于分布式计算环境中的发现的系统、方法和计算机程序产品 Download PDF

Info

Publication number
CN1237734A
CN1237734A CN99106964A CN99106964A CN1237734A CN 1237734 A CN1237734 A CN 1237734A CN 99106964 A CN99106964 A CN 99106964A CN 99106964 A CN99106964 A CN 99106964A CN 1237734 A CN1237734 A CN 1237734A
Authority
CN
China
Prior art keywords
machine
agent
discovery
given
software agent
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN99106964A
Other languages
English (en)
Other versions
CN100392632C (zh
Inventor
M·麦纳利
B·J·维特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Present service company
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1237734A publication Critical patent/CN1237734A/zh
Application granted granted Critical
Publication of CN100392632C publication Critical patent/CN100392632C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

一个大型分布式企业包括具有服务一组端点机的管理服务器的计算资源。一个管理基础结构包括在给定端点机上部署的运行引擎。根据位于某管理服务器的任务部署请求,发现代理程序可以被启动到计算机网络。当软件代理程序到达支持运行引擎的某端点机时,该代理程序被执行,在判定该端点是否是该特定任务部署的一个候选。

Description

用于分布式计算环境中的发现的系统、方法和计算机程序产品
本发明涉及管理大型分布式计算机企业网络,更具体来说,涉及进行其中最好使用网络中部署的、适合在本地运行环境中执行的软件部件的发现操作。
现今有许多公司都希望将它们的所有计算资源置于公司网络上。为此目的,人们将计算机连入地理位置分散的大型网络环境中,分布式地管理这种环境。有一种这类管理框架(framework)包含一个管理许多节点的服务器,每个节点有一个储存本地节点专有的对象数据的本地对象数据库。每个被管理节点通常包括一个管理框架,管理框架包含许多管理例程,并能以相对较大的数目(例如数百个)向远程机器同时进行网络连接。随着被管理节点数目的增加,系统维护的问题也增多,发生机器故障或其它故障的机会也增多。
这种问题在典型的企业中随着节点数的增加而变得严重。在这些节点中,只有一小部分是文件服务器、名称服务器、数据库服务器或者其它非线端或“端点”机器的机器。大多数网络机器只是个人计算机或工作站,正常一天中少见有管理活动。
系统管理员通常是通过由管理员在某个本地机器上配置、然后分配或部署到网络中的系统和网络任务来管理这类环境的。接收这种任务的机器被称作部署“目标”。然而,这种目标机器的位置和特性通常则是由管理员人工确定的。因此,例如如果要部署的任务是个数据库管理应用程序,管理员就必须指定网络中特定的数据库服务器。这个过程既繁琐又费时,特别是当网络大小增加到包括有数千个连入机器时更是如此。如果系统管理员不对所有的目标机器作出指定,系统管理任务就可能得不到正确的执行。另一方面,如果过分地指定目标的数量和位置,就会不必要地消耗网络资源。
此外,网络管理员有许多理由对在这种大型管理环境中进行所谓的“发现”操作感兴趣。举例来说,管理员可能希望确定环境中当前有多少以及哪些机器支持某给定版本的软件程序。要确定特定机器是否有足够的资源(例如可用的磁盘存储空间)支持软件升级,也需要进行发现操作。进行发现操作的再另一个原因可能只是需要或要求进行系统或资源盘点,以利对将来的企业扩展作出规划。因此,发现操作的性质和类型是相当不同的。
已知的分布式管理体系结构不向系统管理员提供不必人工将任务与给定机器组关联就能发出分配请求并部署任务的能力。同样,这种已知技术尚未彻底改造得适合在这种环境中进行系统管理、管理和维护所需进行的范围广泛的基本发现操作,特别是当网络增长到包括数千个连入的被管理机器时更是如此。
本发明解决现有技术的这些和其它有关问题。
因此,本发明的一个主要目的是,在连接和管理了有大量机器的分布式计算机企业环境中进行发现操作。
本发明的另一个主要目的是,在分布式计算机网络中部署在本地运行环境中执行以进行这种发现操作的发现代理程序(discoveryagents)。
本发明的另一个主要目的是,提供能随时部署到分布式被管理环境中、用于发现然后对于控制后继操作(例如任务部署)有用的给定事实(例如机器和/或资源标识、特性、状况、状态、属性等等)的软件部件。
本发明的一个更具体的目的是,提供一种调度程序能用其标识用于接收一个任务部署的候选机器的特定机器、使得管理员或其它用户不必人工地将任务与给定机器组关联的机制。
本发明的一个特定目的是,将一个基于JAVA的软件“发现代理程序”部署到分布式计算机网络环境中,以发现网络内要被作为接收特定任务部署的目标的特定机器或资源。
本发明的另一个目的是,响应目的旨在标识或定位用作接收给定任务的适当目标机器或资源的给定请求而向大型分布式计算机网络中启动一组一个或多个发现代理程序。该任务可以是系统管理任务、管理任务、配置任务或者任何其它应用程序。
本发明的一个进一步具体目的是,将网络中调度的用于发现目的的软件代理程序进行定制或裁剪成随后要部署的任务类型的一个功能。这样,软件代理程序就能更好地确定是否有候选机器能适合作为部署的潜在目标。
本发明的另一个更一般的目的是,使大型分布式计算机网络中分配目标的发现更加自动化,籍此减少系统管理的复杂性和费用。
本发明的另一个目的是,在大型计算机网络中初始调度为发现用于后继任务部署的分配目标可能所需的最小量的代码。
本发明的进一步目的是,向分布式计算机网络中部署一个自我路由选择(self-routing)的软件代理程序,以发现满足给定标准的工作站。在特定的搜索期间,给定的代理程序可以在特定节点“克隆”自身,以便沿着新的网络路径继续搜索。
本发明的另一个更一般的目的是,随着移动式发现代理程序在网络中的调度和迁移,收集关于大型计算机网络化环境中工作站的信息。
本发明的这些和其它目的是通过本文披露的用于在大型的分布式计算环境中发现的系统、方法和程序产品而实现的。网络环境中所支持的管理基础结构包括一个最好位于某个中央位置(例如管理服务器)的调度机构和一个在网络的给定节点上所支持的运行环境。特别地,该运行环境(例如引擎)最好是在分布式企业环境的每个被管理节点上所支持的分布式框架的一部分。
一个优选方法从分配请求开始。分配请求不限于任何特定类型的系统或网络管理、配置或管理任务。根据该请求,调度机构判断是否能将作为部署的目标的机器(即“目标机器”)从本地资源(例如存储以前收集或生成的配置数据的本地储存库)中标识出来。如果得不到这种数据或者由于其它原因数据没有用,调度机构就将一组一个或多个“发现代理程序”部署到网络中,发现代理程序的使命是定位并标识用于该部署的适当目标。这些一个或多个代理程序于是就“扩散”到网络中,收集信息,用于随后的任务部署。发现代理程序最好是一小段定制或改编成以后要部署的特定任务的一个功能的代码。这种定制能缩短完成整体搜索所需要的时间,因为可以“调整”代理程序,使其评估符合特定特性的候选节点。如果该特性不存在,软件代理程序就可以另寻别处去搜索(或者克隆自身,访问新的网络路径)。
当特定发现代理程序到达网络中某节点时,软件代理程序最好连接到已经存在的本地运行环境中,由此来启动一个本地发现过程。由发现代理程序执行的发现例程可能发现的情况有,本地机器(或其上的某种资源或应用程序)是个合适的目标、本地机器(或其上的某种应用程序)不是个合适的目标、或者所能获取的信息不足以作出这种判断。根据在该发现过程期间所获得的信息,软件代理程序也可以标识一个或多个必须遍历以继续发现过程并由此完成搜索的新的网络路径。软件代理程序于是可以将自身启动到另一个节点,或者“克隆”自身,需要时将“克隆的”代理程序启动到新的网络路径。
如果软件代理程序发现,候选机器是合适的目标,就生成某种标识数据(例如确认标志、机器标识符、状态标识符等等)。该标识数据然后被存储在与代理程序关联的一个数据存储器内(如果代理程序要返回到调度机构的话),或者,也能将这种数据传送回调度机构(如果代理程序在发现过程结束时消除自身的话)。这种传送可以用简单的报文传递技术来实现。当给定网络路径被穷尽时,发现代理程序于是就要么返回到调度机构,要么消除自身,这要视情况而定。
因此,在每个节点,软件代理程序最好由以前部署在那里的运行引擎来运行。另一种可选方案是,软件代理程序作为一个独立的过程用现存的本地资源来运行。当工作站(作为目标机器)的合适性不确定时,软件代理程序会从调度机构或某个其它网络源获取其它的代码,以利其作出判断。这种其它代码可以是另一个软件代理程序。
尽管一个优选的“发现”操作涉及判断一个给定机器或资源是否是任务部署的合适的目标,用类似方式也能实现其它更多的发现操作。因此,可以将发现操作用于清单控制(inventory control)、用于判定哪些机器支持哪些给定的软件版本、用于判定某给定机器或关联资源支持给定软件或执行给定任务的能力,如此等等。
以上概括说明了本发明某些更贴切的目的。这些目的应当视为是对本发明的某些突出特点和应用的解释性说明。通过以不同方式应用所披露的发明,或者通过如本文将要说明的那样改进本发明,可以取得许多有益结果。因此,通过参考以下对优选实施例的详细说明,可以了解到本发明的其它目的并更全面地理解本发明。
为了更完整地理解本发明及其优点,应参阅下文结合以下附图的详细说明:
图1所示的简化图表示本发明在其中实现的一个大型分布式计算企业环境;
图2是一个优选系统管理框架的框图,表示框架功能是如何在网关及其在被管理区域内的端点分布的;
图2A是包含系统管理框架的LCF客户机部件的元件的框图;
图3表示一个更小的企业“工作组”实现,其中在同一个机器上支持服务器和网关功能;
图4是一个分布式计算机网络环境,它具有一个用于执行本发明优选方法的管理基础结构;
图5的流图表示一个在计算机网络中响应分配请求而部署软件发现代理程序的优选方法;
图6是按照本发明优选实施例的软件代理程序本地发现机构的流图。
现在参见图1,本发明最好在含有数目达到数千的“节点”的大型分布式计算机环境10中实现。这些节点通常地理位置分散,整体环境是以分布式方式“被管理”的。该被管理环境(ME)最好在逻辑上分解为一系列松散连接的被管理区域(MR)12,每个MR都有自己的管理服务器14,用于管理与该MR在一起的本地资源。网络通常包括其它用于执行其它分布式网络功能的服务器(未予示出)。这些服务器包括名称服务器、安全服务器、文件服务器、线程服务器、时间服务器等等。多个服务器14协调跨企业的活动,允许远程地点的管理和操作。每个服务器14服务许多网关机器(geateway machines)16,每个网关机器又支持多个端点18。服务器14用终端节点管理器20来协调MR内部的所有活动。
现在参见图2,每个网关机器16运行系统管理框架的一个服务器部件22。服务器部件22是一个多线程的运行过程,包含数个部件:对象请求代理程序即“ORB”21、授权服务程序23,对象位置服务程序25和基本对象适配器即“BOA”27。服务器部件22也包括对象库29。ORB 21最好独立于操作系统连续运行,并且经进程间通信(IPC)设备19通过独立的残桩(stubs)与骨架(skeletons)与服务器和客户机进程二者通信。特别地,采用一个安全的远程过程调用(PRC)来调用对远程对象的操作。网关机器16也包括操作系统15和线程机构17。
系统管理框架包括一个在每个端点机器18上支持的客户机部件24。客户机部件24是一套低成本、维护量少的应用程序集,最好是“无数据的”,即系统管理数据不是永久地在那里高速缓存或存储。以这种“客户机一服务器”方式实现的管理框架比现有技术有显著的优点,它能方便个人电脑连入被管理环境。采用面向对象的方法,系统管理框架有利于执行管理MR中资源所需的系统管理任务。这类任务的内容相当不同,其中包括文件和数据和数据分配、网络使用监控、用户管理、打印机或其它资源的配置管理,等等,但不限于此。
在诸如图1所示的大型企业中,最好为每个具有多个网关的MR配备一个服务器。对于如图3所示的工作组大小的装置(例如一个局域网)来说,可以采用单一的服务器级机器来作为服务器和网关,客户机机器则运行一个低维护量的框架。因此,虽然本文所称的服务器和一个或多个网关是不同的概念,但不应受此限制而认为一定是不同的东西,因为这些元件可能被组合在一个单一平台中。对于中等大小的装置来说,MR的大小横向增加,要采用更多网关来平衡端点的负载。
服务器是高于所有网关和端点的顶级机构。服务器保存着一个端点列表,端点列表跟踪记录被管理区域中的每个端点。该列表最好含有唯一地标识和管理端点所必需的所有数据,包括但不限于诸如名称、位置和机器类型等数据。服务器也保存着端点与网关之间的映射,这种映射最好是动态的。
如上所述,每个被管理区域有一个或多个网关。网关最好是已经被配置成作为网关操作的完全管理的节点。当端点登录时,网关为其端点构建一个端点列表。网关的职责最好包括:听取端点登录请求、听取端点更新请求以及(主要任务)作为对端点进行过程调用的网关而工作。
同样如上所述,端点是运行系统管理框架客户机部件的机器,本文中称系统管理框架客户机部件为低成本框架(LCF)。如图2A中所示,LCF有两个主要部分:LCF守护程序24a和应用程序运行库24b。LCF守护程序24a负责端点登录并负责大量产生应用程序端点可执行程序。一旦产生了一个可执行程序,LCF守护程序24a就不进一步与其发生作用。每个可执行程序被连接到应用程序运行库24b,后者处理所有其它与网关的通信。
最好,服务器和每个网关都是一台计算机或“机器”。例如,每个计算机可以是一个RISC System/6000(一种精简指令集或所谓的基于RISC的工作站),运行着AIX(高级交互式执行程序)操作系统,最好是3.2.5版或更高版本。合适的替用机器包括:IBM兼容的x86或更高机型,运行Nove1l UnixWare 2.0;AT&T 3000系列机,运行AT&T UNIX SVR4 MP-RAS 2.02版或更高版本;Data General AViiON系列机,运行DG/UX 5.4R3.00版或更高版本;HP9000/700和800系列机,运行HP/UX 9.00-HP/UX 9.05;Motorola 88K系列机,运行SVR4 R40V4.2版;Sun SPARC系列机,运行Solaris 2.3或2.4;SunSPARC系列机,运行SunOS 4.1.2或4.1.3。当然也可以采用其它机器和/或操作系统来作为网关和服务器机器。
每个端点也是一台计算机。在本发明一个实施例中,多数端点都是个人电脑(例如桌面机或膝上机)。在这种结构中,端点不必是功能强大或复杂的机器或工作站。可以有一个或多个端点是笔记本计算机,例如IBM ThinkPad计算机,或者其它运行Window’95或更高版本操作系统的基于Pentium或Intel x86系列计算机。运行OS/2操作系统的IBM或IBM兼容机也可以作端点用。端点计算机最好包括一个诸如Netscape Navigator或Microsoft Internet Explorer的浏览器,可以经因特网、内部网或某种其它计算机网络连接到网关。
图4所示的是在企业环境中实现的本发明的一个最佳实施例。诸如下文将要讨论的,有一组软件“发现代理程序”可用,它们位于一个中央位置(例如管理器14),或者位于其中指定、配置和/或部署了事务管理、配置或其它管理任务的网络中的多个位置(例如网关16)。软件代理程序是“移动式的”,即代理程序是从调度机构调度(下文将要说明)、然后在网络环境中移动的。
一般来说,移动式软件代理程序遍历网络,去执行所谓的“发现”操作。发现操作的类型可能相当不同。因此,例如,一旦发现应用程序开始后,可以由位于某管理资源的用户通过图形用户界面(GUI)来启动某特定的发现操作。这个操作可能只是发出一个或多个发现代理程序去查询机器组的每个机器(给定代理程序在该机上执行)以确定该机器的“类型”。发现操作能识别出与给定机器关联的资源清单。发现操作能确定给定机器是否有特定类型的资源。另一种发现操作能简单地查询机器,以发现机器或相关资源是否具有给定的特性。后一种情形的一个例子是,在给定机器上启动一个发现操作以判定某特定资源(例如某磁盘驱动器分区)是否达到某个定义的标准(例如存储空间)。所以,特定的发现操作可能相当通用,也可能非常专用;而且给定操作也能涉及现有状态(例如现有资源或它们的操作状态)或者也能判定机器是否能支持将来的其它资源(例如支持计划的系统扩展)。后一种情形的一个例子是,网络管理员想要对现有机器进行清查,以判定这些机器中有哪些可能需要软件升级。
在一个具有代表性的应用中,网络管理员想要监控分布式计算机环境中的某给定资源。当然在这种情况下,发现代理程序的性质可以直接联系到其为之工作的监控部件上。因此,对于希望监控只有从特定操作系统才能得到的某种量度的监控部件,发现代理程序报告的只是在这种系统上的成功发现。
某些监控部件可能是用于监控一定的资源类型,其中资源的某些实例可能出现在给定计算机上。这种资源例如包括磁盘驱动器或其部件(即文件系统)、特定类型的进程、特定类型的日志文件等等。于是就可以将用于这些部件的发现代理程序设计成去发现在给定计算机上的这种资源的实例,然后如果需要的话,为每个被发现资源实例化监控部件的一个拷贝。
有些发现代理程序被设计成连续地监控某系统的状态,使得动态出现和消失的资源能被跟踪。这种代理程序通常按照某个简单的进度度量扫描寻找资源实例。这种资源的一个例子是在某客户机与某软件服务器进程之间的活动连接。
发现进程产生的一个结果是,所发现的信息经常被收集,希望将其返回到调度程序或某个其它位置。返回到用户的特定信息必定依赖于所启动的发现操作的类型。这种信息的表示和格式是一种设计问题,并不是本发明的限制。举例来说,如果发现操作仅仅是寻找具有“x.y版本”的给定软件例程的所有机器的标识,那么返回的信息可能仅仅就是在滚动列表框或其它已知GUI结构中显示出来的被识别资源的一个有序列表。
在以下讨论的示例性实施例中,发现操作判定被管理环境中有哪些机器要接受特定的任务部署,例如某个用于管理分布式网络中资源的分布式监控应用程序。尽管对该例子的说明很详细,一般熟练人员会明白,特定发现操作视不同的情况,其性质、类型和特性会有相当的变化。本发明不局限于任何特定的发现操作或这类操作的任何定义集合。
在本示例性实施例中,要在环境中部署的特定任务可能是专用的,但是目标机器可能并不是很容易就能确定。在这种情况下,要标识和调度一个适当的“发现”代理程序去确定这种信息。如果代理程序没有在检查的初始位置找到目标机器,代理程序(或其克隆)就在网络中漫游,继续搜寻。代理程序最好根据在调度位置收到的信息以及可选地从每个检查过的位置收集的信息来选择其在网络中的前进路径。我们将会看到,随着软件发现代理程序在网络中的移动,特定“路径”通常发生着变化,这是因为从特定节点收集的信息会以某种给定方式为发现代理程序重新指示方向。
仅仅为了示例目的,图4表示了在大型分布式企业环境中实现的一个这种方法,当然这并不是本发明的限制。在这个例子中,管理器14包括调度机构35,它有一组与其关联的软件代理程序37。另一种可选方案是,调度机构35包括一组可配置的软件任务39,由它们能构造一个或多个代理程序。管理器14最好也包括标识分布式计算环境中所有要被管理的机器的清单数据。调度结构本身可以分布在多个节点上。
至少有些网关节点16和至少有些终端节点18(或它们的某个定义子集)都包括一个已经经过某分配服务程序下载到该特定节点的运行引擎41。引擎41为软件代理程序提供运行环境。尽管并不意味着限定,但该特定分配技术涉及一种预约过程(subscriptionprocess),诸如美国专利系列号08/414,960、名称为“管理分布式计算机网络配置信息的方法”中所述过程(该专利受让给本发明的受让人)。另一个办法是,诊断引擎可以用系列号xx/xxx,xxx、名称为“Drag And Drop Technique For Distributing Visual BuilderBuilt Tasks In A Computer Network”中所述技术(该专利受让给本发明的受让人),分配到各种节点。这些文件被本文采用作为参考。
如上所述,本发明自动地部署一个或多个执行给定发现操作(例如定位特定机器、其上的资源,等等)的软件发现代理程序,以便于进行由管理员或其它系统实体指定的特定事务管理、配置或其它管理任务(或可能是其它某种服务)。软件代理程序最好是由位于代理程序到达的节点处的运行引擎执行的一个软件部件(即一段代码)。或者,软件代理程序也可以作为使用本地资源的独立应用程序而运行。另一个可选方案是,使软件代理程序控制一个引擎,由引擎检查主机平台(host platform),然后执行发现操作(本例中是确定主机接受目标任务部署的合适性)。
在一个具有代表性的实施例中,运行引擎和软件代理程序都是用JAVA语言方便地编写的。本领域众所周知,JAVA是一种面向对象、多线程、可移动、独立于平台的安全编程环境,用于开发、测试和维护软件程序。JAVA程序已经在万维网中得到广泛的应用。万维网是因特网的多媒体信息检索系统。这些程序包括功能齐全的交互式、独立的应用程序,以及在执行JAVA语言的Web浏览器中运行的、称为小应用程序的更小的程序。
在本发明一个特定实施例中,软件代理程序是一个Java小应用程序(例如它由一个JAVA“类”文件的集合组成),而运行环境包括一个与Web浏览器关联的JAVA虚拟机(JVM)。在这个解释性的例子中,网络的各种节点都是因特网、某个内部网或其它计算机网络的一部分。
当系统管理员配置一个用于部署的任务时,调度机构编译适当的JAVA类文件(最好是在任务或其某种特性的基础上进行)并在网络中调度该小应用程序(作为软件代理程序)。视网络的大小、配置和/或拓扑结构等情况,可以调度多个代理程序。每个小应用程序然后在位于某候选节点的JVM上执行,判断该节点是否是部署该任务的合适目标。
图5是一个示意性的根据本发明的发现例程。该例程的有些部分可能并确实经常在不同的控制条件下在不同的时间发生。将它们放在一起解释和说明是为了简化说明文字。
该例程于步骤30开始,将运行引擎分配给各个节点。在这个实施例中,运行引擎可以是LCF运行库24B的一部分,正如前文已经说明的那样。更大的可能是,运行引擎是在在先节点配置任务期间先于运行库部署的。无论哪一种情况,这些运行引擎都结合起来形成企业环境的管理基础结构的一部分。一旦管理基础结构就位,实际操作例程就开始。
在步骤32,在调度机构15进行一次测试,判断是否某给定事件(例如任务部署请求、过程调用等等)已经被生成并从网络中的其它地方被接收。如果是上述的任务部署,管理员就用常规的GUI进行所需要的任务配置。该特定的任务配置或该规范技术不是本发明的内容。当然,步骤32可以代表任何给定功能,并不仅仅局限于任务部署。然而为了方便进一步的讨论,我们假定该发现进程是一个这种部署的附属。
如果步骤32的测试结果是否定的,则例程如图所示作循环。然而,如果步骤32的测试结果表明已经指定了一个要部署的任务,则过程继续到步骤34。
在步骤34,进行一次测试,判断该发现进程是否已经由系统或系统管理员以该规范的性质启动。尽管并不意味着限定,管理员启动发现进程(以及特别是规定该发现操作)的方法可以是利用GUI、命令行界面(CLI)或任何其它已知界面技术。如果步骤34的测试结果是否定的,则例程结束。如果步骤34的测试结果是肯定的,表明该发现进程已经被启动,则例程继续,在步骤36查询(例如位于管理服务器中的)储存库43,以判定是否目标机器以及它们的特性(例如位置、状态、状况、配置等等)已经被发现或规定。如果步骤36的测试结果是肯定的,则在步骤38,例程将数据返回到调度机构,然后如果需要的话,则在步骤40,将返回数据实例化。如果按此路径进行,则例程然后就结束,因为不需要进行发现。
然而如果步骤36的查询结果表明从储存库得不到必需的数据(例如因为这种储存库并不存在,因为用于改编分配方案所需的某种数据尚未收集,因为数据由于某种老化因素而过时,等等),则例程在步骤42继续。特别地,要对将要部署的任务进行分析,标识出一个或多个搜索特征。这个步骤可以自动执行,也可以由用户(例如通过GUI)所规定的数据进行控制。因此,例如,如果将要部署的任务是一个将要在数据库服务器上支持的数据库管理任务,则步骤42就可以标识出候选机器的某个给定特征,以方便搜索进程。在本例中,该特征可以是“具有驻留的数据库服务器软件的机器”之类。为了方便这个进程,GUI可以显示图标或其它可视器件,供选择以形成与机器、资源或它们的属性的关联关系。当然,任何方便的规范或选择机制都是可以采用的。通过标识将要部署的任务的一个或多个特征,本发明性机制就可以改编或定制软件代理程序,以便能效率更高地查找某些特定的硬件、软件或者某候选机器上的其它部件。
为此目的,例程在步骤44继续,根据步骤42得出的给定特征,根据用户选择或系统选择的某些其它标准,或者根据诸如历史数据的某些其它数据,选择、构造适当的软件代理程序或对之再分类。如本文所述,步骤44的选择过程涉及将一个或多个软件任务编译成一个用于这种目的的“定制的”软件代理程序。因此,本发明包括使用现有软件代理程序以及使用被创建或“实时”(on-the-fly)生成的代理程序这两个方面。
在步骤46,软件代理程序被部署到网络中。代理程序包括的适当的例程,被设计成能使代码能溶入本地执行上下文中并被控制,以实现特定的发现操作。步骤46涉及根据网络的拓扑结构而部署(同时或逐渐调度的)多个代理程序。如上所述,每个软件代理程序都是移动式“发现”代理程序,目的都是发现该分配数据。发现代理程序部署例程在此完成。
图6的流图示出位于某特定节点的发现操作。该例程开始于步骤50,此时某给定软件代理程序到达该节点。当然,因为可以在网络内调度多个代理程序,所以图6所示的代理程序可以在网络中许多不同节点上同时地(或不同时)执行。在步骤52,发现代理程序被连接到本地自动化引擎。这种连接通常涉及将软件代理程序结合到运行环境中。然后在步骤54启动该本地发现进程。在步骤56,进行一次测试,判断所测试的系统是否符合给定标准(最好是由上述定制进程所规定的标准)。如果步骤56的测试结果不确定,例程就如图所示地循环。然而如果步骤56的测试结果表明该机器(或其某给定部件)满足软件代理程序规定的搜索标准,该例程转移到步骤58。
在例程中的这个位置,软件代理程序收集、编译或相反地生成调度机构可能要求或需要的适当数据。这种数据例如包括,标识主机平台、其位置和其它标识特征的信息或数据、标识操作部件当前状态的数据,等等。该特定数据类型视要部署的任务而变,或更一般来说,视发现操作本身的性质而变。在步骤60,进行一次测试,判断软件代理程序是否是自消除型的,即代理程序是否在完成给定网络路径上的搜索后消除或“杀死”自己。如果步骤60的测试结果表明软件代理程序是自消除型的,例程通过利用例如本地报文设施将标识数据传送回网络而在步骤62继续进行。如果软件代理程序不是自消除型的,就在步骤64将标识数据写到与代理程序关联的数据存储器。这种数据在以后当软件代理程序返回到调度机构时被放出。典型的数据存储器位于代理程序代码自身“内”。或者,标识数据也可以在该平台存储。
控制然后在步骤66继续。在主处理循环中,如果步骤56的结果表明该平台不符合搜索标准规定的条件,也要到达这个步骤。在步骤66,进行一次测试,判断是否应当遍历其它网络路径。这个问题的确定,标准可能很简单-例如特定机器是个端点(在这种情况下,不需要进一步的遍历),也可能更复杂。如果测试结果是否定的,则例程要么消除软件代理程序(如果步骤60的测试结果是肯定的),要么软件代理程序被发回到调度机构。这就是步骤68。然而如果步骤66的测试结果是肯定的,则存在要有软件代理程序遍历的其它网络路径。
例程然后在步骤70继续,测试是否要克隆软件代理程序以继续进行搜索。在一定的情况下,例如当软件代理程序可能对有些其它诊断目的有用时,可能希望在本地发现已经完成后将代理程序保留在该平台。这样,例如将来在该节点进行的发现操作就能因为已经驻留有上一次执行过的代理程序(或其某个部分)而得到简化。
所以,软件代理程序一般包括返回调度程序的功能、保留在节点的功能、克隆自身以及启动自己另一个实例以继续搜索的功能。如果步骤70的测试结果是肯定的,则软件代理程序就在步骤72克隆,然后在步骤74在某标识路径上启动。这个例程以循环方式继续,直到所有软件代理程序要么消除了自身,要么返回到调度程序。返回给调度程序的数据最好作为参考数据存储起来,以方便(例如限窄)将来搜索“域”。
因此,本发明提供一种用于为环境中某个要部署的任务发现目标工作站的位置和特性的机制。任务本身可以是软件代理程序或者任何其它类型的应用程序、进程或其它例程。如果进行过在先的发现,则从中导出的数据可以被用来方便该部署。然而,如果这种数据得不到或者因为其它原因不能使用(例如由于已经过时),则要首先启动一个或多个发现代理程序去发现所要求的数据。发现的数据然后被返回给调度程序,用于方便对任务进行“有目标的”分配。
普通熟练人员知道,调度程序可以按一种或多种方式来指引搜索策略,以减少所需软件代理程序的数量或者为生成目标节点清单所必须访问的节点的数量。软件代理程序然后就能被部署到一般“目标”区,然后在其中标识出特定的目标位置。
在一个优选实施例中,代理程序是一个由一组可路由选择到的大型分布式计算机网络中适当系统的任务组成的对象。该任务组可以按需要组合,来诊断和/或更正错误。在每个节点处,代理程序最好被包括进去,否则就由以前部署的运行环境执行。这样,由于发现功能的一大部分(即运行引擎)已经位于待评估的系统中,所以网络通信得到进一步的减少。
一旦目标机器已经被标识出来,任务就被部署到这些机器,或者采取其它行动。例如,可以在调度程序或其它地方存储这些目标机器的一个“映射表”,以方便以后要进行的部署。所以,该发现机制也可以用于为研究或其它目的“绘制”或“映射”网络化环境的拓扑图。当以后要部署任务时,部署工作就只集中在被要求接收任务的那些被管理网络的区域。这就大大地降低了带宽,由此保留了网络资源。
一个特定代理程序可能没有判断节点是否是合适目标所必需的代码。代理程序可以具有必需的代码,或者可以向调度机构发出请求,要求获得额外的代码来实现本地发现进程。这种额外代码可以是其它软件代理程序。
软件代理程序最好是为发现目标机器或执行与本地发现进程关联的某种任务而必需的最小量的软件代码。通过在引擎中分配一些发现功能,网络带宽得到节省,因为只有少量的代码需要调度到目标现场。这就进一步降低了大型企业环境中系统管理的复杂性和费用。
每个端点上运行的客户机-类框架最好是低维护、低费用的框架,随时能执行管理任务,但消耗不多的机器资源(因为它一般处于空闲状态)。每个端点最好是“无数据的”,意思是在特定系统管理任务被实现或执行之前或之后,系统管理数据不在其中存储。这个体系优点是能对具有十来个服务器、上百个网关机、上千个端点的企业进行合理的划分。每个服务器通常服务多达200个网关,每个网关服务上千个端点。在框架层,所有去向或来自端点的操作都要通过网关机。在许多操作中,网关是透明的;它接收一个请求,确定目标,再发送请求,等待结果,然后将结果返回调用者。每个网关都处理多个同时的请求,企业中可以有任意数量的网关,要确定精确的数目依赖许多因素,包括可用资源情况以及要服务的端点数量。
在优选实施例中,就是这样在大型分布式企业中实现这些和其它目的的,这些大型分布式企业包括有组织成一个或多个被管理区域的计算资源,每个区域由一个服务一个或多个网关机的管理服务器管理,每个网关机服务多个端点机。诸如已经展示和说明的那样,系统管理框架最好“分布”在网关机和一个或多个要执行系统管理任务的端点机上。尽管以上环境是优选环境,一般熟练人员明白,这些发明性概念可以在更小的分布式客户机服务器网络环境中实现。所以,本发明不应被解释为局限于在优选实施例中所述的特定大规模分布式计算环境。
本发明的一种优选实现方案是作为在计算机随机存取存储器驻留的代码模块中的一个指令集。在被计算机需要之前,该指令集可以存储在另一个计算机存储器中,例如存储在硬盘驱动器或存储在一种诸如光盘(最终在CD ROM中使用)或软盘(最终在软盘驱动器中使用)的可拆卸式存储器中,或者甚至通过因特网下载。
此外,尽管所述各种方法可以方便地在由软件选择性地启动或重新配置的通用计算机中实现,一般熟练人员也会认识到,这类方法以硬件、固件执行,或者以为执行所需方法步骤而构建的更专用的设备中执行。
此外,尽管本发明是用特定网络环境中的优选实施例来说明的,本领域的熟练人员会认识到,按照后附诸权利要求的精神和范围,本发明经过修改可以在其它不同的网络体系中应用。此外,本发明性诊断技术应当在任何分布式网络环境中都有效。
以上说明了本发明。我们认为以下权利要求具有新颖性,要求得到专利法的保护。

Claims (29)

1.一种在具有服务一组机器的管理服务器的分布式计算机网络中进行发现的方法,包含以下步骤:
在该组机器的一个子组上部署一个运行引擎的实例,以便在该分布式计算机网络中创建一个分布式运行环境;
响应某给定事件,将一个发现代理程序从一个源部署到该计算机网络中;
在支持该运行引擎的实例的给定机器上,用运行引擎执行该发现代理程序以进行一个发现操作。
2.权利要求1所述的发现方法,其中该发现操作是从一组发现操作中选择的,这组发现操作的内容由标识适合任务部署的机器、标识与某机器关联的资源集合、标识机器类型、标识某机器上资源的给定特性组成。
3.权利要求1所述的发现方法,进一步包括收集由该发现代理程序发现的数据的步骤。
4.权利要求3所述的发现方法,进一步包括将该发现代理程序返回给源的步骤。
5.权利要求1所述的发现方法,进一步包括在该机器上克隆该发现代理程序的步骤。
6.权利要求5所述的发现方法,进一步包括沿该计算机网络中的一个新路径启动该克隆的发现代理程序的步骤。
7.权利要求1所述的发现方法,其中的该运行环境包含一个运行引擎,该发现代理程序是可被该运行引擎执行的一组一个或多个任务。
8.权利要求7所述的发现方法,其中的该计算机网络是因特网,该运行引擎与某个浏览器关联,该软件代理程序是一个小应用程序。
9.一种在具有服务一组机器的管理服务器的分布式计算机网络中进行发现的方法,包含以下步骤:
在该组机器的一个子组上部署一个运行引擎的实例,以便在该分布式计算机网络中创建一个分布式运行环境;
响应某任务部署请求,在计算机网络中给定节点集合上迁移该发现代理程序;
在接收到该发现代理程序的每个节点上执行该运行环境中的该发现代理程序以进行以下步骤:
(a)判定位于该节点的该机器是否是该分配请求的一个目标;
(b)标识与该节点关联的、依然是该分配请求的候选的某给定节点子集;
(c)向该给定节点子集部署该发现代理程序;
(d)重复步骤(a)~(c),直到该目标被标识出来,或者所有网络路径都被搜索穷尽。
10.权利要求9中所述方法,进一步包括编辑一个要接收该分配请求的机器清单的步骤。
11.一种在具有服务一组机器的管理服务器的大型分布式计算机网络中的任务发现方法,该机器组的某个给定机器子集包括一个以前部署过的运行环境,该方法包含以下步骤:
响应一个任务部署请求,将发现代理程序从管理服务器启动到该计算机网络;
在该机器子集的某给定机器上,用该机器上的该运行环境执行其中一个该发现代理程序;
将标识该子集中要接收任务部署的机器的数据返回给该管理服务器。
12.权利要求11中所述的方法,进一步包括显示所标识机器的清单的步骤。
13.权利要求11中所述的方法,其中至少有一个发现代理程序被根据该任务部署请求而定制。
14.权利要求11中所述的方法,其中的运行环境包含一个运行引擎,每个发现代理程序都是可由该运行引擎执行的一组一个或多个任务。
15.权利要求14中所述的方法,其中的该计算机网络是因特网,该运行引擎与某浏览器关联,该软件代理程序是小应用程序。
16.一种可在其中支持一个管理基础结构的大型分布式计算机网络中执行的任务发现方法,包含以下步骤:
从一个软件代理程序集合中选择至少一个软件代理程序;
在该计算机网络中某给定节点集合上迁移该选定的软件代理程序,为该任务部署标识目标机器。
17.权利要求16中所述的方法,其中的选择步骤包括标识该任务的给定特征并根据该给定特征来选择该软件代理程序。
18.权利要求16中所述的方法,其中的迁移步骤包括在给定节点处克隆该软件代理程序并沿某网络路径移动该克隆的软件代理程序。
19.权利要求16中所述的方法,其中,该管理基础结构包括在该计算机网络的给定节点部署的运行环境,该软件代理程序是可由该运行环境执行的一组一个或多个任务。
20.权利要求19中所述的方法,其中,该计算机网络是因特网,该运行环境与某浏览器关联,该软件代理程序是小应用程序。
21.一种可连接到具有服务一组端点机而进行发现操作的管理服务器的大型分布式企业中的设备,包含:
一个运行引擎的多个实例,每个实例在一给定端点机受到支持;
用于响应某给定事件、选择一个可由位于某给定端点机的该运行引擎执行的软件代理程序的装置;
用于将该所选择软件代理程序部署到该计算机网络去执行发现操作的装置。
22.一种可连接到具有服务一组端点机而部署一个任务的管理服务器的大型分布式企业中的发现系统,包含:
一个运行引擎的多个实例,每个实例在给定端点机得到支持;
用于响应某发现请求、将一组一个或多个软件代理程序调度到分布式企业中去标识满足给定条件的机器的装置,其中某给定软件代理程序可由位于某给定端点机的该运行引擎执行。
23.权利要求22中所述的系统,其中的该给定条件是确定该端点机是该发现操作的一个候选。
24.权利要求22中所述的系统,进一步包括生成软件代理程序的装置。
25.权利要求24中所述的系统,其中的该生成装置包括将给定软件代理程序作为该发现操作的一个功能进行定制的装置。
26.一种在计算机可读介质中存储的计算机程序产品,它用于具有一台计算机,该计算机处理器、存储器和将该计算机连接到具有管理服务器的大型分布式企业的装置,该计算机程序产品包含:
一个在第一个操作期间下载到该计算机的一个运行引擎;
一个在发现操作期间部署到计算机、并可由该运行环境执行以发现该计算机是否满足给定条件的软件代理程序。
27.权利要求26中所述的计算机程序产品,其中,该软件代理程序包括一个或多个被选择作为该发现操作的一个功能的任务。
28.权利要求26中所述的计算机程序产品,其中,该运行环境与该计算机的某浏览器关联,该软件代理程序是小应用程序。
29.一种在计算机可读介质中存储的计算机程序产品,它用于一台计算机,该计算机具有处理器、存储器和将该计算机连接到大型分布式计算机网络的装置,该计算机网络具有服务一组机器的管理服务器,该计算机程序产品包含:
一个运行引擎的多个实例,每个运行引擎用于某给定机器;
一组软件代理程序,每个软件代理程序包含一组一个或多个任务;
一个用于响应某给定请求而选择要部署到该网络中的软件代理程序的装置,其中该软件代理程序可以由位于给定端点机处的该运行引擎执行,以判定该给定端点机是否是一个接收随后要被部署的任务的一个候选。
CNB991069641A 1998-06-03 1999-06-02 用于分布式计算环境中的发现的系统、方法 Expired - Lifetime CN100392632C (zh)

Applications Claiming Priority (3)

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
US09/089961 1998-06-03

Publications (2)

Publication Number Publication Date
CN1237734A true CN1237734A (zh) 1999-12-08
CN100392632C CN100392632C (zh) 2008-06-04

Family

ID=22220403

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB991069641A Expired - Lifetime CN100392632C (zh) 1998-06-03 1999-06-02 用于分布式计算环境中的发现的系统、方法

Country Status (6)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101031882B (zh) * 2004-06-08 2010-09-08 达尔特设备互操作有限公司 用于通用设备互操作性平台的设备组招募和内容再现的体系结构、装置和方法
CN111543027A (zh) * 2017-10-06 2020-08-14 千眼公司 因特网中的业务中断检测

Families Citing this family (92)

* 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
WO2001071502A1 (en) * 2000-03-23 2001-09-27 Sun Microsystems, Inc. Method of and system for testing software in computers
US7500143B2 (en) * 2000-05-05 2009-03-03 Computer Associates Think, Inc. Systems and methods for managing and analyzing faults in computer networks
US7752024B2 (en) * 2000-05-05 2010-07-06 Computer Associates Think, Inc. Systems and methods for constructing multi-layer topological models of 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
US7325047B2 (en) * 2001-05-23 2008-01-29 International Business Machines Corporation Dynamic undeployment 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 株式会社日立製作所 分散システムおよびサービス授受環境形成方法
US7707181B2 (en) * 2003-02-19 2010-04-27 Microsoft Corporation System and method of distributing replication commands
US7613797B2 (en) * 2003-03-19 2009-11-03 Unisys Corporation Remote discovery and system architecture
WO2004091138A1 (en) * 2003-04-04 2004-10-21 Computer Associates Think, Inc. Method and system of alert notification
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
US7130858B2 (en) * 2003-07-03 2006-10-31 General Motors Corporation System and method for electronically managing privileged and non-privileged documents
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
US7733962B2 (en) 2003-12-08 2010-06-08 Microsoft Corporation Reconstructed frame caching
US7900140B2 (en) * 2003-12-08 2011-03-01 Microsoft Corporation Media processing methods, systems and application program interfaces
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
US7934159B1 (en) 2004-02-19 2011-04-26 Microsoft Corporation Media timeline
US7941739B1 (en) 2004-02-19 2011-05-10 Microsoft Corporation Timeline source
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
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
US9215270B2 (en) * 2010-08-09 2015-12-15 Servicenow, Inc. 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
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
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
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
US10102082B2 (en) 2014-07-31 2018-10-16 Intuit Inc. Method and system for providing automated self-healing virtual assets
US9473481B2 (en) 2014-07-31 2016-10-18 Intuit Inc. Method and system for providing a virtual asset perimeter
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
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
US5282212A (en) 1990-12-28 1994-01-25 Shah Rasiklal P Algorithm for identifying highly suspect components in fault isolation
US5187785A (en) 1990-12-28 1993-02-16 General Electric Company Algorithm for representing component connectivity
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
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
US5566092A (en) 1993-12-30 1996-10-15 Caterpillar Inc. Machine fault diagnostics system and method
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
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
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
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
US5987135A (en) * 1997-07-25 1999-11-16 Prc Inc. System and method for controlling and monitoring remote distributed processing system
DE69803575T2 (de) * 1997-07-25 2002-08-29 British Telecommunications P.L.C., London Visualisierung in einem modularen softwaresystem
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101031882B (zh) * 2004-06-08 2010-09-08 达尔特设备互操作有限公司 用于通用设备互操作性平台的设备组招募和内容再现的体系结构、装置和方法
CN111543027A (zh) * 2017-10-06 2020-08-14 千眼公司 因特网中的业务中断检测
CN111543027B (zh) * 2017-10-06 2023-03-21 千眼有限责任公司 因特网中的业务中断检测

Also Published As

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

Similar Documents

Publication Publication Date Title
CN100392632C (zh) 用于分布式计算环境中的发现的系统、方法
US8234639B2 (en) Autonomic auto-configuration using prior installation configuration relationships
US7970879B1 (en) Task-based automatic network management system with distributed control and management information base
US7210143B2 (en) Deployment of applications in a multitier compute infrastructure
US6886017B1 (en) System and method for managing distribution of content to a device
US6868444B1 (en) Server configuration management and tracking
CN1108569C (zh) 具有无数据端点机的可伸缩和可扩充系统管理结构
CN104317610B (zh) 一种hadoop平台自动安装部署的方法及装置
US20010023440A1 (en) Directory-services-based launcher for load-balanced, fault-tolerant, access to closest resources
US6976262B1 (en) Web-based enterprise management with multiple repository capability
US6502099B1 (en) Method and system for extending the functionality of an application
US20070088630A1 (en) Assessment and/or deployment of computer network component(s)
EP1145098A2 (en) System for scheduling and monitoring computer processes
US6901590B2 (en) System and method for single transparent deployment flow
CN1578943A (zh) 用于应用配置的智能目录的方法和设备
US8561053B2 (en) Method and system for managing a computer system
CN1799059A (zh) 用于将提供商产品包自动转换成资源管理系统可执行的客户特定的服务环境定义的方法和系统
US10740085B2 (en) Webserver interface for deployment management tool
EP0831406A2 (en) Implementing a workflow engine in a database management system
CN115185700B (zh) 一种高集成单进程的容器管理方法
IL145993A (en) System and method for managing distribution of content to a device
AU2004222721A1 (en) System for Scheduling and Monitoring Computer Processes

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160714

Address after: American California

Patentee after: Present service company

Address before: American New York

Patentee before: International Business Machines Corp.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20080604