CN108228209B - 自动更新服务器系统的元件的固件的系统、方法和介质 - Google Patents

自动更新服务器系统的元件的固件的系统、方法和介质 Download PDF

Info

Publication number
CN108228209B
CN108228209B CN201710722665.7A CN201710722665A CN108228209B CN 108228209 B CN108228209 B CN 108228209B CN 201710722665 A CN201710722665 A CN 201710722665A CN 108228209 B CN108228209 B CN 108228209B
Authority
CN
China
Prior art keywords
image
virtual
new
server system
firmware
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710722665.7A
Other languages
English (en)
Other versions
CN108228209A (zh
Inventor
董彦屏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Quanta Computer Inc
Original Assignee
Quanta Computer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Quanta Computer Inc filed Critical Quanta Computer Inc
Publication of CN108228209A publication Critical patent/CN108228209A/zh
Application granted granted Critical
Publication of CN108228209B publication Critical patent/CN108228209B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种用于自动更新服务器系统的元件的固件的系统以及方法。举例来说,该方法可包括:自供应商下载OS映像档;通过虚拟介质(VM)A将下载的OS映像档安装至服务器系统;自动产生包含用于虚拟介质B的一固件映像的一通用序列总线(USB)读/写映像;将通用序列总线读/写映像安装至虚拟介质B;发送一指令至服务器系统的控制器以通过虚拟介质A设定启动磁盘;重新启动服务器系统;以及致能一更新服务以将自动安装更新的固件映像安装至虚拟介质B。

Description

自动更新服务器系统的元件的固件的系统、方法和介质
技术领域
本发明是有关于电脑系统中的固件更新。
背景技术
现代的服务器群(server farm)或者数据中心通常使用复数服务器系统以处理各种应用服务的处理以及存储需求。服务器系统采用各种元件装置。支援每个上述元件装置的固件需要定期更新以确保装置的正常运行。
然而,为了更新服务器系统上的固件,系统管理员必须从对应的供应商下载装置更新工具以及固件映像。完成下载后,管理员必须将下载的工具以及固件映像配置至主机服务器系统的作业系统(OS),并接着执行下载的工具以完成固件更新。由于典型的数据中心中具有大量的服务器系统,所以固件更新过程可能为乏味且耗时的。
发明内容
本发明各种示例的系统以及方法是提供一种通过致能中央管理系统自供应商下载作业系统(operating system,OS)映像档并接着自动下载以及配置一服务器系统的元件的固件更新的解决方法。OS映像档通常具有较大的档案大小,并于本发明中可能只需要被下载一次。通过致能自动下载以及配置固件更新,本发明提供一种灵活、有效率且自动的固件更新方法。
根据本发明一实施例,一种用于自动更新服务器系统的元件的固件的电脑实施方法,步骤包括:通过一虚拟介质(virtual media,VM)A将OS映像档安装至服务器系统;自动产生包含用于VM B的一固件映像的一通用序列总线(USB)读/写映像;将USB读/写映像安装至VM B;发送一指令至服务器系统的一控制器以通过VM A设定一启动磁盘;重新启动服务器系统;以及致能一更新服务以将一更新的固件映像自动安装至VM B。
根据本发明另一实施例,一种用于自动更新服务器系统的元件的固件的电脑实施方法,步骤包括:判断有可用的服务器系统的元件的一新的固件更新;自对应的供应商下载固件更新;将新的固件更新存储至VM B;自动产生包含用于VM B的新的固件更新的一新的USB读/写映像;以及自新的通用USB读/写映像中检索新的固件更新。
根据本发明另一实施例,提供一种非暂态电脑可读取介质,具有指令存储于其中,当指令通过一系统的至少一处理器执行时,致使上述系统所执行的操作包括:通过一虚拟介质(VM)A将一OS映像档安装至一服务器系统;自动产生包含用于VM B的一固件映像的一通用序列总线(USB)读/写映像;将USB读/写映像安装至VM B;发送一指令至服务器系统的一控制器以通过VM A设定一启动磁盘;重新启动服务器系统;以及致能一更新服务以将一更新的固件映像自动安装至VM B。
根据本发明另一实施例,提供一种非暂态电脑可读取介质,具有指令存储于其中,当指令通过一系统的至少一处理器执行时,致使上述系统所执行的操作包括:判断有可用的服务器系统的元件的一新的固件更新;自对应的供应商下载固件更新;将新的固件更新存储至VM B;自动产生包含用于VM B的新的固件更新的一新的USB读/写映像;以及自新的通用USB读/写映像中检索新的固件更新。
根据一些配置,服务器系统的一控制器为基板管理控制器(baseboardmanagement controller,BMC)。可将服务器系统上的存储装置配置为通过服务器系统上的控制器以及一中央处理单元(CPU)进行存取。存储装置可用以于一段时间内存储程序指令或者数据的任何存储介质。其可为介于一服务控制器以及CPU之间的一共享存储器。根据一些示例,存储装置可为随身盘、随机存取存储器(RAM)、非挥发性随机存取存储器(NVRAM)、只读存储器(ROM)、电子可抹除可程式化只读存储器(EEPROM)或者邮件暂存器(mailboxregister)。
尽管本发明的许多示例被描述为利用一节点上的特定控制器,但必须理解的是,这些仅是示例,而本发明不以此为限。相反地,独立于主中央处理器的任何服务控制器皆可用于自动更新服务器系统上的固件。
另外,即使本发明使用智慧平台管理接口(IPMI)作为将指令自中央管理系统传送至服务器系统的特定控制器,本发明可应用于其它可处理本发明上述的数据传输的协定。
本发明的附加特征以及优点将描述于下面叙述中,并且部分地于描述中为显而易见的,或者可通过本文所公开的原理的实施而习得。本发明的特征以及优点可通过于所附申请范围中特别指出的装置以及组合来实现以及获得。本发明这些以及其它特征将从以下的叙述以及所附申请范围变得更加显而易见,或者可通过本文描述的原理的实施而习得。
附图说明
为了描述可获得本发明上述以及其它优点以及特征的方式,将通过参考附图中的特定示例以呈现更具体地描述上面简要描述的原理。必须理解的是,这些附图仅描绘了本发明的示例,因此不应被认为是对其范围的限制,通过使用附图,附加特征以及细节来描述以及解释本发明的原理,其中:
图1A是显示根据本发明一实施例所述的用于自动更新固件的数据中心中的一示例性系统的示意方块图;
图1B是显示根据本发明一实施例所述的用以与CMS进行通信以自动更新固件的示例性服务器系统的示意方块图;
图2A~2B是显示根据本发明一实施例所述的自动更新固件的示例性方法;
图3是显示根据本发明各种实施例所述的示例性电脑装置;以及
图4、5是显示根据本发明各种示例所述的示例性系统。
具体实施方式
现在将参考本发明的示例性实施例进行详细的描述,本发明的各种示例提供用于致能一中央管理系统自供应商下载作业系统(OS)映像档,并接着自动下载以及配置服务器系统的元件的固件更新的系统以及方法。通过致能自动下载以及配置固件更新,本发明提供一种灵活、高效率且自动的固件更新方法。
图1A是显示根据本发明一实施例所述的用于自动更新固件的数据中心100A中的一示例性系统的示意方块图。于此示例中,数据中心100A包括复数服务器系统(例如102、103)以及连接至网络101的中央管理系统(Central Management System,CMS)104。CMS 104可通过虚拟介质(Virtual Media,VM)A、VM B、或者两者与复数服务器系统的任一者连接。VM A以及VM B可允许数据中心100A的服务器系统通过数据中心于任何地方存取CD-ROM、闪存、外部驱动器以及其它存储介质,如同通过服务器系统的USB埠直接连接一般。复数服务器系统可包括任何可操作以计算以及处理任何形式的数据的电脑装置。举例来说,复数服务器系统可包括个人电脑、网络存储装置或者网络电脑装置。复数服务器系统(例如102、103)亦可耦接至网络101,以及可通过网络101或者区域网络(LAN)彼此通信。
每个服务器系统包括复数元件。举例来说,服务器系统102包括基板管理控制器(Baseboard Management Controller,BMC)102-1、处理器102-2、BIOS 102-3以及存储装置102-4。服务器系统103包括BMC 103-1、处理器103-2、BIOS 103-3以及存储装置103-4。数据中心100A中的服务器系统更可包括网络接口控制器(network interface controller,NIC)卡、扩充卡、序列式SCSI(SAS)控制器、串行ATA(SATA)控制器和/或现场可程式逻辑闸阵列(FPGA)卡等。复数元件可由安装于对应的服务器系统上的固件支援。
CMS 104可通过网络101自供应商下载OS映像档,并通过VM A将下载的OS文件安装至数据中心100A的服务器系统102、103。CMS 104更可产生包含用于VM B的一固件映像的一通用序列总线(USB)读/写映像、将USB读/写映像安装至VM B、以及发送指令至对应的BMC(例如BMC 102-1以及BMC 103-1)以通过VM A设定服务器系统的一启动磁盘(boot disk)。CMS 104更可致能一更新服务。更新服务可判断是否可自供应商取得一固件更新,并自动下载固件更新以安装至VM B。
于此示例中,BMC(例如102-1以及103-1)可与位于同一服务器系统上的一对应的处理器(例如102-2以及103-2)以及一对应的存储装置(例如102-4以及103-4)通过使用系统总线(例如智慧平台管理总线/桥(IPMB))的智慧平台管理接口(IPMI)信息进行通信。IPMB为内部整合电路总线(inter-integrated circuit,I2C)的增强型实施,并且为基于信息的硬盘级基本接口规范。尽管于此示例中仅示出BMC,但可使用独立于主中央处理单元(例如机架管理控制器)的其它类型的服务控制器以执行本发明所公开的功能。
数据中心100A中的BMC(例如102-1以及103-1)可通过VM A和/或VM B与CMS 104通信。于一些配置中,即使一对应的服务器系统关闭的情况下,BMC(例如102-1以及103-1)亦可与CMS 104通信。举例来说,BMC(例如102-1以及103-1)可使用远程管理控制协议(remotemanagement control protocol,RMCP)或者通过区域网络(LAN)的IPMI的RMCP+与带外(out-of-band)CMS 104通信。
BIOS(例如102-3以及103-3)可用以初始化以及辨识对应的服务器系统(例如102以及103)的各种元件的任何程序指令或者固件。BIOS为一个重要的系统元件,负责初始化以及测试对应的服务器系统的硬盘件元件。BIOS可提供硬盘元件一抽象层(abstractionlayer),藉此为应用程式以及作业系统提供一致的方式以与周边装置(例如键盘、显示器以及其它输入/输出装置)进行互动。
于一些配置中,BIOS(例如102-3以及103-3)可以于启动对应的服务器系统上的作业系统(OS)(例如Microsoft
Figure BDA0001385286880000051
OS、
Figure BDA0001385286880000052
OS或者任何作业系统)的前运行系统检查。系统检查为于对应的服务器系统的初始化期间所执行的诊断系统检查。系统检查的示例包括开机自我检测(POST)。BIOS可处理POST的主要功能,并可将一些任务卸载至用以初始化特定周边装置的其它程序(例如视频以及小型电脑系统接口(small computersystem interface,SCSI)初始化)。POST的主要功能可包括:验证CPU暂存器以及BIOS编码的完整性、检查基本元件、检查系统主存储器以及将控制传递给其它专用BIOS扩展。于一些配置中,BIOS更可处理额外的POST功能,包括:发现、初始化以及编目所有系统总线以及装置、提供用于更新系统配置的使用者接口、以及构建作业系统所需的系统环境。
于系统100A中,存储装置(例如102-4以及103-4)可为用以于一段时间内存储程序指令或者数据的任何存储介质。存储装置可为介于对应的BMC(例如102-1以及103-1)与处理器(例如102-2以及103-2)之间的共享存储器。于一些配置中,存储装置可为独立的存储装置。存储装置可为随身盘、随机存取存储器(RAM)、非挥发性随机存取存储器(NVRAM)、只读存储器或者电子可抹除可程式化只读存储器(EEPROM)。存储装置用以存储例如BIOS数据的系统配置。
处理器(例如102-2以及103-2)可为用以执行特定功能的程序指令的中央处理单元(CPU)。举例来说,于启动过程中,处理器可存取存储于对应的存储装置(例如102-4以及103-4)中的BIOS数据并执行BIOS(例如102-3以及103-3)以初始化对应的服务器系统。在启动过程的后,处理器可执行作业系统,以执行以及管理对应的服务器系统的特定任务。
于一些示例中,CMS 104可判断固件更新是否可自供应商获得,并自动自供应商下载固件更新。CMS 104可进一步将固件更新存储至VM B,并自动产生包含用于VM B的新的固件更新的一新的USB读/写映像。CMS 104可致使复数服务器系统的任一者检索新的固件更新,并安装于对应的服务器系统上。
图1B是显示根据本发明一实施例所述的用以与CMS 104进行通信以自动更新固件的示例性服务器系统100B的示意方块图。于此示例中,服务器系统100B包括至少一微处理器或者处理器102-2、一个或者多个冷却元件110、主存储器(MEM)102-4、至少一电源供应单元(PSU)111,电源供应单元111接收来自直流电源105的电力并向服务器系统100B的各种元件(例如处理器102-2、北桥(NB)逻辑106、PCIe插槽160、南桥(SB)逻辑108、存储装置109、ISA插槽150、PCI插槽170以及管理装置102-1)供电。于供电后,服务器系统100B用以自从存储器、电脑存储装置或者外部存储装置加载软件应用程式以执行各种操作。存储装置109被建构为可用于作业系统以及服务器系统100B的应用的逻辑块,并用以于服务器系统100B关闭的情况下亦可保留服务器数据。
存储器102-4可通过NB逻辑106耦接至处理器102-2。存储器102-4可包括动态随机存取存储器(DRAM)、双倍资料率DRAM(DDR DRAM)、静态存取存储器(SRAM)或者其它类型的合适存储器,但并不以此为限。存储器102-4可用以存储服务器系统100B的BIOS数据。于一些配置中,BIOS数据可存储于存储装置109上。
于一些配置中,处理器102-2可为多核心处理器,每个处理器通过连接至北桥逻辑106的CPU总线耦接在一起。于一些配置中,北桥逻辑106可结合至处理器102-2中。北桥逻辑106更可连接至复数快捷外设互联标准(peripheral component interconnect express,PCIe)插槽160以及南桥逻辑108(可选择地)。复数PCIe插槽160可用于连接以及总线,例如PCI Express x1、USB 2.0、SMBus、SIM卡、另一PCIe通道的未来扩展用途、1.5V以及3.3V电源、以及服务器系统100B的机架上诊断LED的电线。
在系统100B中,北桥逻辑106以及南桥逻辑108通过外设组件互连标准(PCI)总线107连接。PCI总线107可支援处理器102-2上的功能,但为独立于任何处理器102-2的母线总线(native bus)的标准格式。PCI总线107可进一步连接至复数PCI插槽170(例如PCI插槽171)。连接至PCI总线107的装置可能会显示给总线控制器(未显示),以直接连接至CPU总线、分配处理器102-2位址空间中的位址、并与单一总线时钟同步。可于复数PCI插槽170中使用的PCI卡包括网络接口卡(NIC)、音效卡、调制解调器、TV调谐器卡、磁盘控制器、视讯卡、小型电脑系统接口(SCSI)适配器以及PCMCIA(personal computer memory cardinternational association)卡,但并不以此为限。
南桥逻辑108可通过扩展总线将PCI总线107耦接至复数扩展卡或者ISA插槽150(例如ISA插槽151)。扩展总线可为用于介于南桥逻辑108与周边装置之间的通信的总线,并可包括工业标准结构(industry standard architecture,ISA)总线、PC/104总线、LPC(lowpin count)总线、扩展ISA(EISA)总线、通用序列总线(USB)、整合装置电路(IDE)总线或者可用于周边装置的数据通信的任何其它合适的总线,但不以此为限。
于系统100B中,南桥逻辑108更耦接至与至少一PSU 111连接的一管理装置102-1。于一些实施例中,管理装置102-1可为基板管理控制器(BMC)、机架管理控制器(RMC)或者任何其它合适类型的系统控制器。管理装置102-1用以通过VM A和/或VM B与CMS104通信,并于自CMS 104接收到指令时,通过VM A设定启动磁盘。于一些示例中,上述指令为致能服务器系统100B通过VM A重新启动的IPMI指令。管理装置102-1更用以通过VM B检索包括新的固件更新的新的USB读/写映像。
于一些配置中,管理装置102-1用以控制至少一PSU 111的操作和/或其它适用的操作。于一些实施例中,管理装置102-1可用以监视处理需求以及服务器系统100B的元件和/或连接状态。
尽管图1A~1B中的示例性系统100A、100B中仅显示某些元件,但是能够处理或者存储数据、接收或者发送讯号或者提供新鲜空气至下游元件的各种类型的电子或者计算元件亦可包括于示例性系统100A、100B中。除此的外,示例性系统100A-100B中的电子或者计算元件可用以执行各种类型的应用和/或可使用各种类型的作业系统。这些作业系统可以包括Android、Berkeley Software Distribution(BSD)、iPhone OS(iOS)、Linux、OS X、类Unix的实时作业系统(例如QNX)、Microsoft Windows、Window Phone以及IBM z/OS,但并不以此为限。
根据示例性系统100A~100B的较佳实施例,可使用各种网络连结以及信息协定,包括TCP/IP、开放式系统互连(open systems interconnection,OSI)、档案传输协定(filetransfer protocol,FTP)、通用随插即用(universal plug and play,UpnP)、网络档案系统(network file system,NFS)、网络文件共享系统(common internet file system,CIFS)、AppleTalk等,但并不以此为限。本领域技术人员将可理解,图1A~1B中所示的示例性系统100A~100B仅用以作为说明的目的。因此,根据本发明的各种示例,可适当地实现具有许多变化的网络系统,但仍提供网络平台的配置。
于图1A~1B的示例性配置中,示例性系统100A~100B更可包括可操作以与特定无线通道的计算范围内的一个或者多个电子装置进行通信的一个或者多个无线元件。无线通道可为用于使装置无线通信的任何适当的通道,例如蓝牙、蜂巢式系统、NFC或者Wi-Fi通道。必须理解的是,如本领域已知的,上述装置可具有一个或者多个常规有线通信连接。于各种实施例的范围内,亦可为各种其它元件和/或组合。
上述讨论旨在说明本发明的原理以及各种示例。一旦完全理解本发明上述的内容,许多变化以及修改将为显而易见的。
图2A是显示根据本发明一实施例所述的自动更新固件的示例性方法200A。必须理解的是,示例性方法200A仅用以作为说明的目的,并于根据本发明的其它方法中可包括以类似或者替代顺序或者平行执行的额外的、较少的或者替代的步骤。示例性方法200A开始于藉由CMS通过VM A安装一节点的OS映像档,如图1A所示。于一些示例中,可通过网络自对应的供应商下载OS映像档,如第1A以及1B图所示。OS映像档可为ISO映像档,且具有较大的档案大小。
于步骤204,CMS可自动产生包含用于VM B的一固件映像的一通用序列总线(USB)读/写映像,并于步骤206将USB读/写映像安装至VM B。
于步骤208,CMS可发送指令至节点的一控制器以通过VM A设定启动磁盘,如图1A所示。于步骤210,CMS可进一步通过VM A致使节点重新启动。于重新启动时,可于节点上执行OS映像。
于步骤212,CMS可致能一更新服务(update service)以将更新的固件映像自动安装至VM B。于步骤214,CMS可写入将更新的固件映像安装至VM B的数据以及时间。
图2B是显示根据本发明一实施例所述的自动更新固件的示例性方法200B。示例性方法200B是延续示例性方法200A。于步骤222,更新服务可判断供应商(vendor)是否有可用的新的固件更新。在没有可用的新的固件更新的情况下,示例性方法200B可回到步骤222。更新服务可于预定时间后重新检查是否有可用的新的固件更新。
于步骤224,在有可用的新的固件更新的情况下,CMS可下载新的固件更新,并于步骤226,CMS将新的固件更新存储至VM B。于步骤228,CMS可进一步产生包括用于VM B的新的固件更新的新的USB读/写映像。
于步骤230,CMS可自新的USB读/写映像中检索新的固件更新。举例来说,CMS可发送指令至数据中心中复数节点中的每一个控制器。于接收到指令后,对应的节点的控制器(例如BMC)可于该节点上下载并安装新的固件更新。
术语
一电脑网络是为藉由通信连接和区段互连的节点的地理分配聚集,用以于终端之间传输资料,例如:个人电脑和工作站。可适用于许多类型的网络,其类型范围从区域网络(Local Area Network,LAN)以及广域网络(Wide Area Network,WAN)到重迭式(overlay)以及软件定义网络,例如虚拟可扩展区域网络(Virtual Extensible Local AreaNetwork,VXLAN)。
LAN通常连接位于相同通用实体位置,例如大楼或校园的专用私有通信连接的节点。另一方面,WAN通常连接长距通信连接的地理分散节点,例如共同载波电话线、光纤路径、同步光纤网络(Synchronous Optical network,SONET)、或同步数位阶级(SynchronousDigital Hierarchy,SDH)连结。LAN和WAN可包括第2层(L2)和/或第3层(L3)网络和装置。
网际网络为WAN的一个例子,其连接世界上的不同网络,提供各种网络上的节点之间的全球通信。节点通常依据预定义通信协定例如传输控制通信协定/网际网络通信协定(TCP/IP)等交换离散资料讯框或封包而于前述网络上进行通信。于本案中,通信协定可视为一组定义节点间如何彼此互动的规则。电脑网络可进一步藉由中继网络节点例如路由器等互连,以延伸每个网络的有效“大小”。
重迭式网络(overlay network)一般允许于一实体网络基础建设上产生以及分层虚拟网络。重迭式网络通信协定,例如虚拟可扩展区域网(Virtual Extensible LAN,VXLAN)、一般路由封装实现网络虚拟化(Network Virtualization Using Generic RouterEncapsulation,NVGRE)、网络虚拟化共存(Network Virtualization Overlays,NVO3)、以及传输层隧道(Stateless Transport Tunneling,STT),提供流量封装方案,允许通过逻辑通道通过L2以及L3网络而承载网络流量。这种逻辑通道可通过虚拟通道终端(VTEP)起始以及结束。
另外,重迭式网络可包括虚拟区段,例如VXLAN重迭式网络内的VXLAN区段,其可包括虚拟L2和/或L3重迭式网络,虚拟机器(Virtual Machine,VM)可于之上进行通信。虚拟区段可通过虚拟网络识别值(VNI)而被辨识,例如VXLAN网络识别值,此虚拟网络识别值可特别辨识相关虚拟区段或网域。
网络虚拟化允许硬盘以及软件资源结合入虚拟网络。举例来说,网络虚拟化可使多个VM分别通过虚拟LAN(VLAN)依附于实体网络。VM可分别依据其VLAN进行分组,且可与其它VM以及内部或者外部网络的其它装置通信。
网络区段,例如实体或虚拟区段、网络、装置、埠、实体或逻辑连结、和/或流量大致来说可分为桥接或者洪水网域(flood domain)。桥接网域或者洪水网域可表示一广播网域,例如L2广播网域。桥接网域或洪水网域可包括单独子网络,但亦可包括多子网络。另外,桥接网域可相关于网络装置上的桥接网域接口,例如一切换器。桥接网域接口可为支援L2桥接网络以及L3路由网络之间流量的逻辑接口。此外桥接网域接口可支援网际网络通信协定(IP)终止、VPN终止、位址解析处理、MAC定位等等。桥接网域和桥接网域接口两者可藉由相同索引或识别值而被辨识。
此外,终端群组(EndPoint Group,下称EPG)在网络中可用于将应用程式对映(mapping)至网络。特别来说,EPG可使用网络中应用程式终端的分组,应用连接性和政策来对应用程式分组。EPG可作为用于装运的容器,或是应用程式或应用程式元件的集合,以及实现转送和政策逻辑的层级。EPG也允许从藉由使用逻辑应用程式边界代替决定位址将网络政策、安全性、以及转送分开。
在一或多个网络亦可提供云端运算,藉以使用共享资源提供运算服务。云端运算可大致上包括网际网络为基础的运算,其中运算资源通过网络(例如“云端”)可取得的资源集合被动态提供与分配给用户端或用户电脑或其它装置的随选(on-demand)功能。云端运算资源,例如,可包括任意类型的资源,例如运算、存储、以及网络装置,虚拟机器(VirtualMachine,简称VM)等等。举例来说,资源可包括服务装置(防火墙、深度封包检测,流量监控、负载量平衡等等)、运算/处理装置(服务器、CPU的、存储器、暴力(brute force)处理能力)、存储装置(例如依附网络的存储器、存储区域网络装置)等等。此外,这种资源会用于支援虚拟网络、虚拟机器(VM)、资料库、应用程式(Apps)等等。
云端运算资源可包括“私有云端”、“公有云端”、和/或“混合式云端”。“混合式云端”可为一种由二或多个PSU云端所组成的云端基础建设,该二或多个PSU云端可通过技术相互运作或进行同盟。本质上混合式云端为私有以及公有云端之间的互动,其中私有云端结合公有云端并以一种安全且有弹性(scalable)的方式使用公有云端资源。云端运算资源亦可通过虚拟网络于重迭式网络(例如VXLAN)的内提供。
于网络切换系统中,可维持一查找资料库(lookup database)以保持多个依附切换系统的终端之间的路径轨迹。然而终端可具有各种设定且相关于许多承租者。终端可具有各种类型的识别值,例如IPv4、IPv6、或第2层。查找资料库必须设定不同模式来处理不同类型的终端识别值。一些查找资料库的能力是设计用于处理不同位址类型的进入封包。另外网络切换系统中的查找资料库通常受限于1K虚拟路由以及转送(VRF)。因此,需要用于处理各种类型的终端识别值的改良查找演算法。本发明所揭露的技术提出用于电信网络中的位址查找所需的技术。本发明所揭露的系统、方法、以及电脑可读取存储介质用于藉由将终端识别值对映至一致空间且允许一致处理不同形式的查找来统一各种类型的终端识别值。接着参见图3以及图4所示,实施例系统以及网络的简单描述将于此揭露。本发明实施例的变形是描述于各个实施例中。相关技术请参考图3。
图3显示依据本发明一实施例的运算装置(computing device)300的示意图。运算装置300包括主中央处理单元(CPU)362、接口368、以及总线315(例如PCI总线)。当于合适的软件或者固件的控制下运作时,CPU 362用于负责执行封包管理、错误侦测、和/或路由功能,例如不当连接(miscabling)侦测功能。CPU 362较佳地于包括作业系统以及任意合适的应用程式软件的软件控制的下完成上述功能。CPU 362可包括一个或者多个处理器363,例如来自Motorola微处理器家族或者MIPS微处理器家族的处理器。于另一实施例中,处理器363为特定设计的硬盘,用于控制运算装置300的操作。于特定实施例中,存储器361(例如非挥发性RAM和/或ROM)亦形成CPU 362一部分。然而,存储器可通过许多不同方式与系统耦接。
接口368通常提供作为接口卡(有时称为“线路卡(line card)”)。一般来说,接口368控制通过网络的资料封包的传送与接收且有时支援与运算装置300一起使用的其它周边。可提供的接口为乙太网接口、讯框中继接口、缆线接口、DSL接口、记号环(token ring)接口等等。此外,可提供各种非常高速接口例如快速记号环接口、无线接口、乙太网接口、Gigabit乙太网接口、ATM接口、HSSI接口、POS接口、FDDI接口等等。一般而言,这些接口可包括用于合适介质的通信的合适埠。于一些实施例中,接口亦可包括独立处理器,以及于一些实施例中可包括挥发性随机存取存储器。独立处理器可控制封包切换、媒介控制以及管理等此种通信密集任务。藉由对通信密集任务提供分开的处理器,上述接口允许主微处理器362有效执行路由运算、网络诊断、安全性功能等。
虽然图3所示的系统为本发明实施例的一特定运算装置,然其绝非本发明实施例仅有的网络装置构造。举例来说,经常使用具有单独处理器的构造,该单独处理器处理通信以及路由运算等等。另外,其它类型的接口以及媒介亦能与路由器一起使用。
无论网络装置的设定为何,网络装置都会使用一个或者多个存储器或者存储器模块(包括存储器361)用于针对存储通用网络操作的程式指令以及针对上述漫游、路由优化以及路由功能的机制。例如程式指令可控制作业系统和/或一个或者多个应用程式的操作。存储器或者复数存储器亦可用于存储表格例如移动连结、注册、以及相关表格等。
图4与图5是显示依据本发明多个实施例的示范系统的示意图。本领域技术人员于应用本发明实施例时可应用更合适的实施例。本领域技术人员亦已知其它系统实施例的可能性。
图4显示习知系统中一种总线运算系统构造400,其中系统的元件互相使用总线402进行电性通信。系统400的示例包括处理单元(CPU或处理器)430以及系统总线402,此系统总线402耦接各种系统元件到处理器430,各种系统元件包括系统存储器404,例如只读存储器(ROM)406以及随机存取存储器(RAM)408。系统400可包括高速存储器的高速缓存,此高速存储器直接连接、靠近、或整合为处理器430的一部分。系统400可将资料从存储器404和/或存储装置412复制至高速缓存404用于处理器430的高速缓存428。以此方式高速缓存可于等待资料时提供效能增进,避免处理器430延迟。上述以及其它模块会控制或用于控制处理器430藉以执行各种动作。同时亦可使用其它系统存储器404。存储器404可包括多个具有不同效能特性的不同类型存储器。处理器430可包括任意通用处理器以及硬盘模块或软件模块,例如存储于存储装置412的模块1 414、模块2 416、以及模块3 418,用于控制处理器430以及特殊功用处理器,其中软件指令结合入实际处理器设计。处理器430可实质上为完全自给自足的运算系统,包括多核心或处理器、总线,存储器控制器、高速缓存等等。多核处理器可为对称或非对称。
为了使用户可与运算装置400互动,输入装置420可代表任意数量的输入机制,例如用于演讲的麦克风、用于手势或者图形输入的触控屏幕、键盘、鼠标、动作输入、语音以及其它等。输出装置422亦可为本领域技术人员所知的一个或多个输出机制。于一些例子中,多模系统可对用户提供多类型的输入类型以与装置400进行通信。通信接口424会大致上包含并管理用户输入以及系统输出。任意特定硬盘设置上的各种操作并未受到限制,因此这里的基本特征会很容易置入发展增进中的硬盘或者固件设置。
存储装置412是为非挥发性存储器且可为硬盘或其它类型的电脑可读取介质,该电脑可读取介质可存储电脑可存取资料,且可例如为磁带、闪存卡、固态存储器装置、数位光盘、卡匣、随机存取存储器(RAM)408、只读存储器(ROM)406、以及上述的组合。
存储装置412可包括用以控制处理器430的软件模块414、416、418。其它硬盘或者软件模块亦可被考虑。存储装置430可连接至系统总线405。于一方面,执行特定功能的硬盘模块可包括存储于电脑可读取介质的软件元件,该电脑可读取介质与所需硬盘元件有关,该所需硬盘元件可例如为用于执行功能的处理器430、总线402、显示器436等。
控制器410可为系统400上的专用微控制器或者处理器,例如基板管理控制器(baseboard management controller,BMC)。在一些情况下,控制器410可为智慧平台管理接口(IPMI)的一部分。此外,在一些情况下,控制器410可嵌入于系统400的主机板或者主电路板上。控制器410可管理介于系统管理软件以及平台硬盘之间的接口。控制器410亦可与各种系统装置以及元件(内部和/或外部)通信,例如控制器或者周边元件,如同下面所进一步描述的。
控制器410可对通知、警示和/或事件产生特定响应,并且与远程装置或者元件通信(例如电子邮件信息、网络信息等),产生用于自动软件恢复程序的指令或者命令等。管理员亦可与控制器410远程通信以发起或者执行特定的软件恢复程序或者操作,如同下面所进一步描述的。
系统400上不同类型的感测器(例如感测器426)可向控制器410报告例如冷却风扇速度、功率状态、作业系统(OS)状态、硬盘状态等参数。控制器410更可包括用于管理以及维护由控制器410所接收的事件、警示以及通知的系统事件日志控制器和/或存储器。举例来说,控制器410或者系统事件日志控制器可自一个或者多个装置以及元件接收警示或者通知,并于系统事件日志存储元件中维护警报或者通知。
闪存432可为由系统400用于存储和/或数据传输的电子非挥发性电脑存储介质或者晶片。闪存432可被电子擦除和/或重新编程。闪存432可包括例如可擦除可规划式只读存储器(EPROM)、电子抹除式可复写只读存储器(EEPROM)、ROM、NVRAM或者互补金属氧化物半导体(CMOS)。闪存432可存储系统400于首次开机时由系统400所执行的固件434以及为固件434指定的一组配置。闪存432亦可存储由固件434所使用的配置。
固件434可包括基本输入/输出系统、其继承者(successors)或者具有相同功能的系统,例如可扩展固件接口(Extensible Firmware Interface,EFI)或者系统一可扩展固件接口(Unified Extensible Firmware Interface,UEFI)。每当系统400开机时,固件434可被载入且执行为一顺序程序(sequence program)。固件可根据上述该组设定来辨认、初始化以及测试系统400中的硬盘。固件可于系统400上执行自我测试,例如为电力开启自我测试(Power-on-Self-Test,POST)。此自我测试可测试各种硬盘元件,例如硬盘驱动器、光学读取装置、冷却装置、存储器模块、扩充卡等。固件434可于存储器404、ROM406、RAM 408和/或存储装置412中定址以及分配的区域,藉此存储作业系统。固件434可载入一启动载入器和/或作业系统,并且将系统400的控制交给作业系统。
系统400的固件434可包括定义固件434如何控制系统400中的各种元件的一固件配置。此固件配置可决定系统400中各种硬盘元件的启动顺序。固件434可提供例如统一可扩展固件接口的接口,可允许设定各种不同的参数,这些设定的参数可不同于预设固件配置中的参数。举例来说,使用者(例如管理员)可使用固件434指定时脉速度或是总线速度,定义连接至系统400的周边装置、设定健康状况的监视(例如风扇速度以及中央处理器的温度上下限),和/或提供会影响系统400整体效能以及电力使用的其它各种参数。
当描述固件434存储于闪存432时,本领域具有通常知识者应可理解固件434亦可存储于其它的存储器元件中,例如存储器404或者ROM 406。然而,为了解释的目的,在此描述的固件432被存储于闪存432中以作为一个非限制性的例子。
系统400可包括一个或者多个感测器426。一个或者多个感测器426可包括例如一个或者多个温度感测器、热感测器(thermal sensor)、氧感测器、化学感测器、杂讯感测器、热感测器(heat sensor)、电流感测器、电压感测器、气流感测器、流量感测器、红外温度计、热通量感测器、温度计、高温计等。一个或者多个感测器426可通过总线402与处理器、高速缓存428、闪存432、通信接口424、存储器404、ROM 406、RAM 408、控制器410以及存储装置412沟通。一个或者多个感测器426亦可通过一种或者多种不同的装置(例如积体电路总线(I2C)、通用输出(GPO)等)与系统中其它元件通信。
图5显示包含晶片组架构的示范性电脑系统500,其可用来执行上述的方法或者操作,并产生显示图形化接口(graphical user interface,GUI)。电脑系统500可包括可用以执行上述技术的电脑硬盘、软件以及固件。系统500可包括处理器510,代表任意数目且不同的物理和/或逻辑资源,其能够执行用以实施上述计算的软件、固件以及硬盘。处理器510可与晶片组502进行通信,晶片组502可控制处理器510的输入以及输出。于此例子中,晶片组502输出资讯至输出装置514(例如显示器),并可自存储装置516中读取或者写入资讯,存储装置516可例如包括磁性介质或者固态介质。晶片组502亦可自随机存取存储器518中读取资料或是写入资料。桥(bridge)180可作为晶片组502与各种使用者接口元件506之间的接口。这些使用者接口元件506可包括键盘、麦克风、触控感测以及处理电路、指向装置(例如鼠标)等。一般而言,系统500的输入可来自于各种来源,这些来源可为机器产生的和/或人所产生的。
晶片组502亦可与一或者多个可具有不同物理接口的通信接口508介接。此种通信接口可包括用于有线及无线区域网络、宽频无线网络、以及个人区域网络的接口。于此揭露的用以产生、显示及使用GUI的方法的一些应用可包括藉由处理器510分析存储于存储装置516或518的资料来通过物理接口接收有序资料组或者接收由机器本身所产生的有序资料组。更进一步地,此机器可接收来自一使用者通过使用者接口组件506的输入并执行适当的功能,譬如藉由使用处理器510解释此等输入来浏览功能。
此外,晶片组502亦可与固件512通信,固件512可于电源开启时被电脑系统500执行。固件502可根据一组固件配置辨识、初始化以及检测存在于电脑系统500中的硬盘。固件512可于电脑系统500上执行自我检测,譬如POST。此自我检测可检测各种硬盘组件502~518的功能。固件512可定址以及分配存储器518中的区域以存储作业系统。固件512可载入启动载入器和/或作业系统,并将电脑系统500的控制交给作业系统。在一些情况下,固件512可与硬盘元件502~510以及514~518进行通信。于此,固件512可通过晶片组502和/或一或者多个元件与硬盘元件502~510以及514~518进行通信。在一些情况下,固件512可直接与硬盘组件元件502~510以及514~518通信。
可理解的是示例性系统300、400以及500可具有多于一个处理器(例如33、430、510)或者为一群组的部分或者电脑装置的丛集互联在一起以提供更大的处理能力。
为了清楚说明,于一些例子中本发明技术可呈现为包括含有功能区块的独立功能区块,功能区块包括于软件或是硬盘以及软件的结合中实施方法的装置、装置元件、步骤或者常规。
于一些实施例中,电脑可读存储装置、介质以及存储器可包括含有一位元串流的有线或者无线讯号等。然而,当提及时,非依电性电脑可读存储介质明确地排除譬如能量、载波讯号、电磁波以及讯号本身的介质。
根据上述例子的方法可实施为使用存储于电脑可读取介质或者可自电脑可读介质取得的电脑可执行指令。此等指令可包括例如致使或者配置通用型电脑、专用电脑或者专用处理装置执行特定的一功能或者一组功能的指令或者资料。使用的电脑资源的部分可通过网络存取。电脑可执行指令可例如为二进位、组合语言的中间格式指令、固件或者资源代码。可用于存储指令、使用的资讯、和/或于根据所描述例子的方法期间产生的资讯的电脑可读取介质的例子包括磁性或者光学硬盘、闪存、具有非依电性存储器的USB装置、连网存储装置等。
根据这些揭示内容以实施方法的装置可包括硬盘、固件和/或软件,且可采取任何不同的形式因素。上述形式因素的典型例子包括膝上型电脑、智慧型手机、小尺寸(smallform factor)个人电脑、个人数位助理、机架式装置、独立式装置等。于此描述的功能亦可体现于周边或者外接卡。功能性亦可藉由其它实施例,由单独装置中电路板上不同晶片或者不同程序间的执行动作实现。
指令、用以传送上述指令的介质、用以执行前述的计算资源、以及其它用以支援上述计算资源的结构皆用于提供于此描述的功能的手段。
本发明技术的各个方面提供用以动态地最佳化服务器系统的操作频率以最小化服务器系统的开机时间的系统以及方法。虽然以上已引用特定实施例来显示可选操作于不同指令下如何使用,其它实施例可结合可选操作以及不同指令。为了清楚说明,于本发明一些实施例可包括独自的功能区块,该功能区块包括软件或者硬盘以及软件的结合中实施方法的装置、装置元件、步骤或者常规。
其它实施例更可于各种操作环境中实现,该各种操作环境于一些实施例中可包括用于操作多个应用程式的一个或者多个服务器电脑、用户电脑或者运算装置。用户或者客户装置可包括任意多个通用个人电脑,例如以标准作业系统运作的桌上型或者膝上型电脑、以及以行动软件运作并能支援多个网络以及信息通信协定的蜂巢、无线以及手持装置。该系统亦可包括多个以各种商用操作系统以及其它已知针对特殊目的的应用程式运作的工作站,上述特殊目的可例如为发展以及资料库管理。上述装置亦可包括其它电子装置,例如虚拟终端、精简客户端、游戏系统以及其它能通过网络通信的装置。
为了延伸实施例,本发明实施例或者部分实施例是于硬盘中实现,并以任意一种或者以下技术的结合实现:具有逻辑闸的离散逻辑电路,可于收到资料讯号时用于实现逻辑功能、具有合适的组合逻辑闸的应用程式特定积体电路(Application SpecificIntegrated Circuit,ASIC)、可编程硬盘例如可编程闸阵列(Programmable Gate Array,PGA)、现场可编程闸阵列(FPGA)等。
大部分实施例使用本领域技术人员周知的至少一网络,用于支援各种商用通信协定的通信,例如TCP/IP、OSI、FTP、UPnP、NFS、CIFS、AppleTalk等。网络可为,例如为本地区域网络、广域网络、虚拟私有网络、网际网络、内连网(intranet)、外连网(extranet)、公众电话交换网络(public switched telephone network)、红外线网络、无线网络以及以上任意组合。
本发明实施例的方法可使用电脑可执行指令实现,该电脑可执行指令存储于电脑可读取介质或可由电脑可读取介质提供。此种指令可包括,例如让通用电脑、特殊用途电脑、或特殊用途处理装置执行一些功能或功能群组的指令和资料。部分电脑资源可通过网络存取。电脑可执行指令可为例如二元码、中继格式指令(例如组合语言)、固件、或者来源码。电脑可读取介质的实施例可用于存储指令、使用资讯、和/或依据所述实施例的方法进行中所产生的资讯,该电脑可读取介质包括磁盘或光盘、闪存、具有非挥发性存储器的USB装置、网络连接存储装置等。
依据本发明实现方法实现的装置可包括硬盘,固件和/或软件,并使用各种形式因素。形式因素的典型实施例包括笔记型电脑、智慧型手机、小尺寸个人电脑、个人数位助理等。所述的功能性亦可以周边或者扩充卡实现。功能性亦可藉由其它实施例,由单独装置中电路板上不同晶片或者不同程序间的执行动作实现。
在使用网络服务器的实施例中,网络服务器可执行各种服务器或者中层应用程式,包括HTTP服务器、FTP服务器、CGI服务器、资料服务器、Java服务器以及商业应用程式服务器。服务器亦能够相应于用户装置的请求而执行程式或者脚本,例如藉由执行一个或者多个以任意编程语言或者其它脚本语言编写的网络应用程式,上述任意编程语言可例如为
Figure BDA0001385286880000211
C、C#或C++,且上述其它脚本语言可例如为Perl、Python或者TCL、以及其中一种组合。服务器亦可包括资料库服务器,包括但不限于可在开放商业市场上取得的服务器。
服务器系统可包括上述讨论的各种资料存储以及其它存储器与存储介质。各种资料存储以及其它存储器与存储介质会驻于各种位置的内,例如存储介质本地之上(和/或驻于)的一个或者多个电脑或者网络上任意电脑或者所有电脑的远端。于实施例的特定组合中,资讯可驻于本领域技术人员所熟知的存储区域网络(SAN)之内。类似地,用于执行电脑、服务器或者其它网络装置特性功能的任意所需档案可合适地存储于本地和/或远端。上述系统包括电脑化装置,每个上述装置可包括通过总线电耦接的硬盘元件,元件包括例如至少一中央处理单元(CPU)、至少一输入装置(例如鼠标、键盘、控制器、触控显示器元素或者按键)以及至少一输出装置(例如显示器装置、印表机或者喇叭)。此种系统亦可包括一个或者多个存储装置,例如碟机、光学存储装置以及固态存储装置,例如随机存取存储器(RAM)或者只读存储器(ROM)、以及可移除介质装置、存储器卡、快闪卡等。
该装置亦可包括所述的电脑可读取存储介质读取器、通信装置(例如终端机、网络卡(无线或者有线)、红外线运算装置)以及工作存储器。电脑可读取存储介质读取器可连接或者用于接收电脑可读取存储介质用于暂时和/或更永久包括、存储、传送、以及检索电脑可读取资讯,该电脑可读取存储介质代表远端、本地、固定和/或可移除存储装置以及存储介质。系统以及各种装置通常亦可包括位于至少一工作存储器装置的内的多个软件应用程式、模块、服务或者其它元件,包括作业系统以及应用程式,例如客制化应用程式或网络浏览器。本领域技术人员可知替代实施例具有上述实施例的各种变化型。举例来说,亦可使用客制化硬盘和/或特定元件可以硬盘、软件(包括可携软件、例如小程式(applet))或者两者兼有加以实现。另外,亦可使用到其他运算装置的连接,该其他运算装置可例如为网络输入/输出装置。
用以包括编码、或者部分编码的存储介质以及电脑可读取介质可包括此技艺中已知或者使用的任意合适介质,包括存储介质以及运算介质,例如但不限于挥发性以及非挥发性、可移除以及不可移除介质,以针对存储和/或资讯传输的任意方法或者技术实现,例如电脑可读取指令、资料构造、程式模块或者其它资料,包括RAM、ROM、EPROM、EEPROM、闪存或者其它存储器技术、CD-ROM、数位光盘(digital versatile disk,DVD)或者其它光学存储、磁盒、磁带、磁盘存储或者其它磁性存储装置或者任意其它用于存储所需资讯且会由系统装置存取的介质。根据本发明技术以及教示,本领域技术人员可知其它方式和/或方法用以实现本发明各种实施例。
本发明虽以较佳实施例揭露如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当视后附的申请范围所界定者为准。
[符号说明]
100A~数据中心
101~网络
102、103~服务器系统
102-1、103-1~基板管理控制器
102-2、103-2~处理器
102-3、103-3~BIOS
102-4、103-4~存储装置
104~CMS
105~供应电源
106~北桥逻辑
107~PCI总线
108~南桥逻辑
109~存储装置
110~冷却元件
111~电源供应单元
150、151~ISA插槽
160、161~PCIe插槽
170、171~PCI插槽
200A、200B~方法
202~230~步骤流程
300~运算装置
315~总线
361~存储器
362~主微处理器
363~处理器
368~接口
400~总线运算系统构造
402~系统总线
404~存储器
406~ROM
408~RAM
410~控制器
412~存储装置
414~418~存储模块
420~输入装置
426~感测器
428~高速缓存
430~处理器
432~闪存
434~固件
500~电脑系统
502~晶片组
504~桥接器
506~使用者接口元件
508~通信接口
510~处理器
512~固件
516~存储装置
518~RAM
VM A、VM B~

Claims (10)

1.一种用于自动更新数据中心中的服务器系统的元件的固件的电脑实施方法,包括:
通过一虚拟介质(VM)A将OS映像档安装至服务器系统;
自动产生包含用于虚拟介质B固件映像的一通用序列总线(USB)读/写映像;
将上述通用序列总线读/写映像安装至虚拟介质B;
发送一第一指令至上述服务器系统的一控制器以通过上述虚拟介质A设定一启动磁盘;
致使上述服务器系统重新启动;以及
致能一更新服务以将更新的固件映像自动安装至虚拟介质B。
2.如权利要求1所述的电脑实施方法,更包括:
判断有可用的上述服务器系统的一元件的一新的固件更新;
自对应的供应商下载上述固件更新;
将上述新的固件更新存储至上述虚拟介质B;
自动产生包含用于上述虚拟介质B的上述新的固件更新的一新的通用序列总线读/写映像;以及
自上述新的通用序列总线读/写映像中检索上述新的固件更新。
3.如权利要求2所述的电脑实施方法,其中自上述新的通用序列总线读/写映像中检索上述新的固件更新的步骤包括:
发送一第二指令至上述服务器系统的上述控制器;以及
致使上述控制器通过虚拟介质B检索上述新的通用序列总线读/写映像。
4.如权利要求1所述的电脑实施方法,其中上述第一指令为一智慧平台管理接口指令,上述智慧平台管理接口指令致能上述服务器系统通过上述虚拟介质A重新启动,以及上述OS映像档为一OS国际标准化组织(ISO)映像档。
5.一种用于自动更新数据中心中的服务器系统的元件的固件的系统,包括:
一处理器;以及
一电脑可读取介质,用以存储指令,当通过上述处理器执行上述指令时,使上述处理器执行的操作包括:
通过一虚拟介质(VM)A将一OS映像档安装至一节点;
自动产生包含用于虚拟介质B的一固件映像的一通用序列总线(USB)读/写映像;
将上述通用序列总线读/写映像安装至上述虚拟介质B;
发送一第一指令至上述节点的一控制器发以通过上述虚拟介质A设定一启动磁盘;
致使上述节点重新启动;以及
致能一更新服务以将更新的固件映像自动安装至虚拟介质B。
6.如权利要求5所述的系统,其中当通过上述处理器执行上述指令时,使上述处理器执行的操作包括:
判断有可用的上述节点的一元件的一新的固件更新;
自对应的供应商下载上述固件更新;
将上述新的固件更新存储至上述虚拟介质B;
自动产生包含用于上述虚拟介质B的上述新的固件更新的一新的通用序列总线读/写映像;
发送一第二指令至上述节点的上述控制器;以及
致使上述控制器通过虚拟介质B检索上述新的通用序列总线读/写映像。
7.如权利要求6所述的系统,其中上述第一指令为一智慧平台管理接口指令,上述智慧平台管理接口指令致能上述节点通过上述虚拟介质A重新启动,上述第二指令为一OEM智慧平台管理接口(IPMI)指令,上述OEM智慧平台管理接口指令致能上述控制器通过上述虚拟介质B检索上述新的通用序列总线读/写映像,以及上述OS映像档为一OS国际标准化组织(ISO)映像档。
8.一种非暂态电脑可读取介质,具有指令存储于其中,当上述指令通过一系统的至少一处理器执行时,致使上述系统所执行的操作包括:
通过一虚拟介质(VM)A将一OS映像档安装至一服务器系统;
自动产生包含用于虚拟介质B的一固件映像的一通用序列总线(USB)读/写映像;
将上述通用序列总线读/写映像安装至上述虚拟介质B;
发送一第一指令至上述服务器系统的一控制器发以通过上述虚拟介质A设定一启动磁盘;
致使上述服务器系统重新启动;以及
致能一更新服务以将更新的固件映像自动安装至虚拟介质B。
9.如权利要求8所述的非暂态电脑可读取介质,其中当通过上述系统执行上述指令时,使上述系统执行的操作包括:
判断有可用的上述服务器系统的一元件的一新的固件更新;
自对应的供应商下载上述固件更新;
将上述新的固件更新存储至上述虚拟介质B;
自动产生包含用于上述虚拟介质B的上述新的固件更新的一新的通用序列总线读/写映像;以及
自上述新的通用序列总线读/写映像中检索上述新的固件更新。
10.如权利要求9所述的非暂态电脑可读取介质,其中自上述新的通用序列总线读/写映像中检索上述新的固件更新的步骤包括:
发送一第二指令至上述服务器系统的上述控制器;以及
致使上述控制器通过虚拟介质B检索上述新的通用序列总线读/写映像;
其中,上述第二指令为一OEM智慧平台管理接口(IPMI)指令,上述OEM智慧平台管理接口指令致能上述控制器通过上述虚拟介质B检索上述新的通用序列总线读/写映像;以及
其中,上述OS映像档为一OS国际标准化组织(ISO)映像档。
CN201710722665.7A 2016-12-21 2017-08-22 自动更新服务器系统的元件的固件的系统、方法和介质 Active CN108228209B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662437197P 2016-12-21 2016-12-21
US62/437,197 2016-12-21
US15/581,484 US10331434B2 (en) 2016-12-21 2017-04-28 System and method for remotely updating firmware
US15/581,484 2017-04-28

Publications (2)

Publication Number Publication Date
CN108228209A CN108228209A (zh) 2018-06-29
CN108228209B true CN108228209B (zh) 2021-06-01

Family

ID=59677053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710722665.7A Active CN108228209B (zh) 2016-12-21 2017-08-22 自动更新服务器系统的元件的固件的系统、方法和介质

Country Status (5)

Country Link
US (1) US10331434B2 (zh)
EP (1) EP3340033B1 (zh)
JP (1) JP6484316B2 (zh)
CN (1) CN108228209B (zh)
TW (1) TWI612474B (zh)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10360010B1 (en) * 2017-07-21 2019-07-23 Jpmorgan Chase Bank, N.A. Method and system for implementing an ATM management and software policy tool
US10409582B1 (en) * 2017-07-21 2019-09-10 Jpmorgan Chase Bank, N.A. Method and system for implementing a retail event management tool
US10416988B1 (en) 2018-02-09 2019-09-17 American Megatrends International, Llc Peripheral device firmware update using rest over IPMI interface firmware shell utility
US10628176B1 (en) 2018-02-09 2020-04-21 American Megatrends International, Llc Firmware configuration using REST over IPMI interface
US10776286B1 (en) 2018-02-09 2020-09-15 American Megatrends International, Llc Rest over IPMI interface for firmware to BMC communication
US10572242B1 (en) * 2018-02-09 2020-02-25 American Megatrends International, Llc Firmware update using rest over IPMI interface
US10489142B1 (en) 2018-02-09 2019-11-26 American Megatrends International, Llc Secure firmware integrity monitoring using rest over IPMI interface
US10409584B1 (en) 2018-02-09 2019-09-10 American Megatrends International, Llc Peripheral device firmware update using rest over IPMI interface firmware update module
US10649792B1 (en) 2018-02-09 2020-05-12 American Megatrends International, Llc Cloning of firmware configuration settings using rest over IPMI interface
TWI685790B (zh) * 2018-03-16 2020-02-21 神雲科技股份有限公司 伺服器裝置及其即時變更韌體設定的方法
US20190334765A1 (en) * 2018-04-30 2019-10-31 Nutanix, Inc. Apparatuses and methods for site configuration management
CN112400170A (zh) * 2018-06-24 2021-02-23 海克斯伍安全公司 配置、实施和监控可信执行环境的分离
US10452386B1 (en) * 2018-07-19 2019-10-22 American Megatrends International, Llc Non-destructive update of discrete components of firmware
CN110825393B (zh) * 2018-08-07 2023-11-17 联想企业解决方案(新加坡)有限公司 将固件下载至服务器的系统和方法
US11023586B2 (en) * 2018-10-26 2021-06-01 American Megatrends International, Llc Auto detection mechanism of vulnerabilities for security updates
US10936295B2 (en) * 2018-11-01 2021-03-02 Dell Products L.P. Software update system
KR102131906B1 (ko) * 2018-12-07 2020-07-08 (주)케이티엔에프 Bmc 기반의 서버메인보드 및 그 보드의 구동방법
CN109669711B (zh) * 2018-12-14 2021-10-29 郑州云海信息技术有限公司 一种服务器自主刷新cpld的方法及bmc
CN109891385B (zh) * 2019-01-10 2023-02-10 福建联迪商用设备有限公司 一种安装pos机初始化配置信息的方法及终端
US11212262B2 (en) * 2019-03-04 2021-12-28 Cyxtera Cybersecurity, Inc. Management of network access request based on source address of device
CN110245000A (zh) * 2019-04-09 2019-09-17 长飞光纤光缆股份有限公司 一种在OpenStack中为KVM虚拟机配置USB设备的方法与装置
US20190325139A1 (en) * 2019-06-28 2019-10-24 Intel Corporation Secure updating of computing system firmware
CN110688139A (zh) * 2019-09-29 2020-01-14 深圳市艾威图技术有限公司 伺服驱动器及其固件更新方法、计算机可读存储介质
CN110780905B (zh) * 2019-10-31 2023-09-08 超越科技股份有限公司 一种基于usb接口的bmc软件更新方法和装置
US11137994B2 (en) * 2019-11-08 2021-10-05 Microsoft Technology Licensing, Llc Baseboard management controller firmware update
TWI733279B (zh) * 2019-12-18 2021-07-11 神雲科技股份有限公司 伺服器裝置及其避免韌體無法再次更新之方法
TWI728625B (zh) * 2019-12-26 2021-05-21 幻雲資訊股份有限公司 複雜資訊環境的管理系統與其運作方法
CN111309352B (zh) * 2020-01-21 2024-03-26 深圳市雷赛智能控制股份有限公司 驱动器固件授权管理方法、系统及计算机可读存储介质
US11635969B2 (en) * 2020-01-23 2023-04-25 Hitachi Vantara Llc Systems and methods to update add-on cards firmware and collect hardware information on any servers with any OS installed or bare-metal servers
US11099838B1 (en) * 2020-02-26 2021-08-24 Quanta Computer Inc. Method and system for recovery for custom integrated circuit
EP3926463A1 (en) * 2020-06-18 2021-12-22 ABB Schweiz AG System for determining availability of software update for automation apparatus
CN113971146B (zh) * 2020-07-22 2024-05-28 旺玖科技股份有限公司 具自动更新固件功能的usb集线装置及具有该usb集线装置的主机系统
CN111984288B (zh) * 2020-07-29 2024-04-16 深圳市拔超科技股份有限公司 一种基于mcu和fpga的远程电子系统升级装置及方法
TWI767392B (zh) * 2020-11-04 2022-06-11 英業達股份有限公司 PCIe頻寬自動調配系統及方法
US11513786B2 (en) * 2020-11-06 2022-11-29 Quanta Cloud Technology Inc. Method and system for server firmware update framework
US20220197667A1 (en) * 2020-12-22 2022-06-23 American Megatrends International, Llc Automatic installation method and system
US11989551B2 (en) * 2021-03-18 2024-05-21 Quanta Computer Inc. Modular firmware composition
WO2022271157A1 (en) * 2021-06-22 2022-12-29 Hewlett-Packard Development Company, L.P. Instruction updates to hardware devices
US12073205B2 (en) * 2021-09-14 2024-08-27 Targus International Llc Independently upgradeable docking stations
CN114115955B (zh) * 2021-10-19 2024-04-12 苏州浪潮智能科技有限公司 服务器资源盒子fpga固件升级方法、系统、终端及存储介质
US20230205549A1 (en) * 2021-12-28 2023-06-29 Quanta Computer Inc. Virtual controller in a multi-node system
CN114326689B (zh) * 2022-01-07 2023-05-05 百度在线网络技术(北京)有限公司 刷写车辆的固件的方法、装置、设备以及存储介质
US11922159B2 (en) * 2022-01-14 2024-03-05 Dell Products L.P. Systems and methods for cloning firmware updates from existing cluster for cluster expansion
US11972250B2 (en) * 2022-01-18 2024-04-30 Hewlett Packard Enterprise Development Lp Out-of-band firmware update
TWI839079B (zh) * 2022-01-24 2024-04-11 國立清華大學 位元串列運算裝置與測試方法
JP2023130149A (ja) * 2022-03-07 2023-09-20 ブラザー工業株式会社 画像形成システム、及び画像形成装置
US12045623B2 (en) * 2022-03-15 2024-07-23 Quanta Computer Inc. Systems and methods for memory content sharing between hosts and management controllers
TWI823599B (zh) * 2022-10-06 2023-11-21 新唐科技股份有限公司 韌體更新方法、電子裝置及伺服器
CN116149759B (zh) * 2023-04-20 2023-07-14 深圳市吉方工控有限公司 Uefi驱动卸载方法、装置、电子设备及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1592231A (zh) * 2003-08-28 2005-03-09 蚬壳星盈科技(深圳)有限公司 高扩展性互联网超级服务器的维护单元结构及方法
CN101826026A (zh) * 2010-04-12 2010-09-08 中兴通讯股份有限公司 嵌入式设备、嵌入式设备中固件在线升级的系统及方法
CN102103509A (zh) * 2010-11-23 2011-06-22 Tcl集团股份有限公司 一种互联网电视远程自动升级方法
CN102855146A (zh) * 2011-06-30 2013-01-02 鸿富锦精密工业(深圳)有限公司 固件更新系统及方法
CN103186404A (zh) * 2011-12-28 2013-07-03 英业达股份有限公司 系统固件更新方法与使用该方法的服务器系统
CN104679530A (zh) * 2013-11-26 2015-06-03 英业达科技有限公司 服务器系统与固件更新方法

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7614058B2 (en) * 2004-09-21 2009-11-03 Dell Products L. P. System and method for virtual media command filtering
US8181020B2 (en) * 2005-02-02 2012-05-15 Insyde Software Corp. System and method for securely storing firmware
CN101132871B (zh) * 2005-03-02 2011-04-20 日本重化学工业株式会社 含有高蒸汽压金属的合金的熔化方法
US8516171B2 (en) * 2005-04-06 2013-08-20 Raritan Americas Inc. Scalable, multichannel remote device KVM management system for converting received signals into format suitable for transmission over a command network
CA2504333A1 (en) * 2005-04-15 2006-10-15 Symbium Corporation Programming and development infrastructure for an autonomic element
US7640382B2 (en) * 2005-04-29 2009-12-29 Avocent Corporation Virtual media systems, methods and devices
US20070017452A1 (en) * 2005-07-21 2007-01-25 Hurwitz Marni M Portable water bottle and dish assembly for humans and pets
US7484084B1 (en) * 2005-12-20 2009-01-27 Netapp, Inc. Use of a baseboard management controller to facilitate installation of firmware in a processing system
US7987471B2 (en) * 2007-01-26 2011-07-26 Microsoft Corporation Mobile device management proxy system
US7895428B2 (en) * 2007-09-28 2011-02-22 International Business Machines Corporation Applying firmware updates to servers in a data center
US8346912B2 (en) * 2007-10-15 2013-01-01 Dell Products, Lp System and method of emulating a network controller within an information handling system
US8072913B2 (en) * 2008-02-03 2011-12-06 Broadcom Corporation Collaborative coexistence of co-located mobile WiMAX, wireless LAN, and/or bluetooth radios
US9191610B2 (en) * 2008-11-26 2015-11-17 Sling Media Pvt Ltd. Systems and methods for creating logical media streams for media storage and playback
CN101853254B (zh) * 2009-03-31 2013-08-14 国际商业机器公司 挂载文件或目录到本地或远程主机的方法和装置
US20100313135A1 (en) * 2009-06-05 2010-12-09 Mark Rogers Johnson Virtual Disc Enabled Media Player
US8589302B2 (en) * 2009-11-30 2013-11-19 Intel Corporation Automated modular and secure boot firmware update
US8428929B2 (en) 2010-09-30 2013-04-23 Intel Corporation Demand based USB proxy for data stores in service processor complex
US9553776B2 (en) * 2011-05-16 2017-01-24 Avocent Huntsville, Llc System and method for accessing operating system and hypervisors via a service processor of a server
US9262155B2 (en) * 2012-06-04 2016-02-16 Oracle International Corporation System and method for supporting in-band/side-band firmware upgrade of input/output (I/O) devices in a middleware machine environment
US20140033188A1 (en) * 2012-07-26 2014-01-30 Microsoft Corporation System updates from cloud blob storage using vhd differentials
US9841984B2 (en) * 2012-10-04 2017-12-12 Avocent Huntsville, Llc System and method for creating virtual disk images for use with remote computer
KR101959359B1 (ko) * 2012-11-06 2019-03-18 에이치피프린팅코리아 유한회사 빠른 부팅을 위한 부트 이미지를 업데이트하는 방법 및 이를 수행하는 화상형성장치
US9032200B2 (en) * 2013-03-14 2015-05-12 American Megatrends, Inc. Method of installing virtual service processor (VSP) to computing device and application of the same
US9176649B2 (en) * 2013-03-15 2015-11-03 American Megatrends, Inc. Method and apparatus of remote management of computer system using voice and gesture based input
US9311486B2 (en) * 2013-08-13 2016-04-12 American Megatrends, Inc. Network based firmware feature configuration and firmware image generation
US9274174B2 (en) * 2013-08-29 2016-03-01 Lenovo (Singapore) Pte. Ltd. Processor TAP support for remote services
US10515040B2 (en) * 2013-09-11 2019-12-24 Lenovo (Singapore) Pte. Ltd. Data bus host and controller switch
JP2015060411A (ja) 2013-09-19 2015-03-30 株式会社日立製作所 情報処理装置のファームウェア更新方法
EP4112070A1 (en) * 2014-04-25 2023-01-04 Dana Farber Cancer Institute, Inc. Middle east respiratory syndrome coronavirus neutralizing antibodies and methods of use thereof
US9680712B2 (en) * 2014-07-01 2017-06-13 American Megatrends, Inc. Hardware management and control of computer components through physical layout diagrams
US10044795B2 (en) * 2014-07-11 2018-08-07 Vmware Inc. Methods and apparatus for rack deployments for virtual computing environments
US9720855B2 (en) * 2014-08-19 2017-08-01 Samsung Electronics Co., Ltd. Virtual device based systems with access to parts other than data storage elements through the virtual device
CN104636163A (zh) * 2014-12-31 2015-05-20 青岛海尔科技有限公司 一种固件升级的方法及相关装置和系统
US10404523B2 (en) * 2015-03-09 2019-09-03 Vapor IO Inc. Data center management with rack-controllers
US10257268B2 (en) * 2015-03-09 2019-04-09 Vapor IO Inc. Distributed peer-to-peer data center management
US10833940B2 (en) * 2015-03-09 2020-11-10 Vapor IO Inc. Autonomous distributed workload and infrastructure scheduling
US10817398B2 (en) * 2015-03-09 2020-10-27 Vapor IO Inc. Data center management via out-of-band, low-pin count, external access to local motherboard monitoring and control
JP6213509B2 (ja) * 2015-03-24 2017-10-18 住友電気工業株式会社 光ファイバ用紫外線硬化型樹脂の検査方法および光ファイバの製造方法
DE202015101904U1 (de) * 2015-04-17 2016-07-20 Fujitsu Technology Solutions Intellectual Property Gmbh Computersystem und Speichervorrichtung zum Aktualisieren von Firmwarekomponenten
US10467015B2 (en) * 2015-09-08 2019-11-05 Dell Products, Lp Method for out of band device configuration deployment and system therefor
US9756143B2 (en) * 2015-09-09 2017-09-05 American Megatrends, Inc. System and method for improving virtual media redirection speed in baseboard management controller (BMC)

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1592231A (zh) * 2003-08-28 2005-03-09 蚬壳星盈科技(深圳)有限公司 高扩展性互联网超级服务器的维护单元结构及方法
CN101826026A (zh) * 2010-04-12 2010-09-08 中兴通讯股份有限公司 嵌入式设备、嵌入式设备中固件在线升级的系统及方法
CN102103509A (zh) * 2010-11-23 2011-06-22 Tcl集团股份有限公司 一种互联网电视远程自动升级方法
CN102855146A (zh) * 2011-06-30 2013-01-02 鸿富锦精密工业(深圳)有限公司 固件更新系统及方法
CN103186404A (zh) * 2011-12-28 2013-07-03 英业达股份有限公司 系统固件更新方法与使用该方法的服务器系统
CN104679530A (zh) * 2013-11-26 2015-06-03 英业达科技有限公司 服务器系统与固件更新方法

Also Published As

Publication number Publication date
US20180173516A1 (en) 2018-06-21
US10331434B2 (en) 2019-06-25
EP3340033A1 (en) 2018-06-27
JP2018101407A (ja) 2018-06-28
CN108228209A (zh) 2018-06-29
TWI612474B (zh) 2018-01-21
TW201823978A (zh) 2018-07-01
JP6484316B2 (ja) 2019-03-13
EP3340033B1 (en) 2021-04-28

Similar Documents

Publication Publication Date Title
CN108228209B (zh) 自动更新服务器系统的元件的固件的系统、方法和介质
EP3367636B1 (en) System and method for automatically updating bios setup options
US10592232B2 (en) Preserving firmware setting during firmware update
CN109388213B (zh) 服务器系统、计算机实施方法及非暂态计算机可读介质
CN108536476B (zh) 动态优化服务器系统的操作频率的计算机实施方法及系统
CN108983938B (zh) 当待机电源故障时可操作系统、计算机实现方法、及介质
CN108984351B (zh) 电压调整器预烧测试的系统、方法和计算机可读存储介质
EP3419227B1 (en) Methods for automatically configuring multiple chassis link aggregation group (mc-lag)
TWI637611B (zh) 使用wol的系統復原

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant