用于处理状态查询的网络控制器的制作方法

文档序号:7580997阅读:209来源:国知局
专利名称:用于处理状态查询的网络控制器的制作方法
发明
背景技术
领域本发明涉及计算机系统,详细地说,本发明涉及用于在联网的计算机之间耦合消息的系统和方法。
背景技术
由于计算机应用的迅速扩展并且计算机变得越来越高效,在减小空闲计算机消耗功率的电源管理系统的应用方面,越来越引起人们的注意。由Intel,Microsoft和Toshiba发起的改进控制和功率接口(Advanced Control AndPower Interface)是一个这种电源管理协议(ACPIV1可从网址www.teleport.com/~acpi上获得)的例子。例如,在本机操作系统的命令状态下,执行ACPI的计算机在所选的“空闲”条件被检测到时转换到一低功耗状态(低功率状态)。在联网的计算机中,ACPI转换其CPU和空闲计算机的支持逻辑至一功率状态,该功率状态提供与该计算机在网络操作的角色相一致的最小功率。该低功率状态通常将耦合该计算机至网络媒体的计算机网络控制器留在备用状态中,以便为了感兴趣的“事件”而监视该网络。这些事件包括例如进来的电话呼叫或消息包。当网络控制器检测到这些事件时,它触发计算机转换到较高的功率状态,在该状态中CPU-执行的通信程序(“通信栈”)应该呼叫或消息包。
通常,一旦计算机处于所述较高功率状态时,其仅仅需要的动作就是响应一相对简单的状态请求。在下面的讨论中,“状态请求”是指一查找相对低级的关于计算机状态的信息的消息。该信息包括关于计算机本身的静态信息或者当其CPU工作时当然被跟踪的信息。状态请求的一公知例子是IP回送请求或者Ping.IP回送请求通常由服务器运行网络管理软件来产生,以便确定一个或多个目标计算机是否连接到该网络并处于一功能状态。当一个节点被加电时,其就处于一功能状态,而不管该节点当前的功率状态。当检测到该请求时,计算机通过产生相对简单的响应来响应接收回送请求。一般地,状态请求可以检验网络中计算机的存在,收集网络操作的统计数字,监视各个节点的通信量。以及编制设备清单。许多状态请求通过网络管理软件周期性地发送,以便监视网络环境。
尽管通过状态请求查找了相对简单的信息,但在许多情况下,计算机的整个通信基础结构常用于处理和响应这些消息。例如,在请求和响应计算机处理不同的网络的情况下,该响应计算机依赖其通信基础结构对该状态请求产生一路由可选的响应。具体地,该系统的CPU和其它功能部件实现读取每个请求消息并且产生适当响应所需的通信协议栈。这些例行程序提供将所请求的信息返回至产生该状态请求的节点所需的路由选择信息。
当处于低功率状态的计算机接收一状态请求时,该计算机的网络控制器触发该计算机转换至一功率状态,在该功率状态中,该计算机的CPU和其支持逻辑具有足够的功率来工作。在返回至低功率状态之前,该CPU执行处理该请求并产生适当响应的通信例行程序。因此,周期性的状态请求使得一空闲计算机重复地在低功率和高功率状态之间循环。这样就使空闲计算机在低功率状态中的时间量减少,并且转换处理本身亦消耗额外的功率。因此,处理这种状态查询降低了计算机的功效并且破坏了计算机电源管理系统的节约策略。
对这种功率消耗问题的一种可能的解决方案是增加至网络控制器通信栈,以便当其CPU和支持逻辑处于低功率状态时处理状态请求。但是,该方法增加了网络控制器的基本电路。而且它还需要相对复杂的同步方法以便协调网络控制器中的通信栈和由CPU实现的通信栈。后一通信栈还需要处理更复杂的消息。基于这些及其它的理由,通常认为在网络控制器中提供附加的通信栈是不实际的。
发明概述本发明是一种用于响应所选择的由联网计算机接收的状态请求的系统和方法。该计算机包括一网络控制器,该网络控制器被改变,以便在不调用由该计算机的CPU实现的通信栈的情况下,检测所选的状态请求并且产生一响应。
根据本发明,网络控制器接收消息并且为了一特定的位图而扫描所接收的消息。该特定位图标识一消息为一包括典型响应的状态查询。如果该位图被识别,则网络控制器从该状态查询中检索网络报头数据和典型响应并且将所检索的信息组合至一路由可选的响应消息在本发明的一个实施例中,该特定位图是公知的端口分配,并且一查询通过读取该消息的IP报头中的目的端口字段来识别。
附图简述本发明通过附图中的例子来说明,其中相似的标号表示类似的部件。这些附图公开了本发明的仅仅基于说明目的的各个实施例,并且不希望限制本发明的范围。


