具有远程控制功能的网络接口的制作方法

文档序号:7810140阅读:393来源:国知局
具有远程控制功能的网络接口的制作方法
【专利摘要】在一个实施例中,提供了一种用于带外管理的方法。本实施例的方法实现了:由OOB(带外)状态机从管理服务器接收至少一个分组,所述至少一个分组要被发往与OS(操作系统)相关联的主IP(互联网协议)地址,所述至少一个分组包括数据;响应于确定所述OS不起作用,将所述OOB状态机从被动状态转换到主动状态;所述OOB状态机至少部分地基于所述数据来修复所述OS;以及,响应于确定所述OS起作用,将所述OOB状态机转换到所述被动状态。
【专利说明】具有远程控制功能的网络接口
[0001]本申请是申请日为2005年12月21日、申请号为200580044166.2的同名专利申请的分案申请。

【技术领域】
[0002]本发明的实施例涉及带外状态机。

【背景技术】
[0003]可管理性是指系统支持远程和本地管理的能力,其可以包括,例如,系统诊断、软件升级和/或系统清查。可管理性的一个重要的特征包括当操作系统处于带外时系统的工作能力。这里所用的“带外”是指一种系统状态,在该状态中,操作系统可以是“不起作用”的,其中“不起作用”是指无能力进行工作。例如,当操作系统无法部分或全部地正确实现其预期的作用时,或当操作系统的版本过期时,操作系统就是无能力工作。但是,出于可管理性的目的,即便当系统处于带外时,也需要有和系统进行通信的方式的存在。

【专利附图】

【附图说明】
[0004]本发明的实施例是通过在附图中以示例方式进行说明的,其并不用于限定本发明,在附图中,相同的参考数字表示相同的元件,其中:
[0005]图1示出了系统实施例;
[0006]图2的流程图示出了一个实施例中的方法。

