用于在数据中心中集成并管理网络服务的系统和方法

文档序号:7740386阅读:168来源:国知局
专利名称:用于在数据中心中集成并管理网络服务的系统和方法
技术领域
本发明一般地涉及计算机网络领域。
背景技术
通过因特网来进行商务活动的成本非常高昂,无论是出售商品还是提供服务。首先,人们必须投资于基本的基础结构上可包括100多个服务器、软件以及网络设备元件的复杂计算机网络。每个元件都需要配置、监控和管理,以维持运行状态。第二,因为网络停运时间就意味着业务上的损失,因此人们必须继续投入大量的时间和资源来维护所述网络。事实上,复杂计算机网络的拥有成本(Cost of Ownership,COO)可能远超过最初的投资。使得情况更糟的是,复杂计算机网络的COO不具线性扩展性。服务容量或功能中渐增性的增长可能意味着服务网络的复杂度的剧烈增长以及由此产生的管理该网络的运营成本的剧烈增长。
导致复杂网络的高COO的基本因素是需要对网络进行持续的人力监控。尽管存在一些网络管理软件用于辅助人工网络管理员,但是除了远程控制网络某些方面的能力以及更有效地找到问题所在的能力之外,这些软件提供的能力甚为寥寥。例如,类似于Hewlett Packard的OpenView的工具提供了扩展的网络管理功能(例如对通过网络路由器和交换机的数据流量的监测与控制),而类似于IBM Tivoli的软件工具提供了对联网的计算机平台中每一个平台的相当综合的视图,但是,它们不能执行重要的“网络管理”功能。
尽管存在一些网络管理工具,但是人工管理员仍然是真正的网络管理者,并且,人为错误仍然是网络停运的主要原因(例如~40%)。例如,1999年6月12日eBay的服务停运导致了3到5百万美元之间的收入损失,其原因就是管理员的失误。因此,人们期望在计算机网络的管理中可减少人为失误的影响。
计算机网络日益增长的复杂度还会影响生存周期中的设计、限定和部署部分的生产率。尽管在机械与电子设计领域中计算机辅助制造(CAD/CAM)已取代了计算机辅助设计(CAD),但是,仍然不能在复杂电子商务或互联网网络的设计与部署中获得可比较的益处。在机械CAD领域中,设计中的3维部件的基础性体积测量模型是进行运动模拟和设计规则校验的基础,并且,从该模型导出的指令一般可以输出到机器工具中以制造这些部件。在电子CAD领域中,包括电子元件的电路模型可以类似地实现计算机辅助模拟、设计规则校验以及复杂电路的调试。已完成的电路设计的表示可以被输出,并最终表现为电路板或集成电路。
基于模型以提高生产效率并对复杂计算机网络的运行、管理、执行和供应实现自动化的方法可获得与在机械和电子CAD领域中所实现的益处可相比较的益处。本发明描述了这样一种系统。


