网络中的委托代理的制作方法

文档序号:7739405阅读:222来源:国知局
专利名称:网络中的委托代理的制作方法
网络中的委托代理
背景技术
基于网络的实施方式允许各种网络设备或资源与彼此交互。此类设备或资源与彼此交互以执行各种功能,诸如存储信息、提供计算服务、以及执行路由请求。目前已知的实施方式允许在网络中部署的设备上存储信息。为了满足日益增长的对网络存储的需求,已经开发出了各种存储共享体系结构,诸如存储区域网络(SAN)。SAN是将一个或多个主机或服务器连接到一个或多个存储设备和网络子系统、允许在它们之间传输数据的专用且复杂的网络。存储共享体系结构(诸如SAN)包括一个或多个主机,诸如服务器和通用计算机,其通过通信网络与存储设备或网络子系统交互。使用网 络设备(诸如网络交换机、路由器)来实现通信网络。SAN的正常运行取决于存储器和网络设备的正常运行。这些设备由中心管理站(CMS)管理。CMS采集关于存储设备和网络设备的信息并且基于这样的信息实现设备管理。设备信息的示例包括设备负荷、设备可用性、新设备、非运行的设备、设备状态、特定控制功能等。CMS使用多个委托代理(proxy agent)获得设备信息。该委托代理被部署在网络中并且与主机、网络和存储设备中的一个或多个相关联。委托代理通过收集关于设备的信息并将该信息报告给CMS来促进设备的管理。委托代理可以周期性地或响应于来自CMS的请求报告设备信息。单个委托代理负责收集特定设备的设备信息。委托代理响应于来自CMS的请求收集并报告设备信息。在给定的时刻,委托代理中的某些可能比其它委托代理处理更多的请求并且因此可能是超负荷的。此外,在操作期间,新的委托代理可以被添加到SAN,而某些委托代理可能失效。由于SAN的复杂特性,所以对于CMS而言,定位新近添加的或失效的委托代理是困难的,尤其在委托代理的数量较大的情况下。


参考附图来描述具体说明。在图中,参考标号的最左边的(一个或多个)数字标识该参考标号在其中首次出现的图。在整个附图中使用相同的标号来指示相似的特征和部件。图I图示出了根据本发明的实施例的、用于实现网络设备管理的示例性网络环境。图2图示出了根据本发明的实施例的、托管(hosting)用于实现如图I中描述的网络设备管理的网关的示例性计算设备。图3图示出了根据本发明的实施例的、托管用于实现如图I中描述的网络设备管理的委托代理的示例性计算设备。图3a图示出了根据本发明的实施例的、委托代理按照其将相关信息传送到网关的示例性格式。图4图示出了根据本发明的实施例的、用于检测网络中的委托代理的示例性方法。图5图示出了根据本发明的实施例的、用于发现网络中的网关的示例性方法。图6图示出了根据本发明的实施例的、用于委托代理的负荷平衡的示例性方法。图7图示出了根据本发明的实施例的、用于将管理请求路由到委托代理的示例性方法。
具体实施例方式描述了用于网络中的设备或资源的管理 的设备和方法。此类网络的示例包括但不限于存储区域网络(SAN)。SAN可以被部署为包括网络资源或设备的网络的一部分,或被部署为独立的网络本身。SAN像其它网络一样可以包括一个或多个计算设备、存储设备等。计算设备可以包括计算资源或设备,诸如主机或服务器、存储设备等。SAN是将一个或多个主机或服务器连接到一个或多个存储器和网络设备以便在它们之间进行数据传输的专用且复杂的网络。设备的示例包括但不限于网络交换机、SAN交换机、存储设备、HBA等。可以通过运行管理应用(诸如存储资源管理(SRM)应用)的中心管理站(CMS)来管理SAN的有效工作。SRM应用通过一个或多个委托代理与SAN、其部件、以及一个或多个存储设备进行交互。典型的系统支持每设备一个委托代理。委托代理收集与SAN网络设备以及存储设备相关联的信息,并且将该信息报告给SRM应用。基于由委托代理报告的信息,SRM应用使用管理请求监视、控制并且配置可能直接地或间接地与设备的运行相关的属性。此类属性的示例包括与SAN网络设备以及存储设备相关联的连通性、拓扑结构、设备可用性、事件细节等。此外,委托代理还通过相同或不同的网络与SAN网络设备以及存储设备进行通信。在操作期间,使委托代理负担由CMS对其作出的管理请求。然而,委托代理可能由于大量的未决请求(例如,用于收集设备信息或其它与设备相关联的统计信息的请求)而变得超负荷。如果存储网络中的委托代理超负荷,那么它们可能变得响应缓慢或可能不能对针对设备信息的请求作出响应。由于委托代理与一个设备相关联,所以任何失效的委托代理都将导致设备的信息对于在CMS上运行的SRM应用而言变得难以获得。在这样的情况下,SRM应用将不能够管理设备的运行。为了克服此类情形,描述用于网络和存储设备管理的系统和方法。在一个实施方式中,设备管理包括负荷平衡以及自动地管理SAN中委托代理的故障转移(failover)。委托代理通过监视、发现以及收集设备信息以便报告给在CMS中安装的SRM应用来管理相关联的网络设备以及存储设备。通常,委托代理以特定间隔执行并且因此针对剩余时间保持空闲。在它们的执行过程中,委托代理中的某些可能是超负荷的、负荷不足的、或平衡的。负荷平衡确保使委托代理合理地负担,即,使所有的委托代理或多或少同等地负担以便它们在SAN中正常运行。在检测到特定委托代理是超负荷的或已经失效的情况下,可以基于它们的负荷将后续请求路由到其它委托代理。本文所描述的系统和方法可以允许多个设备、存储设备以及网络设备与单个委托代理相关联。为了这个目的,负荷平衡网关被提供以监视并获得设备信息。由一个或多个与设备相关联的委托代理来收集设备信息。负荷平衡网关充当路由器,将来自SRM应用的请求路由到相关的委托代理。基于各委托代理的负担来确定所述请求必须被路由到的委托代理。响应于此类请求,委托代理收集设备信息并且将设备信息报告给SRM应用。设备信息形成用于监视并且控制存储设备以及网络设备的运行的基础。设备信息的示例包括但是不限于委托代理的IP地址、由委托代理管理的设备以及它们的IP地址的列表等。在一个实施方式中,负荷平衡网关被实现为用 于将管理请求路由到相应的委托代理的轻量应用。在不同的实施方式中,负荷平衡网关可以被安装在CMS上或SAN网络中的任何其它主机上。此外,新的委托代理可以被添加到网络并且随后向负荷平衡网关登记。一旦被登记,负荷平衡网关就管理与新近添加的委托代理相关联的设备。在一个实施方式中,负荷平衡网关被配置成自动地发现SAN中的一个或多个委托代理。为了这个目的,负荷平衡网关通过网络发送或广播周期性请求消息,请求来自部署在SAN内的委托代理的信息。基于所接收到的响应,负荷平衡网关确定最近被添加到SAN的委托代理。最近添加的委托代理一旦被识别,就向负荷平衡网关登记。在一个实施方式中,负荷平衡网关被配置成确定委托代理是否已经失效。如果其没能对由该网关广播的请求消息作出响应,那么负荷平衡网关将委托代理分类为失效的。在一个实施方式中,也可以由委托代理检测负荷平衡网关。在这样的情况下,一个或多个委托代理可以广播请求消息。负荷平衡网关接收该请求消息并且将响应发送到从其处接收到请求消息的相应的委托代理。在接收该响应时,委托代理向负荷平衡网关登记。在一个实施方式中,委托代理基于其相关信息(例如,IP地址、与委托代理相关联的设备等)向负荷平衡网关登记。在另一个实施方式中,负荷平衡网关被配置成监视并确定在给定时间间隔期间委托代理上的负荷,即,由每个委托代理处理的SAN管理请求的数量。管理请求包括当被执行时监视、控制以及配置可能直接地或间接地与设备的运行相关的属性的指令。管理请求可以被从用户或管理应用(比方说被安装在中心管理站(CMS)上的SRM应用)发起。负荷平衡网关至少基于阈值负荷以及阈值间隔实现负荷平衡。一旦这些参数被获得,负荷平衡网关就针对给定阈值间隔将每个委托代理上的负荷与阈值负荷进行比较。基于所述比较,负荷平衡网关确定委托代理是否是超负荷的、负荷不足的或平衡的。负荷平衡网关将由超负荷的委托代理处理的负荷转移到负荷不足或平衡的委托代理。在一个实施方式中,负荷平衡网关将随后的管理请求路由到负荷不足或平衡的委托代理。将针对图1-7详细解释实现委托代理的负荷平衡以及故障转移的自动管理所采用的方式。虽然所描述的系统和方法的各方面可以在任何数量的不同计算系统、环境、和/或配置中加以实现,但是在以下的(一个或多个)示例性系统体系结构的背景下描述实施例。图I示出了根据本发明的实施例的、用于网络设备管理的示例性网络100。网络100包括一个或多个存储设备102-1、102-2、102-m (统称为存储设备102)以及一个或多个主机104-1、104-2、104-n (统称为主机104)。在一个实施方式中,存储设备102包括磁带库、盘阵列、磁盘簇(JB0D)、独立磁盘冗余阵列(RAID)、软盘驱动器、光盘驱动器等。存储设备102和主机104通过通信网络(诸如存储区域网络(SAN) 106)进行通信。SAN 106可以是无线网络、有线网络或其组合。SAN 106还可以是单独的网络或许多此类单独网络的集合,其与彼此互连并且充当单个大型网络,例如,互联网或内联网。此夕卜,SAN 106包括网络设备,诸如网络交换机、网络集线器、路由器、HBA,以用于在主机104和存储设备102之间提供链路。SAN 106内的网络设备通过通信链路(诸如光纤信道链路、互联网小型计算机系统接口(iSCSI))与主机104以及存储设备102交互。如将知晓的那样,主机104可以包括服务器和/或网络中的其它计算设备。例如,主机104可以包括工作站、个人计算机、或用于管理网络资源的服务器。网络100进一步包括中心管理站108,在下文中被称为CMS 108,用于管理SAN106。在一个实施方式中,CMS 108是运行管理应用(诸如存储资源管理(SRM)应用)的计算设备。如先前提到的,在CMS 108上安装的SRM应用可以被用于监视、控制以及配置连通性、拓扑结构、设备可用性,事件细节等。CMS 108可以被连接到一个或多个用户(诸如用户110),其与CMS 108交互以用于访问关于SAN 106的信息。在一个实施方式中,用于 访问关于SAN 106的信息的请求可以被经由包含在CMS 108中的设备发现模块112来接收。主机104进一步包括委托代理114-1,2. . .,n,统称为委托代理114,其用于基于例如从CMS 108接收到的管理请求来管理存储设备102以及SAN 106中的网络设备。委托代理114与CMS 108 一起操作以通过获得相关的与设备相关的信息(诸如,设备可用性、设备的添加或移除、在某时正被管理的设备102和106的数量、设备的IP地址等)来管理存储设备102以及SAN 106中的网络设备,统称为设备102和106。如先前提到的,由于例如从CMS 108接收的一个或多个所接收的未决管理请求,使每个委托代理114负担。委托代理114被配置成经由包含在网络100中的负荷平衡网关116 (在下文中称为网关116)与CMS 108通信。委托代理114提供它们的相关信息以向网关116登记,并且将与设备102和106相关联的信息发送到网关116。一旦被登记,网关116就可以监视委托代理114并且周期性地更新与委托代理114相关联的信息。此类信息的示例包括但是不限于对于委托代理而言未决请求的数量、负荷信息、由委托代理114管理的设备102和106、设备102和106的IP地址等。在一个实施方式中,网关116被安装在CMS 108上。在一个实施方式中,委托代理114被安装在设备102和106上。在另一个实施方式中,委托代理114以及设备102和106的工作是基于SNMP协议的。CMS 108、委托代理114以及网关116通过网络118与彼此通信。网络118可以被实现为与SAN 106分开的网络,或可以被实现为SAN 106的一部分。如在本领域中已知的那样,网络118可以包括多个计算设备、主机、服务器、交换机等。网关116被安装在主机120上。主机120可以被实现为一个或多个服务器,其它计算设备等。例如,主机120可以是一个或多个工作站、个人计算机、服务器等。在一个实施方式中,网关116可以被安装在CMS 108 上。网关116进一步包括用于检测在SAN 106内部署的委托代理114的检测模块122以及用于确定并且管理委托代理114上的负荷的负荷平衡模块124。网关116使用请求消息与委托代理114进行通信。在一个实施方式中,网关116基于列出了向网关116登记的所有委托代理114的委托代理映射来将请求广播到委托代理114。在另一个实施方式中,请求消息是基于服务定位协议(SLP)的。委托代理114 (其先前曾与如从委托代理映射采集的网关116相关联)响应于从网关116接收的广播请求消息。由网关116使用来自先前相关联的委托代理114的响应来确定相应的委托代理114的状态。在另一个实施方式中,网关116更新存在于委托代理映射中的所述信息,诸如与委托代理114相关联的设备102和106。在一个实施方式中,网关116基于委托代理映射确定没能对广播请求作出响应的委托代理114。在此类情况下,网关116将未作出响应的委托代理114分类为失效的。类似地,网关116在接收到来自委托代理114的响应时登记先前未曾被登记的新检测到的委托代理114。在一个实施方式中,网关116被配置成允许由部署在SAN 106中的一个或多个委托代理114检测。例如,与负荷平衡网关不相关联的委托代理114中的任何一个(比方说网关116)广播请求消息。网关116在接收到请求消息时将向从其处接收到请求消息的委托代理114发送响应。在接收到响应时,委托代理11 4向作出响应的网关116登记。一旦被登记,委托代理114就能够接收并且响应于例如通过网关116路由的来自CMS108的请求。包含在网关116内的负荷平衡模块124监视并且管理由委托代理114处理的负荷。由一个委托代理(诸如委托代理114中的任何一个)处理的负荷是基于对于该委托代理而言未决的管理请求的数量。在一个实施方式中,负荷平衡模块124基于被适应性地评估的阈值负荷值,即基于对于委托代理114而言未决的管理请求的数量,来对委托代理114进行分类。结合图2-7详细地解释与委托代理114和网关116之间的交互相关的,以及与由网关116实现的适应性负荷平衡相关的概念。图2图示出了根据本发明的实施例的、托管网关116的主机120的示例性部件。主机120可以包括一个或多个处理器202、1/0接口 204以及存储器206。一个或多个处理器202可以是单个或多个处理单元。一个或多个处理器202可以被实现为一个或多个微处理器、微计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路、或任何基于操作指令操纵信号的设备。除了其它能力之外,一个或多个处理器202还被配置成读取并执行存储在存储器206中的计算机可读指令以及数据。I/O接口 204可以包括各种软件以及硬件接口,例如,用于一个或多个外围设备(诸如键盘、鼠标、外部存储器、打印机等)的接口。此外,接口 204可以使得主机120能够同其它计算设备(诸如网络服务器以及外部数据库)进行通信。I/O接口 204可以促进广泛多种协议和网络(诸如网络118,包括有线网络(例如,LAN、电缆等)以及无线网络(例如,WLAN、蜂窝式、卫星等))内的多种通信。为了该目的,I/O接口 204可以包括用于连接到多个计算设备(诸如CMS 108)的一个或多个端口。存储器206可以包括任何本领域已知的计算机可读介质,其包括例如易失性存储器(例如RAM)和/或非易失性存储器(例如闪存等)。存储器206还包括一个或多个模块208和数据210。模块208包括例程、程序、对象、部件、数据结构等,其执行特定任务或实现特定抽象数据类型。在一个实施方式中,模块208包括网关116,操作系统212,以及其它一个或多个模块214。其它一个或多个模块214包括补充由主机120实现的应用的程序。网关116进一步包括检测模块122、负荷平衡模块124以及路由模块216。如先前所指示的那样,检测模块122检测委托代理114以及负荷平衡模块124平衡委托代理114上的负荷。路由模块216将例如来自CMS 108的请求路由到委托代理114。数据210包括CMS请求数据218、委托代理数据220、以及其它数据222。CMS请求数据218存储从CMS 108或任何其它用户(诸如用户110)处接收的一个或多个请求。委托代理数据220包括与所有委托代理114有关的数据。此类数据的示例包括但不限于委托代理114的IP地址、与委托代理114相关联的设备102和106的列表。其它数据222包括作为模块208中的一个或多个模块的执行的结果而生成的数据。网关116进一步包括用于与一个或多个委托代理114通信的网关用户代理224以及网关服务代理226。结合图2将进一步理解网关用户代理224以及网关服务代理226的工作。如结合图I所提及的那样,网关116通过监视和管理委托代理114上的负荷以及通过管理和控制部署在SAN 106中的委托代理114的检测来实现网络设备管理。在具体实施方式
的以下部分中更详细地描述这些方面。委托代理的负荷平衡 描述与一个或多个委托代理的负荷平衡有关的概念。在一个实施方式中,负荷平衡模块124被配置成监视并且平衡由每个委托代理114处理的负荷。正由委托代理114中的任何一个处理的负荷的评估是基于对于委托代理114而言未决的管理请求的数量。如前所述,委托代理114从CMS 108或用户110接收管理请求。在一个实施方式中,负荷平衡模块124至少基于两个参数(也就是阈值间隔和阈值负荷)确定委托代理114中的一个或多个上的负荷。阈值间隔指定将对阈值负荷进行评估并且将实现委托代理114之间的负荷平衡所处的时间间隔。在一个实施方式中,阈值间隔与由委托代理114接收的管理请求的总数成反比。因此,假如对于委托代理114而言大量的管理请求未决,则阈值间隔将是小的。所以,针对较短的阈值间隔而言,即,在其中委托代理114上的负荷高的情况下,频繁执行阈值负荷计算和负荷平衡。相反地,当委托代理114是负荷不足的或平衡的时,阈值间隔将是大的并且阈值负荷计算和负荷平衡被不那么频繁地进行。因此,阈值间隔基于委托代理114上的负荷适应性地改变。阈值间隔随着系统(例如,网络100)的状态的改变率动态地变化。在一个实施方式中,由负荷平衡模块124通过估计委托代理114中的任何一个(像委托代理114-1)将在下一个后续间隔中处理的管理请求的数量来计算阈值间隔。将由委托代理114-1处理的管理请求的数量可以基于由委托代理114-1接收的管理请求的总数量以及对于委托代理114-1而言未决的管理请求的数量来加以估计。—旦计算出阈值间隔,负荷平衡模块124就评估阈值负荷。在一个实施方式中,阈值负荷是基于网络100中的所有委托代理114上的负荷。针对由阈值间隔指定的每个间隔来适应性地计算阈值负荷。基于阈值负荷,负荷平衡模块124针对那个间隔来比较每个委托代理114上的负荷与阈值负荷以将它们分类为超负荷的、负荷不足的或平衡的。负荷平衡模块124然后基于该分类通过将未决的管理请求中的所有或一部分从超负荷的委托代理转移到负荷不足的或平衡的委托代理114来平衡委托代理114上的负荷。在一个实施方式中,负荷平衡网关将随后进入的管理请求消息路由到负荷不足的或平衡的委托代理114。在一个实施方式中,通过首先基于以下公式估计针对k+1间隔将被处理的请求的平均数量来计算阈值间隔
^Avg (Rtotal
(k)
+^backlog
(k))/n (I)
其中Rttrtal (k)是在第kth个间隔中接收的管理请求的总数量,并且Rbadtltjg (k)是在第kth个间隔中积压的管理请求(即,对于委托代理114而言未决的管理请求)的数量。基于以下公式计算阈值间隔Tlnterval
Tlnterval =Current Time (当前时间)+ Tk+1(2)其中 Tk+1=A/RAvg
其中A是用户定义的常数。在由负荷平衡模块124评估的每个阈值间隔结束时,所有的委托代理114提供给网关116关于对于委托代理114而言未决的请求的数量(S卩,在该阈值间隔内委托代理114不能处理的请求的数量)的信息。在一个实施方式中,负荷平衡 模块124使用以下公式针对每个委托代理114计算负荷因子Li,即负荷
Li=K* (Rfaacklog/Rtotal)(3)
其中Rtotal是在其中将实现负荷平衡的时间间隔(例如阈值间隔)内由委托代理114接收的管理请求的总数量。Rbadtltjg是在给定时间间隔中对于委托代理114而言未决的管理请求的总数量,而K是用户定义的常数。基于负荷因子Li,负荷平衡模块124使用以下公式确定阈值负荷IYtjad:n
TLoad= () /n⑷。
I=I基于上述公式获得的阈值负荷被认为是等同于如完全平衡的系统所经历的理想负荷。Tkjad的值被作为针对如由Tlnteval表示的间隔的持续时间的负荷。基于所述Tkjad,负荷平衡模块124可以将委托代理114分类为负荷不足的、超负荷的、或平衡的。基于这样的确定,负荷平衡模块124以及依次的网关116将超负荷的委托代理(诸如委托代理114-1)的未决请求转移到负荷不足的或平衡的委托代理(诸如委托代理114-2)。在一个实施方式中,负荷平衡模块124还可以保存委托代理数据220中的负荷信息、阈值负荷、以及阈值间隔。在另一个实施方式中,网关116将管理请求的总数量的一部分从超负荷的委托代理(诸如委托代理114-1)转移到负荷不足的或平衡的委托代理(诸如委托代理114-2)。在一个实施方式中,网关116被配置成将随后的管理请求引导至负荷不足的或平衡的委托代理(诸如委托代理114-2)。为了这个目的,路由模块216从负荷平衡模块124接收与委托代理114相关联的负荷信息。基于所述负荷信息,路由模块216将随后的管理请求路由到最小负荷的委托代理,例如,委托代理114-2。在一个实施方式中,如果超过一个的委托代理114具有相同的负荷,那么路由模块216可以随机地或基于预定义的逻辑选择委托代理114中的一个。上面已经结合与仅用于说明的目的的一个或多个委托代理相关联的负荷的平衡描述了负荷平衡的概念。将认识到,针对本领域已知的其它计算资源所应用的委托代理的负荷平衡的上述概念将在本主题的范围内。图3图示出了根据本发明的实施例的、托管委托代理114的主机104的示例性组件。主机104可以包括一个或多个处理器302、1/0接口 304以及存储器306。一个或多个处理器302可以是单个或多个处理单元。一个或多个处理器302可以被实现为一个或多个微处理器、微计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路,或任何基于操作指令操纵信号的设备。除了其它能力之外,一个或多个处理器302被配置成读取并执行存储在存储器306中的计算机可读指令以及数据。
I/O接口 304可以包括各种软件以及硬件接口,例如,用于一个或多个外围设备(诸如键盘、鼠标、外部存储器、打印机等)的接口。此外,接口 304可以使得主机104能够与其它计算设备(诸如网络服务器以及外部数据库)进行通信。I/O接口 304可以促进广泛多种网络和协议类型(包括有线网络(例如,LAN、电缆等)以及无线网络(例如,WLAN、蜂窝式、卫星等),诸如网络118和SAN 106)内的多个 通信。在一个实施方式中,I/O接口 304可以包括用于通过网络连接到多个计算设备(诸如存储设备102,或托管网关116的计算设备)的一个或多个端口。存储器306可以包括任何本领域已知的计算机可读介质,其包括例如易失性存储器(例如RAM)和/或非易失性存储器(例如闪存等)。在一个实施方式中,存储器306包括一个或多个模块308和数据310。模块308包括例程、程序、对象、部件、数据结构等,其执行特定任务或实现特定抽象数据类型。在一个实施方式中,模块308包括委托代理114,操作系统312、以及其它一个或多个模块314。其它一个或多个模块314可以包括补充由主机104实现的应用的程序。委托代理114进一步包括用户代理316以及服务代理318。用户代理316被配置成将请求消息广播到网关116,例如,请求网关116能够实现的服务、请求向网关116登记的消息等。服务代理318依次被配置成响应从网关116处接收的请求消息。在一个实施方式中,从网关用户代理224接收来自网关116的请求消息。此外,数据310包括CMS请求数据320,其用于存储从网关116接收的管理请求;设备数据322,其用于存储与由所有委托代理114管理的所有设备102和106相关的数据;以及其它数据324。其它数据324可以包括作为一个或多个模块308中的一个或多个模块的执行的结果而生成的数据。在一个实施方式中,设备数据322存储与和委托代理114相关联的并且正在由该委托代理114管理的设备102和106有关的数据。在一个实施方式中,委托代理114接收来自网关116的管理请求并且收集来自与该委托代理114相关联的设备102和106的设备信息。如前所述,委托代理114将从设备102和106收集的设备信息路由到网关116。此外,基于向网关116登记的每个委托代理114上的负荷,由网关116将来自CMS 108的任何管理请求路由到相关的委托代理114。将要认识到,网关116管理向其登记的委托代理114。网关116包括在委托代理映射中的所登记的委托代理114。结合图2和3的部件描述了实现登记、更新、以及发现新的委托代理、失效的委托代理、以及网关116所采用的方式。按照本发明的一个实施方式,以下部分描述了与委托代理114和网关116之间的通信有关的各方面。委托代理检测与登记
在一个实施方式中,委托代理114以及网关116通过它们的相应的用户和服务代理与彼此通信。在网关116或委托代理114中的用户代理发送请求消息,而服务代理能够被用于发送对于所接收的请求消息的响应。请求消息的示例包括但不限于请求设备102和106中的任何一个或多个被配置以实现的服务的列表的消息。在一个实施方式中,委托代理114包括用户代理316和服务代理318,其分别用于将请求消息发送到其它委托代理114或网关116、以及用于响应从网关116接收的请求消息。类似地,如之前所提及的那样,网关116中的网关用户代理224和网关服务代理226分别发送请求消息到其它委托代理114以及响应从委托代理114接收的请求消息。在一个实施方式中,网关116使用网关用户代理224和网关服务代理226用于检测新的委托代理,例如,委托代理114-3。委托代理可以被部署在SAN 106中以监视和管理设备102和106中的一个或多个。为了这个目的,网关116针对部署在SAN 106中的一个或多个委托代理114广播请求消息。所广播的请求消息被一个或多个委托代理114接收。在接收到所广播的请求消息时,包含在委托代理114中的服务代理318发送对于该请求消息的响应。在一个实施方式中,所述响应可以指示与委托代理114相关联的设备102和106被配置以实现的一个或多个服务。由网关116接收由服务代理 318提供的响应。在一个实施方式中,可以由检测模块122接收所述响应。网关116基于接收到的响应准备所有作出响应的委托代理114的列表,并且比较作出响应的委托代理114的列表与向网关116登记的委托代理114的列表。在一个实施方式中,存储在委托代理数据220中的委托代理映射指示向网关116登记的委托代理114。基于该比较,网关116确定首次作出了响应的委托代理114。例如,网关116可以确定委托代理114-3首次作出了响应。网关116然后将最近作出响应的委托代理114 (比方说委托代理114-3)分类为新近添加的委托代理。一旦被分类,该新近识别的委托代理114向它们从其处接收到广播请求消息的网关116登记。在一个实施方式中,网关116采用与新近登记的委托代理114相关联的信息更新存储在委托代理数据220中的委托代理映射。在另一个实施方式中,网关116更新存储在委托代理数据220中的委托代理映射中的先前登记的委托代理114的详细资料。类似地,在某些情况下,委托代理114中的一个或多个(比方说委托代理114-4)可能不能对由网关116广播的请求消息作出响应。在这样的情况下,网关116比较作出响应的委托代理114的列表与存储在委托代理数据220中的委托代理映射。网关116基于该比较确定没能作出响应的委托代理114,并且将未作出响应的委托代理114分类为失效的。在一个实施方式中,网关116然后将来自CMS 108的管理请求从失效的委托代理(比方说委托代理114-3)路由到一个或多个运行的委托代理114。在另一个实施方式中,委托代理114-3的故障被通知给系统管理员,诸如用户110。在另一个实施方式中,委托代理114通过发送相关信息(诸如委托代理114的IP地址、端口地址、与其相关联的设备的数量等)向网关116登记。在接收到与委托代理114相关联的信息时,网关116编译所接收的信息。所编译的信息可以被存储在主机120内的数据库中或在外部与主机120相关联的数据库中。在再一个实施方式中,网关116将委托代理114的所编译的信息发布给所有相关联的委托代理114。信息的发布允许所有与该网关116相关联的委托代理114知道彼此的存在。在一个实施方式中,委托代理114可以基于所发布的信息将负荷从超负荷的委托代理(诸如委托代理114-1)转移到负荷不足的或平衡的委托代理(比方说委托代理114-2)。可以以各种格式来表不由委托代理114提供的相关信息。在一个实施方式中,委托代理114的相关信息被表示成如图3a中所示出的那样。图3a图示出了根据本发明的实施例的、由委托代理114使用以将相关信息传送给网关116的示例性格式。如从图3a中看到的那样,相关信息包括关于它们的IP地址、端口地址的信息,与由委托代理114管理的设备(诸如设备102和106)有关的信息等。如先前所提及的那样,在一个实施方式中,这样的信息被存储在委托代理数据220中。在一个实施方式中,委托代理114还被配置成检测并发现委托代理114可以向其登记的其它网关116。例如,包含在委托代理114内的用户代理316广播请求消息,其请求网关(诸如网关116)来响应。该广播消息可以被网关116接收。在接收到该请求消息时,包含在网关116中的网关服务代理226作出响应。在一个实施方式中,来自网关116的响应包括与网关116有关的信息,诸如IP地址等。委托代理114基于包含在该响应内的信息向网关116登记。将要认识到,可以以许多方式实现网关116的网关用户代理224和网关服务代理226与委托代理114的用户代理316和服务代理318之间的通信。在一个实施方式中,网关116和委托代理114之间的通信是基于服务定位协议(SLP)的。
参考图4到7描述用于网络设备管理的示例性方法。可以在计算机可执行指令的广义语境下描述这些示例性方法。通常,计算机可执行指令可以包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、部件、数据结构、进程、模块、函数等等。该方法还可以在分布式计算环境中加以实现,在所述分布式计算环境中由通过通信网络链接的远程处理设备执行功能。在分布式计算环境中,计算机可执行指令可以被定位在本地和远程计算机存储介质二者(包括存储器存储设备)中。描述所述方法所依照的顺序并不旨在被解释成限制,并且可以依照任何顺序组合任何数量的所描述的方法块以实现该方法,或替代方法。此外,在不偏离本文描述的主题的精神和范围的情况下,可以从该方法中删除个别块。此外,该方法可以以任何适当的硬件、软件、固件或其组合来加以实现。图4图示出了根据本发明的实施例的、用于自动发现新近添加的或失效的委托代理或二者的示例性方法400。在块402处,由负荷平衡网关(例如,网关116)广播请求消息。在一个实施方式中,包含在网关116中的网关用户代理224通过网络118广播针对一个或多个委托代理114的请求消息。在另一个实施方式中,请求消息请求设备102和106中的任一个被配置以实现的服务的列表。在块404处,由负荷平衡网关接收来自委托代理的对于请求消息的响应。例如,在接收到来自网关116的广播请求消息时,包含在委托代理114中的服务代理318发送响应给网关116。在一个实施方式中,可以由包含在网关116中的检测模块122接收所述响应。在块406处,将所有作出响应的委托代理(即对所述请求消息作出响应的委托代理)的列表与先前登记的委托代理的列表进行比较。例如,网关116准备所有作出响应的委托代理114的列表。网关116比较作出响应的委托代理114的列表与向网关116登记的一个或多个委托代理114。在一个实施方式中,委托代理映射列出了向网关116登记的委托代理 114。在块408处,作出决定以确定作出响应的委托代理中的任何一个是否先前曾向负荷平衡网关登记。例如,网关116比较作出响应的委托代理114的列表与存储在委托代理数据220中的委托代理映射,以确定作出响应的委托代理(诸如委托代理114-3)是否被登记。如果网关116确定委托代理114-3已经向网关116登记,其是从块408出发的“是”路径,其在块410处将委托代理114-3标记为运行的。如果需要的话,网关116更新与委托代理114-3相关联的被存储在委托代理数据220中的信息。在另一个实施方式中,检测模块122确定作出响应的委托代理114是否向网关116登记了。该方法从块410继续进行到块414。假如确定了正在考虑的委托代理(即,所述一个或多个作出响应的委托代理114)未被登记,其是从块408出发的“否”路径,那么负荷平衡网关在块412处登记该委托代理。例如,如果其确定委托代理114-4未被登记,那么 网关116登记该委托代理,比方说委托代理114-4。在一个实施方式中,在从委托代理114-3首次接收到响应时,网关116确定委托代理114-4未被登记。一旦新近作出响应的委托代理114已经被登记,该方法就继续进行到块414。在块414处,未作出响应的委托代理被分类为失效的。如先前所提及的那样,失效的委托代理以及因此与该失效的委托代理相关联的设备变得对于负荷平衡网关而言不可用。因此,失效的委托代理由于它们的不可用性而不能对由网关116发送的请求消息作出响应。例如,网关116在比较作出响应的委托代理114的列表与委托代理映射时确定委托代理114中的一个或多个(比方说委托代理114-5)未能对由网关116广播的请求消息作出响应。在这样的情况下,网关116将未作出响应的委托代理114-5分类为失效的委托代理。图5图示出了根据本发明的实施例的、用于负荷平衡网关的自动发现的示例性方法500。在块502处,由委托代理广播请求消息。例如,包含在委托代理114中的任何一个内的用户代理316广播请求任何网关来响应的请求消息。在块504处,由委托代理接收来自负荷平衡网关的对于请求消息的响应。例如,在接收到该请求消息时,包含在网关116内的网关服务代理226作出响应。该响应被引导至从其处接收到该请求消息的委托代理114。在一个实施方式中,来自网关116的响应包括与网关116有关的信息,诸如IP地址等。在块506处,委托代理向对由委托代理广播的请求消息作出响应的负荷平衡网关登记。在一个实施方式中,委托代理基于包含在该响应内的信息向负荷平衡网关登记。例如,在接收到该响应时,委托代理114向对该请求消息作出响应的网关116登记。在一个实施方式中,委托代理114通过发送相关信息(诸如IP地址、正由委托代理管理的设备102和106等等)来登记。图6图示出了根据本发明的实施例的、用于实现一个或多个委托代理的负荷平衡的示例性方法600。如先前所提及的那样,正由委托代理中的任何一个处理的负荷是基于对于该委托代理而言未决的管理请求的数量。委托代理的负荷平衡是基于至少两个参数,也就是,阈值负荷以及阈值间隔。在一个实施方式中,由负荷平衡网关116计算阈值间隔以及阈值负荷。在块602处,接收与个别的委托代理相关联的负荷信息。例如,负荷平衡模块124获得在给定实例下对于委托代理114而言的未决管理请求的数量以及管理请求的总数量。未决管理请求是委托代理114不能执行的请求。在一个实施方式中。在块604处,基于由负荷平衡网关接收的负荷信息确定阈值时间间隔。例如,负荷平衡模块124基于将要在特定间隔中由委托代理中的任何一个处理的管理请求的平均数量来计算阈值间隔。阈值间隔的持续时间随委托代理114上的全部负荷而变化。在一个实施方式中,与委托代理114相关联的管理请求被存储在CMS请求数据218中。在块606处,计算阈值负荷。例如,负荷平衡模块124计算用于每个委托代理114的阈值负荷。负荷平衡模块124基于委托代理114所经历的平均负荷来计算阈值负荷。将要注意的是,因此获得的阈值负荷是对于由阈值间隔定义的间隔而言完全平衡的系统的理想负荷的表示。在块608处,将与每个委托代理相关联的负荷与在块606处计算的阈值负荷进行比较。该阈值负荷被看成是确定任何给定的委托代理是轻负荷的还是超负荷的基础。例如,负荷平衡模块124针对所有委托代理114来比较基于未决请求的数量估计的负荷与阈值负荷。如果与委托代理114-2相关联的负荷小于阈值负荷,那么负荷平衡模块124基于比较确定委托代理114中的任何一个(例如委 托代理114-2)是负荷不足的。类似地,如果其相关联的负荷大于或等于阈值负荷,那么委托代理114-1将是超负荷的委托代理。在块610处,来自超负荷的委托代理的负荷被转移到负荷不足的或平衡的委托代理。例如,负荷平衡模块124将超负荷的委托代理(诸如委托代理114-1)的未决请求转移到负荷不足的或平衡的委托代理,诸如委托代理114-2。负荷平衡模块124可以转移对于委托代理114-1而言未决的未决管理请求中的全部或一部分。在一个实施方式中,负荷平衡模块124还可以保存委托代理数据220中的负荷信息、阈值负荷、以及阈值间隔。假如两个或更多个委托代理114被标记为最小负荷的,那么它们中的一个被随机地选择或基于预定义的逻辑加以选择。在块612处,更新委托代理的负荷信息。例如,如在之前块中所描述的那样,负荷平衡模块124更新已经针对其平衡了负荷的所有委托代理114的负荷信息。委托代理114的更新的负荷信息随后被用于实现随后的阈值间隔的负荷平衡。图7图示出了根据本发明的实施例的、用于基于委托代理的负荷将管理请求路由到委托代理的示例性方法700。在块702处,由网关接收管理请求。例如,网关116接收一个或多个管理请求。该管理请求是由CMS 108或用户110作出的。在一个实施方式中,网关116可以接收该管理请求并且将该请求存储在CMS请求数据218中。在块704处,确定最小负荷的或平衡的委托代理。一旦被确定,随后的管理请求就被路由到最小负荷的或平衡的委托代理。例如,负荷平衡模块124基于从委托代理114采集的负荷信息确定委托代理114中的最小负荷的,比方说委托代理114-1。在一个实施方式中,负荷平衡模块124基于存储在委托代理数据220中的负荷信息确定委托代理114中的最小负荷的。在一个实施方式中,基于如结合图6描述的方法来确定最小负荷的或平衡的委托代理。在块706处,管理请求被路由到最小负荷的或平衡的委托代理。例如,路由模块216将随后的管理请求路由到委托代理114中的最小负荷的。在一个实施方式中,假如两个或多个委托代理114被发现是同等负荷的,那么路由模块216选择委托代理114中的最小负荷的。由路由模块216进行的选择可以是随机的或可以是基于预定义的逻辑。在块708处,更新与管理请求被分配给的委托代理相关联的负荷信息。例如,负荷平衡模块124更新与委托代理114中的最小负荷的相关联的负荷信息。在一个实施方式中,与委托代理114中的最小负荷的相关联的负荷信息被存储在委托代理数据220中。所更新的负荷信息可以被用来确定随后的管理请求可以被路由到的委托代理114。结论
尽管用于网络设备管理的实施方式已经被理解为要求保护的主题的范围不必被限制到所述的特定特征或方法。相反,该特定特征和方法被公开作为用于网络设备管理的示例性实施方式。例如,该特定特征或方法还将适 用于其它形式的计算资源。
权利要求
1.一种方法,包括 至少基于对于部署在网络(100)中的多个委托代理(114)而言未决的管理请求的数量来计算阈值间隔; 至少基于对于所述多个委托代理(114)而言未决的管理请求的数量来计算阈值负荷;在所述阈值间隔内,将所述阈值负荷和与所述多个委托代理(114)中的每个相关联的负荷相比较; 确定所述多个委托代理(114)中的每个是否是超负荷的、负荷不足的、以及平衡的中的一种;并且 基于所述确定来平衡与所述多个委托代理(114)中的每个相关联的所述负荷。
2.如在权利要求I中所要求保护的方法,其中,所述平衡所述负荷包括将对于所述超负荷的委托代理而言未决的所述管理请求的一部分转移给所述负荷不足的委托代理和平衡的委托代理中的一个。
3.如在权利要求I中所要求保护的方法,其中,所述平衡所述负荷包括将随后的管理请求路由到所述负荷不足的委托代理和平衡的委托代理中的一个。
4.如在权利要求I中所要求保护的方法,进一步包括存储与所述多个委托代理(114)相关联的所述负荷的信息。
5.如在权利要求I中所要求保护的方法,进一步包括将所述阈值间隔以及所述阈值负荷发送到所述多个委托代理(114)。
6.一种计算机可读介质,其具有一组计算机可读指令,当该指令被运行时执行包含下述的动作 在网络(100)中广播请求消息; 从部署在网络(100)中的至少一个委托代理(114)接收对于所述请求消息的响应;以及 将指示对所述请求消息作出响应的所述至少一个委托代理(114)的列表与向网关(116)登记的委托代理的列表相比较,以识别新近添加的委托代理以及失效的委托代理中的至少一个。
7.如在权利要求6中所要求保护的计算机可读介质,其中所述比较包括确定对所述请求消息作出响应的所述至少一个委托代理(114)是否向所述网关(116)登记了。
8.如在权利要求6中所要求保护的计算机可读介质,其中所述比较包括 将首次对所述请求消息作出响应的所述至少一个委托代理(114)识别为新近添加的委托代理;以及 向所述网关(116)登记所述新近添加的委托代理。
9.如在权利要求6中所要求保护的计算机可读介质,其中所述比较进一步包括 从所登记的委托代理的所述列表之中识别未能对所述请求消息作出响应的委托代理(114);以及 将未能作出响应的所述委托代理分类为失效的委托代理。
10.如在权利要求9中所要求保护的计算机可读介质,进一步包括一组计算机可读指令,当其被运行时执行包含下述的动作 确定与所述失效的委托代理相关联的多个设备(102);以及将与所述失效的委托代理相关联的所述多个设备(102)分配给对来自所述网关(116)的所述请求消息作出响应的委托代理中的至少一个。
11.如在权利要求6中所要求保护的计算机可读介质,其中所述接收进一步包括接收指示与所述委托代理(114)相关联的至少一个设备(102)的信息。
12.—种设备(120),包括 处理器(202); 耦合到所述处理器(202)的存储器(206); 网关模块(116),其包括被配置成在网络(100)中发现委托代理(114)的检测模块(122);以及 负荷平衡模块(124),其被配置成平衡与所述委托代理(114)相关联的负荷,其中所述负荷至少基于对于所述委托代理(114)而言未决的管理请求的数量。
13.如在权利要求12中所要求保护的设备(120),其中所述检测模块(122)包括服务代理(226),其用于对从意图向所述网关模块(116)登记的至少一个委托代理(114)广播的请求消息作出响应。
14.如在权利要求12中所要求保护的设备(120),进一步包括路由模块(216),其用于接收管理请求并将管理请求路由到所述委托代理(114)。
15.如在权利要求12中所要求保护的设备(120),其中所述设备(120)基于服务定位协议(SLP )标准与所述委托代理(114)进行通信。
全文摘要
描述了用于网络设备管理的方法。在网络100中,基于阈值负荷以及阈值间隔来实现用于一个或多个委托代理114的负荷平衡。将每个委托代理114上的负荷与所述阈值负荷相比较以确定给定的委托代理是否是超负荷的、负荷不足的、或平衡的。
文档编号H04L12/24GK102714603SQ200980163034
公开日2012年10月3日 申请日期2009年12月18日 优先权日2009年12月18日
发明者N.R.查拉, S.耶图库里, S.贾延蒂 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1