【具体实施方式】
[0007]以下描述的示例仅用于说明目的,而并不用于限定本发明的实施例。因此,当示例被详细描述时,或者当一系列示例被提供时,应当理解的是,这些示例并不是穷举的,也并不会将本发明的实施例限定于所描述和/或说明的示例中。
[0008]本发明的实施例,例如,可以作为计算机程序产品,其可以包括具有机器可执行指令的一个或多个机器可访问介质,当所述机器可执行指令被诸如计算机、网络计算机或其他电子设备之类的一个或多个机器执行时,可导致一个或多个机器执行依据本发明实施例的操作。机器可访问介质可包括,但不限于:软盘,光盘,CD-ROM(紧致光盘-只读存储器),磁光盘,ROM(只读存储器),RAM(随机存取存储器),EPROM(可擦可编程只读存储器),EEPROM(电可擦可编程只读存储器),磁或光卡,闪速存储器,或适用于存储机器可执行指令的其他类型的介质/机器可读介质。
[0009]此外,本发明的实施例也可以作为计算机程序产品来下载,其中,可以通过由载波或其他传播介质来承载和/或调制一个或多个数据信号,经由通信链路(例如调制解调器和/或网络连接),从而将程序从远程计算机(例如服务器)传输到请求计算机(例如客户端)。因此,这里所用的机器可读介质可以(但并非必须)包括这种载波。
[0010]图1示出了一个实施例中的系统。系统100包括主处理器102、主存储器104、总线106、芯片组112和网络控制器108。系统100可以包括多于一个的和其他类型的处理器、存储器、总线、芯片组和网络控制器;但是,为了简化论述描述图示的那些组件。主处理器102、主存储器104、总线106和芯片组112可以被包括在单独的电路板中,例如,系统主板118中。系统可以包括其他部件。例如,系统100还可以包括其他类型的存储器(未示出),例如闪速存储器,和一个或多个芯片组(未示出),包括I/O(输入/输出)控制器集线器以控制系统100的部件间的通信。
[0011]这里所描述的操作通常可以由系统100电路126来执行。在实施例中,电路126可以位于网络控制器108中,如图1所示,但其也可以位于系统100中的其他位置,这并不会背离本发明的实施例。电路126可以包括一个或多个数字电路、一个或多个模拟电路、一个或多个状态机、可编程电路和/或一个或多个ASIC (专用集成电路)。或者和/或可附加地,这里所描述的操作可以以可以执行这里所描述功能的程序来体现。例如,操作可以体现于程序指令130中,程序指令130可以由电路126来执行,以实施这些操作。电路126可以执行主存储器104中的指令130,或者电路126可以执行存储在电路126所包括的存储器128中的指令130。存储器128可以,例如,包括只读、海量存储、随机存取计算机可访问存储器,和/或一个或多个其他类型的机器可访问存储器。
[0012]网络控制器108可以被包括在电路卡124中,该电路卡124可以被插入至电路卡插槽116。例如,网络控制器108可以包括网络接口卡(“NIC”)。当电路卡124被插入至电路卡插槽116时,电路卡插槽116上的PCI总线连接器120可以电和机械连接到电路卡124上的PCI总线连接器122。当PCI总线连接器120,122这样相互连接时,电路126可以电连接到总线106。当电路126电连接到总线106时,主处理器102可以经由总线106与电路126交换数据和/或命令,从而使主处理器102能够控制和/或监视电路126的操作。在一个或多个替换实施例中,可替代地,网络控制器108可以被包括在单块电路板(例如系统主板118)中或芯片组(例如芯片组112)中。
[0013]主处理器102可以包括,例如,Intel? Pentium?微处理器,其可以从本主题申请的受让人处买到。当然,可替换地,主处理器102可以包括其他类型的微处理器,例如,由不同于本主题申请的受让人的其他来源制造和/或从不同于本主题申请的受让人的其他来源处购买的微处理器,这并不会背离本实施例。
[0014]总线106包括的总线可以遵从于位于美国俄勒冈州波特兰市的PCI专业组(PCISpecial Interest Group)于1998年12月18日提出的外围部件互连(PCI)本地总线规范(Local Bus Specificat1n),修订本(Revis1n) 2.2 (下文中将该总线称为 “PCI 总线”)。或者,例如,总线106包括的总线可以遵从于PCI专业组(PCI Special Interest Group)于2003年4月15日提出的PCI Express基础规范(Base Specificat1n),修订本1.0a (下文中将该总线称为“PCI Express总线”)。或者,总线306包括的总线可以遵从于2000年8月3日提出的系统管理(SM)总线规范(System Management Bus Specificat1n),版本
2.0(下文中将该总线称为“SM总线”)。总线306可以包括其他类型和配置的总线系统。
[0015]主存储器104可以存储能够由电路(例如电路126)执行的机器可执行指令130,和/或可以由其访问、操作和/或处理的数据。主存储器104可以,例如,包括只读、海量存储、随机存取计算机可访问存储器,和/或一个或多个其他类型的机器可访问存储器。由例如电路126来执行程序指令130,和/或访问、操作和/或处理这些数据,会导致例如由电路126来执行这里所述的某些或全部操作。
[0016]主存储器104可以包括操作系统136 (标记为“OS”)。操作系统136可以关联于主IP (互联网协议)地址154 ( “PIP ADDR”)。这里所用的“互联网协议”是指在任何互联网络(包括但不限于因特网)上的通信协议。因此,“IP地址”是指互联网(其可以包括因特网)上的计算机或设备的互联网协议标识符。例如,互联网可以包括因特网,IP地址可以包括标识因特网上计算机或设备的网际协议地址。但是,本发明的实施例并不限于此,IP地址可以是标识任何互联网上计算机或设备的任何标识符。IP地址可以是由例如用户或诸如配置服务器之类的系统静态分配的。例如,IP地址可以是由诸如DHCP(动态主机配置协议)服务器之类的配置服务器分配的。当然,其他配置协议服务器也可以用于获取IP地址。或者,IP地址也可以是动态分配的。
[0017]芯片组112可以包括主桥/集线器系统,其可以将主处理器102和主存储器104相互连接,并连接到总线106。例如,芯片组112可以包括1/0(输入/输出)芯片组或存储器芯片组。或者,主处理器102、主存储器104和/或电路126可以直接连接到总线106,而不经由芯片组112。芯片组112可以包括一个或多个集成电路芯片,例如从本主题申请的受让人处选购的集成电路芯片组(例如图形、存储器和/或I/O控制器集线器芯片组),或者也可以使用其他的一个或多个集成电路芯片。
[0018]系统100还可以包括带外状态机(下文中称其为“00B状态机”)110。“00B状态机”是指一种部件,当系统处于带外时该部件维持网络连接,使系统能够与发送节点进行通信,并使发送节点能够向接收节点转发一个或多个分组。这里所用的“分组”是指一个或多个符号和/或值的序列,所述一个或多个符号和/或值可以由一个或多个信号编码,并从至少一个发送方被传输到至少一个接收方。可以有多种类型的分组,包括例如数据分组、协议分组和地址分组。数据分组可以包括与应用(例如电子邮件)相关的信息;协议分组可以包括诸如修复和升级之类的其他类型的信息;地址分组可以包括地址信息。
[0019]在实施例中,OOB状态机可以作为网络控制器108中的固件来实现,但本发明的实施例并不限于此。OOB状态机110可以处于主动状态或被动状态。在实施例中,当操作系统136起作用时,OOB状态机110可以处于被动状态,而当操作系统不起作用时,OOB状态机110可以处于主动状态。
[0020]OOB状态机110可以包括过滤器144。当OOB状态机110处于被动状态时,过滤器144可以将从发送节点(“TX节点”)148发送的分组150转发到操作系统136和OOB状态机110 二者。而当OOB状态机110处于主动状态时,过滤器144可以将从发送节点148发送的分组150仅转发到OOB状态机110。
[0021]在实施例中,如果OOB状态机110处于被动状态,过滤器144可以将所有分组150 (例如,地址分组和协议分组)转发到操作系统136(例如假设分组150基于MAC(介质访问控制)地址要被发送到操作系统136),所有分组150的子集可以被转发至OOB状态机110。在实施例中,转发至OOB状态机110的所有分组150的子集可以包括地址分组,例如OOB状态机110可以从其获得操作系统136的IP地址的分组。例如,这可以包括DHCP分组和/或ARP (地址解析协议)分组。例如,响应于对IP地址的请求,可以从DHCP服务器发送DHCP分组,响应于系统100请求其IP地址,可以从ARP服务器发送ARP分组。
[0022]同样,在实施例中,如果OOB状态机110处于主动状态,过滤器144可以将地址分组以及至少某些协议分组转发至OOB状态机110。例如,协议分组可以包括FTP (文件传输协议)分组和TFTP(简单文件传输协议)分组,其可以被从管理服务器发送,以修复操作系统136。例如,当地址到期时,OOB状态机110也可以继续接收地址分组,可以由DHCP服务器分配新的地址。
[0023]基于一个或多个分组特征,过滤器144可以将一个或多个分组150转发至操作系统136和/或OOB状态机110。例如,过滤器144可以使用IP地址、IP协议号和端口号的组合以确定分组150是否可以被转发至操作系统136和/或OOB状态机110。换句话说,取决于分组150中的这些特征的值,分组150可以被转发至操作系统136,或OOB状态机110,或者这两者。在实施例中,OOB状态机110可以对过滤器144进行编程,以基于不同组的值和/或不同组的特征来转发过滤器分组150。
[0024]OOB状态机110可以关联于OOB IP地址(“00B IP ADDR”)156。在实施例中,OOB状态机110可以请求或监听OOB IP地址156。当OOB状态机110处于主动状态时,例如可以从DHCP服务器请求OOB IP地址156。或者,当OOB状态机处于非主动状态时,可以从一个或多个之前接收的分组监听OOB IP地址156。这里所用的“监听”是指检查一个或多个分组的信息。例如,监听的信息可以包括分组的目的地IP地址,其可以是操作系统136的主IP地址154,OOB状态机110可以使用该目的地IP地址作为OOB IP地址156。
[0025]图2中示出了一种根据实施例的方法。图2的方法可以由OOB状态机110来执行。图2的方法从块200开始,并继续到块202,在块202中,OOB状态机10可以判定是否已接收到告知操作系统起作用的确认,其中操作系统使用主IP地址154。在实施例中,OOB状态机110可以监视总线106以发现来自操作系统136的信号。例如,所述信号可以周期性地从操作系统136发送,或由OOB状态机110来请求。如果接收到了确认,则方法可以继续到块204。否则,方法可以继续到块208。
[0026]在块204,如果OOB状态机110当前处于主动状态,则可以放弃OOB IP地址156,OOB状态机110可以转换到被动状态。例如,如果操作系统136在最近的上一次确认检查时是不起作用的,但现在是起作用的,则OOB状态机110可以依旧处于主动状态。而如果操作系统136在最近的上一次确认检查时是起作用的,但现在是不起作用的,则OOB状态机110可以处于被动状态。如果OOB状态机110处于主动状态,则OOB状态机110还可以返回到被动状态,从而使操作系统136可以保持其主IP地址154,并接收和处理分组。该方法可以继续到块206。
[0027]在块206,响应于接收一个或多个分组150,如果OOB状态机110并不具有OOB IP地址156,则可以从该一个或多个分组150获得OOB IP地址156。在实施例中,过滤器144可以接收一个或多个分组150,使OOB状态机110能够检查分组,例如以从一个或多个分组150获得OOB IP地址156。此外,操作系统136可以保持其主IP地址154,过滤器144还可以将一个或多个分组150转发到操作系统136,以使操作系统能够处理一个或多个分组150。一个或多个分组150可以包括数据,例如包括修理、修补或升级操作系统136的数据或应用数据。方法可以继续以返回到块202。
[0028]在块208,OOB状态机110可以转换到主动状态,如果OOB状态机110当前不具有OOB IP地址156,则可以获得OOB IP地址156。这里,OOB状态机110可以变为主动状态,因为操作系统136还未确认其是起作用的。当操作系统起作用时,如果OOB状态机110未通过例如监听一个或多个分组150而之前获得OOB IP地址156,则OOB状态机110可以如上所述请求IP地址。方法可以继续到块210。
[0029]在块210,可以使用OOB IP地址156接收一个或多个第一分组150。这里,操作系统136未确认其起作用,OOB状态机110可以维持OOB IP地址156,以处理一个或多个分组150。在实施例中,在使用OOB IP地址156接收一个或多个分组150之前,OOB状态机110可以发送警报给管理服务器,其中警报向管理服务器表明操作系统处于非主动状态。管理服务器随后可以以一个或多个分组150发送数据,以修理、修补和/或升级操作系统136。OOB状态机110可以通过使用数据来修理、修补和/或升级操作系统136,从而处理分组。通过这种方式,管理服务器可以与系统100进行远程通信,以例如安装、修理或重新安装系统100的操作系统136。
[0030]如果OOB管理功能依旧是开启的,则方法可以返回到块202。否则方法可以继续到块212。例如,如果系统100仍然处于工作状态(例如其仍然被加电并且是起作用的),则OOB管理功能可以是开启的。作为另一个示例,如果可以支持并仍然支持这种功能,则OOB管理功能可以是开启的。
[0031]在块212,图2的方法可以结束。
[0032]益论
[0033]因此,在一个实施例中,方法可以包括,如果OOB (带外)状态机没有从操作系统接收到操作系统起作用的确认,则操作系统使用主IP (互联网协议)地址,随后如果OOB状态机处于被动状态,则转换到主动状态,并且如果OOB状态机当前不具有OOB IP地址,则获得OOB IP地址;并使用OOB IP地址接收一个或多个第一分组。
[0034]当受管理的客户端操作系统停机时,本发明的实施例使例如管理服务器能够访问受管理的客户端,从而例如,使管理服务器能够修理操作系统,而无需物理访问受管理的客户端。而且,本发明的实施例实现此功能时无需因改变当前网络基础结构而引起极大费用的多IP地址。
[0035]以上描述了本发明的各实施例。显然的是,对这些实施例进行各种各样的修改和变更并不会背离本发明。因此,以上的描述和附图是说明性的,而非限制性的。
【权利要求】
1.一种用于带外管理的方法,包括: 由OOB (带外)状态机从管理服务器接收至少一个分组,所述至少一个分组要被发往与OS(操作系统)相关联的主IP (互联网协议)地址,所述至少一个分组包括数据; 响应于确定所述OS不起作用,将所述OOB状态机从被动状态转换到主动状态; 所述OOB状态机至少部分地基于所述数据来修复所述OS ;以及 响应于确定所述OS起作用,将所述OOB状态机转换到所述被动状态。
2.如权利要求1所述的方法,还包括: 当所述OOB状态机处于被动状态时,将在所述OOB状态机处接收到的分组转发到至少所述OS。
3.如权利要求1所述的方法,其中,使用OOBIP地址接收一个或多个第一分组是响应于发送警报至所述管理服务器而进行的,所述警报向所述管理服务器表明所述OS不起作用。
4.如权利要求1所述的方法,其中,获得OOBIP地址以维持网络连接包括从DHCP(动态主机配置协议)服务器请求地址。
5.如权利要求1所述的方法,其中,获得OOBIP地址以维持网络连接包括监听至少一个接收到的地址分组以确定与所述至少一个接收到的地址分组相关联的IP地址。
6.如权利要求1所述的方法,其中,响应于确定所述OS起作用,所述方法还包括将所述主IP地址让给所述OS。
7.一种用于带外管理的装置,包括: 电路,所述电路用于: 从管理服务器接收至少一个分组,所述至少一个分组要被发往与OS (操作系统)相关联的主IP(互联网协议)地址,所述至少一个分组包括数据; 响应于确定所述OS不起作用,从被动状态转换到主动状态; 至少部分地基于所述数据来修复所述OS ;以及 响应于确定所述OS起作用,转换到所述被动状态。
8.如权利要求7所述的装置,所述电路还用于当所述电路处于被动状态时,将在所述电路处接收到的分组转发到至少所述OS。
9.如权利要求7所述的装置,其中,所述电路使用OOBIP地址接收一个或多个第一分组是响应于发送警报至所述管理服务器而进行的,所述警报向所述管理服务器表明所述OS不起作用。
10.如权利要求7所述的装置,其中,所述电路获得OOBIP地址以维持网络连接包括所述电路从DHCP (动态主机配置协议)服务器请求地址。
11.如权利要求7所述的装置,其中,所述电路获得OOBIP地址以维持网络连接包括所述电路监听至少一个接收到的地址分组以确定与所述至少一个接收到的地址分组相关联的IP地址。
12.如权利要求7所述的装置,其中,响应于确定所述OS起作用,所述电路将所述主IP地址让给所述OS。
13.一种用于带外管理的系统,包括: 电路板,其包括电路卡插槽;以及 网络接口卡(“NIC”),其通过所述电路卡插槽耦合到所述电路板,所述NIC具有电路,所述电路用于: 从管理服务器接收至少一个分组,所述至少一个分组要被发往与OS (操作系统)相关联的主IP (互联网协议)地址,所述至少一个分组包括数据; 响应于确定所述OS不起作用,从被动状态转换到主动状态; 至少部分地基于所述数据来修复所述OS ;以及 响应于确定所述OS起作用,转换到所述被动状态。
14.如权利要求13所述的系统,所述电路还用于当所述电路处于被动状态时,将在所述电路处接收到的分组转发到至少所述OS。
15.如权利要求13所述的系统,其中,所述电路使用OOBIP地址接收一个或多个第一分组是响应于发送警报至所述管理服务器而进行的,所述警报向所述管理服务器表明所述OS不起作用。
16.如权利要求13所述的系统,其中,所述电路获得OOBIP地址以维持网络连接包括所述电路从DHCP (动态主机配置协议)服务器请求地址。
17.如权利要求13所述的系统,其中,所述电路获得OOBIP地址以维持网络连接包括所述电路监听至少一个接收到的地址分组以确定与所述至少一个接收到的地址分组相关联的IP地址。
18.如权利要求13所述的系统,其中,响应于确定所述OS起作用,所述电路将所述主IP地址让给所述OS。
19.一种用于带外管理的装置,包括: 用于由OOB (带外)状态机从管理服务器接收至少一个分组的模块,所述至少一个分组要被发往与OS (操作系统)相关联的主IP (互联网协议)地址,所述至少一个分组包括数据; 用于响应于确定所述OS不起作用,将所述OOB状态机从被动状态转换到主动状态的模块; 用于至少部分地基于所述数据来修复所述OS的模块;以及 用于响应于确定所述OS起作用,将所述OOB状态机转换到所述被动状态的模块。
20.如权利要求19所述的装置,还包括: 用于当所述OOB状态机处于被动状态时,将在所述OOB状态机处接收到的分组转发到至少所述OS的模块。
21.如权利要求19所述的装置,其中,用于使用OOBIP地址接收一个或多个第一分组的模块是响应于发送警报至所述管理服务器而进行的,所述警报向所述管理服务器表明所述OS不起作用。
22.如权利要求19所述的装置,其中,用于获得OOBIP地址以维持网络连接的模块包括用于从DHCP (动态主机配置协议)服务器请求地址的模块。
23.如权利要求19所述的装置,其中,用于获得OOBIP地址以维持网络连接的模块包括用于监听至少一个接收到的地址分组以确定与所述至少一个接收到的地址分组相关联的IP地址的模块。
24.如权利要求19所述的装置,其中,响应于确定所述OS起作用,所述装置还包括用于 将所述主IP地址让给所述OS的模块。
【文档编号】H04L29/06GK104135383SQ201410366564
【公开日】2014年11月5日 申请日期:2005年12月21日 优先权日:2004年12月22日
【发明者】P·安卡拉, C·史密斯 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1