结合附图,从下面的详细描述中可获得对本发明更好的理解,其中图1图示了一个典型的现有技术的数据中心配置;图2图示了根据本发明一个实施例的元服务器(meta-server);图3a图示了元服务器体系结构的一个实施例;图3b图示了元服务器各种元件之间使用标准建模语言(“UML”)而定义的关系的一个示例;图3c图示了元服务器各种元件之间使用标准建模语言而定义的关系的第二示例;图4图示了部署在网络中的元服务器控制器以及一组已定义的区域;图5图示了一个元服务器控制器,作为基于系统模型的集成电子商务解决方案开发人员的工作台的基础;以及图6图示了根据本发明一个实施例的具体的工具集。
具体实施例方式
在下面的描述中,为了说明,给出了大量的具体细节,以提供对本发明的透彻理解。然而,对本领域内的技术人员来说,很清楚没有这些具体细节中的一些也可以实施本发明。在其他情形下,以框图的形式示出公知结构和设备,以免混淆本发明的基础性原理。
如下面更详细地所描述的那样,本发明的发明人已开发出一种网络集成体系结构以及相关联的因特网服务平台,其减少了网络的可见复杂度,并可实现网络的显著的自动化。根据所述网络集成体系结构,以高度粒度化且容易理解的方式定义了网络资源(硬件和软件)以及这些资源之间的关系,这可以实现网络管理的自动化以及对网络资源的更高集成度和可扩展的视图,从而人工管理员可更有效地工作,而出现更少的失误。所述网络集成体系结构可以实现为事实上是一种复杂网络的因特网服务平台,隐藏在单一用户接口之后,并以好像是单个计算机一样的方式而被控制。或者,所述网络集成体系结构概念可以应用到现有的网络上,以提供类似的益处。
复杂计算机网络用来在因特网上进行商务活动的复杂计算机网络的一个示例是数据中心。典型的数据中心是高度异构的集群,其由计算机、网络设备和各种设备组成。如图1所示,典型的数据中心可能包括路由器110、负载平衡器114、多个“前端”万维网服务器(Web server)120-125、防火墙130以及多个“后端”服务器140-146。所有在因特网105上发送和接收的数据都通过路由器110。负载平衡器114分析来自客户端101的所有进入数据请求,并将所述请求转发给合适的前端服务器120-125。所述客户端请求可能是用于获得存储在前端服务器120-125之一上的特定网页,所述网页包含由后端服务器140-145提供的嵌入式对象。为了安全性的目的,防火墙130监测/控制前端服务器120-125和后端服务器140-146之间的数据流量。
元服务器介绍为了解决与运行复杂计算机网络相关联的复杂度和成本问题,一个实施例将所有网络信息和服务逻辑地组织在单个、整体化的“元服务器”平台下。这一实施例的元服务器包括所有的网络“组件”和它们现有的管理接口。例示而非限制性地,网络“组件”可包括网络设备(例如负载平衡器、交换机、路由器、SSL加速器、防火墙等等)、包括典型的计算机和计算机集群在内的服务器(例如Intel、HP、IBM、Sun等公司的产品)以及具有固定功能的计算机例如数据库设备和计算单元(例如数据库、流媒体或网络缓存设备)。各种其他硬件/软件组件也可逻辑地包含在所述元服务器内,而仍然遵从本发明的基础性原理。
如图2所示,元服务器200的一个实施例的逻辑模型包括多个“服务”210(例如电子邮件服务、万维网服务(Web service)、数据库服务器等等)、“资源”220(例如硬件和软件组件)和“管理员”230。元服务器的管理员部分230包括统一的安全性模型,其可用来对元服务器平台的其他元件的访问进行授权(例如通过定义具有不同授权级别的用户组)。下面将详细描述这些元服务器元件中的每一个。另外,在一个实施例中,(图4中图示的)中央控制器201被配置成管理并收集来自各元服务器组件中每一个组件的信息。因此,元服务器控制器201在逻辑上封装了所包括的资源,对被合适地授权的管理员或外部系统只呈现出经过选择的总体复杂度。元服务器控制器201可包含下述信息或对象的层次结构模型元服务器所管理的元件,它们各自的配置属性、关联、相关性,以及每个元件以对象属性而缓存的运行状态。元服务器控制器201的对象模型还可包含可执行方法(自动化程序),其可被管理员或外部系统直接调用,以计算和重复复杂的运行、维护、管理和提供序列步骤。元服务器的控制器201使得下面的元服务器对管理人员或外部系统看起来像是单个“逻辑”元件。
通过将元服务器200及其控制器201与个人计算机进行比较,可最佳地理解元服务器200体系结构的各种特征。
例如,个人计算机中的操作系统(“OS”)管理构成个人计算机的内部硬件和软件资源或组件,对用户呈现出简化并经过抽象的单系统模型。由OS对用户呈现的系统模型可能是固定的,包含硬件元件(cpu、磁盘、内存、显示器、键盘、其他外设)和软件元件(OS、设备驱动器、应用程序、工具等等)。
OS提供了可由所有应用程序有益地使用的用户界面框架和一些必需的用户界面件(例如,对话框、具有字体和图形抽象的帮助、图标、按钮、滑动条等等)。类似地,一个实施例中的元服务器控制器201提供了可被所有数据中心管理应用程序(例如服务自动化应用程序)共享的用户界面框架。所述用户界面框架可以任何方便的方式来开发,而仍遵从本发明的基础性原理(例如使用万维网服务器接口、基于X-Windows的用户界面框架等等)。
另外,与计算机OS提供安全性模型(包括用于认证请求访问的用户或其他计算机的功能,和/或用于将所允许的动作和每个请求中的用户或计算机相关联的授权模型)类似的方式,一个实施例中的控制器201将用户(或请求访问的系统)认证为预定义的组的成员,并生成元服务器服务210和资源220的视图(例如,图形化地示出运行和配置状态,并基于所选择的(多个)元件来提供管理动作(命令))。
个人计算机操作系统所呈现的应用编程接口(“API”)使得可在兼容的个人计算机系列上执行兼容的应用程序系列。一般地,API集随着时间而增长,而无需中断遗留(过去建立的)API。当向新的操作系统提供了新的创造性功能,呈现出新的API时,为以前的操作系统版本而编写的应用程序仍然会得到支持。同样,在一个实施例中,元服务器200的控制器201包括API和软件开发包,其使得数据中心应用可发现、访问并操纵元服务器平台管理下的组件。因此,当控制器201 API被扩展来呈现新的功能时,较旧的系统管理和自动化应用的兼容性也保留下来。
控制器201呈现的API可由(开发管理服务应用程序框架的)管理服务提供方和/或(编写各个具有站点生存周期的自动化和管理应用程序的)自动化软件供应商(“ISV”)所使用。如上所述,控制器201可包括用户接口能力,为负责元服务器200的运行、维护、管理和配置的个人所使用。另外,在一个实施例中,如今的其他计算机(或其他例如可管理具有层次结构的多个元服务器的元服务器控制器)和系统管理工具可在它们执行各个互联网服务组件时访问元服务器200。
典型计算机的OS将面向设备(例如显示器、打印机、块设备等等)的编程和用户接口简化成一个抽象的、可扩展的具有公共特性的接口,称为设备驱动器接口。类似地,OS一般将面向公共系统服务的接口简化成临时的(ad-hoc)标准接口,例如SQL服务器API(用于数据库)和MAPI或VIM API(用于消息传递)。
这一实施方式对于计算机应用程序制造商来说具有重要意义它允许面向稳定的、独立于设备或子系统的接口来编写应用程序,从而可在多种反之则不兼容的计算机上实现互操作性和使用。已稳定的控制器201接口(客户端接口321、对象管理器320的包括但不局限于图3b所示方案的内部模型、提供方接口326以及驱动器接口331)对创建运行、维护、管理和配置自动化应用程序的人们来说具有类似的影响和益处。
正像计算机OS的稳定的接口和内部模型极大地提高了计算机桌面生产率应用的经济投资回报(ROI)一样,在元服务器200控制器210内对所表示的元件对象之间的关联的稳定、经过抽象的接口和内部模型进行限制将极大地提高OAM&P和自动化应用程序的经济性。由于所述公共接口和模型,可将自动化应用程序或规则引擎编写成更通用地应用于元服务器200的所有兼容的实施例上。由于元服务器200控制器201的稳定的接口和内部模型,因此对操作人员来说,可获得面向元服务器及其服务210的公共的、统一的用户接口,而无论那些服务可能是什么。
元服务器网络管理体系结构的实施例图3a图示了用来协助在此描述的网络管理和控制功能的元服务器体系结构的一个实施例。所图示的体系结构可包括在服务器上执行的软件。然而应该注意,可由硬件、软件或其任意组合来实现在此描述的各种体系结构组件。如所图示的那样,所述元服务器体系结构一般地包括三个组件应用程序310、对象管理器320和驱动器330。
对象管理器一个实施例中的对象管理器320包含了(下述)对象模型,以支持所述元服务器网络管理体系结构。它还提供了将对象模型实例化的机制,并对对象的特定示例执行操作。提供了3个接口(即API),以协助这一级别的操作客户端接口321、提供方接口326以及驱动器接口331。
提供方框架325允许将新/不同类型的“提供方”添加到对象管理器320中,所述新的/不同类型的“提供方”中的每一个都可包括其他对象类和/或操作,以增强对象管理器320的功能。
对象管理器320一般地包括对象类的表示,如在典型的内部模型或方案中描述的那样,如在图3b和3c中的示例所述。
客户端接口在对象管理器320中表示的每个对象类的受限的关联关系、缺省属性和缺省方法是已定义的客户端接口321的一部分,客户端接口321然后为各种应用程序310所使用。也就是说,在一个实施例中,客户端接口呈现了可对来自所述模型(即由对象管理器320提供)的对象实例执行的一组操作。客户端接口321提供了可由应用程序310使用的应用编程接口(“API”),以配置、查询或操纵由对象管理器320提供的对象的实例。图形化用户界面是这样一种应用程序,其提供了所述对象模型的图形化外部表示,并使得可显示和图形化地操纵所述对象。规则引擎是另一种应用程序,其可以使用预定义的规则来响应事件、状态的改变或与对象管理器320中的对象相关联的方法的调用。
提供方框架提供方框架325和提供方接口326是对象管理器320和(多个)驱动器330之间的互连接与连接的可能的实施例。
通过客户端接口321而启动的、对在对象管理器320所管理的对象中所表现的属性的改变由提供方框架325以一种可靠的、高效的方式而传播到驱动器330,并且最终到达所管理的服务210和资源220。
当应用程序310通过客户端接口321而调用对象的方法时,该动作由提供方框架325在驱动器330中可靠而高效地调用。如下所述,驱动器最终影响对所管理的服务210或资源220的所请求动作。
当所管理的服务210或资源220的状态改变时,驱动器330、提供方和提供方框架325之间的(通过提供方接口326的)交互使得由对象管理器320管理的对象中的关联属性可以得到可靠而高效地更新。
提供方接口在元服务器控制器201的典型实施例中,提供方框架325和对服务210或资源220执行动作或查询的驱动器330之间的连接可以用多种手段来实现。元服务器控制器201及其在此描述的部件可以与驱动器330以及所管理的服务210和/或资源220中的一些或全部一起包含在单个虚拟的、逻辑的和/或物理的系统上。或者,在此描述的部件可以包含在虚拟的、逻辑的或物理上不同的系统上。无论提供方和提供方框架325是否位于与驱动器330相同的系统上,都可以使用多种物理连接或链路、网络和传输协议和/或对象接口或远程过程调用(“RPC”)机制。
提供方框架325和(多个)驱动器330的公共(为特定实施例而定义或者为一组兼容实施例而定义的)体系结构使得(多个)提供方接口326可适用于常用(并且因而是方便的)的互连手段,包括(但不局限于)内部系统API和二进制兼容性接口(“ABI”)以及公知协议例如SNMP、WBEM、Telnet、HTTP、HTTPS或CORBA,或者通过专用和定制手段而适用于并且包含在特定实施例中。
所管理的对象提供方是这样一种提供方,通过该提供方,对如下所述的各种元服务器抽象级别(例如资源、互连资源、服务、互连服务等等)的操作可体现在真实世界中。驱动器330提供元服务器操作请求中的每一个请求的物理体现,其中驱动器330通过提供方接口326而与所管理的对象提供方进行通信。
驱动器接口驱动器接口331是一组操作,对象管理器320通过所述操作对设备执行管理操作(例如启动、停止、状态请求等等)。通过提供方框架325来发送管理操作请求。
元服务器组件之间已定义的关系在一个实施例中,使用标准建模语言(“UML”)术语来定义元服务器对象模型。这一实施例提供了易于理解的对象设计术语,如类(class)、操作(operation)、属性(attribute或property)和关联(association)。例如,元服务器表现在其控制器201中的两个这种实施例由图3b和图3c所图示的UML对象图所描述,所述对象图示出了类名、聚集以及各种已定义的元服务器对象之间的关联。(下面描述用于图3b的名称。)图4中图示了配置在数据中心内的元服务器控制器201。这一元服务器实施例的负载平衡器114将进入的管理连接直接转发到控制器201,其用作所有网络管理交互的“代理服务器”(proxy)和/或控制网关。所述控制器可基于使用对象模型而定义的各种抽象级别来执行网络/平台监控与网络控制功能。例如,在一个特定的实施例中,定义了下述抽象级别外壳“外壳”(pod)表示整个系统,并且是对象模型的最高聚集点。它是区域(zone)、互连资源(Interconnect Resource)、和服务集合(Service Collection)(下面将描述所有的上述三个概念)的聚集。在示例性的拓扑结构中,外壳将描述图4中的所有组件,除了控制器201之外。
区域“区域”是执行或存储资源(例如服务器)的已命名的逻辑组,所述资源提供对服务或其组件的内含执行(contained execution)。在一个实施例中,只有特定类型的资源可放置于区域中。例如,区域之间的网络或其它通信由互连资源提供/中介。在图4中描述的实施例中定义了3种区域因特网(或外部)区域410、前端区域412;以及后端区域414。当然,也可提供各种其他区域定义,而仍然遵从本发明的基础性原理。只有前端区域412和后端区域414包含资源。因特网区域410不包含任何资源,但它的定义可用来定义(下面将描述的)互连资源。
互连资源互连资源是参与2个独立区域的资源。更具体地说,在一个实施例中,互连资源是通信资源的已命名的逻辑组,所述通信资源提供区域或外壳之外的环境之间的网关(例如桥接或路由)服务。只有特定类型的管理对象可表示为互连资源。在图1中描述的示例性拓扑结构中,因特网路由器110、负载平衡器114和防火墙130将被配置为互连资源。在一个特定实施例中,存在两类互连件外壳内部互连件,其连接外壳内的两个区域;以及外壳外部互连件,其将区域和外部环境相连接。外壳内部互连件可处于控制器的完全管理下,而外壳外部互连件可以不是这样的(即,由于控制器不能操作外部变量例如IP地址分配,因为出于安全考虑等等,到外壳外部互连资源的通信路径是受限的或被拒绝的)。
互连资源是本发明的集成网络服务的重要抽象。在一个可能的实施例中,互连资源对象中的方法可枚举对相邻区域中每一个区域的区域内通信需求,其中所述互连资源对象由控制器201中的对象管理器320所管理。
在示例性的基于IP协议的系统中,这些需求可被聚集为“源”和“沉没(sink)”IP地址、端口号(传输层需求)以及轮转(round-robin)、最少最近使用或其他(应用协议层)需求。为相邻区域枚举并聚集需求后,用于(再次)供应互连资源的方法可以从公共的、方便的内部控制器201表示而翻译成(例如)对于特定互连资源而专用的路由和策略提供指令。对其它非IP协议和互连机制可完全实现类似的机制。
因此,可以对互连资源类实现动态供应和再次供应方法,从而允许复杂网络的供应任务实现完全的自动化。当服务210或资源220被添加、去除、启用、禁用、激活上线或它们失败时,相关联的互连资源可以自动地重配置。
资源资源包括设备、网络、系统和应用程序。资源一般地完全包含在单个区域中。在320所管理的模型中,资源和区域之间的关联表达了这一关系。资源可具有任意数量的运行在它上面的服务。在图4说明的示例性拓扑结构中,服务器120-125、140-146中的所有服务器都可以是资源对象的实例。存在或正在出现多个标准以与所管理的资源通信,例如基于万维网的企业管理(“WBEM”)。虽然一个实施例中的控制器201将提供对WBEM(以及其他标准)的支持,但是所述控制器体系结构是协议不相关的。
服务服务可以是一个综合的并且自足的进程或一组进程。服务运行在单个资源上。在所述示例性拓扑结构中,运行在服务器资源上的服务是服务对象(例如万维网服务、数据库服务、音频/视频服务等等)的实例。
服务集合服务集合表示多个服务和/或其他服务集合的聚集。在示例性拓扑结构中,服务器120-125提供的万维网服务可以聚集成单个“万维网服务”集合。然后,可以通过对已定义的服务集合进行操作来统一操作所述万维网服务。服务集合还可用来定义负载平衡服务(由负载平衡器114提供)、防火墙服务(由防火墙130提供)以及现场图像服务(由服务器140和144提供)。在一个实施例中,整个站点是一个专用服务集合,因为它不能聚集到另一个服务集合中,但可以聚集到外壳中。
元服务器应用程序下面将描述元服务器的几种应用程序专用的实施例。然而应该注意,这些示例只是用于说明的目的,不应理解成是对本发明的基础性原理的限制。
控制和管理网关独立服务提供方(所谓的“xSP”)和内部信息技术组经常被召集来建立服务级别的协议,或称为“SLA”。在当前的数据中心中,对其许诺了SLA的客户需要现在就访问所管理的组件。经常地,向终端客户提供他/她的服务器的“根用户密码”,并且该终端客户能够启动并停止、重配置、甚至于重新供应或更新操作系统或应用软件,而无需通知服务提供方。
结果,绕过了对访问和改变进行记帐和写日志或者执行SLA中已达成一致的规则(例如,只有在备份完成后才允许远程控制台会话,启用从远程控制台会话期间采取的控制动作的未预见结果的恢复等等)的任何尝试。
由于所有的控制和管理动作都通过元服务器控制器201而路由,因此,在管理员或代理已被正确地认证并被适当地授权之后,可执行严格的访问控制。最通常使用的动作呈现为方法(或控制器201的图形用户界面中的“按钮),并因此可被调用、执行并在控制器201的事件日志中写日志,而不会出现二义性或管理员失误。(当对被正确授权的特定用户组许可时)对各个组件的远程控制或其他访问如所需地通过在控制器201内派生的“代理服务器”服务而发生。这一“代理服务器”功能可限制击键动作和需要采取的动作并写日志。
在一个实施例中,元服务器控制器201中的系统模型包含了元服务器200的当前运行状态,并且,通过控制器所支持的管理工具(例如客户端接口321或任何其他机器到机器的接口,如所需要的那样,其中客户端接口321通过远程调用机制和可包括SNMP、HTTP或HTTPS、XML、WBEM在内的多种协议而呈现)将这一信息呈现给授权代理,以使得数据中心中使用的高级别管理系统可以得到集成。一般地,每个元服务器201都在更高级别的管理系统中表示为单个逻辑元件,但是各元服务器201也可组合到一起,成为单个逻辑和虚拟的数据中心,如同一个超级元服务器(meta-meta-server)所呈现的那样。在后一种情形下,元服务器控制器201将各个元服务器包含到第2层超级元服务器中。因此,可将这种层次结构适当地扩展成多个级别,以扩展所述集成系统管理系统概念,以用于大规模的部署。
然后,通过在所有所支持的控制台上提供元服务器的“自顶向下”(top-down)或层次结构状态,控制器201扩展并补充现有的使用中的系统管理工具的能力。在一个实施例中,管理员可向所期望的元服务器打开安全的会话,并仅仅通过选择在他/她的控制台上所提供的元服务器图标来监测/控制给定的客户或服务。
客户管理门户在一个实施例中提供了元服务器用户接口,该接口是可扩展的,并基于齐备(self-contained)的万维网服务器,该万维网服务器可(通过客户端接口API)访问所述系统模型、所管理的元件的对象及其状态/属性以及运行中的元服务器201系统中的方法。对象管理器320的公共内部模型和统一客户端接口321使得可以实现“动态GUI”万维网界面。利用一组HTML页面和相关联的万维网服务器后端小脚本程序(或类似的文件或程序),控制器所管理的元服务器实施例可被统一地呈现给网络客户端和被正确授权的用户。因此,一组HTML“动态GUI”网络界面页面能够将对象的任何实例化表示到控制器201的元服务器系统中。这意味着对特定授权用户组可合成并动态创建多个“定制”UI页面,只呈现给他们被授权与之交互的对象、属性和/或方法。
然后可在用户界面中创建定制页面,其对应于在服务提供方和运行在已部署的元服务器200上的服务的所有者(服务提供方的客户)之间生效的协议性SLA义务,并与之相关。服务提供方的义务(obligation)的表现(performance)可由用户界面中的定制页面所概括、报告并图形化地显示。系统性能和正常运行时间、事务响应时间、资产和软件许可管理、甚至到相关联的客户服务应用程序例如异常情况处理和计费等的链接都可在该用户界面中提供。
可从元服务器控制器用户界面内自动地启动在SLA下遵守和/或提供的服务甚或可选的增值服务。而且,与运行在元服务器200中的服务相关联的方法可被实现为单纯的脚本。可替换地或另外地,它们可以通过客户端接口API 321调用所添加的方法程序。
一般可(例如根据为已登录用户组所配置的许可权限)使用所述用户界面来与已装载并在元服务器控制器201上执行的自动化应用程序进行交互。这种应用程序的一个示例是规则引擎,其钩接(hook)元服务器事件(各种系统事件)并根据用户定义的规则来过滤或限定它们,以启动自动重启(auto-restart)或自动差错转移(auto-failover)故障恢复、故障发现或SLA非兼容通知。例如,如果某个服务器在网络上垮掉了,则这一事件可触发控制器201上的故障恢复应用程序,该程序然后以正确的顺序将该服务器和/或任何其他系统组件重新带回到线上。
自动化应用程序平台与管理复杂网络/系统相关联的运营成本超过了资金投入,有时甚至超过典型的因特网服务部署所需的带宽成本。在给定的元服务器200(甚或跨越多个一致配置的元服务器的组合)的范围内,使用客户端接口API321的程序员可指定对元服务器200内(即通过对象管理器320而提供)的任意对象的部分或完全修饰性引用。所述许可权限可基于该代理的名称,并且,利用系统配置员的细粒度的控制,可在API 321边界处施行认证身份信息(例如,在各对象的各个属性和方法的级别上)。
控制器201的内部模型可被修正或扩展。在一个实施例中,可以通过所述API而直接(on-the-fly)完成这一工作;在另一个实施例中,通过重配置并且重启动控制器来完成内部模型的扩展。这实现了系统模型的扩展,以包括影子服务(phantom service)和提供方,其包括了实现预期功能所需要的新的脚本和运行时程序。
将组件封装到“整体化的”部署构造(building)模块中元服务器控制器201可被配置为现有电子商务或因特网服务系统的独立组件。通过对必需的系统组件进行重新使用并且(如果需要的话则)编写相对简单的“提供方”,可实现对实现了基于IP的服务的任意系统的配置和运行时支持。
大量已部署或将要部署的互联网服务、网站和相关电子商务系统共享极其相似的拓扑结构,并使用通用的或很大程度兼容的单个组件。元服务器概念为平台供应商、增值转售商或集成商提供了一个机会,以形成整体化的元服务器平台(例如使用现成的组件)。某些拓扑结构已非常通用,以至于可将其用作为这种现成的、整体化的元服务器配置的起点简单的两层系统,在负载平衡器之后的前端中具有合理的万维网头部(web-head)和代理服务器的比率,并且在后端和子网之间的防火墙中具有少量(例如3、4个)应用程序/数据库服务器。
图5图示了这种系统的一个实施例,其在单个整体化平台中包括了前端服务器510、后端服务器520和所有其他必需的网络逻辑(例如路由、交换、负载平衡等等)。元服务器组件可用通常的金属薄片、冗余电源和互连件来包装,并具有可服务性特征,从而显著地减少了整体系统成本。在一个实施例中,元服务器还可包括可热互换的、高集成度的、电路板级别的组件。而且,在一个实施例中,元服务器由动态可配置的“背板(backplane)”互连技术来支持(例如基于FiberchannelTM或InfiniBandTM技术)。
由于在此描述的元服务器体系结构管理并封装能够完全实现一个互联网服务或多个服务的可部署“单元”的组件,因此,可极大地简化这些服务的部署和运行。相对于当前的数据中心解决方案,整体化的部署和相关联的内部信息通路和复杂度的“隐藏”提供了显著的益处。
由于元服务器控制器201包括了配置和提供方法以及运行中的数据中心服务的状态,因此在一个实施例中提供了自动化应用程序扩展,以为元服务器提供组件级别的“即插即用”功能。扩展了现有子网和区域、或者扩大了运行中的(多个)元服务器的现有拓扑结构的元服务器“附加”(add-on)模块可在操作元服务器之后完全被删除。成功地互连并且接通电源后,这一实施例的元服务器控制器201自动识别所述(多个)新模块,并且自动地向运行中的站点分配、供应、配置和安装资源。一般地,通过在此描述的元服务器功能可实现这些思想。
元服务器200的控制器201实施例可(在对象管理器320中)包含供应、配置、测试和运行元服务器200中的服务所需的完整的信息集。这一信息可包括(但不局限于)每个资源220的OS、其他代理、可安装的软件包和运行时内容的源网络路径或文件名。这样,元服务器200可“输入”(import)将特定元服务器200“外壳”(包括自动化和管理框架)上的服务集合实例化所必需的软件、配置和内容的完整描述。这样,除了所输入的描述加载了整个元服务器及其控制器之外,所“输入”的描述(以及由文件或网络路径引用所包含的软件模块)与用来重构造(rebuid)单个个人计算机或服务器的“静态安装”脚本或程序是大致可比较的。
当基础性系统模型已在设计、验证和制造生存周期中使用的工具之间实现内聚性关系时,就可在其他工程与制造/运行领域中实现类似的生产效率增益。作为两个例子,考虑机械计算机辅助设计(CAD)和电子CAD。
在机械CAD中,工程师使用设计工具来将理论性想法的形式和功能记录(capture)到机械CAD程序(例如AutoCAD)中。在该CAD程序内部,设计员创建并操纵系统的三维体积模型。最终,可以用设计规则(例如元件之间的公差和尺寸配合)来测试这一模型中描述的机械系统,并且可以在设计工具上运行元件的相互作用的模拟。最终,使用从工具系统的体积模型导出的“工具路径”和其他指令,机器工具可制造所建模的系统的组件。机械模型和机器工具指令的标准化对于各工具、模拟系统和机器工具控制器的制造商来说具有很大的经济益处,并且对于目前可获得的CAD/CAM(计算机辅助设计和计算机辅助制造)的实现来说也很重要。
类似地,电子CAD使用设计中的电路的模型来获得类似的益处。通过在屏幕上拖放组件(晶体管、电容等等)来开始理论性设计。然后可以运行设计规则(已执行基本的有效性检验没有短路或未连接的元件等等)。可以将各组件的模型结合起来(参考Spice或类似软件)并且模拟测试信号,以执行所描述的系统的动态模拟。最终,基于所述电路模型,可输出经验证的电路的表示,以制造作为专用集成电路(ASIC)或电路板的电路。电路模型的标准化表示(例如参考VHDL)可实现多种经济益处和工具链组件之间的互操作性,从而提高整体CAD/CAM生产效率。
可将元服务器的内部模型和运行在其上的服务与上述示例中描述的可实现生存周期生产效率的体积模型或电路模型进行比较。可以由工具基于元服务器模型中所携带的属性、限定信息来校验和模拟元服务器的服务和它们的交互。可在模拟环境中全面地操纵和验证调用它们的运行、执行、管理和供应自动化方法和规则集。因此,从本发明所描述的模型及其实施例,可实现计算机辅助设计和计算机辅助操作(CAD/CAO)益处。
具体地说,可以创建可与上述针对机械和电子CAD而描述的工具链相比较的工具链,来与所述元服务器和它的内部体系结构一起使用。图6中描述了在一个实施例中采用的一个这样的工具链,包括元服务器控制器201、客户端接口321和工具,即参考图3a所描述的专用应用程序310。
所述系统的不同实施例可采用不同的工具集。图6所参考的示例性工具包括(但不局限于)元服务器设计记录610、元服务器设计校验620、元服务器自动化规则和自动化工作台630、元服务器性能模拟器640、元服务器功能模拟器650、元服务器文档生成器660、元服务器部署输出器670、元服务器操作门户680(例如可包括所需的“动态GUI”用户界面或其他定制页面)以及元服务器维护助手(未示出)。
本发明的实施例可包括上面已描述的各种步骤。所述步骤可包含在机器可执行指令中,用来使得通用或专用处理器执行所述步骤。或者,这些步骤可以由专用硬件组件执行,所述组件包含硬布线逻辑,用于执行所述步骤,或者由已编程的计算机组件和定制硬件组件的任意组合来执行所述步骤。
本发明的元件还可被提供为计算机程序产品,其可以包括机器可读介质,其上存储有指令,所述指令可用来对计算机(或其他电子设备)编程以执行某种处理。所述机器可读介质可包括但不局限于软盘、光盘、CD-ROM(只读压缩光盘存储器)和磁光盘、ROM、RAM、EPROM、EEPROM、磁或光卡、传播介质、或任何其他类型的适于存储电子指令的媒介/机器可读介质。例如,本发明可作为计算机程序产品而下载,其中,该程序可通过包含在载波或其他传播介质中而经由通信链路(例如调制解调器或网络连接)从远程计算机(例如服务器)传输到请求计算机(例如客户端)。
在通篇的详细描述中,为了说明的目的,给出了大量的具体细节,以提供对本发明的透彻的理解。然而,对本领域内的技术人员来说,很清楚没有这些具体细节中的一些也可以实施本发明。在某些情形下,未详细示出公知的结构和功能,以免混淆本发明的主题物。相应地,本发明的范围和精神应根据所附的权利要求来判断。
权利要求
1.一种系统,包括网络,包括多个组件;和控制器,耦合到所述网络,并可操作来自动地配置所述网络的所述组件以执行组合动作。
2.如权利要求1所述的系统,其中,所述控制器定义所述组件之间的关系,以配置它们来执行组合动作。
3.如权利要求1所述的系统,其中,每个资源是硬件和软件之一。
4.如权利要求1所述的系统,其中,所述动作包括提供网络服务。
5.如权利要求1所述的系统,其中,所述控制器响应于检测到事件而自动配置所述网络。
6.如权利要求5所述的系统,其中,所述事件是响应于自动检测到增加的网络使用率而生成的。
7.如权利要求6所述的系统,其中,所述网络包括多个资源,所述控制器响应于所述事件而分配附加的资源,以提供已正在由其他资源提供的网络服务。
8.如权利要求5所述的系统,其中,所述事件是响应于所述控制器检测到对新的网络服务的需求而生成的。
9.如权利要求8所述的系统,其中,响应于由所述系统的用户发出的命令,发出对所述新的网络服务的所述需求。
10.如权利要求1所述的系统,还包括控制台,耦合到所述控制器,可操作来提供允许人工用户与所述控制器交互的接口。
11.一种方法,包括将数据中心处的多个组件逻辑归组成单个元服务器;在所述组件中的每个组件之间定义一种或多种层次结构关系,包括一个或多个关联、相关性和/或先决条件,所述层次结构关系提供与所述数据中心处的网络操作相关的信息;以及将所述信息用于所述数据中心处的一种或多种网络管理功能。
12.如权利要求11所述的方法,其中,所述已定义的层次结构关系中的第一个包括第一区域或资源集合,包括所述多个组件的第一子集。
13.如权利要求12所述的方法,其中,所述已定义的层次结构关系中的第二区域或资源集合包括第二区域,包括所述多个组件的第二子集。
14.如权利要求13所述的方法,其中,所述已定义的层次结构关系中的第三个包括互连件,其逻辑连接所述第一区域和所述第二区域。
15.如权利要求12所述的方法,其中,归组在所述第一区域内的所述组件中的一个组件是万维网服务器。
16.如权利要求13所述的方法,其中,归组在所述第一区域和所述第二区域内的所述组件中的一个组件是防火墙。
17.如权利要求11所述的方法,其中,所述组件之一是路由器。
18.如权利要求11所述的方法,其中,所述网络管理功能之一是初始化所述数据中心处的所述系统组件中的一个或多个,并且,所述系统组件中的每一个组件之间所述已定义的层次结构关系被用来确定一个合适的顺序,以按这个顺序初始化所述一个或多个组件。
19.如权利要求18所述的方法,其中,所述初始化包括重新引导所述系统组件中的一个或多个。
20.如权利要求18所述的方法,其中,所述初始化包括重新启动所述系统组件中的一个或多个。
21.如权利要求18所述的方法,其中,所述初始化包括重新配置所述系统组件中的一个或多个。
22.一种元服务器,包括多个前端万维网服务器,用于处理获得网页的客户端请求;多个后端服务器,用于执行与所述客户端请求相关联的各种后端处理功能;以及控制器,用于在所述组件中的每一个组件之间定义一种或多种层次结构关系,包括一个或多个关联、相关性和/或先决条件,所述层次结构关系提供与所述数据中心处的网络操作相关的信息,并且,所述控制器将所述信息用于所述数据中心处的一种或多种网络管理功能。
23.如权利要求22所述的元服务器,还包括防火墙,可通信地耦合在所述前端万维网服务器和所述后端服务器之间,用于分析并过滤指向所述后端服务器的数据流量,所述控制器还定义了所述防火墙和所述前端和/或所述后端服务器之间的一种或多种附加的逻辑层次结构关系。
24.如权利要求23所述的元服务器,还包括路由器,可通信地耦合在所述前端万维网服务器、所述后端服务器和外部网络之间,所述路由器用于根据网络寻址协议来处理数据流量,所述控制器还定义了所述路由器、所述前端服务器、所示后端服务器和/或所述防火墙之间的一种或多种附加的逻辑层次结构关系。
25.如权利要求22所述的元服务器,其中,所述前端服务器和所述后端服务器物理上配置在单个整体化平台中。
26.如权利要求25所述的元服务器,其中,所述前端服务器和所述后端服务器通过动态可配置的背板总线进行通信。
27.如权利要求22所述的元服务器,其中,所述已定义的层次结构关系包括第一区域、第二区域和将所述第一区域与所述第二区域进行逻辑耦合的互连件,其中所述第一区域包括所述前端万维网服务器,所述第二区域包括所述后端服务器。
28.如权利要求24所述的元服务器,其中,所述已定义的层次结构关系包括第一区域、第二区域、将所述第一区域与所述第二区域进行逻辑耦合的互连件以及包括所述防火墙的互连资源,其中所述第一区域包括所述前端万维网服务器,所述第二区域包括所述后端服务器。
29.一种制品,包括程序代码,所述代码被机器执行时使得所述机器执行下述操作将数据中心处的多个组件逻辑归组成单个元服务器;在所述组件中的每一个组件之间定义一种或多种层次结构关系,所述层次结构关系提供与所述数据中心处的网络操作相关的信息;以及将所述信息用于所述数据中心处的一种或多种网络管理功能。
30.如权利要求29所述的制品,其中,所述已定义的层次结构关系中的第一个包括第一区域,包括所述多个组件的第一子集。
31.如权利要求30所述的制品,其中,所述已定义的层次结构关系中的第二个包括第二区域,包括所述多个组件的第二子集。
32.如权利要求31所述的制品,其中,所述已定义的层次结构关系中的第三个包括互连件,其逻辑连接所述第一区域和所述第二区域。
33.如权利要求30所述的制品,其中,归组在所述第一区域内的所述组件中的一个组件是万维网服务器。
34.如权利要求31所述的制品,其中,归组在所述第一区域和所述第二区域内的所述组件中的一个组件是防火墙。
35.如权利要求29所述的制品,其中,所述组件之一是路由器。
36.如权利要求29所述的制品,其中,所述网络管理功能之一是初始化所述数据中心处的所述系统组件中的一个或多个,并且,所述系统组件中的每一个组件之间的所述已定义的层次结构关系被用来确定一个合适的顺序,以按这个顺序初始化所述一个或多个组件。
37.如权利要求36所述的制品,其中,所述初始化包括重新引导所述系统组件中的一个或多个。
38.如权利要求36所述的制品,其中,所述初始化包括重新启动所述系统组件中的一个或多个。
39.如权利要求36所述的制品,其中,所述初始化包括重新配置所述系统组件中的一个或多个。
40.一种方法,包括在网络上的多个组件之间定义一种或多种逻辑层次结构关系,包括一个或多个关联、相关性和/或先决条件,所述逻辑层次结构关系提供与所述网络操作相关的信息;以及基于所述组件之间的所述层次结构关系,执行对所述网络操作的模拟。
41.如权利要求40所述的方法,还包括将所述逻辑层次结构关系的不同的组存储到一个和多个工具集中,所示工具集可用于执行所述模拟。
42.如权利要求41所述的方法,还包括使用所述模拟的结果来设计所述组件之间附加的逻辑层次结构关系。
43.如权利要求42所述的方法,其中,所述设计附加的逻辑层次结构关系包括最优化所述组件之间的所述逻辑层次结构关系。
44.如权利要求42所述的方法,其中,响应于对所述网络上新组件的包含而设计所述附加的逻辑层次结构关系。
45.一种由一系列抽象所定义的网络管理体系结构,包括多个网络资源;一个或多个服务,每一个服务都包括所述网络资源中所指定的一组资源;服务集合,包括两个或多个服务;以及用户接口,向用户提供与所述服务集合、所述服务和/或所述网络资源相关的信息,并向用户提供对所述服务集合、所述服务和/或所述网络资源的控制。
46.如权利要求45所述的网络管理体系结构,其中,所述资源之一是万维网服务器。
47.如权利要求46所述的网络管理体系结构,其中,所述资源之一是负载平衡器。
48.如权利要求47所述的网络管理体系结构,其中,所说万维网服务器和所述负载平衡器都包括在一个特定服务中。
49.如权利要求46所述的网络管理体系结构,其中,所述万维网服务器与多个其他万维网服务器一起包括在一个特定服务中。
50.如权利要求45所述的网络管理体系结构,其中,取决于所述用户属于哪个用户组,向所述用户提供对所述服务集合、所述服务和/或所述网络资源的不同级别的访问权限。
51.如权利要求50所述的网络管理体系结构,其中,基于所述用户组的访问特权,向所述用户提供对一个或多个所述服务、所述服务组和/或所述资源的所指定对象、属性和/或方法的访问权限。
52.如权利要求51所述的网络管理体系结构,其中,所述用户接口只向所述用户动态地显示那些所述用户被许可访问的所指定的对象、属性和/或方法。
全文摘要
本发明描述了一种集成的互联网体系结构,用于自动化根据标准分层协议而运行的网络的配置和控制。所描述的体系结构包括两个主要模块(1)网络(100);和(2)耦合到所述网络的控制器(201),其通过协调不同资源(120-125,140-146)来自动地配置所述网络以执行动作,例如提供电子商务购物服务。控制器(201)可运行在标准网络协议之上的层中,以去除网络(100)的可见复杂度,从而使得人工用户可以通过简单的用户界面对网络(100)进行控制、配置和操作,好像该网络就是单个主机(例如计算机)一样。还可以提供一个工具集,以使用保存在控制器(201)内的属性和限定信息来模拟和评价各种联网组件(120-125,140-146)的交互。
文档编号H04L12/24GK1550084SQ02816873
公开日2004年11月24日 申请日期2002年6月20日 优先权日2001年6月30日
发明者小罗伯特·沙利文, 达利博尔·弗尔萨洛维奇, 穆罕默特·阿甘阿吉克, 小罗伯特 沙利文, 尔 弗尔萨洛维奇, 特 阿甘阿吉克 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1