CN1230756C - 用于处理状态查询的网络控制器 - Google Patents

用于处理状态查询的网络控制器 Download PDF

Info

Publication number
CN1230756C
CN1230756C CN98810957.3A CN98810957A CN1230756C CN 1230756 C CN1230756 C CN 1230756C CN 98810957 A CN98810957 A CN 98810957A CN 1230756 C CN1230756 C CN 1230756C
Authority
CN
China
Prior art keywords
message
response
network controller
network
data
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.)
Expired - Lifetime
Application number
CN98810957.3A
Other languages
English (en)
Other versions
CN1281563A (zh
Inventor
S·D·威廉斯
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.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1281563A publication Critical patent/CN1281563A/zh
Application granted granted Critical
Publication of CN1230756C publication Critical patent/CN1230756C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

提供了一种方法,允许联网的计算机在不激活其通信协议堆栈(152,154,156)的情况下,对一状态查询(302)产生一可选路由的响应。为该计算机提供了一种网络控制器(400),该控制器包括查询检测(550)和数据路由选择模块(570)。对通过该网络控制器(400)接收的消息扫描以获得一识别码(340),该识别码标识该消息为一状态查询(302)。状态查询消息(300)包括一典型响应(350),该响应包括用于响应该查询所需的IP数据。当一消息被识别为状态查询(300)时,该数据路由选择模块(570)从该消息(300)中提取一可选路由的响应和典型响应(350),并且从该提取的信息中产生一可选路由的响应包。状态数据可以被该数据路由选择模块(570)加到该可选路由包中。

Description

用于处理状态查询的网络控制器
发明背景
技术领域
本发明涉及计算机系统,详细地说,本发明涉及用于在联网的计算机之间耦合消息的系统和方法。
背景技术
由于计算机应用的迅速扩展并且计算机变得越来越高效,在减小空闲计算机消耗功率的电源管理系统的应用方面,越来越引起人们的注意。由Intel,Microsoft和Toshiba发起的改进控制和功率接口(Advanced Control AndPower Interface)是一个这种电源管理协议(ACPIV.1可从网址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本身亦是网络。在这里的讨论中,它们被称作子网,以表示它们还是较大网络的一部分,该较大网络还包括因特网。
在第一和第二子网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,John Wiley & Sons,New York(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经由所述最终目的节点耦合到其上的子网时,本地目的地214指向最最终目的节点。
接在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_DST 314和LQ_SRC 316,并且结束于NT报尾312。状态查询302,即帧300的数据报部分,包括指定其最终目的节点和最初源节点,即UR_DST322和OR_SRC 324的IP报头320。
状态查询302的两个附加特征是识别码340和典型响应350。在所公开的实施例中,识别码340是一标识消息为状态查询302的特定的位序列。在本发明的一个实施例中,网络控制器中的电路(图4-6)扫描传入的消息并且确定其是否包括识别码340,即该消息是否为一状态查询。当一状态查询302被识别时,在不依赖于目的节点的CPU或支持逻辑的情况下,网络控制器中的电路检索来自帧中的所选数据,并且根据所检索的数据产生响应的消息。
典型响应350用于构成对状态查询302的响应的IP部分。典型响应350包括一IP报头320R,该报头分别指定其最终目的节点和最初源节点UR_DST322R和OR_SRC 324R,并且,还可选择性地包括IP数据字段330R。由于典型响应350由状态查询300提供,因此,UR_DST 322R指定引起状态查询300的源节点的IP地址,即OQ SRC324。类似地,OR_SRC 324R指定在UQ_DST 322中标明的目的节点,即当前节点的IP地址。在单一映射中,(节点至节点)状态查询,因此,当查询产生时,其响应的最初源和最终目的节点可以被指定在典型响应350中。这样就消除了对激活响应节点的通信栈以产生响应的数据报部分的需求。
本发明还支持以多映射或任意映射消息的形式发布的状态请求,其中多目的节点被源节点作为目标。如上所述,用于响应的最终目的节点是查询的最初源节点,并且当查询产生时可以被指定在典型响应中。接收该请求的每个节点利用网络控制器的电路将其IP和本地地址分别提供给响应帧300R的IP源和本地源字段。
除了UR_DST 322R和OR_SRC 324R之外,典型响应350还可以包括一数据字段或位置保持器(place holder)330R,网络控制器中的数据路由选择电路将来自网络控制器可访问的一个或多个寄存器的所选数据加到该数据字段或位置保持器中。具体地,寄存器可包括源节点所需的状态,资源清单,或访问数据,以便管理,监视或维护网络100中的所选节点类似地,寄存器可用于存储节点的IP地址和本地地址信息,以用于响应多映射和任意映射消息。
现参照图4,其中示出了根据本发明的用于耦合计算设备至网络的网络控制器400的一个实施例。网络接口模块410,包检测模块420以及接收和发送缓冲器430,434分别构成耦合网络控制器400至物理网络的前端。DMA(直接存储器存取)模块444和外设部件互联接口(PCI IF)模块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报头,该响应将所检索的数据送回源节点。

Claims (12)

1.一种能够在低功率和高功率状态下操作的网络控制器中响应一个状态查询的方法,包括以下步骤:
在低功率状态下扫描消息的一个地址部分,确定该消息是否被寻址至网络控制器;
如果该消息被寻址至该网络控制器,则对于一个特定比特序列扫描该消息的数据部分;
如果检测到该特定比特序列,则保持低功率状态,并采用来自该消息的一个典型响应和网络报头数据来对该消息作出响应;以及
如果未检测到该特定比特序列,则发信号转换到高功率状态,准备一个响应。
2.根据权利要求1的方法,其中所述响应步骤包括:
从所检索的网络报头数据产生一个该响应消息的网络报头;
附加该典型响应至所产生的网络报头;以及
附加一个网络报尾至该典型响应。
3.根据权利要求2的方法,其中所述产生步骤包括:
将在所检索的网络报头数据中确定的本地源指定为网络报头的本地目的地;以及
将在所检索的网络报头数据中确定的本地目的地指定为网络报头的本地源。
4.根据权利要求2的方法,还包括下列步骤:
确定该响应消息是否需要附加数据;
从一个指定的缓冲器中检索所需的响应数据;以及
将所检索的响应数据加至该响应消息中。
5.根据权利要求1的方法,其中对该消息作出响应的步骤包括产生一个响应,该响应能够被发送至不同网络上的一个节点。
6.根据权利要求1的方法,其中保持在低功率状态下的步骤包括将与网络控制器关联的一个计算机系统保持在低功率状态下。
7.根据权利要求6的方法,其中将关联的计算机系统保持在低功率状态的步骤包括在不启动计算机系统使用的通信协议栈的情况下产生该响应。
8.一种处理在计算机系统中的网络通信的方法,该计算机系统包括一个中央处理器和一个网络控制器,该方法包括:
当该计算机系统处于低功率状态下时,扫描由网络控制器接收的消息的一个地址报头,确定该接收的消息是否被寻址至网络控制器;
如果该消息被寻址至该网络控制器,则确定该消息是否是一个状态查询;
如果该消息是一个状态查询,则网络控制器保持在低功率状态,并对该消息产生一个响应;以及
如果该消息不是一个状态查询,则网络控制器调用由中央处理器执行的通信协议,产生一个响应。
9.根据权利要求8的方法,其中调用通信协议促使该中央处理器从低功率状态转变为高功率状态。
10.根据权利要求8的方法,其中网络控制器产生一个响应的步骤包括:
网络控制器从该状态查询中检索一个典型响应和地址信息;以及
网络控制器将检索的典型响应和地址信息组合,形成一个状态查询响应。
11.根据权利要求10的方法,还包括网络控制器向状态查询响应提供来自一个寄存器的状态信息。
12.根据权利要求8的方法,其中确定检测的消息是否是一个状态查询的步骤包括:
将在该检测消息的一个域中的数据与被选比特序列进行比较;以及
当该数据与该被选比特序列匹配时,将该检测消息标识为一个状态查询。
CN98810957.3A 1997-11-18 1998-08-26 用于处理状态查询的网络控制器 Expired - Lifetime CN1230756C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/972,758 US6112247A (en) 1997-11-18 1997-11-18 Network controller for processing status queries
US08/972,758 1997-11-18
US08/972758 1997-11-18

Publications (2)

Publication Number Publication Date
CN1281563A CN1281563A (zh) 2001-01-24
CN1230756C true CN1230756C (zh) 2005-12-07

Family

ID=25520085

Family Applications (1)

Application Number Title Priority Date Filing Date
CN98810957.3A Expired - Lifetime CN1230756C (zh) 1997-11-18 1998-08-26 用于处理状态查询的网络控制器

Country Status (9)

Country Link
US (1) US6112247A (zh)
EP (1) EP1031090B1 (zh)
CN (1) CN1230756C (zh)
AU (1) AU9121898A (zh)
BR (1) BR9815567B1 (zh)
DE (1) DE69833206T2 (zh)
HK (1) HK1030065A1 (zh)
TW (1) TW442729B (zh)
WO (1) WO1999026149A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108292947A (zh) * 2015-11-04 2018-07-17 摩托罗拉移动有限责任公司 使用网络编码的无线ad hoc网络

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3183343B2 (ja) * 1999-02-26 2001-07-09 日本電気株式会社 データ通信方法、端末装置、中継装置、データ通信システム及びその記録媒体
US20040220829A1 (en) * 1999-03-22 2004-11-04 Ofir Baharav Distributed system and method for managing communication among healthcare providers, patients and third parties
US6463542B1 (en) * 1999-05-28 2002-10-08 Advanced Micro Devices, Inc. Power management indication mechanism for supporting power saving mode in computer system
AU6802000A (en) * 1999-09-13 2001-04-30 Healinx A message and program system supporting communication
US6643710B1 (en) * 1999-09-17 2003-11-04 3Com Corporation Architecture to fragment transmitted TCP packets to a requested window size
US6785724B1 (en) 1999-11-02 2004-08-31 Walchem Corporation On-demand web server
US6857026B1 (en) * 1999-12-14 2005-02-15 Nortel Networks Limited Using alternate routes for fail-over in a communication network
US6967960B1 (en) * 2000-03-31 2005-11-22 Intel Corporation Method and apparatus for emulating a local data port
US7043541B1 (en) * 2000-09-21 2006-05-09 Cisco Technology, Inc. Method and system for providing operations, administration, and maintenance capabilities in packet over optics networks
US7747757B2 (en) * 2000-11-17 2010-06-29 Computer Associates Think, Inc. Distributed network query
US7020702B2 (en) * 2001-09-20 2006-03-28 Lexmark International, Inc. Method and apparatus to obtain real-time status information from a networked device
AU2003209024A1 (en) * 2002-02-05 2003-09-02 Realyhealth Corporation Distributed system and method for managing communication among healthcare providers, patients and third parties
SE0401530D0 (sv) * 2004-06-15 2004-06-15 Hms Ind Networks Ab Status indicator
US20100058082A1 (en) * 2008-08-27 2010-03-04 Lenovo (Singapore) Ple., Ltd. Maintaining network link during suspend state
US10462233B2 (en) * 2018-01-23 2019-10-29 Charter Communications Operating, Llc Protocol for anycast based discovery of local resources
CN114338342B (zh) * 2021-12-03 2023-04-14 珠海格力电器股份有限公司 一种设备调度系统、方法及中央控制器、网关

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404544A (en) * 1992-06-05 1995-04-04 Advanced Micro Devices System for periodically transmitting signal to/from sleeping node identifying its existence to a network and awakening the sleeping node responding to received instruction
JPH07131478A (ja) * 1993-11-05 1995-05-19 Fujitsu Ltd Lan間通信方法及びlan間接続装置
JPH07135270A (ja) * 1993-11-11 1995-05-23 Hitachi Ltd 半導体集積回路装置の製造方法
US5699350A (en) * 1995-10-06 1997-12-16 Canon Kabushiki Kaisha Reconfiguration of protocol stacks and/or frame type assignments in a network interface device
US5742833A (en) * 1995-11-30 1998-04-21 International Business Machines Corporation Programmable power management system and method for network computer stations

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108292947A (zh) * 2015-11-04 2018-07-17 摩托罗拉移动有限责任公司 使用网络编码的无线ad hoc网络

Also Published As

Publication number Publication date
BR9815567B1 (pt) 2010-11-30
DE69833206D1 (de) 2006-04-06
DE69833206T2 (de) 2006-07-13
TW442729B (en) 2001-06-23
AU9121898A (en) 1999-06-07
BR9815567A (pt) 2001-10-16
HK1030065A1 (en) 2001-04-20
WO1999026149A1 (en) 1999-05-27
CN1281563A (zh) 2001-01-24
EP1031090A4 (en) 2002-08-14
US6112247A (en) 2000-08-29
EP1031090A1 (en) 2000-08-30
EP1031090B1 (en) 2006-01-11

Similar Documents

Publication Publication Date Title
CN1230756C (zh) 用于处理状态查询的网络控制器
CN100573496C (zh) 用于处理跨IPv4和IPv6网络的IPv4 DNS PTR查询的方法和装置
CN1151449C (zh) 允许服务器远程访问未通电的客户计算机系统资产信息的数据处理系统和方法
CN109981435B (zh) 基于CAN-ModBus转MQTT网关及通讯系统
US5915119A (en) Proxy terminal for network controlling of power managed user terminals in suspend mode
EP1638290B1 (en) System, method and intermediary server for transmitting operational requests and responses between apparatuses
CN1259704A (zh) 可扩缩的超高速缓存
CN1886667A (zh) 可靠多播通信
CN110740490A (zh) 终端入网方法、网关设备、系统、存储介质及装置
CN102404306B (zh) 一种配置协议的方法及装置
CN1154937C (zh) 远程禁止客户计算机系统的数据处理系统和方法
CN113064742A (zh) 消息处理方法、装置、设备及存储介质
US8374185B2 (en) Packet inspection device and method
CN100377550C (zh) 一种路由表下一跳ip地址到mac地址解析方法
CN104410725A (zh) Gpu的处理方法、系统以及基于gpu的dns解析方法和系统
CN1929463B (zh) 对象请求代理装置及其处理消息的方法
JP2005322222A (ja) 通信機能付加方法、プログラム、記録媒体及び通信装置
CN1798060A (zh) 一种网络计算机的ip地址冲突检测方法及装置
KR100545586B1 (ko) 듀얼 스택 전환 메커니즘 라우터와 캐쉬 테이블 관리 방법
CN103999435A (zh) 用于高效的网络地址转换和应用层网关处理的装置和方法
CN1272937C (zh) 一种单一ip地址多硬件地址的动态解析方法
CN112328593B (zh) 一种对地址学习表进行批量配置的方法、设备及系统
CN114513792A (zh) 基于eSIM卡的远程网络控制方法及装置
CN101030927A (zh) 基于通信中间件的电信oss子系统间的接口通信方法
CN1127243C (zh) 远程访问客户系统个别初始化设定的数据处理系统和方法

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
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20051207