具体实施方式
图1至图2提供数据处理环境的示范图,其中可以实施本发明的若干实施例。应当认识到,图1至图2仅仅是示范例,而非力图宣称或暗示对于其中可以实施本发明若干方面或实施例的环境的任何限制。对所描绘的环境可以做出许多修改而不脱离本发明实质和范围。
现在参考附图,图1描绘了数据处理系统网络的图示表达,其中 可以实施本发明的若干方面。网络数据处理系统100是计算机的网络,其中可以实施本发明的若干实施例。网络数据处理系统100包含网络102,它是用于在网络数据处理系统100内连接在一起的多种设备和计算机之间提供通信链路的媒介。网络102可以包括各种连接,比如有线、无线通信链路或光缆。
在所描述的示例中,服务器104和服务器106连同存储单元108一起连接到网络102。另外,客户机110、112和114也连接到网络102。这些客户机110、112和114可以是例如个人计算机或网络计算机。在所描绘的示例中,服务器104向客户机110、112和114提供数据,比如引导文件、操作系统映像和应用程序。在这个示例中客户机110、112和114是服务器104的客户机。网络数据处理系统100还可以包括未显示的附加服务器、客户机和其它设备。
在所描绘的示例中,网络数据处理系统100是因特网,用网络102代表全球范围的使用传输控制协议/因特网协议(TCP/IP)的协议套件彼此通信的网络和网关集合。因特网的核心是若干主节点或主机之间的高速数据通信线路的主干,这些主节点或主机包括成千上万商业、政府、教育和其它计算机系统,它们之间传输着数据和消息。当然,网络数据处理系统100也可以实施为许多不同类型的网络,比如内联网、局域网(LAN)或广域网(WAN)。图1意在作为本发明不同实施例的示例,而非作为架构限制。
现在参考图2,图中显示了数据处理系统的框图,其中可以实施本发明的若干方面。数据处理系统200是计算机的示例,比如图1中的服务器104或客户机110,其中可以放置本发明的若干实施例实施过程的计算机可用代码或指令。
在所描绘的示例中,数据处理系统200采用中心架构,包括北桥和存储器控制器中心(MCH)202以及南桥和输入/输出(I/O)控制器中心(ICH)204。处理单元206、主存储器208和图形处理器210连接到北桥和存储器控制器中心202。图形处理器210可以通过加速图形端口(AGP)连接到北桥和存储器控制器中心202。
在所描绘的示例中,局域网(LAN)适配器212连接到南桥和I/O控制器中心204。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、硬盘驱动器(HDD)226、CD-ROM驱动器230、通用串行总线(USB)端口和其它通信端口232以及PCI/PCIe设备234通过总线238和总线240连接到南桥和I/O控制器中心204。PCI/PCIe设备可以包括例如以太网适配器、插卡和用于笔记本电脑的PC卡。PCI使用插卡总线控制器,而PCIe却不用。ROM224可以是例如闪速二进制输入/输出系统(BIOS)。
硬盘驱动器(HDD)226、CD-ROM驱动器230通过总线240连接到南桥和I/O控制器中心204。硬盘驱动器226和CD-ROM驱动器230可以使用例如集成驱动器电路(IDE)或串行高级技术附件(SATA)接口。超级I/O(SIO)设备236可以连接到南桥和I/O控制器中心204。
操作系统运行在处理单元206上,并且对图2中数据处理系统200内的多种组件进行协调和提供控制。作为客户机,所述操作系统可以是市场上可买到的操作系统,比如Microsoft
的Windows
XP(Microsoft和Windows是微软公司在美国、其它国家或者既在美国又在其它国家的商标)。面向对象的编程系统比如Java
TM编程系统可以与操作系统协同运行,并且提供从数据处理系统200上执行的Java程序或应用程序到操作系统的调用(Java是Sun微系统公司在美国、其它国家或者既在美国又在其它国家的商标)。
作为服务器,数据处理系统200可以是例如IBM的eServer
TM pSeries
计算机系统,运行着高级交互执行(AIX
)操作系统或LINUX操作系统(eServer、pSeries和AIX是国际商用机器公司在美国、其它国家或者既在美国又在其它国家的商标,而Linux是LinusTorvalds在美国、其它国家或者既在美国又在其它国家的商标)。数据处理系统200可以是在处理单元206中包括多台处理器的对称的多处理器(SMP)系统。作为替代,也可以采用单处理器系统。
操作系统、面向对象的编程系统以及应用程序或程序的指令都位 于存储设备上,比如硬盘驱动器226,并且可以加载到主存储器208中以便由处理单元206执行。本发明实施例的过程由处理单元206使用计算机可用程序代码完成,这些计算机可用程序代码可以位于存储器中,例如主存储器208、只读存储器224,也可以位于一台或多台外围设备226和230中。
本领域的普通技术人员将认识到,图1至图2中的硬件可以根据实施方案而变化。其它内部硬件或外围设备,比如闪存、等效的非易失性存储器或光盘驱动器等也可以用于补充或取代图1至图2中所描绘的硬件。同样,本发明的这些过程也可以应用于多处理器的数据处理系统。
在某些展示性示例中,数据处理系统200可以是个人数字助理(PDA),它配置有闪存以提供非易失性存储器,用于存储操作系统文件和/或用户产生的数据。
总线系统可以包括一条或多条总线,比如图2所示的总线238或总线240。当然,使用在连接到所述组织或架构的不同组件或设备之间提供数据传输的任何类型的通信组织或架构,都可以实施所述总线系统。通信单元可以包括用于发送和接收数据的一台或多台设备,比如图2的调制解调器222或网络适配器212。存储器可以是例如主存储器208、只读存储器224或者,比如在图2中北桥和存储器控制器中心202中所见到的高速缓存。图1至图2中所描绘的示例和以上介绍的示例并非意味着隐含架构限制。例如,数据处理系统200除了采用PDA的形式之外也可以是平板计算机、膝上型计算机或电话设备。
参考图3,描绘了其中可以实施本发明的数据处理系统的框图。数据处理系统300可以是对称的多处理器(SMP)系统,包括连接到系统总线306的多台处理器301、302、303和304。例如,数据处理系统300可以是IBM eServer,位于纽约Armonk的国际商用机器公司的一种产品,实施为网络中的服务器。作为替代,也可以采用单处理器系统。同样连接到系统总线306的是存储器控制器/高速缓存308,它提供到多个本地存储器306-363的接口。I/O桥接器310连接到系统 总线306并提供到I/O总线312的接口。存储器控制器/高速缓存308和I/O桥接器310可以如所描绘的那样集成。
数据处理系统300是逻辑分区(LPAR)的数据处理系统。所以,数据处理系统300可以具有多个同时运行的不同种类的操作系统(或单一操作系统的多个实例)。这些多个操作系统的每一个都可以具有任何数量的在其内运行的软件程序。数据处理系统300被逻辑分区,以使得不同的PCI I/O适配器320-321、328-329和336、图形适配器348以及硬盘适配器349可以被分配到不同的逻辑分区中。在这种情况下,图形适配器348连接到显示设备(未显示),而硬盘适配器349连接并控制硬盘350。
因此,例如假设数据处理系统300被分成三个逻辑分区,P1、P2和P3。PCI I/O适配器320-321、328-329、336、图形适配器348、硬盘适配器349、主机处理器301-304中的每一个以及来自本地存储器360-363的存储器,它们各自被分配到三个分区的每一个中。在这些示例中,本地存储器360-363可以采用双列直插内存模块(DIMM)的形式。DIMM通常不是以每个DIMM为基础分配到分区。而是某分区将得到该平台所见到的全部存储器的一部分。例如处理器301、来自本地存储器360-363的存储器的某些部分以及I/O适配器320、328和329可以被分配到逻辑分区P1;处理器302-303、来自本地存储器360-363的存储器的某些部分以及PCI I/O适配器321和336可以被分配到分区P2;而处理器304、来自本地存储器360-363的存储器的某些部分、图形适配器348以及硬盘适配器349可以被分配到逻辑分区P3。
在数据处理系统300内运行的每个操作系统都被分派到不同的逻辑分区中。因此,在数据处理系统300内运行的每个操作系统仅仅可以访问在其逻辑分区内的那些I/O单元。因此,例如高级交互执行(AIX)操作系统的一个实例可以在分区P1内运行,AIX操作系统的第二个实例(映像)可以在分区P2内运行,而Linux或OS/400操作系统可以在逻辑分区P3内运行。
连接到I/O总线312的外设部件互连(PCI)主机桥接器314提供到PCI本机总线315的接口。多个PCI输入/输出适配器320-321都通过PCI到PCI桥接器316、PCI总线318、PCI总线319、I/O插槽370和I/O插槽371连接到PCI总线315。PCI到PCI桥接器316提供到PCI总线318和PCI总线319的接口。PCI I/O适配器320和321分别置于I/O插槽370和371中。典型的PCI总线实施支持四个到八个I/O适配器(即用于内插式连接器的扩展槽)。每个PCI I/O适配器320-321都提供数据处理系统300与输入/输出设备比如其它网络计算机之间的接口,这些其它网络计算机是数据处理系统300的客户机。
附加PCI主机桥接器322为附加PCI总线323提供接口。PCI总线323连接多个PCI I/O适配器328-329。PCI I/O适配器328-329通过PCI到PCI桥接器324、PCI总线326、PCI总线327、I/O插槽372和I/O插槽373连接到PCI总线323。PCI到PCI桥接器324提供到PCI总线326和PCI总线327的接口。PCI I/O适配器328和329分别置于I/O插槽372和373中。以这种方式,通过PCI I/O适配器328-329的每一个可以支持附加的I/O设备,比如调制解调器或网络适配器。因此,数据处理系统300允许到多台网络计算机的连接。
存储器映射的图形适配器348插入在I/O插槽374中,并且通过PCI总线344、PCI到PCI桥接器342、PCI总线341和PCI主机桥接器340连接I/O总线312。硬盘适配器349可以置于I/O插槽375中,它连接到PCI总线345。这条总线又连接到PCI到PCI桥接器342,它通过PCI总线341连接到PCI主机桥接器340。
PCI主机桥接器330为PCI总线331提供连接到I/O总线312的接口。PCI I/O适配器336连接到I/O插槽376,它通过PCI总线333连接到PCI到PCI桥接器332。PCI到PCI桥接器332连接到PCI总线331。这条PCI总线还使PCI主机桥接器330连接到服务处理器邮箱接口和ISA总线访问通道逻辑394以及PCI到PCI桥接器332。服务处理器邮箱接口和ISA总线访问通道逻辑394转发去往PCI/ISA 桥接器393的PCI访问。NVRAM存储器392连接到ISA总线396。服务处理器335通过其本机PCI总线395连接到服务处理器邮箱接口和ISA总线访问通道逻辑394。服务处理器335还经由多条JTAG/I2C总线334连接到处理器301-304。JTAG/I2C总线334是JTAG/scan总线(见IEEE 1149.1)与Phillips I2C总线的结合。不过作为替代,JTAG/I2C总线334可以由仅Phillips I2C总线或仅JTAG/scan总线取代。主机处理器301、302、303和304的所有SP-ATTN信号都一起连接到服务处理器335的中断输入信号。服务处理器335具有其自身的本地存储器391并具有对硬件操作面板390的访问权限。
数据处理系统300最初加电时,服务处理器335使用JTAG/I2C总线334询问系统(主机)处理器301-304、存储器控制器/高速缓存308和I/O桥接器310。这个步骤完成后,服务处理器335就具有了数据处理系统300的详细目录(inventory)和拓扑理解。服务处理器335还对通过询问主机处理器301-304、存储器控制器/高速缓存308和I/O桥接器310所发现的全部部件执行内置自检(BIST)、基本保证测试(BAT)和存储器测试。在BIST、BAT和存储器测试期间所检测出故障的任何错误信息都由服务处理器335收集和报告。
在去掉了BIST、BAT和存储器测试期间发现是有故障的若干部件后,如果若干系统资源的有意义/有效配置仍然可能,那么就允许数据处理系统300继续将可执行代码加载到本地(主机)存储器360-363中。服务处理器335然后就释放主机处理器301-304,以便执行加载到本地存储器360-363中的代码。在主机处理器301-304执行来自数据处理系统300内各个操作系统的代码的同时,服务处理器335就进入了监控和报告错误的模式。由服务处理器335监控的项目类型包括例如,冷却风扇的速度和运转、热传感器、电源稳压器以及由处理器301-304、本地存储器360-363和I/O桥接器310所报告的可恢复和不可恢复的错误。
服务处理器335保存并报告与数据处理系统300中所有受监控项目有关的错误信息。服务处理器335还根据错误的类型和所定义的阈 值采取措施。例如,服务处理器335可以注意到处理器高速缓存存储器上过多的可恢复错误,并判定这是硬故障的先兆。根据这种判断,服务处理器335可以标记该资源,以在当前运行的对话和将来的初始程序加载(IPL)期间解除其配置。IPL有时又称为“引导”或“自举(bootstrap)”。
可以使用多种已面世的计算机系统实施数据处理系统300。例如,数据处理系统300是可以使用国际商用机器公司出品的IBM eServeriSeries Model 840系统实施。这样的系统使用OS/400操作系统可以支持逻辑分区,该操作系统也是国际商用机器公司的产品。
本领域的普通技术人员将认识到,图3中描绘的硬件可以变化。例如其它外围设备,比如光盘驱动器等,也可以用于补充或取代所描绘的硬件。所描绘的示例并非意味着隐含对于本发明的架构限制。
现在参考图4,示范的逻辑分区的平台的框图,其中可以实施本发明。逻辑分区的平台400中的硬件可以实施为例如图3中的数据处理系统300。逻辑分区的平台400包括分区的硬件430、操作系统402、404、406、408和分区管理固件410。操作系统402、404、406和408可以是同时运行在逻辑分区的平台400上的单一操作系统的多个副本,或者是多个不同种类的操作系统。这些操作系统可以使用OS/400实施,它们被设计为与分区管理固件比如Hypervisor的接口。在这些展示性实施例中OS/400仅仅用作示例。
当然,取决于具体实施方案,也可以使用其它类型的操作系统,比如AIX和Linux。操作系统402、404、406和408位于分区403、405、407和409中。Hypervisor软件是可以用于实施分区管理固件410的软件示例,而且是国际商用机器公司的产品。固件是存储器芯片中存储的“软件”,存储器芯片保持其内容而无须电源,例如只读存储器(ROM)、可编程ROM(PROM)、可擦可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)以及非易失性随机存取存储器(非易失性RAM)。
另外,这些分区也包括分区固件411、413、415和417。实施分 区固件411、413、415和417时可以使用最初的自举代码、IEEE-1275标准开放固件以及国际商用机器公司出品的运行时抽象软件(RTAS)。当分区403、405、407和409被例示时,由分区管理固件410将自举代码的副本加载到分区403、405、407和409上。此后,控制被传递给自举代码,然后自举代码加载开放固件和RTAS。与这些分区相关联的或分配到这些分区的处理器然后被分配到该分区的存储器,以执行分区固件。
分区的硬件430包括多台处理器432-438、多个系统存储器单元440-446、多个输入/输出(I/O)适配器448-462以及存储单元470。处理器432-438、存储器单元440-446、NVRAM存储器498和I/O适配器448-462中的每一个都可以分配给逻辑分区的平台400内的多个分区之一,它们的每一个都对应于操作系统402、404、406和408之一。
分区管理固件410为分区403、405、407和409完成许多功能和服务,以创建和增强逻辑分区的平台400的分区过程。分区管理固件410是与基础硬件一致的固件实施的虚拟机。因此,分区管理固件410通过虚拟化逻辑分区的平台400的全部硬件资源,允许同时执行独立的操作系统映像402、404、406和408。
服务处理器490可以用于提供多种服务,比如处理分区中的平台错误。这些服务还可以用作服务代理,以将错误报告给厂商,比如国际商用机器公司。不同分区的操作可以通过硬件管理控制台控制,比如硬件管理控制台480。硬件管理控制台480是分开的数据处理系统,系统管理员可以从其执行多种功能,包括将资源重新分配到不同分区。
本发明的多个方面提供用于集中配置和管理客户机数据处理系统的计算机实施的方法、装置和计算机可用程序代码。确切地说,本发明的这些方面使用网络服务器向需要配置信息以运行的动态可定制计算机系统分发统一配置。这种统一配置为客户机定义了全部内容,包括例如物理和虚拟的硬件资源以及其它操作系统专用的配置细节,比如IP配置。在展示性示例中,通过统一配置并使该配置可分配到网 络,采用网络服务器以减轻管理系统的复杂度。以这种方式,客户机就自动地配置了适当的硬件、操作系统和系统专用的应用程序和配置信息。
现在转向图5,图中描绘了根据本发明的展示性实施例配置客户机时所用的展示性部件。在这个示例中,采用服务器500配置客户机数据处理系统502。在这个示例中,可以使用图2中的数据处理系统200实施服务器500。
可以使用图3中的数据处理系统300实施客户机数据处理系统502。服务器500包含许多资源,用于为客户机数据处理系统502进行硬件和软件配置。这些资源包括客户机配置文件504、代理506、安装应用程序508、硬件配置数据库510、软件配置数据库512、应用程序514和操作系统516。客户机数据处理系统502的实际硬件配置是使用硬件配置系统518完成的。
当用户期望配置数据处理系统时,数据处理系统比如客户机数据处理系统502的具体配置可以在客户机配置文件数据库504的简档或其它文件中指定。这些客户机配置文件指定客户机数据处理系统502的具体硬件、操作系统和软件配置。这些客户机配置文件可以专门地为该处理系统而定义,或者可以为具有最少资源的数据处理系统建立标准化的配置文件。用户可以从客户机配置文件数据库504中选择客户机配置文件,也可以在客户机配置文件数据库504内创建一个,以便服务器500在配置客户机数据处理系统502时使用。
从客户机配置文件数据库504中选择了具体的客户机配置文件后,服务器500使用硬件配置数据库510中的硬件配置文件启动硬件配置。在这个数据库中的信息用于指定在这个示例中的客户机数据处理系统502中要包括的硬件。这种硬件规格说明可用于以多种不同方式配置客户机数据处理系统502中的硬件。
例如,可以将这种信息发送到硬件配置系统518,以便从可用的硬件资源池中建立客户机数据处理系统502的硬件。硬件配置系统518可以是例如计算机装配厂,位于远离服务器500的位置。向这个装配 厂发送的信息使将要装配的数据处理系统具有来自硬件配置数据库510的硬件配置文件中所指定的硬件,以形成客户机数据处理系统502。当现有系统不存在时,这样的实施方案有用。如果客户机数据处理系统502是现有的数据处理系统,就可以向硬件配置系统518发送来自硬件配置数据库510的硬件配置信息,以配置这种要使用的硬件,比如建立逻辑分区。以这种类型的实施方案,硬件配置涉及分区,或将客户机数据处理系统502内的硬件分配给不同的分区。以这种类型的实施方案,硬件配置系统518包含执行正常情况下由硬件管理控制台所执行的操作所需要的硬件和软件。以这种方式,硬件配置系统518与客户机数据处理系统502通信,将硬件分配给不同的分区。
以这种类型的实施方案,硬件配置系统518可以连接到服务器500或其部分上,也可以位于远离这个数据处理系统的位置。
客户机数据处理系统502的硬件配置还涉及修改这种客户机数据处理系统,以在客户机数据处理系统502的初始化时从代理506加载代理520。例如,自举协议(BOOTP)允许主机在系统引导时加载文件。在这些示例中,所述文件用于客户机数据处理系统502。代理520从服务器500中检索,该服务器维护下载到客户机数据处理系统的代理506。取决于具体的实施方案,代理520可以位于客户机数据处理系统502中的本地存储设备上。如果从服务器500中检索到代理520,就可以使用通常的文件传输协议(TFTP)传递代理520。
在这些所描述的示例中,代理520是一个小文件,比如10兆字节。代理520包含创建环境所需要的代码,以便从服务器500上的安装应用程序522中下载安装应用程序。由代理520所提供的这种环境包括具有足够设备的基本操作系统,允许检索安装应用程序522并允许这个应用程序检索其它文件以及在客户机数据处理系统502上安装和配置这些文件。代理520为安装应用程序522建立操作环境,以对客户机数据处理系统502的操作系统和应用程序进行配置。代理520包含操作系统核心二进制映像和几个设备驱动程序。这些部件表示引导将要安装的操作系统所需软件的最小集合。该代理还可以包括所需 要的任何其它指令。在这些展示性示例中,代理520还包括配置进行网络安装所需要环境的指令。作为替代,代理520还可以用于将机器引导为瘦客户机。以这种类型的实施方案,客户机是用网络操作系统引导的,在磁盘上未驻留这种安装。
在这些示例中,所显示的仅仅是单一的代理和安装应用程序。如果客户机数据处理系统502采取逻辑分区的数据处理系统的形式,就为每个分区下载一个代理。另外,每个代理都下载安装应用程序。为每个分区下载的代理可以随着该具体分区上运行的操作系统而变。
安装应用程序522被下载到客户机数据处理系统502上。一旦安装应用程序522在客户机数据处理系统502上执行,服务器500就使用安装应用程序522将文件的下载引向客户机数据处理系统502。下载的具体文件由客户机配置文件数据库504指定。服务器500使用客户机配置文件为软件选择适当的操作系统、应用程序和配置。在这些示例中,这些文件可以位于服务器500上也可以位于服务器500可接受的数据处理系统上。
安装应用程序522从操作系统数据库516接收操作系统文件。操作系统数据库516使用这些操作系统文件在客户机数据处理系统502上安装操作系统。如果客户机数据处理系统502是逻辑分区的数据处理系统,安装应用程序522安装的操作系统是为这个应用程序在其上执行的分区指定的。其它安装应用程序在其它分区上执行,并且为这些分区指定的具体操作系统下载操作系统文件。
在已经安装了操作系统后,安装应用程序522从应用程序数据库514中接收应用程序文件。这些应用程序文件用于安装客户机数据处理系统502的软件应用程序。在这个系统上使用的具体应用程序在客户机数据处理系统502的客户机配置文件中指定。在已经安装了应用程序后,安装应用程序522从软件配置数据库512中接收软件配置文件。在这个配置文件中的信息用于配置客户机数据处理系统502上的软件。配置软件包括例如改变客户机数据处理系统502上安装的操作系统和不同应用程序所需要的任何设置。例如,根据客户机配置文件 504中的说明可以改变操作系统中使用的默认或最初语言。这些具体改变在从服务器500收到的软件配置信息中指明。
在完成了配置后,安装应用程序522向服务器500发送报告,详述所采取的操作和这些操作的成功。此外,在客户机数据处理系统502的安装和配置期间,安装应用程序522可以向服务器500发送更新和其它状态信息。以这种方式,系统管理员可以连接到服务器500并查看客户机数据处理系统502在其配置期间的当前状态。
配置客户机数据处理系统502所用的这种具体过程可以用于在网络中以可配置硬件配置任何数据处理系统。此外,这种配置可以与配置其它客户机数据处理系统同时发生。这种系统不向客户机数据处理系统发送整个映像。因此,现在需要为每个具体数据处理系统定制的映像。于是,根据系统管理员或用户所定义的客户机配置文件组合不同的文件并选择各种配置。在配置具体的客户机数据处理系统时,系统管理员可以选择先前定义的客户机配置文件。系统管理员定位与客户机数据处理系统上的硬件资源相匹配的客户机配置文件。这种过程也可以用在用户企图配置已经装配的客户机数据处理系统时。
现在转向图6,图中描述了根据本发明的展示性实施例为客户机数据处理系统选择客户机配置文件的过程流程图。图6展示的过程可以在服务器中实施,比如图5的服务器500。在这些示例中服务器500是在数据处理系统上执行的过程。
该过程由标识客户机数据处理系统上的硬件资源开始(步骤600)。这个步骤可以用许多不同的方式实施。例如,系统管理员或其它用户可以键入数据处理系统上存在的硬件资源。作为替代,客户机数据处理系统上的代理或过程可以询问数据处理系统,以标识存在的硬件并向该服务器返回这种信息。下一步,该过程选择客户机配置文件(步骤602)。对客户机数据处理系统上所标识的硬件与客户机配置文件之间是否存在匹配作出判断(步骤604)。如果存在匹配,就将该客户机配置文件添加到客户机配置文件列表中(步骤606)。
步骤602、604和606中的这种搜索标识出了能够用于该具体客 户机数据处理系统的所有客户机配置文件。因此,可以使用对硬件资源的需要比客户机数据处理系统上现有客户机配置少的客户机配置。例如,假若该具体客户机数据处理系统包含8个处理器并且存在着使用6个处理器的客户机配置文件,该客户机配置文件就被标识为可以用于配置该客户机数据处理系统的配置文件。
此后,对是否存在着另外的未处理过的客户机配置文件作出判断(步骤608)。如果存在着另外的未处理过的客户机配置文件,该过程返回步骤602。反之,该过程呈现已标识客户机配置文件的列表(步骤610)。接收对客户机配置文件所呈现列表的选择(步骤612)。将所选择的客户机配置文件与该客户机数据处理系统相关联(步骤614),随后本过程终止。
如果在步骤604不存在匹配,该过程也进至步骤608,以判断是否存在着另外的未处理过的客户机配置文件。这个过程允许用户从能够用于配置具体客户机数据处理系统的客户机配置文件集合或数据库中选择客户机配置文件。作为替代,用户可以为该客户机数据处理系统定义所期望的具体配置。利用这种定义,本发明的这些方面集中管理客户机数据处理系统的配置,而不需要额外的用户干预。
以这种方式,为了配置客户机数据处理系统,不需要用户自身出现在客户机数据处理系统处或者使用硬件管理控制台。因此,用户避免了不得不观看客户机数据处理系统上的每个资源并监视其每次的安装和配置。
现在转向图7,图中描述了根据本发明的展示性实施例配置客户机数据处理系统的过程流程图。图7中展示的过程可以在服务器过程中实施,比如图5中的服务器500。
该过程由检测请求代理开始(步骤700)。这项请求由数据处理系统在其首次初始化时产生。该代理用于设置环境以允许在客户机数据处理系统上进行软件安装和配置。标识该客户机数据处理系统的配置(步骤702)。在这些示例中,客户机由其任一IP地址标识。作为替代,也可以基于在BOOTP协议中标识的硬件地址标识该客户机数 据处理系统。然后从一组代理中选择代理(步骤704)。在这些示例中,该具体代理取决于将要在客户机数据处理系统上安装的操作系统。该代理然后被发送到客户机数据处理系统(步骤706)。在这些示例中,这种代理是使用通常的文件传输协议发送的。此后,该过程检测对客户机数据处理系统安装应用程序的请求(步骤708)。下一步,安装应用程序被下载到该客户机数据处理系统(步骤710)。
此后,向该安装应用程序发送操作系统文件(步骤712)。这些操作系统文件可以取决于对客户机数据处理系统的配置用于一个或多个操作系统。所选择的具体操作系统文件取决于在客户机配置文件中作出的指定。下一步,对客户机数据处理系统上是否已经成功地安装了操作系统作出判断(步骤714)。如果已经成功地安装了操作系统,就向该安装应用程序发送应用程序文件(步骤716)。
对是否已经成功地安装了应用程序作出判断(步骤718)。如果已经成功地安装了应用程序,就向安装应用程序发送软件配置文件以配置该软件和其它设置(步骤720)。然后对是否已经成功地配置了该软件作出判断(步骤722)。如果已经成功地配置了该软件,则产生报告,详述所进行的不同配置(步骤724),随后本过程终止。
再次参考步骤714、718和722,如果在任何点发生了不成功的安装或配置,就产生错误报告(步骤726),随后本过程终止。
现在转向图8,图中描述了根据本发明的展示性实施例配置客户机数据处理系统的过程流程图。图8中展示的过程可以在安装应用程序中实施,比如图5中的安装应用程序522。如果数据处理系统是逻辑分区的数据处理系统,每个分区具有安装应用程序的实例,以便为该分区配置具体操作系统和应用程序。
该过程由向服务器发送客户机数据处理系统的标识开始(步骤800)。此后接收用于分区的操作系统文件(步骤802)。在客户机数据处理系统上安装操作系统(步骤804)。下一步,对是否已经成功地安装了操作系统作出判断(步骤806)。如果操作系统安装成功,就向该服务器发送成功的确认(步骤808)。
之后,该过程从服务器接收应用程序文件(步骤810)。该过程然后在分区上安装应用程序(步骤812)。对应用程序安装是否成功作出判断(步骤814)。如果这些安装成功,就向该服务器发送成功的确认(步骤816),并且接收软件配置文件(步骤818)。此后,在客户机数据处理系统的分区上配置软件(步骤820)。对分区的这种配置可以包括改变,比如对该分区安装的操作系统和/或应用程序的改变。然后,对客户机数据处理系统上的软件配置是否成功作出判断(步骤822)。如果配置成功,就向该服务器发送成功的确认(步骤824),随后本过程终止。在这些展示性示例中,软件配置就是软件定制。软件配置可以定制或改变操作系统中或应用程序中现有的默认设置。例如,假若在步骤812安装了网络服务器应用程序,用户可能期望将预先设置的配置馈入这个应用程序,以使得该网络服务器应用程序能够遵从对这个具体客户机系统的要求而执行所设计的功能。
作为另一个示例,如果在步骤804安装的操作系统具有英文的主用户界面,软件配置文件可以要求该用户界面以西班牙语运行。结果,在步骤826中初始化软件定制,对该操作系统作出这种改变。作为另一个示例,如果安装的操作系统具有的网络界面不同于执行网络安装所用的界面,那么就可以用所选择的TCP/IP设置配置该系统。
再次参考步骤806、814和822,如果配置或安装的任何一项不成功,就向服务器返回错误(步骤826),随后本过程终止。
因此,本发明的这些方面提供配置客户机数据处理系统的改进的计算机实施的方法、装置和计算机可用程序代码。本发明的这些方面提供从集中位置配置客户机数据处理系统的能力。本发明的不同过程避免了需要用户自身出现在客户机数据处理系统处。另外,不要求用户配置客户机数据处理系统上的安装资源。不仅如此,本发明的这些方面允许单点同时管理和配置多个客户机数据处理系统。
所描述的示例展示了其中存在着多个逻辑分区的客户机数据处理系统的配置。本发明的不同方面可以适用于其它类型的数据处理系统,而不仅仅是逻辑分区的数据处理系统。例如,本发明的不同方面 可以连同具有预先配置可定制选项的预制数据处理系统一起使用,比如硬件类型、架构、操作系统类型和软件。结果,未分区的数据处理系统可以使用逻辑分区的数据处理系统。以这种方式,本发明的这些方面按照硬件和软件适于定制许多不同类型的数据处理系统。
另外,本发明的这些方面可以作为服务提供给顾客。作为服务,服务供应商可以向硬件配置系统发送硬件配置信息,为顾客配置客户机数据处理系统。服务供应商然后向该客户机数据处理系统发送安装,并且根据由顾客选择的或定义的配置完成该客户机数据处理系统的配置。当顾客将客户机数据处理系统连接到网络并开启该客户机数据处理系统时,开始发送安装应用程序。服务供应商提供的这种类型服务可以收费,也可以作为与顾客达成的销售或维护协议的一部分。
本发明可以采用全部硬件实施例的形式、全部软件实施例的形式,或者硬件部件和软件部件都包含的实施例形式。在优选实施例中,本发明以软件实现,它包括但是不限于固件、驻留软件、微代码等。
不仅如此,本发明也能够采取计算机程序产品的形式,从计算机可用或计算机可读介质中可访问,提供程序代码由或者连同计算机或任何指令执行系统使用。对于本说明书的目的,计算机可用或计算机可读介质可以是能够包含、存储、传递、传播或传输由或者连同所述指令执行系统、装置或设备所使用程序的任何有形的装置。
所述介质可以是电子的、磁性的、光学的、电磁的、红外线的或半导体的系统(或装置或设备)或者传播媒介。计算机可读介质的示例包括半导体或固态存储器、磁带、可拆卸计算机软盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。光盘的流行示例包括光盘只读存储器(CD-ROM)、读/写光盘(CD-R/W)和DVD。
适合于存储和/或执行程序代码的数据处理系统将包括至少一台处理器,直接地或通过系统总线间接地连接到存储器单元。存储器单元可以包括在程序代码的实际执行期间使用的本地存储器、海量存储器以及高速缓冲存储器,后者为至少某些程序代码提供临时存储,以 便减少在执行期间必须从海量存储器检索代码的次数。
输入/输出或I/O设备(包括但是不限于键盘、显示器、定点设备等)可以直接地或通过介入的I/O控制器连接到系统。
网络适配器也可以连接到系统,以使数据处理系统能够变得通过介入的专用或公共网络连接到其它数据处理系统或者远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡仅仅是网络适配器的当前可用类型中的几种。
已经对本发明做出的说明是为了展示和说明之用,并非试图面面俱到或将本发明局限在所公开的形式。对于本领域的普通技术人员,许多修改和变化将是显而易见的。所选择和介绍的实施例是为了最好地讲解本发明的原理和可行的应用,以及使本领域的其它普通技术人员能够理解本发明,以便使具有多种修改的多种实施例适于所期望的具体用途。