图1A是在其中可实施本发明的网络的示意图。
图1B是通信协议的示意图,该协议常用于耦合图1A的网络的各节点之间的消息。
图2是常规的用于在计算机网络的节点之间传送数据报的消息的方框图。
图3是根据本发明的修改的状态查询消息的方框图,该消息用于由网络控制器处理。
图4是根据本发明的一包括查询识别和数据路由选择模块的网络控制器实施例的方框图。
图5是图4的分流器电路的实施例的方框图。
图6是图4的分流器电路的另一实施例的方框图。
图7是根据本发明的处理图3的状态查询的方法的流程图。
本发明的详细描述下面的说明描述了大量的具体细节,以便提供对本发明的全面理解。但是,得益于本公开的本领域普通技术人员将理解的是,在没有这些特定细节的情况下也能实现本发明。在其它情况下,公知的方法,处理,部件和电路没有必要描述,以便更清楚地突出本发明的特征。
首先参照图1A,其中示出了本发明可用于其中的网络100。网络100包括第一子网110,第二子网120和中介(intervening)网140,第一和第二子网110,120通过该中介网耦合。例如,中介网140可以包括一个或多个子网,诸如广域网(WAN),局域网(LAN),以及有线和无线通信链路。
应该注意的是,子网110,120本身亦是网络。在这里的讨论中,它们被称作子网,以表示它们还是较大网络的一部分,该较大网络还包括因特网140。
在第一和第二子网110,120和中介140中的节点之间数据传送依赖于标准通信协议。例如,当中介网140对应于因特网时,该通信协议通常为因特网协议系列中的一个协议。这些协议包括传输控制协议(“TCP”),不可靠数据报协议(UDP)等等,其中许多与互联协议(“IP”)一起使用,例如TCP/IP,UDP/IP,等等。除非更特殊的要求外,在下面的读者讨论中,这些协议都称为IP。
为了讨论的目的,第一子网110被示为一以太网,包括个人计算机(PC)102,工作站106,服务器108和路由器104。类似地,第二子网120被示为一令牌网,包括个人计算机112,工作站116,主机118和路由器114。路由器104和114分别耦合子网110和120至因特网(中介网140)。一般地,诸如个人计算机102,104、工作站106,116、服务器108、主机118和路由器104,114等计算设备通常称作网络100的节点。本发明不依赖于子网110,120中的计算设备的类型和数量。
在消息经由两个或多个网络,例如在(子)网110和120的节点之间发送的情况下,本发明的主要好处被实现。但是,本发明还适用于处理在相同网络的节点,例如子网110的PC102和服务器108之间的通信。
构造计算机网络的理论上的动机之一是允许形成不同节点的计算设备相互通信。这通常通过消息包或数据报的交换来完成。通过遵从标准通信协议,这些消息包能够穿越不同种类的类似网络100的网络环境。上面所指的IP是用于基于因特网通信的典型例子,但是本发明能够利用任意已知的通信协议工作。
现参照图1B,其中示出了通信协议栈152,154,156,158(与“通信协议栈150”同样),它们表示在子网110和120的节点之间传送消息包的消息处理和产生资源。特别地,通信栈152,154,156和158表示分层的体系结构,计算设备108,104,114,112的软件和硬件资源分别被组织到该体系结构中以处理网络通信。这些资源通常包括CPU,CPU的支持逻辑,由CPU执行的通信例行程序,以及耦合该计算设备至其子网的网络控制器。示于图1B的分层体系结构是TCP/IP协议的体系结构,该协议在例如Stephen Thomas的IPng and the TCP/IP Protocols,JohnWiley&Sons,NewYork(1996)中被描述再看图1B,通信协议栈152,158分别包括应用层,传输层,互联网络层和网络技术层。应用层表示运行在计算设备中的发送数据至/接收数据自网络中的其它计算设备的应用程序。这些应用包括文件传送应用,远程终端仿真应用和邮件应用。该传输层包括为了可靠传递而将来自应用层的数据打包并且将自其它网络节点接收的数据分配至适当应用中的模块。该层大致对应于示例的协议中的TCP或UDP部分。
该互联网络层包括将来自传输层的打包数据格式化成“数据报”以便穿越网络,例如网络100,并且将从接收的数据报中提取的前向打包数据传送至该传输层。特别地,该互联网络层产生每个数据报的IP报头。该IP报头包括在网络100的所有节点之间唯一标识数据报的最初源节点和(多个)最终目的节点的IP地址。这里,所述最初源节点是指发起该数据报的计算设备,而所述最终目的节点是指处理该数据报的(一些)计算设备。该数据报通常经由最初源节点和最终目的节点之间的其它节点传递,但是,这些其它节点仅仅是传送该数据报。如下所述,为了在传输路径上在任意两个节点之间的传输而格式化数据报是网络技术层的主要领域。互联网络层大致对应于例如TCP/IP和UDP/IP协议的IP协议该网络技术层以一种格式将数据报打包,该格式适于穿越节点通过其网络控制器耦合到其上的子网。该格式化的数据报通常称为帧。当帧在网络之间传输时,它包括一位于数据报之前的报头(“NT报头”),和一个附加在该数据报后的报尾(“NT报尾”)。NT报头和报尾对将经过的子网类型来说是特定的。NT报头包括产生该帧的子网节点(本地源节点)的本地地址和子网中该帧的目的地的本地地址。与IP地址不同,本地地址被保证仅在特定子网范围内是唯一的,而当数据报耦合到不同的子网时被改变。
本地/最终源和目的节点可参照图1A来说明。对于经由在子网110的服务器108(最初源节点)和子网120的PC112(最终目的节点)之间的中介网140的数据报,在经由子网110的帧中,服务器108是本地源节点,而在经同子网120的帧中,PC112是本地目的节点。在子网110上的帧中的本地目的节点是路由器104,该路由器将子网110耦合到中介网140。路由器104通常根据网络140采用的技术类型修改所接收帧的NT报头和报尾在子网120上的帧中的本地源节点是路由器114,该路由器从因特网上接收数据报,并且根据子网120采用的技术类型修改相关的NT报头和报尾。在穿越不同的子网时,数据报对于IP报头中分别表示为最初源节点和最终目的节点的服务器108和PC112保持不变。由于路由器104,114通常只发送自网络100的其它节点接收的消息包,因此,栈152,154仅包括互联网络和网络技术层。
现参照图2,其中示出了用于穿越网络100的一个子网的传输的帧200的方框图。NT报尾212表示消息包200的结尾并且通常包括一用于测试传输可靠性的检验和。NT报头210指定在当前子网中用于帧200的本地目的地(L_DST)214和源(L_SRC)216。帧200在其最初源和最终目的节点之间通过不同的子网发送,NT报头和报尾210,212的格式被路由器的通信栈和耦合该子网的开关修改。特别地,NT报头210和报尾212被修改以反映网络技术,例如以太网,令牌网,FDDI,以及当前子网中的本地目的地214和本地源216。当帧200经由所述最初源节点耦合到其上的子网时,本地源216指向最初源节点。类似地,当帧200经由所述最终目的节点耦合到其上的子网时,本地目的地216指向最最终目的节点。
接在NT报头210之后的是包括IP报头220和数据字段230的数据报218。IP报头220指定用于数据报218的最终目的地(U_DST)222和最初源(O_SRC)224。具体地,O_SRC 224指定最初源节点的因特网地址(IP),例如上例中的服务器108,而U_DST 222指定数据报最终想要到达的节点的IP地址。IP报头220通常包括附加字段,该字段指定例如消息优先级和所述源节点采用的IP协议的版本。IP报头220由互联网络层产生并且位于数据字段230之前,该数据字段包括由应用层产生并由传输层格式化的数据。
在常规的计算设备,例如服务器108和PC102,112中,应用,传输,互联网络和网络技术层的模块通常实现为计算设备的CPU中的软件例行程序。因此,计算设备一般需要其CPU和支持逻辑以处理帧200,检索数据报218,并且产生相应的具有适当NT报头210和报尾212的数据报。基于这些理由,在低功率状态,计算设备,例如PC112对帧200的接收需要其CPU和支持逻辑从低功率状态至全功率状态的转换,以便执行适当的软件例行程序。
本发明允许在不干扰可能正对其它计算设备起作用的电源管理系统的情况下,一计算设备与通过网络耦合到其上的其它计算设备通信。具体地,本发明允许第一计算机从处于低功耗状态的第二计算机中引出状态,资源清单和其它种类的信息,而不会引起第二计算机的内核(其CPU和支持逻辑)转换到一较高的功耗状态。
在本发明的一个实施例中,第二计算机通过一包括分路器电路的网络控制器耦合至所述网络。该分路器电路包括一查询识别模块,以便识别能够在不激活第二计算机的CPU和支持逻辑的情况下被处理的请求信息(此后称作“状态查询”)。该分路器电路还包括一数据路由选择模块,以便从状态查询中提取NT报头数据和典型响应数据,并且根据所检索的数据产生对该状态请求的完整的路由可选的响应。对这些请求采用标准化的格式简化了产生响应所需的所述识别和路由选择模块。
现参照图3,其中示出了帧300的方框图,包括本发明所用的状态查询302。如图2中所示的那样,帧300以NT报头310开始,该报头分别指定本地目的和源节点LQ_DST314和LQ_SRC316,并且结束于NT报尾312。状态查询302,即帧300的数据报部分,包括指定其最终目的节点和最初源节点,即UR_DST322和OR_SRC324的IP报头320。
状态查询302的两个附加特征是识别码340和典型响应350。在所公开的实施例中,识别码340是一标识消息为状态查询302的特定的位序列。在本发明的一个实施例中,网络控制器中的电路(图4-6)扫描传入的消息并且确定其是否包括识别码340,即该消息是否为一状态查询。当一状态查询302被识别时,在不依赖于目的节点的CPU或支持逻辑的情况下,网络控制器中的电路检索来自帧中的所选数据,并且根据所检索的数据产生响应的消息。
典型响应350用于构成对状态查询302的响应的IP部分。典型响应350R包括一IP报头320R,该报头分别指定其最终目的节点和最初源节点UR_DST322R和OR_SRC 324R,并且,还可选择性地包括IP数据字段330R。由于典型响应350由状态查询300提供,因此,UR_DST 322R指定引起状态查询300的源节点的IP地址,即OQ_SRC324。类似地OR_SRC324R指定在UQ_DST322中标明的目的节点,即当前节点的IP地址。在单一映射中,(节点至节点)状态查询,因此,当查询产生时,其响应的最初源和最终目的节点可以被指定在典型响应350中。这样就消除了对激活响应节点的通信栈以产生响应的数据报部分的需求。
本发明还支持以多映射或任意映射消息的形式发布的状态请求,其中多目的节点被源节点作为目标。如上所述,用于响应的最终目的节点是查询的最初源节点,并且当查询产生时可以被指定在典型响应中。接收该请求的每个节点利用网络控制器的电路将其IP和本地地址分别提供给响应帧300R的IP源和本地源字段。
除了UR_DST 322R和OR_SRC 324R之外,典型响应350还可以包括一数据字段或位置保持器(placeholder)330R,网络控制器中的数据路由选择电路将来自网络控制器可访问的一个或多个寄存器的所选数据加到该数据字段或位置保持器中。具体地,寄存器可包括源节点所需的状态,资源清单,或访问数据,以便管理,监视或维护网络100中的所选节点。类似地,寄存器可用于存储节点的IP地址和本地地址信息,以用于响应多映射和任意映射消息。
现参照图4,其中示出了根据本发明的用于耦合计算设备至网络的网络控制器400的一个实施例。网络接口模块410,包检测模块420以及接收和发送缓冲器430,434分别构成耦合网络控制器400至物理网络的前端。DMA模块444和外设部件互联接口(PCIIF)模块448构成耦合网络控制器400至计算设备的其它部分的后端。微控制器440控制网络控制器400的前端与后端之间的数据流。另外还示出了一可选寄存器490,用于存储所选的状态,资源清单和有关数据。在所公开的实施例中,用于识别和响应查询包的分路器电路450耦合至网络控制器400的前端逻辑。
网络接口模块410提供了在包检测模块420和网络控制器400耦合至其上的网络硬件之间的机电耦合。包检测模块420包括用于监视基础网络中的包通信量,以确定网络可用于发送消息包的时刻的逻辑。对于以太网络技术,包检测模块420通常执行带有冲突检测的载波侦听多路存取(CSMA/CD)协议,对于令牌网络技术,包检测模块420确定网络控制器400接收所需的令牌以便在网络中传送消息的时刻。
缓冲器430和434分别为传入和送出的消息提供临时存储。微控制器440通过DMA444必PCI IF448控制缓冲器430,434与该计算设备的其余部分之间的数据流。
在所公开的网络控制器400的实施例中,分路器模块450被耦合至包检测模块420,以便监视传入的消息包并且当检测到状态查询时对其作出响应。在网络控制器400的前端配置分路器电路450限制了需要被加电以响应状态查询的逻辑数量。下面讨论的各种其它的配置可以提供类似的功率节省。
分路模块450包括用于当一状态查询被识别时从NT报头310和典型响应350中检索数据并且根据所检索的数据形成响应帧300R(图3)的电路。另外,分路模块450可以包括用于将可从(多个)寄存器490中得到的状态、资源清单和类似数据插入到响应包300R中的电路。
再参见图3,帧300以特定的顺序包含数据。这便于为了识别码340而扫描消息,并且,在适当的情况下,利用从该消息中检索的数据产生响应。例如,表示帧300的比特流依次包含本地目的地(LQ_DST 314)、本地源(LQ_316)、IP报头320和典型响应350。由于这些数据字段的长度和顺序对于每个协议是特定的,因此,检索和重排所需数据的所需电路不很复杂。
现参照图5,其中示出了分路器电路450的一个实施例,该电路包括查询检测模块550和数据路由选择模块570。查询检测模块550包括入站缓冲器510和比较电路520。入站缓冲器510被耦合以接收来自包检测模块420的消息包并且根据所接收的消息类型将来自所接收的消息包的数据耦合至网络控制器400的后端或者耦合至数据路由选择电路530。具体地,比较电路520被耦合以便为了识别码340而读取入站缓冲器510中的所选时隙。如果指示的识别码340存在,则比较电路520触发数据路由选择模块530以便耦合入站缓冲器510的数据输出。在分路器电路450的一个实施例中,数据被并行耦合至入站缓冲器510的输出。如果在入站缓冲器510的所选时隙中识别码340没有被检测到,则消息包被发送至网络控制器400的后端。
数据路由选择模块570包括路由选择电路530和出站缓冲器540。路由选择电路530被耦合以便接收来自入站缓冲器510的数据并且当被比较电路520触发时将其传送至出站缓冲器540的所选时隙中。路由选择电路530可以选择性地接收来自寄存器490的数据,并且当所检测的状态查询指示这样做时,将其传送至出站缓冲器540的所选时隙中。例如,节点状态或活动数据可以被提供至出站缓冲器540的数据字段(548)中。响应以多映射或任意映射消息的形式发出的一状态请求的接收,IP地址信息可以被提供至IP报头字段(544)中。
在所公开的分路器电路450的实施例中,入站缓冲器510的时隙被分成字段512,514,516和518,分别对应于查询帧300的LQ_DST 314,LQ_SRC 316,识别码340和典型响应350。当接收一状态查询时,字段512,514,和518中的数据通过路由选择电路530被分别耦合至出站缓冲器540的字段544,542,546中。当在字段516中检测到识别码340时,路由选择电路530被触发以便通过比较电路520将来自入站缓冲器510的数据锁存至出站缓冲器540中。
对于那些从寄存器490中请求数据的状态查询300,当路由选择电路530被比较电路520触发时,所请求的数据通过该路由选择电路被提供至字段548根据识别码340的值,寄存器490中的不同入口可以被耦合至出站缓冲器540的字段548。为了便于状态查询300的识别,识别码340被分配至状态查询300中容易定位的字段。在一个实施例中,识别码340是在IP报头320的目的地端口字段(未示出)中指定的公知端口。在另一实施例中,识别码340可以被分配至查询300的数据段中的一个比特字段,该数据段位于响应典型350之前。虽然可以采用其它的实现方式,但NT报尾312通常由包检测模块420提供。
在分路器电路450的一个实施例中,入站缓冲器510和出站缓冲器540是网络控制器400的接收和发送缓冲器430,434。在该实施例中,接收缓冲器430调节串行和并行输出,而发送缓冲器434调节串行和并行输入。该实施例的优点是限制了实现网络控制器所需的缓冲器数量。在本发明的另一实施例中,比较模块520和路由选择模块530的功能被微控制器440以软件模块的形式实现。在本发明的另外一个实施例中,这些功能可以采用电路,软件和固件的各种组合来实现。
现参照图6,其中示出了分路器电路的另一实施例,该电路在不工作时分析与消息包对应的比特流。在本例中,所述比特流被驱动至模块缓冲器430和分路器电路450。分路器电路450包括路由选择模块610,该模块识别消息包中的数据字段并且通过MUX 620发送相关的数据至寄存器630,640,650,660。由于NT和IP报头字段具有特定的位尺寸,因此,路由选择模块610可以通过从消息包的开始计算比特数来定位不同的数据段。当路由选择模块610到达一给定字段的比特数时,MUX 620被触发以便提供这些比特至寄存器630,640,650,660的适当的一个之中。例如,与消息的NT_SRC,NT_DST,典型响应350和识别码340相对应的位存储单元被分别发送至寄存器630,640,650和660。
通过将寄存器660中各个位与一个或多个可接收的识别码340相比较,比较模块670能够确定该消息是否为一状态查询。如果一状态查询被识别,则比较模块670触发状态机680,以便根据寄存器630,640和650中的数据形成一具有相配的NT报头的包。如果被识别码指示,并且响应包由状态机680发送,则来自NIC寄存器490的数据可以被加到响应包中。
在所公开的实施例中,来自消息包的数据将存在于缓冲器430和分路器电路450中。因此,如果该消息被识别为一状态查询,则分路器电路450指示至将处理该响应的控制器400。这样防止了缓冲器430中的数据进一步被网络控制器400处理,并且避免转换该节点的CPU至较高的功率状态图6中所公开的识别模块550和数据路由选择模块570的实施例被示为专用电路。但是,部分或所有这些模块可以由微处理器或嵌入式处理器实现为软件模块。
现参见图7,其中示出了根据本发明的用于在不激活CPU或其支持逻辑的情况下响应状态请求的方法700的流程图。在720中当一消息被接收时,为了一识别码而对其扫描。在本发明的一个实施例中,识别码可以是一个或多个识别码,其中的每一个需要来自接收节点的不同类型的状态数据。在720中如果在该消息中没有识别出任一识别码,则该消息不是一状态查询,并且方法700在710中等待下一个消息。在这种情况下,该消息将被采用与网络控制器相关的其它资源,例如相关CPU来处理。
在720中如果在该消息中识别到一识别码,则在740中诸如L_SRC和L_DST等NT数据和诸如典型响应数据等IP数据被从该消息中检索。在750中如果所识别的识别码指示附加的状态数据或IP地址数据需要来自该节点,在760中则这些数据被从适当的缓冲器中检索并且在770中采用所检索的NT,IP和状态数据产生路由可选的响应。在750中如果该识别码指示不需要状态或地址数据,则采用所检索NT和IP数据产生该响应因此,本发明提供了一种网络控制器,能够在不凭借CPU和其支持逻辑的情况下响应所选的状态请求。基于这一目的,该网络控制器包括一查询识别模块和一数据路由选择模块。该查询识别模块在与传入的消息相关的比特流中识别特定比特序列,以便识别状态查询。该数据路由选择模块从被识别为状态查询的消息中检索NT和IP数据并且根据所检索的数据产生一响应。所检索的IP数据包括一典型消息,它提供用于响应的IP报头数据。还可包括节点专用数据,该数据可通过网络控制器中的缓冲器获得。该数据路由选择模块采用所检索的NT数据以便产生一用于响应的NT报头,该响应将所检索的数据送回源节点。
权利要求
1.一种用于响应一状态请求的方法包括步骤接收一消息;对于一特定比特序列扫描该消息;当该特定比特序列被检测到时,从该消息中检索-典型响应和网络报头数据;以及组合所检索的典型响应和网络报头数据以构成一路由可选的响应。
2.根据权利要求1的方法,其中所述组合步骤包括下列子步骤根据所检索的网络报头数据产生一用于该响应消息的网络报头;附加该典型响应至所产生的网络报头;以及附加一网络报尾至该典型响应。
3.根据权利要求2的方法,其中所述产生步骤包括下列子步骤将在所检索的网络报头数据中确定的本地源指定为用于网络报头的本地目的地;以及将在所检索的网络报头数据中确定的本地目的地指定为用于网络报头的本地源。
4.根据权利要求2的方法,包括下列附加步骤确定该响应消息是否需要附加数据;从一指定的缓冲器中检索所需的响应数据;以及将所检索的响应数据加至该响应消息中。
5.一种用于响应状态请求的方法,该请求包括一典型响应,所述方法包括步骤通过该请求中的一特定比特序列识别状态请求;从所识别的状态请求中检索网络报头数据和典型响应;以及将所检索的网络报头数据和典型响应组合为一路由可选的响应消息。
6.根据权利要求5的方法,其中所述组合步骤包括下列子步骤根据所检索的网络报头数据产生一用于该响应消息的网络报头;以及附加所检索的典型响应至所产生的网络报头。
7.根据权利要求6的方法,其中所述产生一网络报头的步骤包括下列子步骤将在该消息网络报头中确定的本地目的地指定为该响应网络报头中的本地源;以及将在该消息网络报头中确定的本地源指定为该响应网络报头中的本地目的地。
8.根据权利要求6的方法,包括下列附加步骤当该状态请求指示时,检索状态数据;以及将所检索的状态数据附加至该典型响应中。
9.一种用于处理状态请求的网络控制器,该网络控制器包括一网络接口模块,用于接收一寻址至该网络控制器的消息;一耦合至该网络接口模块的查询识别模块,该查询识别模块能够识别所接收的消息中的特定比特序列;以及一数据路由选择模块,该模块耦合至网络接口模块和查询识别模块,该数据路由选择模块能够从该消息中检索本地源和目的地数据以及典型响应数据,并且能够根据所检索的本地源,目的地和响应数据产生一路由可选的响应消息。
10.根据权利要求9的网络控制器,还包括一耦合至数据路由选择模块的状态数据寄存器,用于将状态数据提供给该数据路由选择模块,以用于该响应消息。
11.根据权利要求9的网络控制器,其中的查询识别模块包括一入站缓冲器,包括一个或多个存储单元;以及一比较模块,耦合至该入站缓冲器的所选存储单元,用于比较所选存储单元中的数据与一特定识别码,以及当该数据匹配该识别码时提供一匹配指示。
12.根据权利要求11的网络控制器,其中的数据路由选择模块包括一出站缓冲器,包括一个或多个存储单元;以及一选择模块,耦合至该入站缓冲器、出站缓冲器和该比较模块,用于当所述匹配指示被检测时,耦合该入站缓冲器中的来自所选存储单元的数据至该出站缓冲器中的一存储单元。
13.根据权利要求9的网络控制器,其中的查询识别模块和数据路由选择模块由一可编程微控制器实现。
14.根据权利要求9的网络控制器,其中的查询识别模块和数据路由选择模块由一专用电路实现。
15.一种用于从第二计算机中提供状态信息至第一计算机中的方法,所述第二计算机通过一网络耦合至所述第一计算机,该方法包括步骤产生一典型响应,该响应标识第一和第二计算机分别为一响应消息的最终目的地和源;根据该典型响应和一识别码构成一数据报,该数据报包括一报头,该报头标识所述第一和第二计算机为该数据报的最终源和目的地;发送该数据报至该网络中的第二计算机;在该第二计算机中检测包括该数据报的一查询帧;从该查询帧中提取路由选择信息和该典型响应;采用所提取路由选择和典型响应数据构成一路由可选的帧;以及从该第二计算机中发送该响应至该第一计算机。
16.根据权利要求15的方法,其中所述一可选路由的响应帧的步骤包括下列子步骤将来自所提取的路由选择信息中的本地源和目的地信息用作帧报头中的本地目的地和源数据;以及附加所检索的典型响应至该帧报头中。
17.根据权利要求16的方法,包括增加状态信息至该典型响应中的步骤。
全文摘要
提供了一种方法,允许联网的计算机在不激活其通信协议堆栈(152,154,156)的情况下,对一状态查询(302)产生一可选路由的响应。为该计算机提供了一种网络控制器(400),该控制器包括查询检测(550)和数据路由选择模块(570)。对通过该网络控制器(400)接收的消息扫描以获得一识别码(340),该识别码标识该消息为一状态查询(302)。状态查询消息(300)包括一典型响应(350),该响应包括用于响应该查询所需的IP数据。当一消息被识别为状态查询(300)时,该数据路由选择模块(570)从该消息(300)中提取一可选路由的响应和典型响应(350),并且从该提取的信息中产生一可选路由的响应包.状态数据可以被该数据路由选择模块(570)加到该可选路由包中。
文档编号H04L29/12GK1281563SQ98810957
公开日2001年1月24日 申请日期1998年8月26日 优先权日1997年11月18日
发明者S·D·威廉斯 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1