用于远程修改系统配置的方法和设备的制作方法

文档序号:6503856阅读:183来源:国知局
专利名称:用于远程修改系统配置的方法和设备的制作方法
技术领域
本发明的实施例涉及计算机系统配置。尤其是,实施例涉及使用总线主控器(bus master)远程地改变系统配置和更新系统配置。
背景技术
计算机系统包括对于其功能所必需的多个装置。当系统开机或重启时,每个这些装置都必须启动或初始化。大多数计算机系统包括一个系统配置管理器程序,该程序处理计算机系统的基本启动和初始化。
一些计算机系统中,基本启动和初始化程序或系统配置管理器被称为基本输入输出系统(BIOS)。开机或重启之后,计算机系统以执行BIOS的第一指令开始。BIOS初始化芯片集、测试和初始化系统存储器、且测试和初始化外部装置功能性。该过程合起来称为开机自检(POST)。在系统装置被适当地初始化之后,BIOS加载一个启动加载程序。该启动加载程序被存储在诸如硬盘这样的存储装置的指定启动扇区内。启动加载程序启动操作系统。操作系统然后控制计算机系统。
BIOS代码是存储在闪存装置中的固件。BIOS代码使用配置数据以在系统POST过程中对用户可配置的设置进行编程。BIOS配置数据存储在非易失性存储器中,该非易失性存储器由互补金属氧化物半导体(CMOS)组成。CMOS是一种节能技术,当计算机系统从它的主电源断开时,允许计算机系统得到备用电池的电力供应。POST过程中使用的非易失性数据包括实时时钟(RTC)时间和时间数据、驱动配置、系统存储器设置、操作系统设置、串行和并行端口设置以及其它系统设置。
附图简述本发明的实施例以如图所示的实例方式而非限制方式加以阐明,附图中,相同的标记表示相似的元件。应当注意对于该公开说明中的“一”或“一个”的不同标记不必指相同的实施例,这些标记表示至少一个。


