CN1257591A - 远程管理没有一个运行的操作系统的计算机的网络增强型bios - Google Patents

远程管理没有一个运行的操作系统的计算机的网络增强型bios Download PDF

Info

Publication number
CN1257591A
CN1257591A CN98805292A CN98805292A CN1257591A CN 1257591 A CN1257591 A CN 1257591A CN 98805292 A CN98805292 A CN 98805292A CN 98805292 A CN98805292 A CN 98805292A CN 1257591 A CN1257591 A CN 1257591A
Authority
CN
China
Prior art keywords
cpu
network
software
bios
computing machine
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.)
Granted
Application number
CN98805292A
Other languages
English (en)
Other versions
CN1103958C (zh
Inventor
Y·拉卡维
I·安德森
A·加斯滕
J·罗奇
M·P·R·伯顿
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.)
Phoenix Technologies Ltd
Original Assignee
Phoenix Technologies Ltd
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25234199&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN1257591(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Phoenix Technologies Ltd filed Critical Phoenix Technologies Ltd
Publication of CN1257591A publication Critical patent/CN1257591A/zh
Application granted granted Critical
Publication of CN1103958C publication Critical patent/CN1103958C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2294Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0748Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault
    • 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
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display

Abstract

本发明提供一种在引导计算机操作系统之前或操作系统故障之后通过网络与计算机通信的方法和系统。在网络增强型BIOS(600)中实现一个多任务内核。NIC设备驱动程序中的外部引用被解析为引用由网络增强型BIOS提供的服务。可以用与计算机通过网络相连的工作站来在加载操作系统之前或操作系统故障之后访问和设置计算机的状态。多任务内核可以与常规BIOS(500)同时操作。计算机可进一步配备用于在POST故障或操作系统崩溃时向工作站报警的装置。

Description

远程管理没有一个运行的操作系统的计算机的网络增强型BIOS
本发明总的来说涉及一种用于在没有计算机上运行的操作系统的辅助时能通过网络远程管理计算机的方法和系统,更具体来说,涉及一种用于增强计算机的BIOS以便能在没有计算机上执行的操作系统的辅助时进行远程访问和维护的方法和系统。
导致操作系统故障的系统错误依然是计算机业的一个广泛问题。这种错误会因为硬件故障、用户错误或其它原因而发生。这些故障—特别是在连网的台式计算机或网络系统服务器中,会导致计算机资源不能使用的范围扩大和用户停机带来的严重经济损失。
当前,没有有效的处理能彻底消除这种导致操作系统崩溃的系统错误。在许多情况下,避免再次崩溃的唯一方法是在重新引导操作系统之前进行对引起崩溃的操作的故障后诊断。然而,由于访问和分析故障计算机的物理困难,及由于使系统可用时间通常极其重要,许多用户不分析导致崩溃的问题就重新引导操作系统。
需要进行这种访问的一例情形是网络服务器。这种网络服务器对于组织的效率通常至关重要,而又可被配置成没有进行故障后分析所必需的某些硬件,诸如键盘和计算机显示器。因此网络操作员经常不对问题进行适当的诊断就匆匆忙忙重新引导网络服务器。
远程分析和管理计算机的问题也发生在要求系统管理员远程维护数台计算机的宽域网或局域网中。在典型的操作中,在远程计算机上执行的操作系统,允许系统管理员访问和修改远程计算机上的各种参数。然而,如果发生操作系统崩溃,当前的系统不提供管理员访问或诊断远程计算机的手段。此外,当前的系统通常不允许在远程计算机上加载操作系统之前访问远程计算机。例如,Burckharrt等人的美国专利5,390,324号(“Burckhaart专利”)要求的一种故障恢复系统,一旦故障计算机装入了计算机的硬盘上二级分区中存储的精简操作系统,就允许对故障计算机的拨号访问。Burckhaart专利的系统在检测装置检测到表示一级操作系统故障的系统暂行时,就引导含有二级操作系统的的二级分区。
以下背景描述了IBM兼容的个人计算机(PC)的典型结构和启动过程。然而,这些概念一般适用于各种计算机系统。当系统复位时,CPU控制被传送给计算机的基本输入输出系统(BIOS)的一部分—称为电源接通系统测试或电源接通自测试(POST)。本文中使用的术语系统复位和系统启动等同于并包括导致计算机的初始程序加载操作的初始化或重新初始化的开始的任何系统启动、重新启动、系统复位或其它操作。
POST通常存储在只读存储器(ROM)中,用于初始化标准系统部件,诸如系统定时器、系统DMA(直接存储器存取)控制器、系统存储器控制器、系统I/O设备和视频硬件。作为其初始化例程的一部分,POST为中断向量表设置缺省值。这些缺省值指向ROM BIOS中的标准中断处理程序,但是可修改为访问定制的中断处理程序。POST也进行可靠性测试来检查系统硬件诸如存储器和系统定时器的运行正常。系统初始化和诊断之后,POST调查系统位于系统中可选硬件卡(适配器)上非易失性存储器上的固件。这是通过扫描特定地址空间寻找具有给定标记的存储器而执行的。如果找到标记,就将控制传送给固件,后者然后就初始化其位于的设备。
进行硬件初始化之后,POST从引导设备的预定位置—通常是硬盘或软盘驱动器—将一个数据块读入存储器并将控制传递给该数据块中的程序。这个程序称为引导程序加载器,它将一个更大的程序装入存储器。如果该更大程序正确地装入存储器,引导程序就将控制传送给它。操作系统然后被初始化并获得对CPU的控制。如下文所述,在某些无磁盘(disk-less)、无介质(media-less)的工作站上,位于网络接口卡上的适配器固件为引导操作系统的指针重定路径,从附接的网络下载操作系统。
BIOS进一步包含一组例程或中断处理程序用于与计算机及其外围部件接口。BIOS中断处理程序是通过使用硬件或软件中断被访问的。这些中断处理程序的地址被存储在一个中断向量表中。如上所述,这个向量表可被修改为指向定制的中断处理程序。P.Norton在《The Peter Norton PC Programmer’s BiBle》(Microsoft出版社,1993)中概括地说明了BIOS。
尽管BIOS接口例程为MS-DOS操作系统所使用,现代操作系统如微软公司(microsoft)的Windows-95却不广泛使用BIOS接口例程。Windows-95和其它现代操作系统利用特定类型和模型的外围硬件部件专用的设备驱动程序来与这类外围硬件部件通信。设备驱动程序提供一个更通用的软件可通过其与外围部件交互作用的统一接口。这些设备驱动程序可以取代现有的BIOS中断处理程序,或提供否则就没有的另外的功能。应用软件于是就免于不得不与这种硬件设备的具体细节交互。
许多操作系统,包括MS-DOS 2.0以后的MS-DOS版本以及直到Windows 3.11的Windows版本,都包括有在操作系统被引导时从磁盘加载可安装的设备驱动程序的能力。在MS-DOS操作系统中,用户通过在CONFIG.SYS文件中加入DEVICE=device_file命令就可以加载可安装的设备驱动程序。MS-DOS然后读取每个设备驱动程序文件,将设备驱动程序装入内存。WIndows-95能够用PCI(外围部件互连)和BIOS的即插即用功能来检测外围硬件部件,自动地为所安装的外围硬件部件加载适当的驱动程序。
尽管可安装设备驱动程序的使用为管理外围硬件部件—诸如网络接口卡(NIC)-提供了高度的灵活性,迄今为止,都是依赖在故障计算机上执行操作系统来加载软件驱动程序和提供必需的支持功能。如果操作系统不引导,或者有必要在重新加载操作系统之前进行故障后诊断,就不会为NIC加载软件驱动程序,于是管理员将不能使用通过NIC工作的软件来远程访问系统。因此,需要一种使用在操作系统被引导之前可以得到的、不依赖操作系统的可安装设备驱动程序的方法和系统。本文中所用的操作系统一词,意思是控制用户级程序的执行并对这种用户级程序提供诸如资源分配、调度、I/O控制和数据管理等服务的系统级软件。这种操作系统的典型例子是MS-DOS、Windows-95、Windows-NT(都可从Microsoft公司得到)、MacOS(从Apple Computer公司得到),以及可从包括Sun Microsystems公司的许多销售商得到的各种版本的Unix。现代操作系统诸如Windows-NT,通常在操作系统的核心有一个有保护模式的内核或基系统。
计算机系统的远程管理的一个关键问题是,事实上有可从许多销售商得到的数百种不同的网络接口卡类型,每一种都可能有不同的编程方式,都可能使用独有的设备驱动程序。为这些卡类型的每一种开发新的设备驱动程序会花费巨大,而且导致不可靠性。因此本发明的一个目的是利用网络增强的BIOS来使用为现有操作系统开发的标准NIC设备驱动程序,这样就不要求每一种可得到的网络接口卡类型都有定制的设备驱动程序。
这个目的可以通过使用由某些操作系统销售商定义的标准接口来实现。为了支持几乎所有各种网络卡类型,操作系统销售商已经定义了要由网络接口卡设备驱动程序使用的标准接口。这就使操作系统能支持任何提供符合标准接口的驱动程序软件的NIC。Novell公司(Novell)已经定义了一个这样的标准,即开放式数据链接接口(ODI-Open Datalink Interface)。按ODI标准编写的驱动程序可以被Novell提供的NetWareTM使用。微软公司已经定义了第二个标准—网络驱动程序接口规范(NDIS)。按NDIS编写的驱动程序可以被微软公司的操作系统(例如Windows NTM)使用。此外还有其它的标准可用于UNIXTM操作系统的各版本。
除了以上列举的目的,本发明的一个目的是提供一种无需使用计算机的操作系统能与连接到网络的计算机通信的方法和系统。
本发明的另一个目的是提供一种在计算机的操作系统的引导之前能与连接到网络的计算机通信的方法和系统。本发明的再另一个目的是提供计算机上必要的更多软件和可在远离第一个配备网络增强型BIOS的计算机的第二个计算机上执行的软件,第二个计算机本身不必配备这种网络增强型BIOS就能在这两个计算机之间传输命令和信息。
本发明的目标是一种在引导计算机的操作系统之前或操作系统发生故障之后通过网络与计算机通信的方法和系统。在第一个计算机配备的网络增强型BIOS中实现一个连网应用程序接口(API)。这个计算机最好配有NIC卡和NIC设备驱动程序文件。在NIC设备驱动程序中通常被解析到由操作系统的单元提供的服务的外部引用转而被解析到引用由网络增强型BIOS的API提供的服务。通过网络连接到第一个计算机的第二个计算机可以在操作系统加载之前或者操作系统故障之后传输命令、状态和数据。第一个计算机可以进一步配备在发生POST故障或操作系统崩溃时向第二个计算机报警的手段。
要更彻底地理解本发明,可参看下文结合以下各附图所作的详细说明:
图1是示例性系统结构的功能框图,该结构包括服务器计算机、台式计算机、连网的管理工作站和实施本发明的网络;
图2是实施本发明的包括计算机系统部件的示例性计算机系统的功能框图;
图3A是计算机的常规BIOS部分的功能框图,图中展示了按本发明创建的BIOS的一部分的主要功能部件;
图3B是计算机的网络增强型BIOS部分的功能框图,图中展示了按本发明的主要功能部件;
图4是表示在按照本发明的最佳实施例为远程访问配置的计算机上含有的软件的流程图;
图5是按照本发明的网络接口部件的各层的功能框图;
图6是按照本发明的最佳实施例由网络增强型BIOS实现的网络协议堆栈的功能框图;
图7是按照本发明实现的RPC设备的功能模型;
图8是按照本发明处理BIOS模式之间的转换的机制的功能框图;
图9是按照本发明的监视计时器机构的功能框图。
现在将连续参考各图来说明本发明的最佳实施例。
图1表示系统体系结构最佳实施例的总体图。服务器计算机100通过网络300与管理工作站200实际相连。网络300可以是包括Novell公司的NetWareTM在内的许多市场可购得的局域或宽域网中的任何一个。本文中所用的术语“网络”或“计算机网络”一般将定义为一组两个或更多相连的计算机。如果计算机能交换数据,则称它们是“相连”的。因此例如,连接技术、网络拓扑和网络协议可能是不同的,例如包括但不限于—除上述LAN和WAN网络以外的—通过串行或并行接口和电缆直接相连的两个计算机、通过公共交换电话网(诸如通过“简易老式电话服务”)上的调制解调器连接而直接连接的两个计算机、通过公共电话网上的ISDN连接而连接的两个计算机、在互连网上相连的两个计算机。台式计算机400也可以与网络300相连。所示的服务器计算机和台式计算机是示例性的,可以是多台这类计算机中的一台。
现在参看图2,所示的是可在其上实施本发明的计算机400。图2所示的本文所描述的计算机400是示例性的,可以在不偏离本发明的情况下作修改。此外,尽管图1中所示的计算机400是台式计算机,应当明白本文中所用计算机一词应包括—但不限于—台式计算机(图1中所示的400)和服务器计算机(图1中所示的100)或内置系统(未予表示),诸如自动柜员机、销售点终端或销售机。
系统总线105构成了计算机400的部件的主干。与系统总线105连接的是中央处理单元(CPU)110和系统随机存取存储器(RAM)120。CPU最好以至少两种方式操作,即实模式和保护模式—这在本领域是公知的。非易失性存储器125-最好是快闪ROM的结构,与系统总线105相连。非易失性存储器125在计算机400关机或复位时不改变状态。用户输入/输出可通过可视显示器130、视频控制器135、键盘140和键盘控制器145来进行。CPU 110和RAM120以及视频控制器135可任选地通过单独的局部总线(未予示出)连接。海量存储设备可包括软盘驱动器150和关联的软盘控制器155,和/或硬盘驱动器160和关联的硬盘控制器161。在下文说明的实现监视计时器机构的本发明的一个实施例中,计算机400也包括系统管理RAM(SMRAM)121、外部计时器122和芯片集外部逻辑123。计时器122最好是在芯片集逻辑123内部实现。如上所述,图2的说明是示例性的,可以按本领域的熟练人员显而易见的许多方式修改而不偏离本发明。例如,本发明可以在没有软盘驱动器150或硬盘驱动器160的无磁盘的工作站上实现。
计算机400也最好包括网络接口卡(NIC)170-也称作网络适配器。NIC 170最好通过计算机内的一组系统线路插槽165连接到系统总线105。插槽165最好符合某工业标准,诸如Intel的PCI标准。或者,NIC 170可以不用系统线路插槽而直接与系统总线105连接。
或者,计算机400可以用调制解调器代替NIC 170或除NIC 170外还使用调制解调器。这种调制解调器可以是内置式调制解调器190-它可以连接到系统总线105或该组系统线路插槽165之一、和/或外置式调制解调器180-它一般连接到与系统总线105相连的串行接口175上。可选地,计算机400可以通过一个连接串行接口175或并行接口(未予示出)的电缆连接直接与工作站200连网。
现在参看图3A和3B,所示的是计算机的常规BIOS区域500和按照本发明创建的网络增强型BIOS区域600的部件模块。常规BIOS区域的组成是早期POST 510、其余POST 520、显示服务530-诸如在BIOS内部用于显示错误和状态信息的光标位置和写字符、POST时间服务540-诸如硬件测试例程、运行时服务550-诸如中断10H视频输出服务和中断13H磁盘存取服务、以及启动程序(enabler)代码560。启动程序代码560使常规BIOS 500能检测和加载网络增强型BIOS 600,并将控制交给网络增强型BIOS 600的初始化入口点。它进一步含有允许在常规BIOS 500与网络增强型BIOS 600之间有合作性多任务的例程。早期POST 510与其余POST 520之间的划分是一种实用划分,POST被划分为大量的在POST调度程序例程505控制下执行的例程。早期POST 510最好是为将计算机充分地配置成使网络增强型BIOS能初始化而要求的那组POST例程。如下文所述的那样,早期POST 510最好包括的操作有:编程内存控制器,确定内存的大小,测试内存,充分地初始化芯片集以访问如果存在的PCI总线,初始化和测试中断控制器,为网络适配器配置中断,初始化如果存在的VGA控制器。早期POST 510也可以任选地编程其它芯片集寄存器。早期POST例程510最好存储在非易失性存储器125中。
网络增强型600用初始化区域610、集成了内核调度程序621的32位保护模式的内核620和加载器630来加强常规BIOS区域500。网络增强型BIOS 600进一步用利用该内核所提供服务的协议堆栈640来加强常规BIOS区域500。由于现代操作系统一般包括它们自己的一个保护模式的内核,网络增强型BIOS 600一般在操作系统的引导后就终止。然而本发明的变例允许至少有一部分网络增强型BIOS600留在内存。这个驻留部分用于与下文描述的监视器检测机构接口。
现在参看图4,系统启动410后,CPU控制被传送411到早期POST510例程。早期POST 510执行诸如编程内存控制器、中断控制器、系统总线控制器以及其它芯片集寄存器等系统操作所必需的基本任务。这个操作与不是网络增强型的BIOS的操作相同。
控制然后转移412给网络增强型BIOS的安装检测例程,它是图3的启动程序560的一部分。安装检测例程在非易失性存储器125中顺序扫描,寻找被称为标记的、指示网络增强型BIOS 600代码的开始的一个数据序列。如果安装检测例程确定439不存在这种标记,则其余POST例程520执行413,控制被传送414给由操作系统提供的引导例程。如上所述,引导例程装载432操作系统并向它传送415CPU控制。
如果找到指示网络增强型BIOS 600代码的开始的标记,则重定位例程416就将网络增强型BIOS 600从非易失性存储器125复制到RAM120,CPU控制被传送417到位于相对标记的开始的一个已知偏移地址的网络增强型BIOS 600的初始化例程610。由于常规BIOS 510通常是以实模式操作的,网络增强型BIOS初始化例程610将CPU转换成保护模式并初始化32位内核620以及协议堆栈640的各个部件。
如图4中所示,网络增强型BIOS内核620最好是多线程的,就是说,它通过将CPU控制按哪一个任务具有最高优先权而从一个任务切换到另一个任务来支持看起来同时执行多个任务。如果任务正在等待某个外部事件或等待它们所依赖的另一个任务完成执行,它们的执行就会受阻塞。为帮助任务之间的合作,内核提供信号、信号量和互相排斥功能的功能,对此本领域的熟练人员是熟悉的。CPU控制在不同任务之间的切换是由内核调度程序621执行的。
网络增强型BIOS初始化例程610此时启动许多线程来支持网络协议堆栈640,以及不同的与管理工作站200应用程序通信的特征。这些线程最好是32位保护模式的代码,将在下文进一步解释这些特征时讨论。
现在将描述常规BIOS 500与在本发明的第一个实施例中采用的网络增强型BIOS 600交互操作的方法。该交互操作的方法的细节可以在不影响本发明原理的情况下进行修改。
参看图8,图中进一步详细地展示了从常规BIOS代码到网络增强型BIOS 600的初始转换,它如随后发生的交互操作切换的重复过程一样。BIOS保存其状态805,即将所有CPU寄存器和标志存储在内存数据区。网络增强型BIOS 600代码和数据然后被解压并重定位810,CPU控制被转移到这个代码的入口点815。内核及网络协议堆栈被初始化820。处理器被返回到实模式825,调用一个常规BIOS服务程序将与BIOS的内核模式转换入口点的地址登记830。这个例程返回BIOS模式转换入口点的地址835。
然后进入一个重复状态,在这个状态下,常规BIOS和32位内核线程交替运行。内核保存其状态,即将所有CPU寄存器和标志存储在内存数据区。然后执行向BIOS模式转换入口点的转移845。以前保存的BIOS状态被恢复850,常规BIOS代码执行。CPU控制被传送855给常规BIOS区域500的POST调度程序例程505,后者将执行当前的BIOS POST例程,一直到它要么完成,要么由于等待诸如中断的外部事件、或编程的延时结束而挂起。某些POST任务诸如内存检测可能执行的时间较长,在这些任务内,常规BIOS将定期地将控制交给32位内核620。此时BIOS再次保存其状态860,并执行到内核模式转换入口点的转移865。内核恢复其保存的状态870,重新进入保护模式875,内核调度程序621然后将调度所有没有被阻塞的线程880。当内核调度程序621确定没有准备好要执行的线程时,即系统“空闲”时,内核重新进入实模式885,这个过程从内核保存其状态840这一点重复地进行。
内核620最好这样来实现中断处理,使得如果BIOS POST例程正等待中断并因此已经交出控制,当在32位内核任务期间发生中断时,该中断被反映到BIOS任务。反过来也是一样,为32位内核线程设计的中断,当在BIOS任务执行期间发生时,必须被反映到该32位内核任务。中断反映的管理对于了解微软视窗虚拟设备驱动程序(VxD)的人来说是熟悉的。处理器模式转换的性能在Intel公司发表的微处理器手册中有记载。根据本公开的技术,对其它驱动程序类型和微处理器体系结构的类似解决方案,对于本领域的熟练人员来说是显而易见的。
常规BIOS和32位网络增强型BIOS任务交替执行的作用是,网络增强型BIOS线程与当前的常规BIOS POST任务看起来是同时操作的。返回图4可以看到,在初始化417之后有两个执行路径,在会话钥(下文讨论)已经交换422之后有多个执行路径。概念上讲这些任务和线程是同时操作的。图4中的虚线表示线程432到427的同时执行。
本文用术语“任务”来描述本发明的最佳实施例,该术语概括地表示来自在由POST调度程序顺序执行的常规BIOS的实模式例程的序列。某个时刻这些任务只有一个是活动的。本文所用的术语“线程”,概括地表示由内核调度程序621正在调度的32位保护模式的代码。这些线程概念上与其它线程以及单一的常规BIOS POST任务是同时运行的。然而对于本领域的熟练人员来说,显然本发明并不受限于任务与线程之间的任何区分。
参看图4,常规BIOS区域500继续执行418完其余POST例程520。网络增强型BIOS 600现在“同时地”开始使用网络通信。下文要给出网络协议堆栈操作的细节,这一节给出的是该事务发生的概述。网络增强型BIOS 600先发出419一个报警分组到网络300,准备打开一个数据连接。网络增强型BIOS 600以预定时间等待来自管理工作站200的应答。这个报警分组和任何可以随后发出的格式最好是一个SNMP(简单网络管理协议)分组。SNMP是TCP/IP(传输控制协议/因特网协议)组合内部的一种标准/协议,通常用于管理和监控TCP/IP网络上节点。SNMP和TCP/IP在本领域是众所周知的,例如在J.Martin所著的《TCP/IP Networking》(PTR Prentice Hall,1994)就有描述。即使没有管理工作站应答,这也允许在连接在网络上的计算机上运行的诸如可从Hewlett-Packard购得的HPOpenViewTM等第三方管理软件来记录及显示这些报警。其它协议的使用对于本技术中的普通技术人员是显而易见的。
如果在一个可配置的时间期间之后(它最好是5秒的数量级)仍未收到来自管理工作站200的应答,可将网络增强型BIOS 600配置成或者试图对不同的管理工作站进行连接,或者可以终止该网络增强型BIOS 600的操作,在这一情况中,传统的BIOS部分500将以正常方式完成POST。如果没有POST错误,传统BIOS部分500将发布431引导报警分组到网络300上并将CPU控制传送414给BIOS引导例程,从而给引导扇区代码432,从而给操作系统415。如果POST 520例程的其余部分检测到438错误,它将判定437该错误是否是关键性的。如果POST 520例程的其余部分检测到非关键性错误,则传统BIOS部分500将发布434非关键性错误报警到网络300上并继续处理。POST 520例程的其余部分如果检测到437关键性错误,则它将发布435致命错误报警到网络300上并进入436诊断模式。
如果接收到来自管理工作站200的应答,则最好通过诸如计算基于消息内容的散列函数及只应是授权的管理工作站200应用及具有网络增强型BIOS 600的计算机400知道的秘密密钥来验证421它。将其与作为工作站的应答的一部分发送的消息验证代码进行比较。只有授权的管理工作站才能生成包含正确的验证代码的应答。
工作站200与网络增强型BIOS 600之间的进一步通信最好加以验证,诸如利用秘密密钥来交换422基于随机数的会话密钥。可利用公知的密钥交换机制之一,诸如在Steiner的“应用密码学”中所描述的Diffie-Hellman。也可参看Hellman等人的美国专利4,200,770号。对于其余会话来说,要求所有将来的网络响应都使用交换钥来计算消息验证代码。
一旦交换了会话钥,就创建其它的线程来提供待由管理工作站支持的功能所要求的另外的服务。为了提供远程控制台设备,启动键盘重定向线程423,它接受发自管理工作站200应用的扫描代码,用通常为诊断目的设计的机制将扫描代码放入键盘控制器145的输出缓冲区。这些扫描代码然后被计算机400的标准诊断服务例程读取,其效果等同于在键盘140上按下一个键。键监控例程430检查在键盘上接收或击打的所有按键。某些键被解释为是要执行特殊动作—诸如进入特殊诊断模式或执行特定类型的再引导操作—的指令。
屏幕重定向线程424通过截获BIOS屏幕显示中断10H以及BIOS显示服务输出而捕获所有对屏幕的输出。输出被缓存,并在管理工作站应用请求传送未完成屏幕数据时定期发送给它。屏幕重定向线程424和键盘重定向线程423在下文结合应用协议层作进一步说明。
磁盘重定向线程425提供支持对软盘驱动器访问的重定向的选择。如果是这样配置的,BIOS软件磁盘服务中断(Intel 80×86上的中断13H)就被截取,所有对软盘驱动器(通常为A:驱动器)的引用都被缓存,并在管理工作站200应用请求要传送未完成磁盘操作时定期发送给它。为服务于这些引用,管理工作站引用访问其自己的软盘、其硬盘上的文件、或位于网络上其它地方的另一个计算机上的驱动器上的文件。BIOS磁盘重定向线程425的操作将挂起,直到重定向的磁盘操作发生,且数据或结果已经通过网络300返回。作为中断13H操作的结果,所传输的数据被返回到调用应用或者操作系统函数。
上述磁盘重定向机制可用来向配备网络增强型BIOS的计算机提供从磁盘或另一个计算机上驻留的文件引导操作系统的能力。这在整个磁盘子系统都发生故障的情况下诊断计算机上故障特别有用,并且还可用于建立无磁盘的工作站计算机。
如上文介绍本发明的背景时所述,这个功能以前在PC兼容计算机上就有了,方法是安装一个具有特定网络卡专用的“引导ROM”的网络卡,这需要额外的花费。按照本发明,这个从远程设备引导和访问远程设备的功能是网络增强型BIOS 600的一个通用性功能,能用在各种有诸如ODI或BDIS驱动程序等标准驱动程序可用的各种网络卡上。
加载器服务线程426向管理工作站200应用提供一个到模块加载器630的接口。管理工作站200能向含有要装入RAM并作为另外的瞬态网络增强型BIOS线程执行的代码与数据的模块加载器630发送消息。
异步命令线程427向管理工作站200提供一个接口,通过它能向网络增强型BIOS 600发出异步命令,例如请求传输BIOS数据、进入特别诊断模式或执行特定的再引导操作。
以上描述的所有线程在网络增强型BIOS 600处于活动的整个期间连续运行,通常一直到POST完成。如上所述,如果没有管理工作站200的介入,并且没有POST错误,就发送一个指示POST成功完成的报警431。
网络增强型BIOS 600可以进一步安装其自己的处理计时器滴答中断(80×86微处理器上的中断08H)的中断处理程序。计时器滴答中断向量指向图8中的实现步骤860的过程,该过程迫使当前实模式保存其状态并转移到网络增强型BIOS 600。这使网络增强型BIOS 600能在诸如MS-DOS的某些实模式操作系统加载和运行期间以一定的间歇继续获得CPU控制。注意,BIOS屏幕显示中断10H此前可能已经被重定向到一个作为已经说明过的远程控制台设备的一部分的处理程序,这个机构依然在位。CPU控制然后传送到引导程序432。
如果要加载的操作系统是保护模式的操作系统,诸如NetWare或Windows-NT,则它将把处理器转换到保护模式,置换包括上述的计时器滴答中断和屏幕显示中断的中断向量,取得对CPU110的控制,除了其崩溃恢复诸功能外,网络增强型BIOS将停止工作。
如果加载的是没有任何保护模式内存管理器的实模式操作系统诸如MS-DOS,则网络增强型BIOS代码将留在扩展内存中。当MS-DOS重新编程中断向量时,它将链接现有的向量,使得MS-DOS中断处理例程将首先执行,然后执行该向量在MS-DOS引导程序启动时所指向的例程。这样的结果是,包括远程控制台设备在内的网络增强型BIOS600的所有功能,在这种操作系统运行时继续是可用的。
对本领域的熟练人员来说,显然,根据本公开中的介绍,可以在POST时或DOS环境中添加更多的可以在内核调度程序控制下运行的线程。
网络协议层
现在参看图5,要说明的是一个提供BIOS内部网络接口的最佳方法。
网络支持一般被划分成几个软件层。例如,国际标准组织为网络支持定义了一个七层模型。该划分中的每一层都可以使用由它“下面”的一层所提供的服务,并向“上面”的一层提供服务。
网络驱动程序层724是底部软件层。它下面的层是连网软件本身—网络控制器接口725。网络驱动程序层724向上面的连网协议层722提供服务。
连网协议层722本身在逻辑上分为若干层,其中较低层协议用于使更高层协议能操作。例如,一个投递分组数据但不保障投递或投递次序的无连接的数据报协议(例如不可靠的数据报协议(UDP)-图6的732)被支持有保障的顺序数据投递的更高层协议(例如传输控制协议(TCP))使用。本发明的最佳实施例只实现无连接数据报协议来节省非易失性RAM的空间。UDP 732传送IP数据报或分组到IP层733(图6)。IP层733的功能是使网络300的拓扑和物理特征透明化。
模型的最顶一层是应用层721,它用协议层722所提供的服务来在网络上传输数据。网络驱动程序层
网络驱动程序层724将网络卡硬件725与连网协议层722相连。网络驱动程序层724最好按照标准的接口规范来实现。如上所述,其中的两种可能规范是ODI和NDIS。本文说明的实现详细描述了按照ODI标准编写的驱动程序的使用。对于本领域的熟练人员来说,实现一个支持使用按其它标准—诸如NDIS或UNIX标准—开发的驱动程序、甚至支持多个标准网络增强型BIOS是显而易见的。
现在参看图6,将说明网络协议堆栈的最佳实施例。ODI规范定义了一个将网络设备驱动程序724与诸上层隔离的接口。链路支持层(LSL)734向网络堆栈和网络驱动程序这两个上层提供登记和缓冲器分配服务。网络设备驱动程序的诸部件被统称为多级链路接口驱动程序(MLID)。MLID 738本身可以划分成三个部件:媒体支持模块(MSM)735、拓扑特定模块(TSM)736和硬件特定模块(HSM)37。MSM例程735是所有驱动程序公用的,支持网络驱动程序层724与网络增强型BIOS的接口。TSM例程736对用于诸如以太网或令牌环等特定连网技术的驱动程序是公用的。HSM例程737是每个特定NIC170特有的。HSM例程737必须处理NIC初始化、开机、关闭、复位、分组接收与传输、超时。
为了便于网络卡驱动程序的开发,许多对许多TSM和MSM例程来说公用的代码都被第三方开发商标识出来放入能被驱动程序使用的常用例程集中。这些例程可以移植到BIOS中,没有操作系统的支持也能执行。这些TSM和MSM例程又可被HSM驱动程序737所依赖。按照定义,符合ODI的HSM设备驱动程序必须只使用ODI规定的服务。因此,支持那些TSM和MSM服务的网络增强型BIOS 600,无需操作系统的帮助就将能支持符合ODI的HSM设备驱动程序。
如上所述,MSM和TSM例程在网络增强型BIOS 600中的实现最好通过添加一个小型多任务内核来进行。
网络增强型BIOS 600最好实现LSL、MSM和TSM例程。然而,可以省略这些例程中的许多功能,以节省它们最好在其中存储的非易失性RAM 125。这样,网络增强型BIOS 600向连网接口卡170提供一种与操作系统所提供的类似的环境,允许符合现有标准的设备驱动程序无需修改就能实现本文目的的功能。最优的最小例程集的确定方法是,检查可从不同制造商得到许多不同的ODI驱动程序,确立哪些例程是要由网络增强型BIOS支持的应用层服务所必需的。本发明人目前所理解的用于NE2000、Intel EtherExpress和3Com 90x的最佳引入功能集,如下面的表1所列:
                         表1EtherTSMFastProcessGetRCB     MSMParseCustomKeywordsEtherTSMFastRcvComplete       MSMParseDriverParametersEtherTSMFastSendComplete      MSMPrintStringEtherTSMGetASMHSMIFLevel      MSMPrintStringWarningEtherTSMGetNextSend           MSMRdConfigSpace16EtherTSMGetRCB                MSMRdConfigSpace32EtherTSMRegisterHSM           MSMRdConfigSpace8EtherTSMSendComplete          MSMReadPhysicalMemoryEtherTSMUpdateMulticast       MSMRegisterHardwareOptionsGetCurrentTime                MSMRegisterMLIDMSMAlertFatal                 MSMReturnDriverResourcesMSMAlertWarning               MSMReturnRcvECBMSMAllocPages                 MSMScanBusInfoMSMAllocateRCB                MSMScheduleIntTimeCallBackMSMDriverRemove               MSMSearchAdapterMSMFreePages                  MSMSetHardwareInterruptMSMGetMicroTimer              MSMWrtConfigSpace16MSMGetPhysical                MSMYieldWidthDelay
                          IOConfigurationList协议层
为便于应用开发,网络增强型BIOS 600最好也实现一些不同的协议层。最好实现两个系列的协议:基于NetwareTM的网络公用的因特网分组交换/有序分组交换(IPX/SPX)-连同其所要求的较低层协议;传输控制协议/因特网协议(TCP/IP)协议系列—连同其支持协议诸如因特网控制消息协议(ICMP)。然而,在非易失性RAM非常宝贵的情况下,该实现在功能上可以部分或全部省略这一点。例如,网络增强型BIOS 600可以实现IPX而不实现保障分组投递且在IPX的顶上实现的SPX。RPC层
为进一步便于应用开发,最好实现一个提供远程过程调用(RPC)731(图6)的功能的协议层。这是例如由Nelson B.J.、Birrell A.D.所描述(见《Implementing Remote Procedure Calls,ACMTransactions on Computer Systems》2(1),1984年2月)的RPC的功能的一个子集。如图7所示,RPC服务器751配备在网络增强型BIOS内,RPC客户机752配备在管理工作站200应用内。这就使管理工作站200上的应用程序能包括一个简单功能调用753,其参数是用较低层网络协议在网络300上传送给带有网络增强型BIOS 600的机器400的。RPC功能然后由该网络增强型计算机400上的一个服务例程755执行,结果被返回756到管理工作站。客户机调用过程753和服务器被调用的过程可以分别与一个调用占位程序或被调用占位程序(未予示出)接口。这为应用程序能与网络增强型计算机400交互作用提供一种简易的方法。网络增强型计算机400最好用诸如上文已说明过的消息验证代码协议来验证RPC请求。
RPC机制也为OEMS实现增强的服务—诸如从服务器管理硬件访问数据或在制造测试时装载诊断代码—提供了手段。应用层
应用层721含有管理员可远程访问的各种应用服务。
这些应用最好包括屏幕和键盘向网络300的重定向,允许应用的控制经过网络,而不是使用本地键盘140和视频显示器130。这将提供远程控制台设备许多特征,诸如允许远程控制台设备观察由POST报告的消息和任何错误以及用BIOS建立屏幕或其它BIOS配置方法来允许查看和改变由BIOS控制的参数。
屏幕和键盘通过网络300的重定向可以用上述的线程423和424(图4)及RPC机制来取得。键盘重定向的取得方法是,捕获工作站200的按键,使RPC调用将对应于按键的扫描代码从工作站200传输到计算机400。网络增强型BIOS内的服务线程423然后模拟从本地键盘接收的扫描代码的效果。实现这种模拟的其中一个方法是,向键盘控制器电路145发送一个特殊命令,将所传输的扫描代码插入键盘控制器电路的输出缓冲器。
屏幕重定向更复杂,因为它要求从网络增强型BIOS 600向工作站200传输数据,而所述RPC机制一般不允许这种传输从计算机400启动。因此在工作站200应用程序中要调用RPC功能,在网络300上传输一个请求,该请求然后启动计算机400上BIOS的网络接口内安装的一个服务例程,阻塞各屏幕重定向线程的执行,直到有屏幕数据准备好向工作站200发送。如上所述,服务最好是多线程的,以便在等待屏幕数据期间让其它操作继续。服务例程通过挂钩BIOS屏幕显示服务中断就能捕获屏幕数据,或者它可以直接链接到向屏幕输出字符的BIOS显示服务代码。当屏幕数据可用时,它被放置在内存的缓冲区,这导致RPC服务器的服务线程被解除阻塞。发送一个含有屏幕数据的网络分组。这导致RPC客户机线程解除阻塞,屏幕数据作为原始功能调用的结果被返回给管理工作站。
其它采用最佳分层体系结构、特别是RPC功能的可能应用包括诊断例程,这些例程允许通过发出测试命令和浏览使用网络的工作站200上的结果来测试网络增强型计算机400。
能采用最佳分层体系结构的其它可能应用对于本领域的熟练人员来说是显而易见的。二进制兼容性
网络适配器制造商通常与每个网络适配器一起提供含有操作系统特定的设备驱动程序的文件。为了使用为这种操作系统开发的网络驱动程序,网络增强型BIOS 600必须使用驱动程序文件内含有的二进制映象。按照ODI标准,驱动程序映象的格式是NetWare LoadableModule(NLM)文件格式。网络适配器制造商提供的支持ODI标准的驱动程序实现ODI规范的HSM部分。加载进程必须转换这个格式并将驱动程序装入非易失性存储器。在加载进程中,设备驱动程序引用外部例程和其需要被处理的入口点。NLM格式含有关于为支持其含有的代码的操作而需要的外部例程的信息。信息的形式是一个表,内容是外部例程必须由此调用的地址,和可以解释为是外部例程的名称的对应引用。在加载进程期间,所需要的例程位于内存中,需要引用这些外部例程的NLM中的位置被改变。这个过程对本领域的熟练人员来说是熟悉的,他们一般称之为“链接”。
在本发明的一个实施例中,一个基于独立操作系统的实用程序读取NIC制造商提供的驱动程序文件,解析对驱动程序中外部符号的引用,输出一个然后被装入非易失性存储器的二进制文件。在本发明的另一个实施例中,驱动程序文件将被BIOS代码直接装入非易失性存储器。网络增强型BIOS 600在系统启动时解析对驱动程序中外部符号的引用。如上所述,由制造商所提供设备驱动程序引用的外部例程是在网络增强型BIOS内部实现的,这就消除了访问操作系统的需要。
除了实际的驱动程序代码和数据之外,驱动程序二进制文件还含有几个表,包括:
·一个描述各种其它表的位置和性质的文件首部;
·驱动程序代码段的映象;
·驱动程序数据段的映象;
·应当由其它模块(导入表)提供的符号的名称和使用位置;
·驱动程序提供的能被其它模块使用的符号的名称和位置;
·一个能根据驱动程序被装载到的最终地址固定驱动程序代码和数据映象的表,这个表通常被称为“组织”表。
驱动程序加载代码(要么是网络增强型BIOS 600的一部分,要么是基于独立的操作系统的实用程序中的)用这些表中的信息,来解析对其它模块的引用,根据最终的加载地址来定位驱动程序映象。用调制解调器替代NIC的操作
如上所述,在不可能有使用NIC的网络连接的情况下,可能需要用调制解调器连接作为替代。实现的方法最好是,创建一个软件模块,它实现ODI规范的MLID部分,但被改造为适合通过计算机175的串行接口—因此就是通过一个连接远程计算机的外置式调制解调器180来发送和接收数据。(图2)或者也可以使用内置式调制解调器。这个软件模块作为HSM的替代,按上述方法在非易失性存储器中链接和安装。
在另一实现中,支持调制解调器的软件模块最好设计成与协议堆栈的UDP层一样的API。在这个情形中,UDP以及协议堆栈的所有较低层都可以从计算机的非易失性存储器中省略。操作系统故障检测和处理
操作系统901(图9)的故障可以通过许多已知技术中的任何技术或通过下文描述的新的监视机制来检测。
许多操作系统故障导致一个有控制的故障模式,在这种模式中,操作系统本身检测故障并执行错误例程。可以检查操作系统代码或文档来确定这种错误例程的执行的路径。通过使用具有系统级特权的设备驱动程序,就有可能修改错误例程,迫使它将控制交给为此目的保留在内存中的网络增强型BIOS 600的一部分。网络增强型BIOS最好也提供应用程序接口(API)或供操作系统在进入受控制的故障代码时寻址的简单错误例程入口点。这在操作系统采用能用于指示其将其错误处理程序例程定向到外部代码的API的情况下是有用的。
其它用于检测操作系统故障的技术包括使用监视计时器装置。在Burckhartt专利中描述了一例监视计时器装置,它与在操作系统控制下运行的一个程序联合操作。操作系统在正常操作期间定期地再触发计时器。如果Burckhartt专利中描述的计时器的时间段到期,没有程序重新触发计时器,就假设操作系统发生了故障。计时器的输出直接或间接地连接处理器的复位引脚,使系统复位。这就阻止了对关于故障的原因的有用信息的收集。
现在参看图9,本发明的监视计时器机制(下文说明)克服了这些缺陷,最好用于网络增强型BIOS,因为它允许采用网络增强型BIOS的数据传输方法。对故障诊断有用的信息可以被捕获并传送到远离故障机器的系统管理器。这与现有技术不同,因为事实上监视计时器机制不立即将机器复位,反而让某些基本数据收集操作首先发生。采用的是微处理器的系统管理模式(SMM)。数据收集例程920被网络增强型BIOS安装到系统管理RAM(SMRAM)121(图2)中。这个数据收集920例程可以在上述许多步骤中的任何步骤期间安装,例如在图8的内核初始化步骤820期间安装。SMRAM 121只有在系统管理中断(SMI)已经发生并正受到服务的时候才是可访问的。SMM、SMRAM和SMI在Intel公司提供的微处理器手册中有描述。SMI可以用与芯片集123外部SMI引脚连接的外部计时器122(图2)来生成。芯片集123用一个逻辑“或”函数(未予示出)将SMI与它的内部SMI源组合,然后将这个信号传出,输出到微处理器SMI引脚中。
或者,芯片集可含有用于电源管理的内部计时器或可编程成定期SMI的源的备用计时器。最好用这种内部计时器来实现,因为无需配备另外的硬件。计时器按编程的间隔上生成SMI905。对于每个计时器事件,在SMRAM中存储的事件计数器增量910。如果事件计数器达到预定值915,说明操作系统已经崩溃,于是就启动数据收集。如果收集计数器还没有达到预定值,SMI例程就被退出935。一个在操作系统901控制任务下运行的程序定期地递减计数器或将计数器置零902,以防止计数器达到预定值。
监视计数器功能的实现细节必然依照其部署所在的是什么硬件平台而有所不同。用不同方式处理计数的其它等价实现也是可能的。
要是能够运行同一个程序来复位运行着相同操作系统的任何机器上的监视计时器程序—无论SMRAM中监视机制的实现细节如何,那是有益的。因此,常规BIOS 500最好配备一个API来启动监视器、关闭监视器、设置超时期限、复位SMI事件的当前计数。这个API最好以一个通过BIOS 32位服务目录访问的服务来实现。描述BIOS 32位服务的有《Standard BIOS 32-Bit Service Proposal》(0.4版,Phoenix Technologies出版,1993年5月24日)—本文引以参考。在操作系统控制下运行的程序用具有内核访问权的设备驱动程序来访问BIOS 32位服务。
当这个推荐的监视计时器方法检测到操作系统崩溃时,可以采取各种步骤920来为以后的诊断保留关于崩溃状态的信息。其中的例子是,将计算机内存的一部分或全部,复制到磁盘存储介质的预留区中—这通常称为核心转储;保留屏幕存储器和视频控制器寄存器的状态—由此保留原本会由操作系统在其错误例程中显示的诊断信息。
在采取了所有这些保留证据的步骤之后,系统可以被复位930。这个复位在其POST的早期用一种在CMOS存储器中存储的特殊关机代码或其它等价装置向常规BIOS通知:复位是崩溃所致。这个事实可以在控制台上显示,并且如果网络增强型BIOS是这样配置的,它就能因为这种崩溃而自动进入特殊诊断模式。可以将携带这个事实和关于崩溃的其它任选信息的SNMP报警通过网络300发送到另一个计算机。远离计算机的系统管理员于是就能选择在试图重新加载计算机操作系统之前用采用网络增强型BIOS的传输机制的应用将诊断信息传输到他的计算机。特殊诊断状态
如上所述,BIOS最好包括一个特殊诊断状态,在这个状态下,操作系统的加载被禁止,计算机在图4的操作系统加载414之前,等待有进一步的干预被启动。这就便于诊断导致要再引导系统的错误。可以用远程控制台装置来迫使计算机进入这个特殊诊断状态。这可以通过使用上述的远程过程调用来实现。网络增强型BIOS也可以这样配置,使得如果计算机中发生某种故障条件,就可自动进入特殊诊断状态。
远程工作站200上的远程控制台可以结合网络增强型计算机400编程,在网络增强型计算机400处于特殊诊断状态期间执行许多有用的功能,诸如:使网络增强型计算机400复位并重新执行POST例程;致使数据从网络增强型计算机400上的硬盘被读出并通过网络300传输到远程控制台;使数据被从远程工作站200通过网络300传输到网络增强型计算机400并写入计算机400上的硬盘存储器160。远程控制台可以进一步使BIOS中保留的诸如CMOS设置、DMI、ESCD和BIOS错误日志等数据被通过网络300传输到远程工作站200,或从远程工作站传输并在网络增强型计算机400的适当存储器中修改。
BIOS也可以含有一个过程,用于远程加载BIOS本身一部分,以便能从网络300上的另一个计算机—诸如服务器100—下载BIOS的一部分标准功能,由此降低在计算机上存储BIOS代码所需非易失性存储器的存储量。如果必须从第二台计算机100下载BIOS的标准功能的基本部分,诸如BIOS代码,则计算机400如果不适当连接到网络300就不起作用。因为网络连接最好是编码过的,这就确保,如果计算机被偷或移开其网络连接,它将不再完成POST的执行并由此将使其是不可服务的。这将是对偷窃的重要防止手段。
此外,远程控制台还可以使数据被通过网络300传输并写入用于存放常规BIOS和网络增强型BIOS的非易失性存储器125,由此更新某些或部分BIOS,使得第一台计算机下一次复位时将使用BIOS的新版本或配置。
应当明白,在不偏离本发明的范围和精神的情况下,对于本领域的熟练人员来说,显然可以实现各种其它改进。例如,尽管图1的标注400中所示的是指台式计算机的网络增强型计算机,它也可以是一个服务器,如图1的标注100所示。因此,权利要求的范围并不限于本文所作的说明或解释,相反,权利要求被视为包含本发明中所有具有专利新颖性的特征,包括本领域熟练人员认为等价的那些特征。

Claims (70)

1.一种操作计算机的方法,所述计算机包括中央处理单元(CPU)和将所述计算机与网络相连的网络接口,该方法包含:
在CPU系统启动时在所述CPU上自动执行一个初始启动软件;
在完成所述启动软件的至少第一部分时加载并在所述CPU上执行网络增强型软件,所述网络增强型软件支持一个与通过所述网络接口连接到所述计算机网络的工作站通信的协议;以及
在所述网络增强型软件的所述加载之后加载并在所述CPU上执行操作系统软件,所述操作系统软件可被所述CPU上执行的用户级应用软件程序访问。
2.权利要求1的方法,其中,所述网络接口包含网络接口卡(NIC),与所述网络通信的所述协议包含支持所述NIC所用驱动程序的网络协议堆栈。
3.权利要求2的方法,其中,所述网络协议堆栈支持一个符合ODI规范的至少一个子集的网络驱动程序层。
4.权利要求2的方法,其中,所述网络协议堆栈支持一个符合NDIS规范的至少一个子集的网络驱动程序层。
5.权利要求1的方法,其中,所述网络接口包含通过所述CPU相连的调制解调器,与所述网络通信的所述协议支持与所述网络接口的调制解调器接口。
6.权利要求1的方法,进一步包含通过所述网络接口向与所述网络相连的工作站发送CPU系统启动的通知的步骤。
7.权利要求6的方法,其中,所述网络接口包含NIC,及所述通知包含通过所述网络发送SNMP报警消息。
8.权利要求7的方法,其中所述SNMP报警消息进一步包含CPU系统复位的原因的标识。
9.权利要求6的方法,其中,所述网络接口包含NIC,所述方法进一步包含发送指示操作系统已经加载的SNMP报警消息。
10.权利要求1的方法,其中,没有由所述网络增强型软件建立起与附接到所述网络的远程工作站的网络连接,所述操作系统软件就将不被执行。
11.权利要求10的方法,包含的另外步骤为,通过所述网络从所述远程工作站下载所述启动软件的第二部分,所述操作系统软件直到所述启动软件的第二部分已经被下载并执行时才执行。
12.权利要求1的方法,其中,所述网络增强型软件以多任务方式执行所述CPU上的多个软件线程。
13.权利要求12的方法,其中,所述CPU以至少两种模式操作,包括实模式和保护模式,所述网络增强型软件在所述CPU的所述保护模式下执行所述软件线程中的所述多个。
14.权利要求13的方法,其中,所述启动软件在所述CPU的实模式下执行。
15.权利要求14的方法,进一步包含的步骤是,在所述CPU已经开始执行所述网络增强型软件之后执行所述启动软件的第二部分,所述启动软件和所述网络增强型软件在所述CPU已经开始执行所述网络增强型软件之后共享对所述CPU的控制。
16.权利要求15的方法,其中,所述网络增强型软件控制所述CPU的实模式和保护模式的转换。
17.权利要求1的方法,其中,所述网络增强型软件允许与所述计算机网络相连的远程工作站访问所述计算机。
18.权利要求17的方法,其中,所述网络增强型软件内的多任务线程允许所述远程工作站控制所述CPU。
19.权利要求17的方法,其中,所述网络增强型软件将通常是定向到所述计算机上的视频控制器的输出通过所述网络接口传递到所述远程工作站。
20.权利要求18的方法,进一步包含的步骤是,从远程工作站生成一个对所述计算机的所述CPU上执行的RPC服务器例程的一个远程过程调用(RPC),所述RPC服务器例程阻塞其自己的执行,直到所述远程过程调用的结果有数据可用于返回到所述远程工作站。
21.权利要求17的方法,其中,所述网络增强型软件允许所述远程工作站输入模拟在附接到所述计算机的键盘上输入的击键的效果的消息。
22.权利要求21的方法,其中,所述消息被所述计算机的所述CPU上执行的远程过程调用(RPC)服务器接收,所述RPC服务器将所述消息插入与所述计算机相连的键盘控制器。
23.权利要求17的方法,其中,所述远程工作站显示由所述CPU上执行的所述启动软件报告的消息和系统错误。
24.权利要求1的方法,进一步包含的步骤是,所述计算机在遇到预定的错误条件时自动进入诊断状态,所述诊断状态阻止所述操作系统软件的加载。
25.权利要求17的方法,进一步包含的步骤是,让所述计算机进入所述操作系统软件将不加载的诊断状态,所述方法进一步包含的步骤是,通过所述计算机网络从所述远程工作站向所述计算机下载另外的软件程序,其中所述另外的软件程序是在所述CPU上执行的。
26.权利要求17的方法,其中所述远程工作站可进一步执行所述CPU上执行的所述启动软件内的控制开机系统测试(POST)例程的步骤。
27.权利要求17的方法,其中,所述远程工作站可迫使所述计算机进入阻止所述操作系统加载的诊断状态,从而所述网络增强型软件可用来进一步与所述远程工作站通信。
28.权利要求17的方法,进一步包含的步骤是,所述远程工作站导致数据被从与所述CPU本地连接的直接存取存储器读取,所述数据被进一步从所述计算机传输到所述远程工作站。
29.权利要求17的方法,进一步包含的步骤是,所述远程工作站向所述计算机传输数据,所述数据被写到与所述CPU本地连接的直接存取存储器。
30.权利要求1的方法,进一步包含的步骤是,从远程工作站向所述计算机下载所述启动软件或所述网络增强型软件的部分,从而,这种启动软件和网络增强型软件将在下一次系统启动时被执行。
31.权利要求1的方法,进一步包含的步骤是,执行所述计算机上的RPC服务器,由此,在与所述网络相连的远程工作站上执行的RPC客户机能在所述计算机上执行远程过程调用。
32.权利要求1的方法,其中,所述启动软件包括作为所述启动软件的所述第一部分的一部分的早期POST部分和POST的一个剩余部分,所述方法进一步包括的步骤为:
在所述CPU加载所述网络增强型软件之前执行所述早期POST;以及
在加载所述网络增强型软件之后执行所述POST的剩余部分。
33.权利要求1的方法,进一步包含所述网络增强型软件验证从所述网络接收的任何消息的步骤。
34.权利要求33的方法,其中所述消息验证是用一个秘密密钥进行的。
35.权利要求1的方法,其中所述CPU以至少两种模式操作,包括保护模式,所述方法进一步包含的步骤为:
在保护模式下执行所述网络增强型软件和所述操作系统软件;以及
加载所述操作系统软件后终止所述网络增强型软件的执行。
36.权利要求1的方法,进一步包含的步骤是,加载所述操作系统软件后在内存中保留所述网络增强型软件的一部分。
37.一种操作计算机的方法,所述计算机包括中央处理单元(CPU)和将所述计算机与网络相连的网络接口,所述CPU在包含实模式与保护模式的至少两种模式中操作,所述方法包含:
以实模式在所述CPU上执行第一基本输入/输出系统(BIOS),所述第一BIOS进行所述计算机的开机系统测试;
在所述第一BIOS的一部分的执行之后,以保护模式在所述CPU上执行第二BIOS,所述第二BIOS支持网络协议堆栈;以及
在所述第二BIOS的一部分的执行之后,以保护模式在所述CPU上执行操作系统,所述操作系统软件支持在所述CPU上执行的用户级应用软件程序。
38.一个能够与连接计算机网络的工作站通信的网络增强型计算机,所述计算机包含:
中央处理单元(CPU)
与所述CPU相连的网络接口,所述网络接口将所述计算机与所述计算机网络相连;
与所述CPU相连的非易失性存储器;
初始启动软件程序,在CPU系统启动时所述CPU自动执行所述启动软件,所述启动软件的至少第一部分存储在所述非易失性存储器中;
网络增强型软件,当所述启动软件的至少第一部分完成时所述网络增强型软件在所述CPU上被执行,所述网络增强型软件支持与通过所述网络接口连接到所述计算机网络的所述工作站通信的协议;以及
在所述CPU上执行的操作系统软件,所述操作系统软件可被用户级应用软件程序访问,在所述网络增强型软件的加载之后所述操作系统软件在所述CPU上被加载。
39.权利要求38的网络增强型计算机,其中所述网络接口是包含可被所述CPU访问的设备驱动程序的网络接口卡(NIC),与所述网络通信的所述协议包含一个与所述设备驱动程序接口的网络协议堆栈。
40.权利要求39的网络增强型计算机,其中设备驱动程序实质上符合ODI驱动程序规范,所述网络协议堆栈提供ODI链路支持层协议的至少一个子集来与所述设备驱动程序接口。
41.权利要求39的网络增强型计算机,其中设备驱动程序实质上符合NDIS驱动程序规范,所述网络协议堆栈提供NDIS协议的至少第二个子集来与所述设备驱动程序接口。
42.权利要求38的网络增强型计算机,其中,所述网络接口是与所述CPU相连的调制解调器,与所述网络通信的所述协议支持连接与所述网络接口的调制解调器接口。
43.权利要求38的网络增强型计算机,进一步包含一个程序段,用于通过所述网络接口向与所述网络相连的工作站发送CPU系统启动的通知,所述通知在所述操作系统的所述执行之前发送。
44.权利要求43的网络增强型计算机,其中所述网络接口是NIC,所述通知包含SNMP报警消息。
45.权利要求38的网络增强型计算机,进一步包含一种在由所述网络增强型软件建立起与附接到所述网络的远程工作站的网络连接之前阻止所述操作系统软件的执行的装置。
46.权利要求38的网络增强型计算机,进一步包含一种用于通过所述网络从所述远程工作站下载所述启动软件的所述第二部分的装置,所述操作软件直到所述启动软件的所述第二部分已经被下载时才执行。
47.权利要求38的网络增强型计算机,其中,所述网络增强型软件包含:
多任务内核;以及
在所述CPU上所述多任务内核内执行的多个软件线程。
48.权利要求47的网络增强型计算机,其中,所述CPU以包括实模式和保护模式的至少两种模式操作,所述多任务内核包括在所述CPU的保护模式下操作的内核。
49.权利要求48的网络增强型计算机,其中,所述启动软件在所述CPU的实模式下执行。
50.权利要求49的网络增强型计算机,其中所述启动软件和所述多任务内核在所述CPU开始执行所述网络增强型软件后共享对所述CPU的控制。
51.一个能够与计算机网络交互作用的计算机,所述计算机包含:
提供包括实模式和保护模式的至少两种模式的中央处理单元(CPU);
将所述计算机与所述计算机网络相连的网络接口;
与所述CPU相连的非易失性存储器;
第一基本输入/输出系统(BIOS),所述第一BIOS至少有一部分存储在所述非易失性存储器中,使得所述CPU在系统复位时能调用所述第一BIOS,所述第一BIOS进一步进行所述计算机的开机系统测试;
在所述第一BIOS的一部分执行之后以保护模式在所述CPU上执行的第二BIOS,所述第二BIOS支持网络协议堆栈;以及
在所述第二BIOS的一部分执行之后以保护模式在所述CPU上执行的操作系统,所述操作系统支持在所述CPU上执行的用户级应用软件程序。
52.一个远程管理至少一个计算机的系统,包含:
计算机网络;
与所述计算机网络相连的工作站,所述工作站执行应用软件;以及
计算机,含有:
将所述计算机与所述计算机网络连接的网络接口;
中央处理单元(CPU);
初始启动软件程序,所述启动软件在CPU系统复位时自动执行;
网络增强型软件,配置成在所述至少第一部分的所述启动软件执行后在所述CPU上被执行,所述网络增强型软件支持用于通过所述网络接口与所述工作站通信的协议;以及
在所述CPU上执行的操作系统软件,所述操作系统软件可被用户级应用软件程序访问,所述操作系统软件在所述CPU上被加载。
53.权利要求52的系统,进一步包含一种用于所述远程工作站访问和控制所述CPU的装置。
54.权利要求53的系统,进一步包含一种用于所述远程工作站输入模拟在附接到所述计算机的键盘上输入的击键的效果的消息的装置。
55.权利要求53的系统,其中,所述计算机可以进入阻止所述操作系统软件加载的诊断状态,所述系统进一步包括一种用于从所述远程工作站向所述计算机下载另外的软件程序的装置,其中所述另外的软件程序在所述CPU上执行。
56.权利要求53的系统,其中,所述远程工作站包含一种用于控制所述CPU上执行的所述启动软件内开机系统测试(POST)例程的装置。
57.一种用于具有系统管理RAM(SMRAM)和定期对事件计数器作第一调整的操作系统的计算机系统的故障恢复方法,该方法包含的步骤为:
以固定间隔生成系统管理中断(SMI);
响应所述SMI执行中断服务例程,所述中断服务例程对所述事件计数器作第二调整;以及
响应所述事件计数器达到预定极限时收集系统状态信息。
58.权利要求57的故障恢复方法,进一步包含的步骤是,将所述所收集信息传输到与所述计算机系统通过网络相连的远程工作站。
59.权利要求58的故障恢复方法,其中,所收集信息的传输,是由配备用于与所述计算机系统通过网络相连的工作站通信的协议的保护模式内核进行的。
60.一种能在计算机系统发生故障时收集数据的计算机,所述计算机包含:
中央处理单元(CPU);
与所述CPU相连的随机存取存储器,所述随机存取存储器存储计算机系统状态数据;
在所述CPU上执行的操作系统,所述操作系统可被所述CPU上执行的用户级应用软件访问;
与所述CPU相连的系统管理RAM(SMRAM);
配置成能检测所述计算机系统故障的崩溃检测机构;以及
在所述SMRAM中存储的数据收集例程,所述数据收集例程被配置成根据由所述崩溃检测机构对所述计算机系统故障的检测而在所述CPU上执行,所述数据收集例程存储所述计算机系统状态数据的至少第一部分。
61.权利要求60的计算机,其中,所述随机存取存储器包含物理地位于视频控制器上的存储器,所述计算机系统状态数据包含视频控制器寄存器数据。
62.一种能从连接到计算机网络上的工作站的远程直接存取存储器引导其操作系统的计算机,所述计算机包含:
中央处理单元(CPU),所述CPU为请求数据访问提供BIOS磁盘服务中断;
非易失性存储器;
将所述计算机与所述计算机网络连接的网络接口;
启动软件,所述启动软件至少有一部分存储在所述非易失性存储器中,所述启动软件在所述计算机内配置,使得所述CPU能在系统启动时调用所述启动软件,所述启动软件包含一个用所述BIOS磁盘服务中断来引导所述操作系统的操作系统引导程序;以及
网络增强型软件内核,在执行至少一部分所述启动软件之后及执行所述操作系统引导程序之前至少有一部分所述内核被所述CPU执行,所述内核支持用于与所述工作站通信的协议堆栈,所述内核重定向所述BIOS磁盘服务中断以捕获所述BIOS磁盘服务中断并从所述工作站访问所述请求的数据。
63.一种能从连接到计算机网络上的工作站引导其操作系统的计算机,所述计算机包含:
中央处理单元(CPU),所述CPU为请求数据访问提供BIOS磁盘服务中断;
非易失性存储器;
将所述计算机与所述计算机网络连接的网络接口卡(NIC);
启动软件,所述启动软件至少有一部分存储在所述非易失性存储器中,所述启动软件在所述计算机内配置,使得所述CPU能在系统启动时调用所述启动软件,所述启动软件包含一个用所述BIOS磁盘服务中断来引导所述操作系统的操作系统引导程序;以及
支持用于通过所述NIC与所述工作站通信的协议堆栈的网络多任务内核,所述多任务内核在所述操作系统引导程序的执行之前被执行,所述多任务内核执行通过所述NIC从所述工作站访问数据的第一磁盘重定向线程,所述BIOS磁盘服务中断被重定向到所述磁盘重定向线程,
由此,所述操作系统被通过所述磁盘重定向线程从所述工作站引导。
64.一种在具有提供实模式和保护模式的CPU的计算机上同时执行实模式操作系统和保护模式内核的方法,所述计算机进一步提供计时器中断,所述方法包含:
(a)在被执行的转移程序保存实模式操作系统的当前状态,将CPU的控制传送给恢复保护模式内核的状态并将所述CPU转换到保护模式的部分代码时,将所述计时器中断引向在实模式下执行的所述转移程序;
(b)执行部分所述保护模式内核;
(c)将所述CPU转换到实模式并保存保护模式内核的当前状态;
(d)将所述实模式操作系统恢复到所保存的状态;以及
(e)执行所述实模式操作系统,直到被所述计时器中断所中断,
由此所述实模式操作系统将执行,直到被所述计时器中断所中断,此时所述保护模式内核将被恢复到所保存的状态并被给予CPU控制。
65.权利要求64的同时执行实模式操作系统和保护模式内核的方法,其中,所述保护模式内核是多任务内核。
66.权利要求65的同时执行实模式操作系统和保护模式内核的方法,其中,所述保护模式内核是执行线程的32位多任务内核,当所述保护模式内核上没有线程执行时,所述保护模式内核将所述CPU的控制传送给所述实模式操作系统。
67.权利要求3的方法,其中,所述网络协议堆栈是由在非易失性存储器中存储的软件实现的。
68.权利要求4的方法,其中,所述网络协议堆栈是由在非易失性存储器中存储的软件实现的。
69.一种操作计算机的方法,所述计算机包括中央处理单元(CPU),所述CPU以包括实模式和保护模式的至少两种模式操作,所述方法包含:
加载并在实模式下的所述CPU上执行第一基本输入/输出系统(BIOS),所述第一BIOS有个初始部分和一个后继部分,所述第一BIOS进行所述计算机的开机系统测试;
在所述第一BIOS的所述初始部分的执行之后,加载并在保护模式的所述CPU上执行第二BIOS;
所述第二BIOS和所述第一BIOS的所述后继部分交替地在所述CPU上被执行,使得所述第二BIOS和所述第一BIOS的后继部分看起来在同时执行。
70.权利要求69的方法,其中,所述计算机进一步提供计时器中断,所述同时执行所述第二BIOS和所述第一BIOS的所述后继部分的步骤包含:
(a)在被执行的转移程序保存实模式第一BIOS的当前状态,将CPU的控制传送给恢复保护模式第二BIOS的状态并将所述CPU转换到保护模式的部分代码时,将所述计时器中断引向在实模式下执行的转移程序;
(b)执行所述保护模式第二BIOS的一部分;
(c)将所述CPU转换到实模式并保存保护模式第二BIOS的当前状态;
(d)将所述实模式第一BIOS恢复到所保存的状态;以及
(e)执行所述实模式第一BIOS,直到被所述计时器中断所中断,
由此,所述实模式第一BIOS将执行,直到被所述计时器中断所中断,此时所述保护模式第二BIOS将被恢复到所保存的状态并被给予CPU控制。
CN98805292A 1997-03-20 1998-03-19 网络增强型计算机,计算机系统及其操作计算机的方法 Expired - Fee Related CN1103958C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/821,745 1997-03-20
US08/821,745 US5978912A (en) 1997-03-20 1997-03-20 Network enhanced BIOS enabling remote management of a computer without a functioning operating system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CNB031009573A Division CN1333332C (zh) 1997-03-20 1998-03-19 用于计算机系统的故障恢复方法、计算机及操作计算机的方法

Publications (2)

Publication Number Publication Date
CN1257591A true CN1257591A (zh) 2000-06-21
CN1103958C CN1103958C (zh) 2003-03-26

Family

ID=25234199

Family Applications (2)

Application Number Title Priority Date Filing Date
CN98805292A Expired - Fee Related CN1103958C (zh) 1997-03-20 1998-03-19 网络增强型计算机,计算机系统及其操作计算机的方法
CNB031009573A Expired - Fee Related CN1333332C (zh) 1997-03-20 1998-03-19 用于计算机系统的故障恢复方法、计算机及操作计算机的方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CNB031009573A Expired - Fee Related CN1333332C (zh) 1997-03-20 1998-03-19 用于计算机系统的故障恢复方法、计算机及操作计算机的方法

Country Status (8)

Country Link
US (2) US5978912A (zh)
EP (1) EP1019804A4 (zh)
JP (3) JP2001516479A (zh)
KR (1) KR100620216B1 (zh)
CN (2) CN1103958C (zh)
AU (1) AU6574398A (zh)
TW (1) TW444171B (zh)
WO (1) WO1998041916A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1322419C (zh) * 2001-09-13 2007-06-20 鸿友科技股份有限公司 能下载广告资料的电子系统
CN100383748C (zh) * 2003-03-12 2008-04-23 英特尔公司 对在os运行时期间发生的系统错误的基于策略的响应
CN101232397B (zh) * 2008-02-22 2010-10-27 成都市华为赛门铁克科技有限公司 多控制器系统修复的方法和装置
CN102819427A (zh) * 2005-09-09 2012-12-12 微软公司 远程系统的即插即用设备重定向的方法和系统
CN101751273B (zh) * 2008-12-15 2013-04-24 中国科学院声学研究所 用于嵌入式系统的安全引导装置及方法
CN103853586B (zh) * 2014-03-05 2017-02-08 中南大学 一种在uefi层实现无线网卡驱动的方法
US9858126B2 (en) 2010-12-16 2018-01-02 Microsoft Technology Licensing, Llc Device redirection for remote systems
CN111176893A (zh) * 2019-12-24 2020-05-19 航天信息股份有限公司 计算机远程控制方法、装置、系统和存储介质

Families Citing this family (262)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8661477B2 (en) 1994-10-12 2014-02-25 Touchtunes Music Corporation System for distributing and selecting audio and video information and method implemented by said system
US7188352B2 (en) 1995-07-11 2007-03-06 Touchtunes Music Corporation Intelligent digital audiovisual playback system
US7424731B1 (en) 1994-10-12 2008-09-09 Touchtunes Music Corporation Home digital audiovisual information recording and playback system
DK0786121T3 (da) 1994-10-12 2000-07-03 Touchtunes Music Corp System til digital, intelligent audiovisuel gengivelse
FR2753868A1 (fr) 1996-09-25 1998-03-27 Technical Maintenance Corp Procede de selection d'un enregistrement sur un systeme numerique de reproduction audiovisuel et systeme pour mise en oeuvre du procede
ES2265466T3 (es) * 1997-03-21 2007-02-16 Thomson Licensing Descarga de datos.
US6802062B1 (en) * 1997-04-01 2004-10-05 Hitachi, Ltd. System with virtual machine movable between virtual machine systems and control method
US7574727B2 (en) * 1997-07-23 2009-08-11 Touchtunes Music Corporation Intelligent digital audiovisual playback system
JPH1165996A (ja) * 1997-08-11 1999-03-09 Toshiba Corp ネットワークコンピュータおよびその初期化処理方法
US6289437B1 (en) * 1997-08-27 2001-09-11 International Business Machines Corporation Data processing system and method for implementing an efficient out-of-order issue mechanism
FR2769165B1 (fr) 1997-09-26 2002-11-29 Technical Maintenance Corp Systeme sans fil a transmission numerique pour haut-parleurs
KR100250464B1 (ko) * 1997-11-25 2000-04-01 정선종 고속병렬컴퓨터의 노드 부트 방법
DE19752615C1 (de) * 1997-11-27 1999-04-08 Siemens Nixdorf Inf Syst Verfahren und Anordnung zum Laden von Daten für grundlegende Systemroutinen eines Datenverarbeitungssystems
US8631093B2 (en) * 1998-03-19 2014-01-14 Crane Merchandising Systems, Inc. Remote data acquisition, transmission and analysis system including handheld wireless equipment
US6532497B1 (en) * 1998-04-14 2003-03-11 International Business Machines Corporation Separately powered network interface for reporting the activity states of a network connected client
US6167511A (en) * 1998-06-15 2000-12-26 Phoenix Technologies Ltd. Method to reflect BIOS set up changes into ACPI machine language
US6795853B1 (en) * 1998-06-30 2004-09-21 International Business Machines Corporation Integration of additional computer components into a computer operation through attribute enabled interactive selections presented in composite lists available to the user in a variety of display screens
FR2781582B1 (fr) 1998-07-21 2001-01-12 Technical Maintenance Corp Systeme de telechargement d'objets ou de fichiers pour mise a jour de logiciels
US8028318B2 (en) 1999-07-21 2011-09-27 Touchtunes Music Corporation Remote control unit for activating and deactivating means for payment and for displaying payment status
FR2781580B1 (fr) 1998-07-22 2000-09-22 Technical Maintenance Corp Circuit de commande de son pour systeme de reproduction audiovisuelle numerique intelligent
FR2781591B1 (fr) 1998-07-22 2000-09-22 Technical Maintenance Corp Systeme de reproduction audiovisuelle
US6298449B1 (en) * 1998-07-29 2001-10-02 Siemens Information And Communication Networks, Inc. Apparatus and method for high reliability PC platform telecommunications systems
US6219828B1 (en) * 1998-09-30 2001-04-17 International Business Machines Corporation Method for using two copies of open firmware for self debug capability
US6370586B2 (en) 1998-10-30 2002-04-09 Intel Corporation Monitoring of an electronic device with a system management controller
US6282642B1 (en) * 1998-11-18 2001-08-28 International Business Machines Corporation System for presetting a first or second remote boot protocol by a computer remotely receiving and storing a boot parameter prior to being powered on
US6205547B1 (en) * 1998-11-20 2001-03-20 Intel Corporation Computer system management apparatus and method
US6282643B1 (en) * 1998-11-20 2001-08-28 International Business Machines Corporation Computer system having flash memory BIOS which can be accessed remotely while protected mode operating system is running
US6334147B1 (en) * 1998-11-30 2001-12-25 International Business Machines Corporation Data processing system and method for remotely accessing a client computer systems's individual initialization settings while the client is powered off
AU1397000A (en) * 1998-11-30 2000-06-19 International Business Machines Corporation Data processing system and method for remotely disabling network activity in a client computer system
US6470457B1 (en) * 1998-12-14 2002-10-22 International Business Machines Corporation Local permanent storage in network computer
US7002905B1 (en) * 1999-01-25 2006-02-21 Cisco Technology, Inc. Method and apparatus for performing the rebooting of a network node with minimal loss of network traffic
US6484262B1 (en) * 1999-01-26 2002-11-19 Dell Usa, L.P. Network controlled computer system security
US6401218B1 (en) * 1999-02-16 2002-06-04 International Business Machines Corporation Method and system for functional kernel verification testing within a data processing system
SE516175C2 (sv) * 1999-02-17 2001-11-26 Axis Ab Anordning och metod för kommunikation över ett nätverk
US8726330B2 (en) 1999-02-22 2014-05-13 Touchtunes Music Corporation Intelligent digital audiovisual playback system
US6480972B1 (en) * 1999-02-24 2002-11-12 International Business Machines Corporation Data processing system and method for permitting a server to remotely perform diagnostics on a malfunctioning client computer system
JP3335317B2 (ja) * 1999-03-03 2002-10-15 インターナショナル・ビジネス・マシーンズ・コーポレーション ハードウェア設定方法
TW410297B (en) * 1999-03-05 2000-11-01 Via Tech Inc Remote booting of computers in local area network
US6766519B1 (en) * 1999-03-26 2004-07-20 Emc Corporation Generic software interface for hardware environments having executing code registers itself and the code for a next suboperation
US6684326B1 (en) * 1999-03-31 2004-01-27 International Business Machines Corporation Method and system for authenticated boot operations in a computer system of a networked computing environment
US6487655B1 (en) * 1999-04-29 2002-11-26 Intel Corporation Computer system formed with a processor and a system board provided with complementary initialization support
US6467041B1 (en) * 1999-05-06 2002-10-15 International Business Machines Corporation Third party host packet replication
JP4689006B2 (ja) * 1999-06-18 2011-05-25 フィーニックス  テクノロジーズ  リミテッド 通常のos制御下でコンピュータのプリ−ブート及びポスト−ブート作動の際にアプリケーションを実行する方法と装置
US6486883B1 (en) * 1999-06-18 2002-11-26 Phoenix Technologies, Ltd. Apparatus and method for updating images stored in non-volatile memory
US6401202B1 (en) * 1999-06-18 2002-06-04 Phoenix Technologies Ltd. Multitasking during BIOS boot-up
US7523415B1 (en) * 1999-06-24 2009-04-21 Porter Swain W Exclusive use display surface areas and persistently visible display of contents including advertisements
US6421798B1 (en) * 1999-07-14 2002-07-16 Computer Service Technology, Inc. Chipset-based memory testing for hot-pluggable memory
FR2796482B1 (fr) 1999-07-16 2002-09-06 Touchtunes Music Corp Systeme de gestion a distance d'au moins un dispositif de reproduction d'informations audiovisuelles
IE20000602A1 (en) * 1999-08-19 2001-04-18 Dell Products Lp Method and system for automated technical support for computers
US6609151B1 (en) * 1999-08-31 2003-08-19 Intel Corporation System for configuring a computer with or without an operating system to allow another computer to remotely exchange data and control the computer
EP1085396A1 (en) * 1999-09-17 2001-03-21 Hewlett-Packard Company Operation of trusted state in computing platform
US6922722B1 (en) 1999-09-30 2005-07-26 Intel Corporation Method and apparatus for dynamic network configuration of an alert-based client
US7318089B1 (en) * 1999-09-30 2008-01-08 Intel Corporation Method and apparatus for performing network-based control functions on an alert-enabled managed client
AUPQ321699A0 (en) 1999-09-30 1999-10-28 Aristocrat Leisure Industries Pty Ltd Gaming security system
US7206833B1 (en) * 1999-09-30 2007-04-17 Intel Corporation Platform independent alert detection and management
US6505298B1 (en) * 1999-10-25 2003-01-07 International Business Machines Corporation System using an OS inaccessible interrupt handler to reset the OS when a device driver failed to set a register bit indicating OS hang condition
US6714977B1 (en) 1999-10-27 2004-03-30 Netbotz, Inc. Method and system for monitoring computer networks and equipment
US7330886B2 (en) * 1999-10-27 2008-02-12 American Power Conversion Corporation Network appliance management
US7392309B2 (en) 1999-10-27 2008-06-24 American Power Conversion Corporation Network appliance management
US6636962B1 (en) * 1999-12-10 2003-10-21 Intel Corporation Self-initializing chipset
US6668287B1 (en) * 1999-12-15 2003-12-23 Transmeta Corporation Software direct memory access
US7231513B1 (en) * 1999-12-17 2007-06-12 Intel Corporation Dynamically linked basic input/output system
US7082530B1 (en) * 1999-12-31 2006-07-25 Intel Corporation Method and apparatus for accelerating hardware encryption with multiple networking interfaces
US8612553B2 (en) * 2000-01-14 2013-12-17 Microsoft Corporation Method and system for dynamically purposing a computing device
US6882967B2 (en) * 2000-01-27 2005-04-19 Middle Digital Inc. Apparatus and method for remote administration of a PC-server
FR2805377B1 (fr) 2000-02-23 2003-09-12 Touchtunes Music Corp Procede de commande anticipee d'une selection, systeme numerique et juke-box permettant la mise en oeuvre du procede
US7213152B1 (en) * 2000-02-14 2007-05-01 Intel Corporation Modular bios update mechanism
FR2805060B1 (fr) 2000-02-16 2005-04-08 Touchtunes Music Corp Procede de reception de fichiers lors d'un telechargement
FR2805072B1 (fr) 2000-02-16 2002-04-05 Touchtunes Music Corp Procede d'ajustement du volume sonore d'un enregistrement sonore numerique
US6772281B2 (en) 2000-02-17 2004-08-03 Western Digital Ventures, Inc. Disk drive for selectively satisfying a read request from a host computer for a first valid data block with a second valid data block
US6763456B1 (en) * 2000-02-25 2004-07-13 Intel Corporation Self correcting server with automatic error handling
US6748423B1 (en) * 2000-02-25 2004-06-08 Intel Corporation Remote control of a linked computer
US6785807B1 (en) * 2000-03-06 2004-08-31 International Business Machines Corporation Method and system for providing bootcode support in a data processing system that uses a communications port that utilizes a first communications protocol, an external device that utilizes a second communications protocol, and a device driver that is loaded in response to booting to communicate with the external device through the communications port
US6691160B1 (en) * 2000-04-19 2004-02-10 Adaptec, Inc. Input/output communication networks and booting protocols
US6687744B1 (en) * 2000-05-02 2004-02-03 International Business Machines Corporation Data processing system and method for permitting a server computer system to function as a virtual keyboard to a client computer system
FR2808906B1 (fr) 2000-05-10 2005-02-11 Touchtunes Music Corp Dispositif et procede de gestion a distance d'un reseau de systemes de reproduction d'informations audiovisuelles
JP2001325124A (ja) * 2000-05-17 2001-11-22 Fujitsu Ltd 計算機、システム管理支援装置及び管理方法
DE60142735D1 (de) * 2000-06-06 2010-09-16 Ericsson Ab System und verfahren zur steuerung von netzwerkelementen unter verwendung von programmierbaren tasten
US6633876B1 (en) * 2000-06-07 2003-10-14 Sun Microsystems, Inc. Analyzing post-mortem information on a remote computer system using a downloadable code module
JP3714119B2 (ja) * 2000-06-13 2005-11-09 日本電気株式会社 Biosプリブート環境を利用したユーザ認証型ネットワークosブート方法及びシステム
US6421791B1 (en) * 2000-06-14 2002-07-16 Delphi Technologies, Inc. Computer-implemented system and method for evaluating the diagnostic state of a component
GB2363482B (en) * 2000-06-15 2003-01-15 Yair Zadik Remote control unit
FR2811175B1 (fr) 2000-06-29 2002-12-27 Touchtunes Music Corp Procede de distribution d'informations audiovisuelles et systeme de distribution d'informations audiovisuelles
FR2811114B1 (fr) 2000-06-29 2002-12-27 Touchtunes Music Corp Dispositif et procede de communication entre un systeme de reproduction d'informations audiovisuelles et d'une machine electronique de divertissement
JP2002024046A (ja) * 2000-07-11 2002-01-25 Mitsubishi Electric Corp マイクロコンピュータ及びそのメモリ内容変更システム並びにメモリ内容変更方法
US6959331B1 (en) * 2000-08-14 2005-10-25 Sun Microsystems, Inc. System and method for operating a client network computer in a disconnected mode by establishing a connection to a fallover server implemented on the client network computer
KR20020014364A (ko) * 2000-08-17 2002-02-25 윤종용 장치 드라이버의 자동 진단 장치 및 그 방법
US7231434B2 (en) * 2000-08-28 2007-06-12 International Business Machines Corporation Method, apparatus and computer program product to check e-mail count at boot time in computing systems
US6952725B1 (en) * 2000-08-28 2005-10-04 International Business Machines Corporation Method to check e-mail count at boot time in personal computer systems
FR2814085B1 (fr) 2000-09-15 2005-02-11 Touchtunes Music Corp Procede de divertissement base sur les jeux concours a choix multiples
KR20010000841A (ko) * 2000-10-23 2001-01-05 임효준 컴퓨터 부팅시 프로그램 강제 수행장치 및 방법
US6772376B1 (en) 2000-11-02 2004-08-03 Dell Products L.P. System and method for reporting detected errors in a computer system
US7124424B2 (en) * 2000-11-27 2006-10-17 Sedna Patent Services, Llc Method and apparatus for providing interactive program guide (IPG) and video-on-demand (VOD) user interfaces
FR2819070B1 (fr) * 2000-12-28 2003-03-21 St Microelectronics Sa Procede et dispositif de protection conte le piratage de circuits integres
US6718464B2 (en) 2001-01-23 2004-04-06 International Business Machines Corporation Method and system for customizing a client computer system configuration for a current user using BIOS settings downloaded from a server
US8271626B2 (en) 2001-01-26 2012-09-18 American Power Conversion Corporation Methods for displaying physical network topology and environmental status by location, organization, or responsible party
EP1360796B1 (en) 2001-01-26 2009-12-23 American Power Conversion Corporation Method and system for a set of network appliances which can be connected to provide enhanced collaboration, scalability, and reliability
KR20010067561A (ko) * 2001-02-10 2001-07-13 박경수 통신 네트워크를 이용한 컴퓨터 시스템의 복구와 데이터의저장 관리 시스템 및 그 방법
EP1248193A1 (en) * 2001-04-02 2002-10-09 Hewlett-Packard Company Initialisation module for a device driver
US20020147941A1 (en) * 2001-04-05 2002-10-10 Robert Gentile Network based BIOS recovery method
US7000100B2 (en) * 2001-05-31 2006-02-14 Hewlett-Packard Development Company, L.P. Application-level software watchdog timer
US7124293B2 (en) * 2001-06-29 2006-10-17 Intel Corporation Intelligently determining which traffic streams to offload efficiently
US7076539B2 (en) * 2001-07-30 2006-07-11 Hewlett-Packard Development Company, L.P. Network connectivity establishment at user log-in
US20030028812A1 (en) * 2001-07-31 2003-02-06 Stultz Paul Dennis Computer security during power-on self test
US7069431B2 (en) * 2001-07-31 2006-06-27 Lenovo ( Singapore) Pte Ltd. Recovery of a BIOS image
US7089259B1 (en) * 2001-08-03 2006-08-08 Mcafee, Inc. System and method for providing a framework for network appliance management in a distributed computing environment
US20030033463A1 (en) * 2001-08-10 2003-02-13 Garnett Paul J. Computer system storage
US7003775B2 (en) * 2001-08-17 2006-02-21 Hewlett-Packard Development Company, L.P. Hardware implementation of an application-level watchdog timer
US7191261B2 (en) * 2001-08-20 2007-03-13 International Business Machines Corporation System and method to use unmodified operating system on diskless computer
US20030046398A1 (en) * 2001-08-29 2003-03-06 Charles Buckley Method and system for managing a plurality of console devices in a network
US20040199600A1 (en) * 2001-10-16 2004-10-07 Dorundo Alan D. Method and apparatus for program installation in a modular network
US7093124B2 (en) * 2001-10-30 2006-08-15 Intel Corporation Mechanism to improve authentication for remote management of a computer system
US7263716B1 (en) * 2001-11-01 2007-08-28 Advanced Micro Devices, Inc. Remote management mechanism to prevent illegal system commands
US7571445B2 (en) * 2001-11-29 2009-08-04 Dell Products L.P. System and method for dynamic device driver support in an open source operating system
JP2003173325A (ja) * 2001-12-06 2003-06-20 Hitachi Ltd 計算機システムの初期化方法および電源切断方法
US20030110369A1 (en) * 2001-12-11 2003-06-12 Fish Andrew J. Firmware extensions
US6694401B2 (en) * 2001-12-28 2004-02-17 Intel Corporation Method and apparatus for executing real-mode interrupts from within extended SMRAM handler
US7454603B2 (en) * 2002-02-11 2008-11-18 Intel Corporation Method and system for linking firmware modules in a pre-memory execution environment
US7086049B2 (en) * 2002-02-26 2006-08-01 International Business Machines Corporation Background code update for embedded systems
US20030229517A1 (en) * 2002-03-15 2003-12-11 Peter Meserol Medical management system and method
US7779026B2 (en) 2002-05-03 2010-08-17 American Power Conversion Corporation Method and apparatus for collecting and displaying network device information
US7013385B2 (en) * 2002-06-04 2006-03-14 International Business Machines Corporation Remotely controlled boot settings in a server blade environment
TWI253567B (en) * 2002-08-06 2006-04-21 Quanta Comp Inc Method of remote controlling computers via network and architecture thereof
US7558958B2 (en) * 2002-06-13 2009-07-07 Microsoft Corporation System and method for securely booting from a network
KR100469647B1 (ko) * 2002-06-21 2005-02-07 주식회사 마크윈 네트워크 기반 컴퓨터의 사용인증 및 정보보호 방법
KR20040007128A (ko) * 2002-07-16 2004-01-24 임창수 프레쉬웹오에스를 구비한 컴퓨터 및 이를 제어하는 방법
US6925365B2 (en) * 2002-08-05 2005-08-02 Daimlerchrysler Corporation Flash loader for vehicle electronic control units
US7882162B2 (en) * 2002-08-08 2011-02-01 Hewlett-Packard Development Company, L.P. Rapid access to data on a powered down personal computer
US7143277B2 (en) * 2002-08-19 2006-11-28 Intel Corporation Methods and apparatus for event based console variable coherence maintenance in a pre-boot environment
US7058797B2 (en) * 2002-09-10 2006-06-06 Veritas Operating Corporation Use of off-motherboard resources in a computer system
US7822687B2 (en) 2002-09-16 2010-10-26 Francois Brillon Jukebox with customizable avatar
US8584175B2 (en) 2002-09-16 2013-11-12 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US8103589B2 (en) 2002-09-16 2012-01-24 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US10373420B2 (en) 2002-09-16 2019-08-06 Touchtunes Music Corporation Digital downloading jukebox with enhanced communication features
US8151304B2 (en) 2002-09-16 2012-04-03 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US8332895B2 (en) 2002-09-16 2012-12-11 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US11029823B2 (en) 2002-09-16 2021-06-08 Touchtunes Music Corporation Jukebox with customizable avatar
US9646339B2 (en) 2002-09-16 2017-05-09 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US7177790B2 (en) * 2002-11-13 2007-02-13 Hewlett-Packard Development Company, L.P. Method and apparatus for providing virtual devices
US7543048B2 (en) * 2002-11-22 2009-06-02 Intel Corporation Methods and apparatus for enabling of a remote management agent independent of an operating system
US20040128493A1 (en) * 2002-12-27 2004-07-01 Zimmer Vincent J. Methods and apparatus for providing a firmware defined radio
US7542963B2 (en) 2003-04-14 2009-06-02 American Power Conversion Corporation Method and system for journaling and accessing sensor and configuration data
WO2004092907A2 (en) 2003-04-14 2004-10-28 Netbotz, Inc. Extensible sensor monitoring, alert processing and notification system and method
EP1616237B1 (en) * 2003-04-14 2017-10-25 Schneider Electric IT Corporation Environmental monitoring device
US8566292B2 (en) 2003-04-14 2013-10-22 Schneider Electric It Corporation Method and system for journaling and accessing sensor and configuration data
EP1484682B1 (en) 2003-06-02 2012-12-05 Hewlett-Packard Development Company, L.P. Method and apparatus for providing support for an electronic device
US7457943B2 (en) * 2003-06-12 2008-11-25 Fuji Xerox Co., Ltd. Controller, image processing apparatus, and method of controlling execution of program
US7478141B2 (en) * 2003-06-26 2009-01-13 Intel Corporation Accessing firmware of a remote computer system using a remote firmware interface
US8850174B1 (en) * 2003-07-02 2014-09-30 Pmc-Sierra Us, Inc. Method for dedicated netboot
US20050044363A1 (en) * 2003-08-21 2005-02-24 Zimmer Vincent J. Trusted remote firmware interface
JP2005071196A (ja) * 2003-08-27 2005-03-17 Hitachi Ltd ディスクアレイ装置、及びその障害情報の制御方法
US7117353B2 (en) * 2003-09-04 2006-10-03 Intel Corporation Methods and apparatus to enable console redirection in a multiple execution environment
US7257704B2 (en) * 2003-09-05 2007-08-14 Gateway Inc. Method of selectively loading a pre-boot execution extension determined based on an identifier
CN1315078C (zh) * 2003-09-10 2007-05-09 联想(北京)有限公司 一种通过远程配置获取基本输入输出系统信息的方法
US7299354B2 (en) * 2003-09-30 2007-11-20 Intel Corporation Method to authenticate clients and hosts to provide secure network boot
US7506051B2 (en) * 2003-09-30 2009-03-17 International Business Machines Corporation Method and apparatus for automatically conducting hardware inventories of computers in a network
US7627651B2 (en) * 2003-10-27 2009-12-01 American Power Conversion Corporation System and method for network device communication
US7174447B2 (en) * 2003-11-14 2007-02-06 Intel Corporation Providing a pre-boot driver for use during operating system runtime of a computer system
US8631163B1 (en) 2003-12-11 2014-01-14 At&T Intellectual Property Ii, L.P. Automatic connectivity determiner and configurator
US7302108B2 (en) * 2004-02-04 2007-11-27 Dell Products L.P. System and method for creating information handling system restore media
US20050193259A1 (en) * 2004-02-17 2005-09-01 Martinez Juan I. System and method for reboot reporting
US7216344B2 (en) * 2004-03-02 2007-05-08 Microsoft Corporation Side-by-side drivers
US20050202388A1 (en) * 2004-03-11 2005-09-15 Zuhl Michael A. Method and apparatus for remote interaction with a computer over a network
US20050204015A1 (en) * 2004-03-11 2005-09-15 Steinhart Jonathan E. Method and apparatus for generation and transmission of computer graphics data
US20050201404A1 (en) * 2004-03-11 2005-09-15 Steinhart Jonathan E. Method and apparatus for remote interaction with a computer over a network
TWI307016B (en) * 2004-03-19 2009-03-01 Hon Hai Prec Ind Co Ltd System and method for observing booting bios information of remote computer
US7653727B2 (en) * 2004-03-24 2010-01-26 Intel Corporation Cooperative embedded agents
US20050213768A1 (en) * 2004-03-24 2005-09-29 Durham David M Shared cryptographic key in networks with an embedded agent
US7734797B2 (en) 2004-03-29 2010-06-08 Marvell International Ltd. Inter-processor communication link with manageability port
US9047915B2 (en) * 2004-04-09 2015-06-02 Sony Corporation Asset revision management in media production
US7506214B2 (en) * 2004-04-22 2009-03-17 International Business Machines Corporation Application for diagnosing and reporting status of an adapter
US7496929B2 (en) * 2004-05-28 2009-02-24 Intel Corporation Performance of operations on a hardware resource through integral interpretive execution
US7406591B2 (en) * 2004-06-29 2008-07-29 Intel Corporation Booting from a remote BIOS image
US7380095B2 (en) * 2004-06-30 2008-05-27 Intel Corporation System and method for simulating real-mode memory access with access to extended memory
US7974272B2 (en) * 2004-07-29 2011-07-05 Conexant Systems, Inc. Remote control of a switching node in a stack of switching nodes
US7493300B2 (en) * 2004-09-30 2009-02-17 International Business Machines Corporation Model and system for reasoning with N-step lookahead in policy-based system management
CA2583966A1 (en) * 2004-10-12 2006-04-27 Terence J. Mullin System and method for monitoring and responding to device conditions
US7594269B2 (en) * 2004-10-29 2009-09-22 Intel Corporation Platform-based identification of host software circumvention
US8145748B2 (en) 2004-12-13 2012-03-27 American Power Conversion Corporation Remote monitoring system
US7711814B1 (en) 2004-12-13 2010-05-04 American Power Conversion Corporation Method and system for remote monitoring of a power supply device with user registration capability
US20060143209A1 (en) * 2004-12-29 2006-06-29 Zimmer Vincent J Remote management of a computer system
US20060143263A1 (en) * 2004-12-29 2006-06-29 Dinesh Kumar Remote update apparatus, systems, and methods
US7484127B2 (en) * 2005-01-13 2009-01-27 Nokia Siemens Networks Oy Method and system for preserving crash dump in a diskless system
FR2881246B1 (fr) * 2005-01-21 2007-03-23 Meiosys Soc Par Actions Simpli Procede perdictif de gestion, de journalisation ou de rejeu d'operations non deterministes au sein du deroulement d'un processus applicatif
DE602006002967D1 (de) * 2005-01-28 2008-11-13 Ibm Zählverfahren für anweisungen zur protokollierung und wiedergabe einer deterministischen ereignisabfolge
US8181020B2 (en) * 2005-02-02 2012-05-15 Insyde Software Corp. System and method for securely storing firmware
US7933980B2 (en) * 2005-02-28 2011-04-26 Cisco Technology, Inc. Reliable management communications path algorithm using in-band signaling and high priority context processing
US7451301B2 (en) * 2005-03-30 2008-11-11 Intel Corporation OS independent device management methods and apparatuses having a map providing codes for various activations of keys
US7739517B2 (en) * 2005-03-31 2010-06-15 Intel Corporation Hardware-based authentication of a software program
US7868896B1 (en) * 2005-04-12 2011-01-11 American Megatrends, Inc. Method, apparatus, and computer-readable medium for utilizing an alternate video buffer for console redirection in a headless computer system
US7660913B2 (en) * 2005-04-20 2010-02-09 Intel Corporation Out-of-band platform recovery
US7840682B2 (en) * 2005-06-03 2010-11-23 QNX Software Systems, GmbH & Co. KG Distributed kernel operating system
US8667184B2 (en) 2005-06-03 2014-03-04 Qnx Software Systems Limited Distributed kernel operating system
US7461247B2 (en) * 2005-06-03 2008-12-02 Qnx Software Systems Gmbh & Co. Kg Method for transitioning control of a peripheral device from a first device driver to a second device driver during operating system initialization
US7516252B2 (en) * 2005-06-08 2009-04-07 Intel Corporation Port binding scheme to create virtual host bus adapter in a virtualized multi-operating system platform environment
TWI264673B (en) * 2005-06-27 2006-10-21 Lite On Technology Corp Methods and computers for presenting graphical user interface during a boot operation
TWI273383B (en) * 2005-06-29 2007-02-11 Inventec Corp Computer platform system program remote control recovery method and system
JP4487920B2 (ja) 2005-12-12 2010-06-23 株式会社日立製作所 ブート制御方法および計算機システム並びにその処理プログラム
US8533700B1 (en) 2006-04-11 2013-09-10 Open Invention Networks, Llc Workstation uptime, maintenance, and reboot service
US20070300051A1 (en) * 2006-06-26 2007-12-27 Rothman Michael A Out of band asset management
US8322155B2 (en) * 2006-08-15 2012-12-04 American Power Conversion Corporation Method and apparatus for cooling
US8327656B2 (en) 2006-08-15 2012-12-11 American Power Conversion Corporation Method and apparatus for cooling
US9568206B2 (en) * 2006-08-15 2017-02-14 Schneider Electric It Corporation Method and apparatus for cooling
US7986786B2 (en) 2006-11-30 2011-07-26 Hewlett-Packard Development Company, L.P. Methods and systems for utilizing cryptographic functions of a cryptographic co-processor
US8024563B1 (en) * 2006-12-15 2011-09-20 Oracle America, Inc. Programming interface for a kernel level SSL proxy
US20080142068A1 (en) * 2006-12-18 2008-06-19 American Power Conversion Corporation Direct Thermoelectric chiller assembly
US7681404B2 (en) 2006-12-18 2010-03-23 American Power Conversion Corporation Modular ice storage for uninterruptible chilled water
US20080168310A1 (en) * 2007-01-05 2008-07-10 Microsoft Corporation Hardware diagnostics and software recovery on headless server appliances
US9171419B2 (en) 2007-01-17 2015-10-27 Touchtunes Music Corporation Coin operated entertainment system
US9330529B2 (en) 2007-01-17 2016-05-03 Touchtunes Music Corporation Game terminal configured for interaction with jukebox device systems including same, and/or associated methods
US8425287B2 (en) 2007-01-23 2013-04-23 Schneider Electric It Corporation In-row air containment and cooling system and method
US7743243B2 (en) * 2007-02-14 2010-06-22 Dell Products, Lp System and method to enable teamed network environments during network based initialization sequences
US9953481B2 (en) 2007-03-26 2018-04-24 Touchtunes Music Corporation Jukebox with associated video server
CA2686564C (en) 2007-05-15 2018-04-17 American Power Conversion Corporation Methods and systems for managing facility power and cooling
US7734959B2 (en) * 2007-07-30 2010-06-08 Hewlett-Packard Development Company, L.P. Operating system recovery across a network
CA2699514A1 (en) * 2007-09-14 2009-03-19 Softkvm, Llc Software method and system for controlling and observing computer networking devices
US8332887B2 (en) 2008-01-10 2012-12-11 Touchtunes Music Corporation System and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server
US9324064B2 (en) 2007-09-24 2016-04-26 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US10290006B2 (en) 2008-08-15 2019-05-14 Touchtunes Music Corporation Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations
US8793477B2 (en) * 2008-02-12 2014-07-29 Mcafee, Inc. Bootstrap OS protection and recovery
US7904708B2 (en) * 2008-02-18 2011-03-08 Dell Products L.P. Remote management of UEFI BIOS settings and configuration
US20110041188A1 (en) * 2008-05-02 2011-02-17 Invicta Networks, Inc Method and system for protection of computer applications and software products against unauthorized copying
US7895472B2 (en) * 2008-05-21 2011-02-22 Dell Products, Lp System and method of managing BIOS test routnes
US8849435B2 (en) 2008-07-09 2014-09-30 Touchtunes Music Corporation Digital downloading jukebox with revenue-enhancing features
JP5867469B2 (ja) * 2008-07-24 2016-02-24 富士通株式会社 通信制御装置、通信制御方法、保全処理方法、情報処理装置および遠隔制御方法
JP5446439B2 (ja) * 2008-07-24 2014-03-19 富士通株式会社 通信制御装置、データ保全システム、通信制御方法、およびプログラム
TW201007469A (en) * 2008-08-15 2010-02-16 Asustek Comp Inc Computer with remote mangement system
US9519517B2 (en) 2009-02-13 2016-12-13 Schneider Electtic It Corporation Data center control
US9778718B2 (en) * 2009-02-13 2017-10-03 Schneider Electric It Corporation Power supply and data center control
US8560677B2 (en) 2009-02-13 2013-10-15 Schneider Electric It Corporation Data center control
US10719149B2 (en) 2009-03-18 2020-07-21 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
KR101748448B1 (ko) 2009-03-18 2017-06-16 터치튠즈 뮤직 코포레이션 엔터테인먼트 서버 및 관련 소셜 네트워킹 서비스
US9292166B2 (en) 2009-03-18 2016-03-22 Touchtunes Music Corporation Digital jukebox device with improved karaoke-related user interfaces, and associated methods
US10564804B2 (en) 2009-03-18 2020-02-18 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
KR101108679B1 (ko) * 2009-11-04 2012-01-25 삼성메디슨 주식회사 자가진단 및 복원기능을 갖는 초음파 진단 방법 및 시스템
US20110161721A1 (en) * 2009-12-30 2011-06-30 Dominic Fulginiti Method and system for achieving a remote control help session on a computing device
WO2011094330A1 (en) 2010-01-26 2011-08-04 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US8261131B2 (en) * 2010-10-15 2012-09-04 Sony Corporation Recovery from HDD failure and technical support through WWAN
JP5655533B2 (ja) * 2010-12-07 2015-01-21 富士通株式会社 情報処理装置の制御方法、情報処理装置、及び情報処理装置の制御プログラム
US8825451B2 (en) 2010-12-16 2014-09-02 Schneider Electric It Corporation System and methods for rack cooling analysis
US8990536B2 (en) 2011-06-01 2015-03-24 Schneider Electric It Corporation Systems and methods for journaling and executing device control instructions
WO2013081616A1 (en) * 2011-12-01 2013-06-06 Intel Corporation Hardware based memory migration and resilvering
US9830410B2 (en) 2011-12-22 2017-11-28 Schneider Electric It Corporation System and method for prediction of temperature values in an electronics system
CN104137105B (zh) 2011-12-22 2017-07-11 施耐德电气It公司 关于瞬时事件对数据中心中的温度的影响分析
US11151224B2 (en) 2012-01-09 2021-10-19 Touchtunes Music Corporation Systems and/or methods for monitoring audio inputs to jukebox devices
JP5842683B2 (ja) * 2012-03-12 2016-01-13 富士通株式会社 情報処理装置、メモリダンププログラム及びメモリダンプ方法
CN103593281B (zh) * 2012-08-15 2016-06-15 纬创资通股份有限公司 测试系统及测试方法
US8832494B2 (en) 2012-09-26 2014-09-09 Intel Corporation Methods and apparatus for displaying video despite a nonfunctional operating system
TW201322685A (zh) * 2012-10-24 2013-06-01 Cal Comp Electronics & Comm Co 恢復網路設定參數的系統及其方法
US9361127B2 (en) * 2013-07-19 2016-06-07 Dell Products L.P. Switching between network interface cards during different stages of operation
US20150113263A1 (en) * 2013-10-23 2015-04-23 Aic Inc. Method for updating basic input/output system of server
WO2015070070A1 (en) 2013-11-07 2015-05-14 Touchtunes Music Corporation Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices
US10372463B1 (en) * 2013-11-27 2019-08-06 EMC IP Holding Company LLC Provisioning a computerized device with an operating system
WO2015112128A1 (en) 2014-01-22 2015-07-30 Hewlett Packard Development Company, L.P. System firmware configuration data
US9846584B1 (en) * 2014-01-29 2017-12-19 Phoenix Technologies Ltd. Promoting a secure operating environment through oversight and provisioning of BIOS activity
EP3123293A4 (en) 2014-03-25 2017-09-27 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US20190163595A1 (en) * 2017-11-30 2019-05-30 Rustin B. Penland System and method for providing network access in the event of a computer system failure
US11467934B2 (en) * 2018-12-31 2022-10-11 Lenovo (Singapore) Pte. Ltd. Diagnostic scan
US11657138B2 (en) 2019-02-28 2023-05-23 Hewlett-Packard Development Company, L.P. Signed change requests to remotely configure settings
US11126518B1 (en) * 2020-03-16 2021-09-21 Quanta Computer Inc. Method and system for optimal boot path for a network device
US11836500B2 (en) * 2022-05-06 2023-12-05 Dell Products L.P. Systems and methods for basic input/output system driver offline protocol
CN116610539B (zh) * 2023-04-07 2024-04-05 合芯科技有限公司 一种开机自检信息的显示系统、显示方法、设备及介质

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200770A (en) * 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US4335426A (en) * 1980-03-10 1982-06-15 International Business Machines Corporation Remote processor initialization in a multi-station peer-to-peer intercommunication system
DE3374964D1 (en) * 1982-09-29 1988-01-28 Toshiba Kk Decentralized information processing system and initial program loading method therefor
JPH0792761B2 (ja) * 1985-07-31 1995-10-09 株式会社日立製作所 仮想計算機システムの入出力制御方法
US4703481A (en) * 1985-08-16 1987-10-27 Hewlett-Packard Company Method and apparatus for fault recovery within a computing system
US4747040A (en) * 1985-10-09 1988-05-24 American Telephone & Telegraph Company Dual operating system computer
CA1215431A (en) * 1985-10-24 1986-12-16 Demco Bingo Inc. Method of making bingo cards
US4724521A (en) * 1986-01-14 1988-02-09 Veri-Fone, Inc. Method for operating a local terminal to execute a downloaded application program
GB2203573A (en) * 1987-04-02 1988-10-19 Ibm Data processing network with upgrading of files
JPS63292257A (ja) * 1987-05-11 1988-11-29 インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション 複数の端末局へのデ−タまたはプログラムのロ−デイング方法
US4885770A (en) 1987-09-04 1989-12-05 Digital Equipment Corporation Boot system for distributed digital data processing system
US4918653A (en) * 1988-01-28 1990-04-17 International Business Machines Corporation Trusted path mechanism for an operating system
US5155847A (en) * 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
US5008814A (en) * 1988-08-15 1991-04-16 Network Equipment Technologies, Inc. Method and apparatus for updating system software for a plurality of data processing units in a communication network
US4975950A (en) * 1988-11-03 1990-12-04 Lentz Stephen A System and method of protecting integrity of computer data and software
US5142680A (en) * 1989-04-26 1992-08-25 Sun Microsystems, Inc. Method for loading an operating system through a network
US5473772A (en) * 1991-04-02 1995-12-05 International Business Machines Corporation Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
US5210875A (en) * 1989-08-25 1993-05-11 International Business Machines Corporation Initial bios load for a personal computer system
GB9012949D0 (en) * 1989-08-25 1990-08-01 Ibm An apparatus and method for loading bios from a diskette in a personal computer system
FR2657445B1 (fr) * 1990-01-25 1992-04-10 Gemplus Card Int Procede de chargement de programmes d'application dans un lecteur de carte a memoire a microprocesseur et systeme destine a sa mise en óoeuvre.
US5481754A (en) * 1990-05-18 1996-01-02 International Business Machines Corporation Apparatus and method for bios interface to features in multiple adapter cards in one operation using registers with bits distributed across the adapter cards
US5307497A (en) * 1990-06-25 1994-04-26 International Business Machines Corp. Disk operating system loadable from read only memory using installable file system interface
EP0476195A1 (en) * 1990-09-19 1992-03-25 International Business Machines Corporation Initial program load for computer workstation
US5230052A (en) * 1990-10-01 1993-07-20 International Business Machines Corp. Apparatus and method for loading bios into a computer system from a remote storage location
IT1246673B (it) * 1991-02-13 1994-11-24 D E Sistemi S R L Metodo e sistema per il controllo numerico di un impianto o di una macchina tramite microprocessore.
US5265252A (en) * 1991-03-26 1993-11-23 International Business Machines Corporation Device driver system having generic operating system interface
US5297282A (en) * 1991-05-29 1994-03-22 Toshiba America Information Systems, Inc. Resume processing function for the OS/2 operating system
US5355490A (en) * 1991-06-14 1994-10-11 Toshiba America Information Systems, Inc. System and method for saving the state for advanced microprocessor operating modes
CA2111237C (en) * 1991-06-26 2002-01-15 Barry Kennedy Multiprocessor distributed initialization and self-test system
US5291585A (en) * 1991-07-29 1994-03-01 Dell Usa, L.P. Computer system having system feature extension software containing a self-describing feature table for accessing I/O devices according to machine-independent format
US5268928A (en) * 1991-10-15 1993-12-07 Racal-Datacom, Inc. Data modem with remote firmware update
US5452454A (en) * 1991-12-10 1995-09-19 Digital Equipment Corporation Generic remote boot for networked workstations by creating local bootable code image
US5319751A (en) * 1991-12-27 1994-06-07 Intel Corporation Device driver configuration in a computer system
US5355498A (en) * 1992-02-25 1994-10-11 Sun Microsystems, Inc. Method and apparatus for booting a computer system without loading a device driver into memory
US5357628A (en) * 1992-03-25 1994-10-18 Intel Corporation Computer system having integrated source level debugging functions that provide hardware information using transparent system interrupt
US5446898A (en) * 1992-06-22 1995-08-29 International Business Machines Corporation Method and apparatus for configuring and installing a loadable ABIOS device support layer in a computer system
US5481709A (en) * 1992-06-22 1996-01-02 International Business Machines Corporation Method and apparatus for providing a modular ABIOS device support layer in a computer system
US5495611A (en) * 1992-06-22 1996-02-27 International Business Machines Corporation Method and apparatus for dynamic load of an ABIOS device support layer in a computer system
EP0592079A2 (en) * 1992-09-20 1994-04-13 Sun Microsystems, Inc. Automated software installation and operating environment configuration on a computer system
US5325532A (en) * 1992-09-25 1994-06-28 Compaq Computer Corporation Automatic development of operating system boot image
US5390324A (en) * 1992-10-02 1995-02-14 Compaq Computer Corporation Computer failure recovery and alert system
FR2697357B1 (fr) * 1992-10-23 1994-12-23 Gemplus Card Int Procédé d'acquisition de logiciels et système informatique pour mettre en Óoeuvre le procédé.
US5377269A (en) * 1992-10-29 1994-12-27 Intelligent Security Systems, Inc. Security access and monitoring system for personal computer
US5623604A (en) * 1992-11-18 1997-04-22 Canon Information Systems, Inc. Method and apparatus for remotely altering programmable firmware stored in an interactive network board coupled to a network peripheral
US5657448A (en) * 1992-11-18 1997-08-12 Canon Kabushiki Kaisha System for an interactive network board remotely configurable by selecting from a plurality of functionality defining software, such as a printer server stored in prom
US5359730A (en) * 1992-12-04 1994-10-25 International Business Machines Corporation Method of operating a data processing system having a dynamic software update facility
US5404527A (en) * 1992-12-31 1995-04-04 Unisys Corporation System and method for remote program load
US5519843A (en) * 1993-03-15 1996-05-21 M-Systems Flash memory system providing both BIOS and user storage capability
US5349643A (en) * 1993-05-10 1994-09-20 International Business Machines Corporation System and method for secure initial program load for diskless workstations
US5497494A (en) * 1993-07-23 1996-03-05 International Business Machines Corporation Method for saving and restoring the state of a CPU executing code in protected mode
US5444850A (en) * 1993-08-04 1995-08-22 Trend Micro Devices Incorporated Method and apparatus for controlling network and workstation access prior to workstation boot
US5491788A (en) * 1993-09-10 1996-02-13 Compaq Computer Corp. Method of booting a multiprocessor computer where execution is transferring from a first processor to a second processor based on the first processor having had a critical error
AUPM348794A0 (en) * 1994-01-20 1994-02-17 Alcatel Australia Limited Microprocessor fault log
US5754798A (en) * 1994-02-18 1998-05-19 Kabushiki Kaisha Toshiba Computer system with function for controlling system configuration and power supply status data
US5560023A (en) * 1994-09-07 1996-09-24 International Business Machines Corporation Automatic backup system for advanced power management
US5600785A (en) * 1994-09-09 1997-02-04 Compaq Computer Corporation Computer system with error handling before reset
JPH08212086A (ja) * 1994-09-30 1996-08-20 Microsoft Corp オフィスマシンのオペレーティングシステム及び方法
US5715456A (en) * 1995-02-13 1998-02-03 International Business Machines Corporation Method and apparatus for booting a computer system without pre-installing an operating system
US5701477A (en) * 1995-03-30 1997-12-23 Cirrus Logic, Inc. Method and apparatus for master boot record shadowing
US5689726A (en) * 1995-05-03 1997-11-18 United Microelectronics Corporation Computer system interface adapter capable of automatic self-configuration and self-diagnosis before operating system initiation
US5696968A (en) * 1995-09-21 1997-12-09 Dell U.S.A., L.P. Method and apparatus for effecting drive ordering via adapter preference
US5732268A (en) * 1996-02-26 1998-03-24 Award Software International Extended BIOS adapted to establish remote communication for diagnostics and repair
US5793943A (en) * 1996-07-29 1998-08-11 Micron Electronics, Inc. System for a primary BIOS ROM recovery in a dual BIOS ROM computer system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1322419C (zh) * 2001-09-13 2007-06-20 鸿友科技股份有限公司 能下载广告资料的电子系统
CN100383748C (zh) * 2003-03-12 2008-04-23 英特尔公司 对在os运行时期间发生的系统错误的基于策略的响应
CN102819427A (zh) * 2005-09-09 2012-12-12 微软公司 远程系统的即插即用设备重定向的方法和系统
US8918530B2 (en) 2005-09-09 2014-12-23 Microsoft Corporation Plug and play device redirection for remote systems
CN102819427B (zh) * 2005-09-09 2015-11-18 微软技术许可有限责任公司 远程系统的即插即用设备重定向的方法和系统
CN101232397B (zh) * 2008-02-22 2010-10-27 成都市华为赛门铁克科技有限公司 多控制器系统修复的方法和装置
CN101751273B (zh) * 2008-12-15 2013-04-24 中国科学院声学研究所 用于嵌入式系统的安全引导装置及方法
US9858126B2 (en) 2010-12-16 2018-01-02 Microsoft Technology Licensing, Llc Device redirection for remote systems
CN103853586B (zh) * 2014-03-05 2017-02-08 中南大学 一种在uefi层实现无线网卡驱动的方法
CN111176893A (zh) * 2019-12-24 2020-05-19 航天信息股份有限公司 计算机远程控制方法、装置、系统和存储介质

Also Published As

Publication number Publication date
EP1019804A1 (en) 2000-07-19
US5978912A (en) 1999-11-02
JP2009230766A (ja) 2009-10-08
JP2001516479A (ja) 2001-09-25
US6324644B1 (en) 2001-11-27
CN1333332C (zh) 2007-08-22
WO1998041916A1 (en) 1998-09-24
KR100620216B1 (ko) 2006-09-08
CN1103958C (zh) 2003-03-26
AU6574398A (en) 1998-10-12
EP1019804A4 (en) 2002-06-26
CN1439961A (zh) 2003-09-03
JP4440990B2 (ja) 2010-03-24
JP2007172634A (ja) 2007-07-05
KR20010005535A (ko) 2001-01-15
TW444171B (en) 2001-07-01

Similar Documents

Publication Publication Date Title
CN1103958C (zh) 网络增强型计算机,计算机系统及其操作计算机的方法
US6560641B1 (en) System, method, and adapter card for remote console emulation including remote control of a peripheral device
US6067407A (en) Remote diagnosis of network device over a local area network
US5276863A (en) Computer system console
US7379982B2 (en) System and method for custom installation of an operating system on a remote client
US7703091B1 (en) Methods and apparatus for installing agents in a managed network
US6820207B2 (en) Method for rebooting only a specific logical partition in a data processing system as per a request for reboot
US6370606B1 (en) System and method for simulating hardware interrupts in a multiprocessor computer system
US6691225B1 (en) Method and apparatus for deterministically booting a computer system having redundant components
US6892383B1 (en) Hypervisor function sets
US7478141B2 (en) Accessing firmware of a remote computer system using a remote firmware interface
JPH11504459A (ja) 遠隔診断修復用に適合された拡張bios
US20100262815A1 (en) Detection Mechanism for System Image Class
WO2004077292A2 (en) System and apparatus for eliminating user interaction during hardware configuration at system boot
US6754811B1 (en) Operating system device centric agent
US20040254978A1 (en) System and method of remotely accessing a computer system to initiate remote mainteneance and management accesses on network computer systems
US20040162888A1 (en) Remote access to a firmware developer user interface
US7146515B2 (en) System and method for selectively executing a reboot request after a reset to power on state for a particular partition in a logically partitioned system
CN113626276B (zh) 服务器hba卡型号的识别方法、系统、终端及存储介质
CN109491826B (zh) 远程硬件诊断系统与诊断方法
KR920003279B1 (ko) 데이타 처리장치의 os 및 nos 로딩방법
WO2001080007A2 (en) Methods and apparatus for robust startup of a computer system having redundant components
Hinds et al. Linux PCMCIA HOWTO
Hendrick Overview of NetWare Client 32 for Windows 95
Bozzi et al. LESSON E13_EN. BASIC HARDWARE FOR INTERNET. ESSENTIAL ELEMENTS OF THE HARDWARE.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee