将分布式对象管理为单一表示的系统和方法

文档序号:7605739阅读:209来源:国知局
专利名称:将分布式对象管理为单一表示的系统和方法
技术领域
本发明一般涉及网络管理领域。更具体地说,本发明涉及在基于代理的系统中将分布式对象管理为单一表示的体系结构和方法。
背景技术
传统因特网数据中心的特征在于是企业数据中心附加上万维网和电子商务服务器硬件后的扩展。传统因特网数据中心的管理由以下操作组成施加约束,并且简化对硬件及其操作的假设。例如,数据中心内的服务可以使用客户-服务器对象和传输模型来简化该数据中心所支持的协议和智能。
随着商业界继续扩大对因特网经济的投资,曾经一度对于因特网数据中心的管理很重要的那些约束都不再是问题了。例如,传统的管理工具管理并监控因特网数据中心内有限数量的组件,因而将事件关联的责任和解决方案的选择都留给了操作员或管理员来处理。
今天,对因特网服务的部署、操作和维护变得愈发复杂,这使得因特网数据中心的管理和扩展都变得非常困难。因特网服务持续增长,操作员或管理员所承担的任务也更加繁重。为了减少某些需要操作员完成的繁重任务,对因特网数据中心的很多组件的管理正在自动化。
一种使管理过程自动化的体系结构就是开放控制技术。开放控制技术是瞄准企业级服务管理的网络/服务控制技术。开放控制技术体系结构描述了一种在整个服务的生命周期内用于管理数据中心服务的组件的结构。该体系结构被部署为开放控制技术箱(pod)。开放控制技术箱由控制器和顾客箱组成。该体系结构定义了一种虚拟化数据中心的对象模型。所述虚拟化过程是经由提取和封装来完成的。
当顾客箱包含一组集群资源/服务时,无论是软件的还是硬件的,只要被表示为对象的两个不同机器共享公共资源/服务,就会出现与开放控制技术体系结构相关联的问题。所述不同的机器还可以包含同样需要管理和监控的非集群资源/服务。当集群的资源/服务被管理和监控时,所述不同的机器或对象需要被表示为单个对象。当非集群的资源/服务被管理和监控时,所述不同的机器或对象需要被表示为单独的对象。传统的开放控制技术体系结构未被配置为在至少两个不同的机器或对象需要被表示为单个对象的情况下管理并监控集群资源,以便共享一项或多项公共资源/服务。
因此,需要一种用于将不同的机器表示为单个实体或对象,以使得所述不同的机器能够共享一项或多项公共资源或服务的体系结构和方法。


附图被包含在说明书中并构成其中一部分,它们图示说明了本发明的实施方案,并且连同文字描述一起还用来解释本发明的原理,使得本领域的技术人员能够实现并利用本发明。在附图中,相同的标号一般是指相同、功能上相似、和/或结构上相似的元件。元件第一次出现时的附图用相应标号中最左侧的数字来表示。
图1图示了因特网数据中心的示例性框图。
图2是图示了因特网数据中心内的开放控制技术控制器的框图。
图3图示了用于开放控制技术体系结构的对象模型。
图4图示了一种典型的基于代理的开放控制技术体系结构的简化图,在该体系结构中,当至少两个不同的机器试图共享公共资源时会出现问题。
图5根据本发明的实施方案,图示了一种基于代理的开放控制技术体系结构的简化图,该体系结构使得至少两个不同的机器能够共享公共资源。
图6是根据本发明的实施方案,描述了一种用于使得基于代理的开放控制技术体系结构能够处置至少两个共享公共资源的不同机器的方法的流程图。
图7是根据本发明的实施方案,描述了一种用于使得基于代理的开放控制技术体系结构中的控制器能够向共享的资源和/或服务触发信息请求的方法的流程图。
图8是图示了其中可以实现本发明某些方面的实施方案的示例性计算机系统的框图。
具体实施例方式
虽然这里参考针对具体应用的示例性实施方案来描述本发明,但是应当理解,本发明并不限制于此。可以获知这里所述教导的相关领域的技术人员将会意识到在本教导范围内的其他修改、申请和实施方案以及本发明的实施方案将特别有用的其他领域。
在说明书中提及本发明的“一个实施方案”、“实施方案”或“另一个实施方案”是指结合该实施方案所描述的具体特征、结构或特性被包括在本发明的至少一个实施方案中。因此,短语“在一个实施方案中”在整个说明书中不同地方的出现不一定全是指同一个实施方案。
本发明的实施方案意在公开一种用于在基于代理的系统中,将共享资源的至少两个不同的机器(或对象)作为单个实体(或对象)来管理的体系结构和方法。虽然参照在基于代理的框架中的开放控制技术来描述本发明的实施方案,但是本发明的实施方案也可以应用于有多个受控机器或对象来共享资源的任何基于代理的系统。在描述本发明的实施方案之前,将描述可以实现本发明的实施方案的示例性环境。
图1图示了一种典型的因特网数据中心100的示例性框图。如图1所示,典型的因特网数据中心包括多台计算机、连网的设备和器具。因特网数据中心100包括因特网106、负载平衡器108、前端110、后端114和防火墙122。客户(client)102和管理员104经由因特网浏览器(未示出)被耦合到因特网106,分别用于与因特网数据中心100进行通信和/或管理并监控因特网数据中心100。负载平衡器108经由防火墙122被耦合到因特网106、前端110和后端114。防火墙122被耦合到负载平衡器108、前端110和后端114。
前端110包括多个万维网服务器112-1…112-5。万维网服务器112-1…112-5是将万维网页传递或提供给浏览器,以供诸如客户102和/或管理员104等用户来查看的计算机系统。万维网服务器112-1…112-5存储HTML(超文本链接标示语言)文件,以便由用户通过万维网来访问这些文件。
后端114包括两个应用服务器116-1和116-2、两个存储设备118-1和118-2、以及两个数据库服务器120-1和120-2。应用服务器116-1和116-2是处置位于用户和企业的后端商业应用或数据库之间的所有应用运行的计算机系统。应用服务器116-1和116-2的特征一般在于具有内在的冗余度、高性能的分布式应用服务、以及对复杂数据库访问的支持。存储设备118-1和118-2被用来存储信息,并且是相关领域的技术人员所公知的。数据库服务器120-1和120-2是处理查询的计算机系统。数据库服务器120-1和120-2由数据库应用组成。数据库应用被分为两个部分。第一部分显示数据并与用户(即管理员104和/或客户102)交互。第二部分保持数据的完整性,并且处置大部分处理器密集型的工作,例如数据存储和操纵。
通过因特网106发送和接收的数据传递通过负载平衡器108。负载平衡器108分析来自客户102和管理员104的所有进入数据请求,并将所述请求转发到前端110中适当的万维网服务器112-1…112-5。客户或管理员请求可以是针对存储在万维网服务器112-1…112-5上的具体万维网页。万维网页可以包括由一个或多个应用服务器116-1和116-2、一个或多个存储设备118-1和118-2、和/或一个或多个数据库服务器120-1和120-2提供的嵌入对象。出于安全考虑,防火墙122监视并控制前端万维网服务器112-1…112-5和后端应用服务器(116-1和116-2)、存储设备(118-1和118-2)以及数据库服务器(120-1和120-2)之间的数据流量。
图2是图示了因特网数据中心200内的开放控制技术控制器的框图。开放控制技术控制器202被耦合到负载平衡器108、前端万维网服务器112-1…112-5和后端应用服务器(116-1和116-2)、存储设备(118-1和118-2)以及数据库服务器(120-1和120-2)。开放控制技术控制器202管理并监控前端110和后端114中的每个组件,并且收集来自每个组件的信息。
如前所述,开放控制技术体系结构定义了一种对象模型,其虚拟化因特网数据中心200的基础结构。所述虚拟化是通过提取和封装来完成的。提取操作隐藏了个体服务实现的复杂性。封装操作代表了模型中各个对象之间的关系。
图3图示了用于开放控制技术体系结构的对象模型300。在本发明的实施方案中,体系结构组件可以用硬件、软件或它们的组合来实现。对象模型300包括客户接口302、对象管理器304、提供者框架306、提供者接口308、驱动器接口310、提供者312和驱动器314。
对象管理器304被用来具体实施支持开放控制技术体系结构的对象模型。对象管理器304提供了实例化对象并且在对象的实例上执行操作的机制。提供了三个接口用以协助这些操作。所述接口包括客户接口302、提供者接口308和驱动器接口310。
客户接口302提供了应用编程接口(API),它可被客户应用316用来配置、查询和/或操纵由对象管理器304提供的对象。一种示例性的客户应用316可以是图形用户接口(GUI)。图形用户接口可以提供对象模型的图形化外部表示,用于使对象实例被显示出来,并以图形方式进行操纵。其他客户应用316可以包括但不限于规则引擎以及其他自动化应用,所述规则引擎用于预先定义对与对象管理器304内的对象相关联的事件、状态改变、或者方法调用进行响应的规则。
驱动器接口310互连提供者框架306和驱动器314。驱动器314使得能够对受控服务或资源执行所请求的动作。服务可以包括但不限于万维网服务、视窗服务、数据库服务、电子邮件服务等。资源可以包括系统的硬件组件和软件组件,例如但不限于存储设备、数据库、日志等。驱动器接口310是一组操作(或API),通过这组操作,对象管理器304对设备执行管理操作。管理操作可以包括但不限于启动、停止和状态请求。管理操作请求经由提供者框架306发送出去。
提供者接口308互连驱动器314和提供者框架306。当受控服务或资源的状态改变时,驱动器314、提供者312和提供者框架306之间经由提供者接口308的交互使得由对象管理器304管理的对象的关联属性被可靠、有效地更新。
提供者框架306允许新的/不同类型的提供者312被加入对象管理器304。每种新的/不同类型的提供者312可以包括用于增强对象管理器304的功能的附加对象类和/或操作。如前所述,提供者框架306使得在由对象管理器304管理的对象中表示的属性的改变能够被传播到驱动器314。当客户应用316之一经由客户接口302调用某一对象的方法时,由提供者框架306在驱动器314中可靠、有效地调用动作,以最终对受控服务或资源产生所请求的动作。
如前所述,传统的开放控制技术体系结构无法处置以下状况,即在基于代理的框架中,集群资源/服务被管理和监控为单个对象。图4图示了典型的开放控制技术体系结构400的简化图,其中当至少两个不同的机器试图共享公共资源和/或服务时会出现问题。现在将参考图4来解释为什么这种体系结构有问题。
体系结构400包括控制器402和代表示例性的数据中心的多个机器M1、M2和M3。机器M1、M2和M3中的每一个都包括代理(代理1,代理2和代理3),分别用于为每个机器M1、M2和M3解释来自控制器402的命令并向控制器402发送信息。代理1、2和3可以用软件、硬件或它们的组合来实现。机器M1、M2和M3中的每一个都被表示为根据参考图3所描述的对象模型的对象。机器M1、M2和M3中的每一个都包括必须被管理和监控的非集群资源/服务,例如但不限于处理器和/或服务/后台程序。
机器M1和M2代表一种类型的集群机器408,被称为故障转移集群机器。换言之,集群机器408由机器M1和M2以及集群资源/服务(在图4中示为“共享R/S”)组成。集群资源/服务由机器M1和M2共享,并且可以包括但不限于视窗服务、数据库服务、应用服务、万维网服务、盘、日志等。集群机器408的目的是为访问集群资源/服务起到故障安全系统的作用。当集群资源/服务正在被控制器402访问时,机器M1和M2中每次只能有一个机器可以访问所需的共享资源/服务。因此,如果机器M1可以访问所需的共享资源/服务,机器M2则被认为是无效的或不活动的。同样,如果机器M2可以访问所需的共享资源/服务,机器M1则被认为是无效的或不活动的。因此,如果机器M1是不活动的,则机器M1将故障转移,而机器M2将是活动的,反之亦然。
控制器402起到管理网关的作用,用于集成和管理由机器M1、M2和M3提供的资源和服务。控制器402包括提供者接口(I/F)404和406等诸多组件。提供者I/F 404分别使用持久标准连接410和412被分别耦合到机器M1和M2上的代理1和2。提供者I/F 406使用持久标准连接414被耦合到机器M3上的代理3。标准连接410、412和414在各自的代理(1,2和3)和控制器402之间提供连接。
控制器402还使用因特网浏览器(未示出),经由因特网106和负载平衡器108与管理员104和客户102通信。控制器402可以收集来自管理员104和/或客户102的信息请求。当信息请求可从非集群资源/服务获得时,控制器402将由所述请求生成命令,并且通过适当的标准持久连接(410、412或414)将所述命令发送到机器(M1、M2或M3)上的适当代理(代理1、2或3),在该代理中将获取所述信息。对于非集群资源/服务,机器M1、M2和M3中的每一个都独立地作为单独的对象,因此可以同时都是活动的。
控制器402使用相关领域的技术人员所公知的TCP/IP(传输控制协议/因特网协议)与机器M1、M2和M3通信。TCP/IP为网络或数据库中的每一个组件提供唯一的IP地址。
在从控制器402接收到命令后,所述适当的代理将解译所述命令,并且执行所述请求所要求的必要功能,例如确定资源或服务的状态,从资源或服务获得信息,等等。所述代理在执行了所述请求所要求的必要功能后,将所请求的信息发送给控制器402。控制器402接着将把所述信息发送给发出请求的实体(即,管理员104或客户102)。
为了管理和监控机器M1、M2和M3上的资源和服务,控制器402可能需要从位于机器M1、M2或M3上的特定非集群服务或资源获得信息。在这种情形中,控制器402将通过适当的持久标准连接向机器上的适当代理发送命令,在所述代理中将获取信息。接着,所述适当的代理将解译所述命令,并执行要获得信息所需的功能。所述信息可以是资源或服务的状态、来自资源或服务的信息等。代理在获得信息后,将通过相应的持久标准连接将该信息发送到控制器402。
如前所述,当故障转移集群机器中的集群资源/服务由控制器402来管理并监控时,传统的开放控制技术体系结构就会出现问题。在图4中所描述的基于代理的管理和监控方案中,当使用非集群资源/服务时,每个机器(M1、M2和M3)都被表示为由控制器402来操纵和监控的单独管理对象。在集群资源/服务由机器M1和M2共享的情况下,要求两个对象代表相同的共享资源/服务。当控制器402正在向集群机器408访问共享资源/服务时,机器M1和M2中只有一个将是活动的。因此,例如,如果控制器402经由持久标准连接410向机器M1发送命令,以向共享资源/服务请求信息,并且机器M1是不活动的那个机器,那么返回控制器402的响应可以指示机器M1是非活动的,或者指示资源/服务已当机。于是控制器402将会假定无法获取所述信息。但是,所请求的信息可能已从机器M2取得,因为所请求的资源/服务也可以从机器M2访问,并且机器M2是活动的。然而,图4中给出的体系结构不允许故障转移到机器M2,以由机器M2来获取信息,这是因为请求是通过持久标准连接410发送的。如果控制器402原先是经由持久标准连接412发送命令,并且机器M2是非活动的,则会出现同样的问题,尽管可以从机器M1获取所请求的信息。
本发明的实施方案指向一种用于在基于代理的系统中,将共享资源的至少两个不同机器(或对象)作为单个实体(或对象)来管理的体系结构和方法。这是通过使用本地代理而实现的,所述本地代理向故障转移集群机器(例如集群机器408)提供非持久虚拟连接。既具有到故障转移集群机器的持久标准连接,以将集群机器表示为两个不同的对象,又具有到故障转移集群机器的非持久虚拟连接,以将集群机器表示为单个对象,这样就使得控制器402可以从单独的非共享资源/服务以及单个表示的共享资源/服务获得信息。
图5图示了根据本发明的实施方案,使得至少两个不同的机器可以共享公共资源的、基于代理的开放控制技术体系结构500的简化图。体系结构500类似于体系结构400,除了附加本地代理502以外。在一个实施方案中,本地代理502存在于控制器402内。在另一个实施方案中,本地代理502耦合到控制器402。本地代理502可以用软件、硬件或它们的组合来实现。本地代理502可被用来完成某些我们不想从另一个机器处执行的任务。例如,如果机器M1确实是非活动的,那么我们不会想查询机器M1来确定机器M1是不是非活动的。
在本发明的实施方案中,本地代理502被用来向集群机器408提供虚拟非持久连接504(用虚线示出)。虚拟非持久连接504允许本地代理502将集群机器408视为单个实体或对象。虚拟非持久连接504使得本地代理502可以使用单个唯一的IP地址连接到机器M1和机器M2。例如,可以向机器M1指定一个IP地址1.2.3.1,向机器M2指定一个IP地址1.2.3.2,并且可以向集群机器408指定一个虚拟IP地址1.2.3.3。这使得机器M1、M2以及机器M1和M2的组合(集群机器408)中的每一个都具有唯一的IP地址。机器M3也将被指定给唯一的IP地址,例如1.2.3.4。
在一个实施方案中,本地代理502被用于向集群机器408访问共享资源/服务。如前所述,当访问共享资源/服务时,机器M1或M2中每次只可能有一个是活动的。因此,当控制器402向本地代理502发送指向共享资源/服务的命令时,本地代理502将打开虚拟连接504,并将所述命令发送到机器M1和M2。虽然机器M1和M2都接收到命令,但是只有活动的那个机器将会响应。这使得本地代理502不必知道哪个机器(M1或M2)是活动的并将响应命令。
利用体系结构500,非集群资源/服务使用持久标准连接(例如410、412和414)来访问,如参考图4所示。
图6中的流程图600描述了根据本发明的实施方案,使得基于代理的开放控制技术体系结构能够处置其中共享公共资源的至少两个不同机器的方法。本发明不限于这里参考流程图600所描述的实施方案。相反,本领域的技术人员在阅读了这里所提供的教导之后将会清楚,其他的功能性流程图都在本发明的范围内。本发明的实施方案也不限制为至少两个实现资源/服务共享的不同机器。相关领域的技术人员将会知道,两个以上的不同机器可以共享资源,而不会偏离本发明的实施方案的范围。过程开始于框602,其中过程立即前进到框604。
在框604中,控制器402接收到对共享资源和/或共享服务中的一个或多个进行操纵的请求。在一个实施方案中,所述请求可以来自管理员104,他想要确信网络上的机器或服务器运行正常。在另一个实施方案中,所述请求可以来自正从因特网106获得信息的用户或客户102。然后过程前进到框606。
在框606,控制器402打开与包含共享资源/服务的集群机器之间的虚拟非持久连接,例如图5中所示的连接504。这是使用本地代理502来完成的。然后过程前进到框608。
在框608中,控制器402由所述请求生成命令,并经由本地代理502,通过虚拟连接将命令发送到包含共享资源的集群机器。然后过程前进到框610。
在框610中,活动的机器被触发来处理所述命令。在集群机器中的活动机器内的代理将解译所述命令,执行命令所需的必要功能,并将所请求的信息发送给控制器402。然后过程前进到框612。
在框612中,控制器402经由本地代理502,通过虚拟非持久连接504接收到所请求的信息。然后,控制器402将所请求的信息发送给发出请求的实体(即,管理员104或客户102)。然后过程前进到框614,关闭虚拟连接504。在可替换的实施方案中,可以在将所请求的信息发送到发出请求的实体之前关闭虚拟连接504。
控制器502还能够出于它自己的需要,向共享资源和/或共享服务触发信息请求。这样的信息可以包括但不限于共享资源和/或服务的状态检查。图7中的流程图700描述了根据本发明的实施方案,用于使得基于代理的开放控制技术体系结构中的控制器能够向共享资源和/或服务触发信息请求的方法。本发明不限于参考流程图700所描述的实施方案。相反,本领域的技术人员在阅读了这里所提供的教导后将会清楚,其他功能性的流程图也位于本发明的范围内。
方法700的过程类似于在图6的框606-610中所描述的方法600的过程。过程开始于框702并立即前进到框704。与图6中的框604的过程不同的是,在框604中控制器402接收到操纵共享资源和/或共享服务的请求,而在框704中,控制器402自发地生成请求。也就是说,控制器402触发对控制器402从共享资源和/或服务需要的信息的请求(以命令的形式)。然后过程继续通过参考图6所描述的框606-610。在代理经由虚拟非持久连接504,从集群机器408中的活动机器向控制器402发送所请求的信息后,过程前进到框706。
在框706中,控制器402接收来自集群机器408中的活动机器的信息。在一个实施方案中,控制器402可以在必要的时候通知管理员104有关信息获得处的共享资源/服务的状态。然后过程前进到框614。在框614中,虚拟连接504由本地代理502经由控制器402关闭。
在本发明的实施方案中,非持久虚拟连接(例如虚拟非持久连接504)被不断地创建和销毁。在本发明的一个实施方案中,存在着安全保证措施(security provision),以确保非持久虚拟连接的安全性。安全保证措施使基于代理的系统免受黑客的攻击,所述黑客试图哄骗故障转移集群机器认为来自黑客的连接是一条来自控制器和本地代理的可信(trusted)连接。安全保证措施是使用持久连接来完成的。持久连接(也被称为可信连接)被用来向故障转移集群机器传递“秘密”信息,例如但不限于令牌、用户名、密码等。这些“秘密”信息被用于建立非持久虚拟连接。也就是说,如果“秘密”信息不是由非持久虚拟连接提供的,那么故障转移集群机器将不会接受该连接。
在一个实施方案中,秘密信息包括公共加密密钥交换。一旦经由持久连接已将秘密信息交给故障转移集群机器,那么经由非持久连接的控制器和本地代理就必须使用公钥来加密发送给故障转移集群机器的消息,而且故障转移集群机器必须使用私钥来解密/验证所述消息。这种保证措施确保了来自控制器的消息是真实的。
本发明的实施方案可以使用硬件、软件、或者它们的组合来实现,并且可被实现在一个或多个计算机系统或其他处理系统中。事实上,在一个实施方案中,本发明针对能够完成这里所述功能的一个或多个计算机系统。图8中示出了计算机系统800的示例性实现方式。参照这个示例性的计算机系统800来描述各个实施方案。在阅读了这份说明书后,相关领域的技术人员将会清楚如何使用其他计算机系统和/或计算机体系结构来实现本发明。
计算机系统800包括一个或多个处理器,例如处理器803。处理器被连接到通信总线802。计算机系统800还包括主存储器805,优选地是一个随机访问存储器(RAM),还可以包括辅助存储器810。辅助存储器810例如可以包括硬盘驱动器812和/或可移动存储设备814,其代表了软盘驱动器、磁带驱动器、光盘驱动器等。可移动存储驱动器814以公知的方式对可移动存储单元818进行读写。可移动存储单元818代表软盘、磁带、光盘等,由可移动存储驱动器814来读写。将会理解,可移动存储单元818包括其上存储有计算机软件和/或数据的计算机可用存储介质。
在可替换的实施方案中,辅助存储器810可以包括其他类似的装置,用于允许计算机程序或其他指令被加载到计算机系统800上。这些装置例如包括可移动存储单元822和接口820。这样的实施例可以包括程序卡以及卡接口(例如在视频游戏机中可以找到),可移动存储器芯片(例如EPROM(可擦除可编程只读存储器)或PROM(可编程只读存储器))以及相关联的插口,还可以包括允许软件和数据从可移动存储单元822转移到计算机系统800的其他可移动存储单元822和接口820。
计算机系统800还可以包括通信接口824。通信接口824允许软件和数据在计算机系统800和外部设备之间转移。通信接口824的实施例可以包括调制解调器、网络接口(例如以太网卡)、通信端口、PCMCIA(个人计算机存储器卡国际协会)槽和卡、无线LAN(局域网)接口等。经由通信接口824转移的软件和数据可以具有多种信号828的形式,可以是能够由通信接口824接收的电信号、电磁信号、光信号或其他信号。这些信号828经由通信路径(即,信道)826被提供给通信接口824。信道826传送信号828,并且可以使用电线或电缆、光纤、电话线、蜂窝电话链路、无线链路以及其他通信信道来实现。
在这份文件中,术语“计算机程序产品”是指可移动存储单元818、822和信号828。这些计算机程序产品是用于向计算机系统800提供软件的装置和手段。本发明的实施方案针对这些计算机程序产品。
计算机程序(也被称为计算机控制逻辑)被存储在主存储器805、和/或辅助存储器810和/或计算机程序产品中。也可以经由通信接口824来接收计算机程序。这些计算机程序在被执行时使得计算机系统800能够执行这里所讨论的本发明的特征。具体地说,计算机程序在被执行时使得处理器803能够执行本发明的实施方案的特征。因此,这些计算机程序代表计算机系统800的控制器。
在使用软件实现本发明的实施方案中,软件可被存储在计算机程序产品中,并使用可移动存储驱动器814、硬盘驱动器812或通信接口824被加载到计算机系统800中。控制逻辑(软件)在被执行时使得处理器803执行这里所描述的本发明的功能。
在另一个实施方案中,本发明主要用硬件来实现,例如使用专用集成电路(ASIC)一类的硬件元件。相关领域的技术人员将清楚,可以使用硬件状态机来实现这里所描述的功能。在又一个实施方案中,使用软硬件的组合来实现本发明。
虽然上面已描述了本发明的各种实施方案,但是应当理解,仅是以示例而非限制的方式给出了这些实施方案。本领域的技术人员将会理解,其中可以作出形式和细节上的各种改变,而不会偏离在所附权利要求中所定义的本发明的精神和范围。因此,本发明的宽度和范围不应由上述任何一个示例性的实施方案来限定,而是应当根据所附权利要求及其等同物来限定。
权利要求
1.一种用于管理基于代理的系统的方法,包括打开虚拟非持久连接;通过所述虚拟非持久连接,向包含共享资源/服务的集群机器发送第一组命令;触发所述集群机器内的活动机器来处理所述第一组命令;接收作为处理所述第一组命令的结果的、来自所述活动机器的信息;以及关闭所述虚拟连接。
2.如权利要求1所述的方法,其中在打开虚拟非持久连接之前,所述方法还包括接收来自用户的、操纵一个或多个共享资源/服务的请求;以及为获得所述请求而生成所述第一组命令。
3.如权利要求2所述的方法,其中,用户包括管理员和客户之一。
4.如权利要求1所述的方法,其中在打开虚拟非持久连接之前,所述方法还包括触发信息请求;以及为获得所述请求而生成所述第一组命令。
5.如权利要求1所述的方法,其中“通过所述虚拟非持久连接,向包含共享资源/服务的集群机器发送第一组命令”的步骤还包括使用虚拟因特网协议(IP)地址向集群机器发送所述第一组命令,所述虚拟非持久连接和所述虚拟因特网协议地址使得所述集群机器被表示为单个实体,所述集群机器具有至少两个实现资源/服务共享的不同机器。
6.如权利要求1所述的方法,其中“通过所述虚拟非持久连接,向包含共享资源/服务的集群机器发送第一组命令”的步骤还包括向使用虚拟因特网协议(IP)地址的集群机器发送所述第一组命令,所述虚拟非持久连接和所述虚拟因特网协议地址使得所述集群机器被表示为单个对象,所述集群机器具有至少两个实现资源/服务共享的不同对象。
7.如权利要求1所述的方法,其中“打开虚拟非持久连接”的步骤包括使用本地代理打开所述虚拟非持久连接。
8.如权利要求1所述的方法,其中“触发所述集群机器内的活动机器来处理所述第一组命令”的步骤还包括使得所述活动机器上的代理能够解译所述第一组命令;执行所述第一组命令所需的功能;以及通过所述虚拟非持久连接发回与所述第一组命令相关的信息。
9.如权利要求1所述的方法,其中“接收作为处理所述第一组命令的结果的、来自所述活动机器的信息”的步骤还包括向发出请求的实体发送所述信息。
10.如权利要求1所述的方法,还包括接收来自用户的、对非集群资源/服务的请求;为获得所述对非集群资源/服务的请求而生成第二组命令;通过持久连接向所述非集群资源/服务驻留的机器发送所述第二组命令;使得所述机器上的代理能够处理所述第二组命令;以及接收作为处理所述第二组命令的结果的、来自所述代理的信息。
11.如权利要求10所述的方法,其中所述非集群资源/服务驻留的机器包括被表示为一个对象的非集群机器和具有至少两个单独机器的集群机器之一,所述至少两个单独机器被表示为两个单独的对象,其中“通过持久连接向所述非集群资源/服务驻留的机器发送所述第二组命令”的步骤包括通过所述持久连接向所述集群机器中的所述至少两个单独机器之一发送所述第二组命令,其中所述集群机器中的所述至少两个单独机器中的每一个都具有单独的持久连接。
12.如权利要求10所述的方法,其中“使得所述机器上的代理能够处理所述第二组命令”的步骤还包括使得所述代理能够解译所述第二组命令;使得所述代理能够执行所述第二组命令所需的功能;以及使得所述代理能够通过所述持久连接发回与所述第二组命令相关的信息。
13.如权利要求10所述的方法,还包括向所述用户发送所接收的信息。
14.如权利要求1所述的方法,还包括发起对非集群资源/服务的请求;为获得对非集群资源/服务的请求而生成第二组命令;通过持久连接向所述非集群资源/服务驻留的机器发送所述第二组命令;使得所述机器上的代理能够处理所述第二组命令;以及接收作为处理所述第二组命令的结果的、来自所述代理的信息。
15.如权利要求14所述的方法,其中所述非集群资源/服务驻留的机器包括被表示为一个对象的非集群机器和具有至少两个单独机器的集群机器之一,所述至少两个单独机器被表示为两个单独的对象,其中“通过持久连接向所述非集群资源/服务驻留的机器发送所述第二组命令”的步骤包括通过所述持久连接向所述集群机器中的所述至少两个单独机器之一发送所述第二组命令,其中所述集群机器中的所述至少两个单独机器中的每一个都具有单独的持久连接。
16.如权利要求14所述的方法,其中“使得所述机器上的代理能够处理所述第二组命令”的步骤还包括使得所述代理能够解译所述第二组命令;使得所述代理能够执行所述第二组命令所需的必要功能;以及使得所述代理能够通过所述持久连接发回与所述第二组命令相关的信息。
17.一种制品,包括具有多条机器可访问指令的存储介质,其中当所述指令由处理器执行时,所述指令用于打开虚拟非持久连接;通过所述虚拟非持久连接,向包含共享资源/服务的集群机器发送第一组命令;触发所述集群机器内的活动机器来处理所述第一组命令;接收作为处理所述第一组命令的结果的、来自所述活动机器的信息;以及关闭所述虚拟连接。
18.如权利要求17所述的制品,还包括用于以下步骤的指令接收来自用户的、操纵一个或多个共享资源/服务的请求;以及为获得所述请求而生成所述第一组命令。
19.如权利要求18所述的制品,其中,用户包括管理员和客户之一。
20.如权利要求17所述的制品,还包括用于以下步骤的指令触发信息请求;以及为获得所述请求而生成所述第一组命令。
21.如权利要求17所述的制品,其中用于“通过所述虚拟非持久连接,向包含共享资源/服务的集群机器发送第一组命令”的指令还包括用于以下步骤的指令使用虚拟因特网协议(IP)地址向集群机器发送所述第一组命令,所述虚拟非持久连接和所述虚拟因特网协议地址使得所述集群机器被表示为单个实体,所述集群机器具有至少两个实现资源/服务共享的不同机器。
22.如权利要求17所述的制品,其中用于“通过所述虚拟非持久连接,向包含共享资源/服务的集群机器发送第一组命令”的指令还包括用于以下步骤的指令使用虚拟因特网协议(IP)地址向集群机器发送所述第一组命令,所述虚拟非持久连接和所述虚拟因特网协议地址使得所述集群机器被表示为单个对象,所述集群机器具有至少两个实现资源/服务共享的不同对象。
23.如权利要求17所述的制品,其中用于“打开虚拟非持久连接”的指令包括用于使用本地代理打开所述虚拟非持久连接的指令。
24.如权利要求17所述的制品,其中用于“触发所述集群机器内的活动机器来处理所述第一组命令”的指令还包括用于以下步骤的指令,即,使得能所述活动机器上的代理能够解译所述第一组命令;执行所述第一组命令所需的功能;以及通过所述虚拟非持久连接发回与所述第一组命令相关的信息。
25.如权利要求17所述的制品,其中用于“接收作为处理所述第一组命令的结果的、来自所述活动机器的信息”的指令还包括用于向发出请求的实体发送所述信息的指令。
26.如权利要求17所述的制品,还包括用于以下步骤的指令接收来自用户的、对非集群资源/服务的请求;为获得对非集群资源/服务的请求而生成第二组命令;通过持久连接向所述非集群资源/服务驻留的机器发送所述第二组命令;使得所述机器上的代理能够处理所述第二组命令;以及接收作为处理所述第二组命令的结果的、来自所述代理的信息。
27.如权利要求26所述的制品,其中所述非集群资源/服务驻留的机器包括被表示为一个对象的非集群机器和具有至少两个单独机器的集群机器之一,所述至少两个单独机器被表示为两个单独的对象,其中用于“通过持久连接向所述非集群资源/服务驻留的机器发送所述第二组命令”的指令包括用于通过所述持久连接向所述集群机器中的所述至少两个单独机器之一发送所述第二组命令的指令,其中所述集群机器中的所述至少两个单独机器中的每一个都具有单独的持久连接。
28.如权利要求27所述的制品,其中用于“使得所述机器上的代理能够处理所述第二组命令”的指令还包括用于以下步骤的指令使得所述代理能够解译所述第二组命令;使得所述代理能够执行所述第二组命令所需的必要功能;以及使得所述代理能够通过所述持久连接发回与所述第二组命令相关的信息。
29.如权利要求27所述的制品,还包括用于向所述用户发送所接收的信息的指令。
30.如权利要求17所述的制品,还包括用于以下步骤的指令发起对非集群资源/服务的请求;为获得对非集群资源/服务的请求而生成第二组命令;通过持久连接向所述非集群资源/服务驻留的机器发送所述第二组命令;使得所述机器上的代理能够处理所述第二组命令;以及接收作为处理所述第二组命令的结果的、来自所述代理的信息。
31.如权利要求30所述的制品,其中所述非集群资源/服务驻留的机器包括被表示为一个对象的非集群机器和具有至少两个单独机器的集群机器之一,所述至少两个单独机器被表示为两个单独的对象,其中用于“通过持久连接向所述非集群资源/服务驻留的机器发送所述第二组命令”的指令包括用于通过所述持久连接向所述集群机器中的所述至少两个单独机器之一发送所述第二组命令的指令,其中所述集群机器中的所述至少两个单独机器中的每一个都具有单独的持久连接。
32.如权利要求30所述的制品,其中用于“使得所述机器上的代理能够处理所述第二组命令”的指令还包括用于以下步骤的指令使得所述代理能够解译所述第二组命令;使得所述代理能够执行所述第二组命令所需的功能;以及使得所述代理能够通过所述持久连接发回与所述第二组命令相关的信息。
33.一种基于代理的管理系统,包括控制器;耦合到所述控制器的本地代理;至少一个集群机器,所述至少一个集群机器包括至少两个单独的代理,所述至少两个单独的代理共享至少一项共享资源/服务;以及用于将所述至少两个单独的代理耦合到所述本地代理的虚拟非持久连接,其中所述至少一项共享资源/服务由所述本地代理使用虚拟IP地址,通过所述虚拟非持久连接来访问,以使得所述至少一个集群机器的所述至少两个单独的代理可被表示为单个对象。
34.如权利要求1所述的系统,其中所述至少两个单独代理中的每一个都包括至少一项非集群资源/服务,所述系统还包括至少两个持久连接,所述至少两个持久连接中的每一个都被耦合到所述控制器和所述至少两个单独代理之一,所述至少两个持久连接用于使得所述控制器能够独立地访问在所述至少两个单独代理的每一个上的所述至少一项非集群资源/服务,使得所述至少一个集群机器的所述至少两个单独代理可被表示为至少两个对象。
35.如权利要求33所述的系统,还包括至少一个具有代理以及至少一项非集群资源/服务的非集群机器,所述至少一个非集群机器使用持久连接被耦合到所述控制器,用于使得所述控制器能够访问来自所述至少一项非集群资源/服务的信息。
36.如权利要求33所述的系统,其中所述共享资源/服务仅可从所述至少两个单独代理之一来访问。
37.如权利要求33所述的系统,其中所述控制器被耦合到因特网,以使得管理员和客户能够与所述控制器通信。
全文摘要
本发明公开了一种在基于代理的系统中,将其中共享资源的至少两个不同的机器(或对象)作为单个实体(或对象)来管理的体系结构和方法。基于代理的系统包括控制器、耦合到控制器的本地代理以及至少一个集群机器。至少一个集群机器包括至少两个单独代理,所述至少两个单独代理共享至少一项共享的资源/服务。所述系统还包括虚拟非持久连接,用于将至少两个单独代理耦合到本地代理。至少一项共享资源/服务由本地代理使用虚拟IP地址,通过虚拟非持久连接来访问,以使得至少一个集群机器的至少两个单独代理能够被表示为单个对象。
文档编号H04L29/06GK1777869SQ200480010562
公开日2006年5月24日 申请日期2004年2月25日 优先权日2003年3月21日
发明者马克·托兰特, 保罗·巴勒米 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1