图1是计算机系统的一个实施例的图示。
图2是包括计算机系统的网络的一个实施例的图示。
图3是远程更新系统的过程的一个实施例的流程图。
图4是在开机或重启过程中执行计算机系统初始化过程的一个实施例的流程图。
图5是执行总线主控器更新过程的一个实施例的流程图。
发明详述图1是计算机系统的实施例的图示。在一个实施例中,计算机系统101可以包括中央处理单元(CPU)103以执行指令。另一个实施例中,计算机系统101可以包括多个处理器。CPU 103可以位于主板上。在具有多个处理器的实施例中,每个处理器可以位于相同的主板中或与之连接,或可以位于分离的主板中。CPU 103可以与存储集线器105或类似装置通信。
一个实施例中,存储集线器(memory hub)105在CPU 103和系统存储器109、输入输出(I/O)集线器111和类似装置(例如图形处理器107)之间提供通信链路。一个实施例中,存储集线器105可以是“北桥”芯片集或类似装置。
一个实施例中,系统存储器109可以是随机访问存储器(RAM)模块或模块组。一个实施例中,系统存储器109可以包括同步动态随机访问存储器(SDRAM)、双倍速率(DDR)RAM或类似的存储器存储装置。系统存储器109可以被计算机系统101所用以存储应用数据、配置数据或类似数据。系统存储器109可以是易失性存储器,它在计算机系统101电源关闭后丢失数据。
一个实施例中,其它装置可以连接到存储集线器105,例如图形处理器107。图形处理器107可以直接位于主板上。另一个实施例中,图形处理器107可以位于分离的板上,该分离的板通过互连或端口与主板连接。例如,图形处理器107可以位于外围卡上,该外围卡通过加速图形接口(AGP)插槽或类似连接与主板相连。图形卡或图形处理器107可以与显示装置123相连。一个实施例中,显示装置123可以是阴极射线管(CRT)装置、液晶显示器(LCD)、等离子体装置或类似显示装置。
一个实施例中,存储集线器105可以与I/O集线器111相通信。I/O集线器111提供与一组I/O装置和类似装置例如存储装置125、互补金属氧化物半导体(CMOS)装置113或类似装置、基本输入输出系统(BIOS)115、通用串行总线(USB)控制器117、网络装置119和类似装置的通信。一个实施例中,I/O集线器111可以是“南桥”芯片集或类似装置。另一个实施例中,存储集线器105和I/O集线器111可以是单个装置。
一个实施例中,存储装置125是非易失性存储装置,例如硬盘、物理驱动、光学驱动、磁驱动或类似装置。存储装置125可以用于存储应用数据、操作系统数据和类似系统数据。一个实施例中,计算机系统101可以包括可移动介质驱动129。可移动介质驱动可以是硬盘驱动、CDROM驱动、DVD驱动或类似装置。一个实施例中,CMOS 113可以存储系统配置信息、实时时钟数据(RTC)、BIOS数据和类似信息。CMOS 113可以是电池备份存储装置或类似非易失性存储系统。BIOS115管理系统配置和初始化。BIOS 115缺省数据可以存储在CMOS 113中。一个实施例中,CMOS 113和BIOS 115是相同装置的一部分。
一个实施例中,USB控制器117可以与I/O集线器111相连。USB控制器117可以是一种管理USB的微控制器。一个实施例中,USB控制器117可以用作输入装置控制器,作为计算机系统101和USB输入装置121之间的接口。一个示例性实施例中,USB控制器117可以管理一组输入装置,该组输入装置可以包括鼠标、打印机、网络摄影机(web cam)和类似装置。
一个实施例中,诸如网络装置119之类的其它装置可以与I/O集线器111通信。网络装置119可以是调制解调器、网卡、无线装置或类似装置。一个实施例中,网络装置119可以与主板集成。另一个实施例中,网络装置119可以是通过外设部件互连(PCI)、PCI Express插槽或类似互连连接到主板的外围卡。
图2是包括远程系统配置更新机制的系统的实施例的图示。一个实施例中,计算机系统101可以是连接到网络213的本地机器。用在这里,术语“本地机器”是一种计算机系统,使用系统配置管理器更新计算机系统的配置。“远程”机器或应用程序通过网络或类似机制与本地机器连接。计算机系统101可以是工作站、膝上型电脑、台式机或类似的计算机系统。计算机系统101可以通过网络装置119与网络213相连。网络213可以是局域网(LAN)、广域网(WAN)、英特网或类似网络。用在这里,术语“系统配置数据”指用户可配置设置和由系统配置管理器(例如BIOS 115)设置的计算机系统的硬件设置。用户可配置设置一般包括操作系统(OS)、电源管理和其它一般设置。硬件设置可以包括处理器、存储器、总线、图形处理器以及类似速度和延时设置。硬件设置还可以包括部件容量和类似的配置数据。
一个实施例中,计算机系统101可以包含本地客户模块(clientmodule)203。本地客户模块203可以是与服务器模块211相通信的软件应用程序或硬件装置。将在下面详细描述本地客户模块203的操作。本地客户模块203可以存储在存储装置125、CMOS 113、可移动介质驱动129或类似存储位置中。
一个实施例中,网络213可以用来将多个计算机系统连接到一起。其它计算机系统(例如本地机器205)也可以运行本地客户模块207以与服务器模块211通信。使用诸如网卡、调制解调器、无线装置或类似装置之类的网络装置,服务器209可以与网络213相连。服务器209可以运行服务器模块211。服务器模块211可以是一种应用程序,用来为与网络213相连的各个本地机器101、205产生和监视系统配置数据。一个实施例中,服务器209可以是专用系统、台式机系统、膝上型系统、掌上系统或类似的系统,为与网络213相连的计算机系统提供管理工具。另一个实施例中,服务器209可以是运行其它应用程序的共享系统。
一个实施例中,服务器模块211提供图形用户接口(GUI)以允许用户监视和修改与服务器209联网的计算机的系统配置。另一个实施例中,服务器模块211提供的接口可以是不基于图形的接口,而是基于文本的接口或可以提供其它接口。服务器模块211可以通过网络213与本地客户模块203、207通信,为每个机器获得配置数据并发送新的或更新的配置信息到客户模块203、207。信息可以以合适的方式格式化,适合于通过使用合适的通信协议传送系统配置数据。一个实施例中,服务器模块211类似地与多个客户模块203、207通信并从它们接收数据。服务器模块211可以发送单独的配置信息到每个客户模块203、207或可以广播配置数据到多个客户模块203、207。
图3是远程更新系统的过程的实施例的流程图。一个实施例中,每个计算机系统可以具有在计算机初始化过程中使用的缺省的或本地的系统配置数据。通过使用诸如BIOS 115或类似应用程序之类的系统配置管理器,所述缺省配置可以在机器中更新。如这里所使用的,术语“系统配置管理器”指本地管理计算机系统的系统配置的程序或模块。BIOS可以是这种系统配置管理器的实例。在计算机系统的初始化过程中,通过在计算机系统的键盘上手动键入键序列,可以访问系统配置管理器。可以被系统配置管理器管理的系统设置包括装置存储大小、装置速度、CPU速度、系统总线速度、图形设置、启动设置和类似系统设置。
一个实施例中,用户可以远程地访问和改变系统设置而不需要在重新配置的机器处进行手动输入。用户可以利用服务器模块211察看当前系统设置或为目标计算机系统产生新的配置。服务器209上运行的服务器模块211可以通过网络213发送配置信息到本地机器101(方框313)。例如,系统管理员可以本地或远程地更新本地机器101的操作系统软件。和更新前的操作系统所支持的存储大小相比,操作系统软件的更新可以允许较大的硬盘存储大小的使用。本地机器101可以包含比更新前操作系统支持的硬盘大的硬盘125。系统管理员可以为本地机器101创建新的系统配置,包括增大硬盘125的大小以更好地利用硬盘125。然后这种新的配置可以被发送到本地机器101。
一个实施例中,本地机器101上运行的客户模块203可以从网络装置119或类似方法接收输入的配置数据(方框315)。另一个实施例中,配置数据可以应用到多个机器并可以被广播到网络213上的一组机器。例如,客户模块203可以通过服务器模块211接收系统管理员发送的新的配置,以允许使用硬盘125上的较大空间。
一个实施例中,客户模块203可以将接收的配置数据写入预定存储空间(方框317)。预定存储空间可以位于系统存储器109、固定存储装置125、可移动介质驱动129、CMOS或类似的存储装置中。另一个实施例中,专用的存储装置可以用于存储接收的系统配置数据。另一个实施例中,系统存储器109或类似的存储装置可以被修改或提供有持久的电源(例如备用电池)以在计算机系统101关机或重启过程中维持系统配置数据。例如,系统管理员创建的新的系统配置可以被写入到系统存储器109或存储装置125。如这里使用的,术语“重启”指计算机系统的重新启动。所述重启可能导致也可能不导致易失性存储器的电源损耗和数据丢失。如这里使用的,“预定存储区域”指任何合适的存储装置或储存装置或多个装置组合中的存储区域,其中在新的或更新的系统配置数据用来更新缺省配置数据之前,可以存储该新的或更新的系统配置数据。
一个实施例中,接收的系统配置数据可以被写入到预定存储区域并以适当的格式存储。一个实施例中,存储的系统配置数据的格式可以与存储在CMOS 113或计算机系统101中其它位置的缺省系统配置数据的格式相匹配。如这里使用的,“缺省系统配置数据”指这样的系统配置数据,该系统配置数据可以存储在诸如CMOS 113这样的非易失性存储装置中并用来初始化计算机系统,直到新的或更新的系统配置数据来更新为止。所述缺省系统配置数据可以以前就被更新或改变过。另一个实施例中,仅对当前系统配置的改变被服务器模块211发送并被客户模块203存储。
一个实施例中,被动更新方案337可以用来使用接收的配置数据更新系统配置。一个实施例中,当计算机系统101重启或计算机系统101开机时,系统配置管理器可以检查以确定是否存在对系统配置的改变(方框319)。如果存在改变,那么改变或新配置可以用来修改或代替由CMOS 113或其它合适的存储装置存储的缺省系统配置数据(方框321)。例如,从系统管理员接收新的或更新的配置且该配置被存储在预定存储区域之后,下一次系统重启或开机时,系统配置管理器检查预定存储空间以确定它是否包含新的或改变的配置数据。如果发现新的或更新的数据,那么它可以被拷贝到CMOS 113以代替或修改缺省系统配置数据。一个实施例中,检查更新的或新的数据涉及将缺省配置数据与接收的系统配置数据进行比较。另一个实施例中,当接收的系统配置数据被客户模块203存储时,可以设置一个标记或类似的指示符。在重启或开机时可以检查该指示符以确定是否接收了新的或更新的数据。
一个实施例中,在用于系统配置数据的CMOS 113或类似存储装置被更新或代替之后,新的缺省系统配置数据用于初始化或启动计算机系统101(方框323)。某些环境下,在系统配置改变可以执行之前,可能需要另一次重启。当计算机系统101运行时,对当前使用的系统配置设置的改变或在更新系统配置设置时已经被系统配置管理器初始化的系统配置设置的改变可能不是可复位的。例如,在将系统管理员发送的新配置设置拷贝到CMOS 113之后,BIOS 115可以重启计算机。在后来的重启中,可以使用新的系统配置设置和数据。
另一个实施例中,有源系统325可以用于更新系统配置设置。一个实施例中,在客户模块203接收并存储服务器模块211发送的系统配置数据之后,它可以告知系统配置管理器(例如BIOS 115)接收了更新的或新的配置数据(方框327)。一个实施例中,当计算机系统101运行时,系统配置管理器可以检查更新的或新的配置数据,以确定是否可以做出配置设置的改变。另一个实施例中,当计算机系统101运行时,服务器模块211可以发送一个是否可以做出改变的指示。这种情况下,系统配置管理器检查该指示。例如,计算机系统101接收的系统配置更新可以调整硬盘125的大小以增加它识别的容量。服务器模块211可以确定BIOS 115和操作系统能够处理硬盘驱动125容量上的动态改变且不需要重启计算机系统101。
一个实施例中,在系统配置管理器被告知关于新的或更新的配置数据时,它可以拷贝这些改变或新的设置到缺省配置设置的存储区域,例如CMOS 113(方框329)。然后做出检查以确定设置的改变是否需要重启计算机系统101(方框331)。这可以通过检查从服务器模块211发送的方向指示或通过分析所做的设置改变类型而完成。例如,BIOS 115可以实现硬盘125识别容量的增大。然后它做出这种配置改变是否需要重启计算机系统101以彻底执行这种改变而不导致错误的决定。
一个实施例中,如果对系统配置的改变不需要重启,那么这些改变可以执行且计算机系统101继续以新的系统配置设置指示的改变而工作(方框333)。如果对系统配置的改变需要系统重启,那么客户模块203、系统配置管理器或操作系统可以初始化计算机系统101的重启以完成系统配置设置的改变。
图4是执行系统初始化过程的实施例的流程图。一个实施例中,在计算机系统101开机或复位时发生系统初始化(方框401)。计算机系统101开始执行系统配置管理器,所述系统配置管理器可以启动基本系统部件的初始化(方框403)。基本系统部件可以包括芯片集、RTC和类似部件。可以通过配置所有插头和播放装置(例如调制解调器、图形卡、网卡和类似外围卡和装置)而继续初始化(方框405)。
一个实施例中,类似的系统配置管理器可以检查预定存储区域以确定缺省的系统配置是否需要更新(方框407)。这可以通过比较缺省系统配置数据和新的或更新的系统配置数据,或检测更新的指示符而确定。系统配置管理器然后可以开始拷贝或更新存储在CMOS 113或类似非易失性存储器中的缺省系统配置设置的过程。系统配置管理器然后可以根据更新的或新的配置数据中指示的改变开始改变系统设置。
一个实施例中,系统配置管理器可以确定是否需要重启计算机系统101(方框411)。这可以通过检测存储的需要重启的指示符或分析新系统配置中对系统设置的改变而确定。如果必须重启,可以使用存储在缺省配置空间中的新配置数据重新启动重启过程。如果不需要重启,那么系统配置管理器可以继续,并完成计算机系统101的部件的初始化(方框413)。当完成初始化时,系统配置管理器可以调用启动加载程序,为计算机系统101启动合适的操作系统(方框415)。然后操作系统主要控制了计算机系统101。
一个实施例中,服务器模块211可以发送其它命令和信息到客户模块203。服务器模块211可以指示配置信息的处理是否使用主动方法325或被动方法337进行处理。服务器模块211可以确定目标计算机系统在系统重新配置过程中是否应该重启。
图5是使用总线主控器执行系统配置更新过程的实施例的流程图。如这里所使用的,“总线主控器”是能够驱动计算机系统101的内部总线的任何装置。这使装置能够对计算机系统101的存储空间进行读取和写入。像耦合到USB端口、串行端口、并行端口、1394端口(固件)或类似端口或计算机系统101的连接装置的USB装置121、串行装置、无线装置、红外装置或类似装置一样,总线主控器可以连接到计算机系统101。
一个实施例中,总线主控器能够与类似于服务器模块211的系统配置应用程序连接。该系统管理应用程序能够监视目标计算机系统101的系统配置。
一个实施例中,系统配置应用程序可以产生系统配置并向总线主控器121传送所述配置(方框501)。一个实施例中,总线主控器121能够存储所述配置。另一个实施例中,总线主控器121可以通过将系统配置数据写入到预定存储空间而再次传送系统配置数据(方框503)。例如,具有存储模块的USB装置可以与系统配置管理应用程序相连,该应用程序加载系统配置到USB装置的存储模块。USB装置然后可以连接到本地机器101,且USB装置可以从其内部存储模块加载系统配置数据到本地机器101的预定存储空间。
一个实施例中,总线主控器121可以支持更新目标机器的系统配置的被动方法505和主动方法507。在更新系统配置的被动方法中,可以在计算机系统101的下一次重启或开机过程发生更新。在重启过程,系统配置管理器可以检查对系统配置的更新(方框509)。一个实施例中,系统配置管理器可以在CMOS 113或类似非易失性存储器中存储的缺省系统配置和预定存储空间中存储的新系统配置数据之间做出比较。另一个实施例中,系统配置管理器可以检测需要执行改变或新配置的指示符。
一个实施例中,在开机或重启过程中,系统配置管理器将使用新的系统配置数据更新CMOS或类似非易失性存储器中的缺省系统配置数据(方框511)。系统配置管理器然后在计算机系统101中执行新配置(方框513)。另一个实施例中,系统配置管理器可以重启计算机系统101以完成更新的系统配置设置的执行。
一个实施例中,可以使用主动更新系统507。在总线主控器在预定存储空间存储了新的或更新的系统配置数据之后,总线主控器可以告知或提供指示符给系统配置管理器,告知它系统配置设置将要改变(方框515)。系统配置管理器然后可以从预定存储空间拷贝新的或更新的配置数据到诸如CMOS 113或类似非易失性存储装置之类的缺省存储区域,或类似地更新缺省系统配置数据(方框517)。
一个实施例中,系统配置管理器可以判定是否需要重启以完成系统设置的执行(方框519)。系统配置管理器可以通过分析需要完成的系统配置改变的类型确定是否需要重启。另一个实施例中,系统配置管理器可以检查从总线主控器接收的或被总线主控器存储在预定位置的指示符。
一个实施例中,必须重启以完成更新的或新的系统配置设置的执行。系统配置管理器或操作系统可以初始化系统的重启并在重启程序中完成新的缺省系统设置的执行。另一个实施例中,不需要重启来实现对系统设置的改变。系统配置管理器执行存储在缺省存储器存储区域中的更新的或新的配置数据,计算机系统的操作继续。
一个实施例中,系统配置数据也可以被高级配置和电源管理接口(ACPI)或类似接口所用。ACPI提供有助于装载和卸载定义块的方法(例如加载或卸载方法),该定义块用于配置计算机系统中的硬件装置。一个不必重启系统而执行系统配置改变的实施例中,涉及系统改变的ACPI定义块可以被加载或卸载以执行对系统配置的修改。这可以包括在定义块中添加新的方法。这些方法可以被写在ACPI源语言(ASL)中。
一个实施例中,改善的系统配置更新系统可以以软件执行并存储在机器可读介质中。如这里使用的,机器可读介质可以是能够存储或传输数据和类似信息的介质,例如,硬盘、物理驱动、CDROM、DVD、光盘、无线传输、光学传输、红外传输以及类似存储装置和传输系统。
前面的说明书中,参考其特定实施例描述了本发明。然而,很明显可以做出各种修改和改变而不偏离附属权利要求书所限定的本发明的较宽的精神和范围。因此,认为说明书和附图是阐述性的而不是限制性的。
权利要求
1.一种方法,包括通过网络从远程源接收基本输入输出系统(BIOS)配置数据;存储接收的BIOS配置数据;以及更新系统配置。
2.权利要求1的方法,其中接收的系统配置数据存储在预定存储空间中。
3.权利要求2的方法,还包括检查预定存储空间中存储的配置数据中系统配置的改变。
4.权利要求1的方法,其中在重启程序期间发生系统配置更新。
5.权利要求1的方法,还包括在系统操作过程中基于接收的BIOS配置数据来实现系统改变。
6.权利要求1的方法,还包括告知系统管理模块系统配置改变。
7.一种设备,包括客户模块,通过网络从远程模块接收基本输入输出系统(BIOS)配置数据;与客户模块耦合的存储装置,以存储接收的BIOS配置数据;以及与存储器模块耦合的系统配置模块,以基于接收的BIOS配置数据调整系统设置。
8.权利要求7的设备,还包括执行客户模块的处理器。
9.权利要求7的设备,还包括与客户模块耦合的网络装置,以实现与远程机器的通信。
10.权利要求7的设备,还包括非易失性存储装置,以存储系统配置模块和BIOS配置数据。
11.一种系统,包括通信介质;耦合到通信介质的第一机器,包括第一客户模块,以修改第一机器的基本输入输出系统(BIOS)配置数据;耦合到通信介质的第二机器,包括服务器模块,以通过通信介质发送BIOS配置数据到客户模块,以重新配置第一机器。
12.权利要求11的系统,还包括与通信介质耦合的第三机器,包括第二客户模块,以从服务器模块接收BIOS配置数据。
13.权利要求11的系统,其中第一机器还包括耦合到第一客户模块的存储装置,以在预定的存储空间存储接收的BIOS配置数据。
14.权利要求11的系统,其中第一本地机器还包括系统管理模块,以检查重启过程中预定存储空间中存储的BIOS配置的改变。
15.一种设备,包括从远程源接收基本输入输出系统(BIOS)配置数据的工具;用于存储接收的(BIOS)配置数据的工具;以及用于更新系统配置的工具。
16.权利要求15的设备,还包括基于接收的BIOS配置改变实现系统改变的工具。
17.权利要求15的设备,还包括告知系统管理模块BIOS配置改变的工具。
18.一种机器可读介质,其上具有存储的指令,当该指令被执行时,导致机器执行一组操作,包括通过网络从远程源接收系统配置数据,包括处理器配置数据、存储器配置数据和外围装置配置数据的其中之一;存储接收的系统配置数据;以及更新系统配置。
19.权利要求18的机器可读介质,其中接收的系统配置数据存储在预定的存储空间。
20.权利要求18的机器可读介质,其上还具有存储的指令,当执行所述指令时,导致机器执行一组操作,还包括检查预定存储空间中存储的系统配置数据中系统配置的改变。
21.权利要求1的方法,其中第一源为远程服务器。
22.权利要求2的方法,其中第一源为可以向预定存储空间进行写入的装置。
23.一种设备,包括存储装置;可移动地耦合到该设备的总线主控器,以向存储装置中的预定存储空间写入系统配置数据;以及耦合到存储器的系统配置管理器,以基于预定存储空间中存储的基本输入输出系统(BIOS)配置数据调整系统设置。
24.权利要求23的设备,其中所述装置可移动地耦合到存储装置。
25.权利要求23的设备,其中所述装置通过通用串行总线(USB)、串行端口、并行端口和1394端口中的其中之一进行通信。
全文摘要
一种用于更新计算机系统的系统配置设置的方法和设备。实施例包括一种远程系统配置系统,它使用户能够通过网络或类似通信系统从服务器机器更新目标机器的系统配置。另一个实施例包括一种系统配置方法,它使用总线主控器向目标计算机系统写入系统配置数据。
文档编号G06F9/445GK1898642SQ200480038658
公开日2007年1月17日 申请日期2004年12月17日 优先权日2003年12月23日
发明者F·博莱, R·纳拉瓦迪 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1