CN1315077C - 有效处理网络数据的系统和方法 - Google Patents
有效处理网络数据的系统和方法 Download PDFInfo
- Publication number
- CN1315077C CN1315077C CNB028280016A CN02828001A CN1315077C CN 1315077 C CN1315077 C CN 1315077C CN B028280016 A CNB028280016 A CN B028280016A CN 02828001 A CN02828001 A CN 02828001A CN 1315077 C CN1315077 C CN 1315077C
- Authority
- CN
- China
- Prior art keywords
- data
- header
- network
- application
- main frame
- 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 - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种包括主机的网络系统。一个数据流部件被连接到主机。通过使用存储单元而不移动存储单元内的数据,所述数据流部件能够在主机和网络资源之间传输数据。一个通信链路连接上述数据流部件和网络资源。
Description
I.说明
I.A技术领域
本发明公开内容讲授了涉及管理命令(它们与网络管理系统的较高层有关)的新技术。更具体地说,本发明公开内容的讲授涉及经过网络系统传输的应用数据单元的有效处理。
I.B背景技术
经过网络传输的数据量已经有了显著的增长。为便于这种传输,对可以有效存储和检索数据的网络存储系统的需求也增长了。已经出现了几种传统性的尝试消除与网络系统中的数据传输以及数据存储有关的瓶颈。
在产生用于通过分组网络(例如以太网)或信元网络(例如ATM)来传输数据的分组或信元中涉及几个处理步骤。应当指出,本说明书中的术语“分组化”通常指的是形成分组和信元。无论哪种传输模式,都希望实现高速的存储与检索。当主机开始存储与检索时,在数据存储情况下的数据传输从主机流到存储装置。同样,在数据检索的情况下,数据从存储装置流到主机。必要的是至少像特定系统所要求的那样高效而且有效地处理这两种情况。
主机所发送的、准备在网络存储单元中存储的数据必定会通过通信模型的多层。这类通信模型被用来产生高级数据表示,并且将其分解成能够通过指定物理网络的可管理信息块。数据从通信模型的一层到另一层的移动导致其相对于前一层添加或去除了某些部分的信息。在这种数据移动中,主要的难题涉及大量数据从物理存储器的一个区域到另一个区域的传输。任何用于数据移动的方案都应该确保相关的实用工具或设备可以依照要求来访问和处理数据。
图1显示了标准的七层通信模型。开头两个层,物理(PHY)层和媒介访问控制(MAC)层处理对物理网络硬件的访问,并产生基础分组形式。然后,数据向上移动到通信模型的不同的其它层,直到分组在应用层中被描述成主机可用的数据部分。类似地,当需要从网络上的主机中发送数据时,数据向通信模型的下层移动,在途中被分成较小的数据块,最后产生由MAC和PHY层处理的数据分组以便在网络上传输数据。
在图1示出的通信模型中,为了正确地执行其功能,每个较低层在其直接的上层指示下执行任务。更详细的说明可以在Andrew S.Tanenbaum的《Computer Networks(计算机网络)》(第三版)中找到,其中的内容通过引用结合于此。在称作光纤通道(FC)的常规硬件解决方案中,过去在软件中处理的一部分较低级层在硬件中处理。然而,FC不如通常所使用的以太网/网际协议技术具有吸引力。与可比的FC实施方案相比,以太网/网际协议提供了更低成本的所有权、更容易的管理、在来自不同供应商的设备之间的更好的互操作性和更好的数据和存储资源的共享。此外,FC还被优化用于传输大数据块而不是更普遍的动态低延时交互使用。
随着来自网络的数据传输需求的增长,减少至少一个与网络上数据移动有关的瓶颈是有利的。更具体地说,减少存储器内的数据移动量、直到数据被分组或直到该数据被主机描述成可用的信息为止是有利的。
II.发明内容
本发明公开内容讲授的目的在于实现上面所提到的优点。
根据本发明公开内容的一方面,提供了一种包括主机的网络系统。一个数据流部件(data streamer)与所述主机连接。使用存储单元而不移动存储单元内的数据,上述数据流部件即能够在主机和网络资源之间传输数据。通信链路连接数据流部件和网络资源。
在一种具体增强方案中,上述通信链路是一个专用的通信链路。
在另一种具体增强方案中,上述主机被单独地用于使计算机初始化。
在又一种具体增强方案中,上述网络资源包括网络存储装置。
再具体地说,专用通信链路是网络通信链路。
更具体地说,从包含个人计算机接口(PCI)、PCI-X、3GIO、InfiniBand、SPI-3或SPI-4的群中选择专用通信链路。
进一步具体地说,其中网络通信链路是局域网(LAN)链路。
进一步具体地说,其中网络通信链路是基于以太网的。
进一步具体地说,网络通信链路是广域网(WAN)。
进一步具体地说,网络通信链路使用网际协议(IP)。
进一步具体地说,上述网络通信链路使用异步传输模式(ATM)协议。
在另一种具体增强方案中,所述数据流部件还包括:至少一个与所述主机连接的主机接口;至少一个与网络资源连接的网络接口;至少一个处理节点,其能够产生网络层操作所需的辅助数据和命令;一个最初处理数据的接纳和分类单元;一个支持数据处理的事件队列管理器;一个支持数据处理的调度器;一个管理存储器的存储器管理器;一个从所述接纳和分类单元接收数据的数据互连单元;以及一个控制集线器。
具体地说,上述处理节点还被连接到一个扩展存储器。
更具体地说,上述扩展存储器是代码存储器。
更具体地说,上述处理节点是网络事件处理节点。
更具体地说,上述网络事件处理节点是分组处理节点。
更具体地说,上述网络事件处理节点是报头处理节点。
更具体地说,从包含PCI、PCI-X、3GIO、InfiniBand、SPI-3和SPI-4的群中选择主机接口。
更具体地说,上述网络接口是以太网。
更具体地说,上述网络接口是ATM。
更具体地说,上述主机接口与网络接口是结合在一起的。
更具体地说,上述事件队列管理器至少能够管理:一个目标队列;一个应用队列。
更具体地说,当第一个报头被处理时,目标队列指向第一描述符。
更具体地说,报头是在第二通信层中被处理的。
更具体地说,报头是在第三通信层中被处理的。
更具体地说,报头是在第四通信层中被处理的。
更具体地说,如果第二个报头相应于第一个报头具有相同的元组,则目标队列指向第二个描述符。
更具体地说,目标队列对于报头信息至少保留开始地址。
更具体地说,目标队列对于报头信息至少保留结束地址。
更具体地说,如果至少一个应用报头可用,则应用队列指向所述描述符而不是所述目标队列。
更具体地说,描述符至少指向应用报头的开始。
更具体地说,应用队列保存所述应用报头的开始的地址。
更具体地说,描述符至少指向所述应用报头的结束。
更具体地说,应用队列保存所述应用报头的结束的地址。
更具体地说,当所有的应用报头都可用时,数据在连续操作中被传送给所述主机。
更具体地说,连续的操作是基于存储在所述应用队列中的指针信息的。
更具体地说,本系统适合于从网络资源接收至少一个具有报头的数据分组,并且如果该报头不属于先前已打开的描述符,则打开一个新的描述符。
更具体地说,本系统适合于在目标队列中存储报头的开始和结束地址。
更具体地说,如果有至少一个应用报头可用,则本系统适合于把描述符的控制转移到应用队列,并且本系统还适合于在应用队列中存储应用报头的开始和结束地址。
更具体地说,本系统适合于基于所存储的应用报头把数据传送到主机。
更具体地说,本系统适合于从主机接收数据和目标地址,而且进一步的是,其中本系统还适合于在传输队列中使数据排队。
更具体地说,本系统适合于更新较早产生的描述符以使之指向接下来将要被传送的数据部分。
更具体地说,本系统适合于产生报头和把数据部分附加于报头以及通过网络传送它们。
本发明公开内容讲授的另一方面是在网络中使用的一种数据流部件,该数据流部件包括:至少一个与上述主机连接的主机接口;至少一个与网络资源连接的网络接口;至少一个处理节点,其能够产生网络层操作所需的辅助数据和命令;一个最初处理数据的接纳和分类单元;一个支持数据处理的事件队列管理器;一个支持数据处理的调度器;一个管理存储器的存储器管理器;一个从所述接纳和分类单元接收数据的数据互连单元;和一个控制集线器。
本发明公开内容讲授的又一方面是一种用于把来自网络的应用数据传送到主机的方法,该方法包括:从网络资源接收数据报头;如果这些报头不属于先前已打开的描述符,则打开一个新的描述符;在一个目标队列中存储各报头的开始的地址和结束的地址;如果有至少一个应用报头可用,则把描述符的控制转移到应用队列;在应用队列中存储各应用报头的开始和结束地址;重复上述步骤,直到所有的应用报头都可用为止;而且基于所述应用报头把数据传送到所述主机。
本发明公开内容讲授的再一方面是一种用于把来自主机的应用数据传送到网络资源的方法,该方法包括:从主机接收数据;从主机接收目标地址;在传输队列中使传送信息排队;更新指向接下来将要被发送的应用数据部分的描述符;产生用于传送的报头;把应用数据部分附加到上述报头上;通过网络传输应用数据部分和报头部分;重复上述步骤,直到所有的应用数据都被传送为止;并指示主机传输已完成。
III.附图说明
通过优选实施例的详细描述并参考附图,本发明公开内容讲授的上述目的和优点将变得更加明显,其中:
图1是常规的标准七层通信模型的一个框图。
图2是根据本发明公开内容讲授的数据流部件的典型实施例的一个示意框图。
图3是具有根据本发明公开内容讲授的、具有数据流部件的典型网络系统的一个示意框图。
图4显示了应用数据的入口处理。
图5A~5I示范了根据本发明公开内容讲授的应用数据管理技术的
实施例。
图6显示了应用数据的出口处理。
IV.具体实施方式
图2示出了根据本发明公开内容讲授的数据流部件的典型实施例的一个示意图。数据流部件(DS)200可作为单个集成电路、或由两个或更多的电路元件构成的电路来实现。诸如存储器250和扩展码280之类的元件可以用独立器件来实现,而大多数其它元件可以被集成在单个IC上。主机接口(HI)210把数据流部件连接到主机。主机能够接收和传送数据到DS 200,以及发送高级命令来指示DS 200执行数据存储或数据检索。经由连接到主机接口(HI)210的主机总线(HB)212,数据和命令被传送给主机和从主机传送。HB 212可以是诸如外设部件互连(PCI)之类的标准接口,但不局限于这类标准接口,还可以使用允许主机和DS 200之间通信的专用接口。可以使用的另一个标准是PCI-X,它是PCI总线的后继总线,并且它具有明显更快的数据传输速度。如果数据流部件可以使用3GIO总线,则还有一种替换实施方案提供了甚至比PCI-X总线更高的性能。在又一个替换实施方案中,可以使用系统分组接口第3级(System Packet Interface Level 3,SPI-3)或系统分组物理接口第4级(System Packet Physical Interface Level 4,SPI-4)。在另一个替换实施方案中,还可以使用InfiniBand总线。
当命令被传送到事件队列管理器和调度器(EQMS)260时,从主机接收到的数据由HI 210通过总线216传送到数据互连和存储管理器(DIMM)230。从主机接收的数据将被存储在存储器250中等候进一步处理。对这类从主机到达数据的处理是在DIMM 230、控制集线器(CH)290和EQMS 260的控制下执行的。然后,数据在其中一个处理节点(PN)270中被处理。上述处理节点是网络处理器,该网络处理器能够管理用来产生网络层操作所必需的数据和命令的接口。至少一个处理节点可以是网络事件处理节点。具体地说,网络事件处理节点可以是分组处理节点或报头处理节点。
在处理之后,数据被传送到网络接口(NI)220。NI 220取决于其将被连接的接口类型和目的地,通过总线222而以其网络层格式路由数据。总线222可以是以太网、ATM或任何其它专用或标准网络接口。PN270可以依靠其嵌入码来处理一种或多种类型的通信接口,并且在某些情况下它可以使用扩展码(EC)存储器280来扩展。
DS 200能够进一步处理在网络上发送的数据,并且这些数据的目标是通过HB 212连接到DS 200的主机。在任何一个NI 222上接收的数据都通过NI 220来路由,并且最初由接纳和分类(AC)单元240来处理。数据被传送到DIMM 230,而控制则被转移到EQMS 260。DIMM 230把数据放置在存储器250中,以便在EQMS 260、DIMM 230和HC 290的控制下作进一步的处理。DIMM 230、EQMS 260和CH 290的功能将在此描述。
应当指出,DIMM 230的基本功能是控制存储器250和管理在存储器250以及DS 200的其它单元之间的所有数据业务,例如涉及HI 210和NI 220的数据业务。具体地说,DIMM 230集合所有指向存储器250的服务请求。还应当进一步指出,EQMS 260的功能是控制多个PN 270的操作。EQMS 260经由CH 290接收网络业务到达的通知,或称之为事件。EQMS 260优先化不同事件和组织它们,并且当所有事件的数据在对应的PN 270的局部存储器中都可用时,把事件分配到所需的PN 270。CH290的功能是处理在DS 200的各单元之间传输的控制消息(相对于数据报文)。例如,PN 270可以发送一个由CH 290处理的控制消息,其中CH290产生控制分组,该控制分组随后会被发送到预期目的地。DS 200的上述这些单元及其它单元的使用,根据对它们的使用(结合以下所述的方法)的描述会更加清楚。
图3示出了一个根据本发明公开讲授内容的示范性网络系统300的示意图,其中使用了DS 200。DS 200借助于HB 212连接到主机310。当主机310需要从网络存储器读取数据时,就将命令经由HB 212发送到DS 200。DS 200处理“读取”请求并且有效地处理从网络存储器(NS)320中检索数据。当来自基本网络块中的NS 320的数据被接收时,它们被有效地组合在对应于DS 200的存储器250中。把数据组合成所请求读取的信息不是通过移动数据来完成的,而是通过一种高级指向系统来完成的,下面给出该系统的更详细解释。
具体地说,当数据沿着通信模型移动时,指针被用来指向通信模型的每层所需要的数据,而不是在存储器中把数据从一个位置移植或者说移动到另一位置。类似地,当主机310命令DS 200把数据写入NS320时,DS 200处理这个请求的做法是把数据存储在存储器250中,并且向下处理通过通信模型,而不是实际上移动存储器250内的数据。这导致更快速的操作。此外,主机的计算负担更少,存储器使用率也得到了相当大的节省。
虽然主机310被显示为通过HB 212连接到数据流部件200,但是使用其中一个网络接口222来连接主机310和数据流部件200也是可能的,该网络接口222要能够支持用于与主机310通信的特定通信协议。在本发明公开技术的另一个替代性实施方案中,主机310仅仅用于初始时配置所述系统。其后,所有的操作都在网络222上执行。
图4示意性地描述了入口400的处理,示意性地说明了从网络到系统的数据流。在每个步骤中,数据(最初作为分组流被接收)被合并或描述(delineated)成要被传送到主机的有意义的信息单元。用于数据组帧的入口步骤包括NI 220提供的链路接口410、AC 240提供的接纳420、DIMM 230和EQMS 260提供的缓冲和排队430、各PN 270提供的层3和层4处理440、EQMS 260提供的字节流排队450。上层协议(ULP)描述和恢复460和ULP处理470也由各PN 270支持。被指定用来将数据传送到主机480、490的各种其它类型的控制和握手操作由HI 210和总线212提供,而被指定用来将数据传送到网络485、495的操作则由NI 220和接口222支持。应当进一步指出,在入口400的所有步骤中都涉及CH 290。
ULP符合七层通信模型的第五、第六和第七层的协议。所有这类操作都由数据流部件200来执行。对本发明公开讲授内容的效率有贡献的因素是以一种不需要像在常规技术中那样移动数据的方式来管理数据的描述(delineation)。
图5示出了用以访问数据的技术,其中该数据是由从每个分组接收的有效载荷数据来描述的。当接收到由其唯一元组所标识的属于唯一过程的分组时,各PN 270上的EQMS 260使得一个目标队列和一个应用队列成为可用的。这展示于图5A中,其中,由于一个数据分组的到达,提供了目标队列520以及描述符指针540。描述符指针540指向存储器250中的存储单元552A,其中,相对于层2的分组报头被放置在存储单元552A中。这被重复用于相对于层3和层4的报头。它们分别被放置在存储单元553A和554A中。然后,应用报头被放置在555A中。这个操作是通过DIMM 230来执行的。
与打开的目标队列520相结合,应用队列530也被有效地用于所有与处理流程有关的有效载荷。每当关于通信层的信息被接受,包含在描述符540中的指针就被提前,因此这类报头被置于552A、553A、554A中而且555A可用于将来的检索。所属技术领域的专业人员可以容易地实现队列(或其它类似的数据结构)以用于检索这类数据。
在图5B中,所示的系统500是它已经从层2、层3和层4接收了全部信息并且准备接受对应于分组的应用报头的时候。因此,对描述符540的控制被转移到应用队列530。应用队列530保存与应用报头的开始地址(在存储器250中)相关的信息。
在图5C中,所示的系统500已经接收了上述应用报头。描述符540现在指向有效载荷557A在其到达时所放置的位置。数据在PN 270和CH290的控制下经由DIMM 230被传送到存储器250。因为有效载荷还没有被接收,所以此时没有指向有效载荷末尾的指针。一旦最终将要被传送到主机的有用的有效载荷数据可用,则指针就将被更新。应用数据的开始和结束指针被保留在应用队列中,确保当数据被传送到主机时易于对其定位。另外,不需要把数据从存储器的一部分移动到另一部分,从而节省了时间和存储空间,这导致更高的总体性能。
图5D显示另一个分组,该分组被接受且由此提供了新的描述符指针540B,它具有来自目标队列520的一个指针。最初,描述符540B指向第二层552B存储单元的开始的地址。
在图5E中,层2、3和4的信息已经被接收,并且该元组被系统标识为属于前面已接收分组的同一元组。因此,描述符540A现在指向描述符540B,并且描述符540B指向存储在存储器250中的第四层信息的结束地址。在本例所描述的情况中,不存在处于完全可接受情况下的应用报头。应当指出,当所有的分组都具有有效载荷时,并非所有的分组都有应用报头,如本例所示。在图5示出的例子中,第一分组有应用报头,第二分组没有应用报头,而第三分组有应用报头。所有3个分组全都具有有效载荷。
如图5F所示,当另一个分组被接收时,在存储器250中会添加一个新的描述符指针540C,它指向层2、3、4和潜在应用报头的报头信息集合的开始位置。
在图5G中,在DIMM 230和被标识为属于已接收的相同分组的元组的控制下,分别对应于552C、553C、554C和555C的层2、层3、层4和应用报头的信息被存储在存储器250中。因此,描述符540B指向描述符540C。
如图5H所示,这个分组包含一个应用报头,由此描述符540C指向在存储器250中放置此报头的开始的地址,而图5I示出整个应用报头被接收之后的情况。正如上面所解释的,应用报头的开始和结束地址被存储在应用队列530中,因此很容易把它们以及有效载荷传送到主机310。在一些协议如iSCSI中,只有数据有效载荷会被传送到主机,而在其它情况下,ULP有效载荷和报头都可以被传送到主机。为了以一种适于将数据和报头传送到主机310的方式进行系统配置,数据流部件200可以使用内置固件或者使用通过扩展码280提供的附加码。
图6显示了出口600,数据通过这个处理从主机传送到网络。应用数据在将其发送给目标网络位置的上层请求下,从主机310被接收到存储器250。数据流部件200被设计成它无需多次移动数据就能够处理主机数据以符合每个通信层的需要。这样就减少了数据传输数量,使得内存需求更小并且使得总体性能得到提高。事件队列管理器和调度器260管理来自主机310而现在被存储在存储器250中的数据的分解,数据被分解成被附着于分组报头上的有效载荷数据,这可以被认为适合于具体的网络业务。为了指向一个地址,而这个地址接下来将被用为附着于分组的数据,使用了指向存储在存储器250中的数据的指针,这些指针使用了一个排队系统。一旦存储在存储器中的所有数据都被发送到其目的地,主机310就得到一个数据传输完成的指示。
通过上述公开内容和讲授,本发明的其它修改和变化对于所属领域的技术人员会变得显而易见。因此,虽然在此只具体描述了本发明的某些实施例,但是显然可以在不背离本发明精神和范围的前提下额外作出很多修改。
Claims (17)
1.一种网络系统,包括:
一个主机;
一个连接到所述主机的数据流部件,在所述数据流部件进行处理的过程中,通过使用所述数据流部件中的存储器而不在该存储器的存储单元之间移动数据,所述数据流部件能够在一个通信链路上在所述主机和网络资源之间传输数据,所述数据流部件包括:
多个处理节点,其能够产生网络层操作所需的数据和命令,每个处理节点被连接到一个数据互连和存储管理器,所述处理节点对来自一个事件队列管理器和调度器的控制信号进行响应;
一个网络接口,其被连接到所述数据互连和存储管理器和一个接纳和分类单元,而且该接纳和分类单元被进一步连接到所述数据互连和存储管理器,以提供接收数据的分类信息;
一个主机接口,其被连接到所述数据互连和存储管理器;
一个控制集线器,其能够控制所述主机接口的操作以及所述事件队列管理器和调度器,并且对来自所述多个处理节点的控制信号进行响应。
2.根据权利要求1的系统,其中所述网络资源包括网络存储装置。
3.根据权利要求1的系统,其中,所述通信链路是从包含PCI、PCI-X、3GIO、InfiniBand、SPI-3或SPI-4的群中选择的。
4.根据权利要求1的系统,其中所述通信链路是选自以下一组链路:局域网链路,基于以太网的链路,广域网链路,基于网际协议的链路,使用异步传输模式协议的链路。
5.根据权利要求1的系统,其中所述处理节点是网络事件处理节点,进一步的是,所述网络事件处理节点选自以下节点:分组处理节点,报头处理节点。
6.根据权利要求1的系统,其中所述主机与所述主机接口之间的接口是从包含PCI、PCI-X、3GIO、InfiniBand、SPI-3、SPI-4的群中选择的。
7.根据权利要求1的系统,其中所述事件队列管理器和调度器至少能够管理:
一个目标队列;和
一个应用队列。
8.根据权利要求7的系统,其中当第一个报头被处理时,所述目标队列指向第一描述符。
9.根据权利要求8的系统,其中被处理的报头选自以下一组报头:第二通信层报头,第三通信层报头,第四通信层报头。
10.一种在网络中使用的数据流部件,所述数据流部件包括:
至少一个主机接口,其被用于与主机连接;
至少一个网络接口,其被用于与网络资源连接;
至少一个处理节点,其能够产生网络层操作所需的辅助数据和命令;
一个最初处理数据的接纳和分类单元;
一个事件队列管理器和调度器,其被用于排队和调度所述至少一个处理节点处理的数据,所述事件队列管理器和调度器被用于响应来自所述主机接口和所述接纳和分类单元的控制信号,向所述至少一个处理节点发送控制信号;
一个数据互连和存储管理器,其被用来管理存储器,并从所述接纳和分类单元接收数据,所述数据互连和存储管理器与所述至少一个主机接口、所述至少一个网络接口、所述至少一个处理节点、以及所述接纳和分类单元均相连;和
一个控制集线器,其被用于响应来自所述至少一个处理节点的控制信号,向所述至少一个主机接口和所述事件队列管理器发送控制信号。
11.根据权利要求10的数据流部件,其中所述处理节点是网络事件处理节点,所述网络事件处理节点选自以下节点:分组处理节点,报头处理节点。
12.根据权利要求10的数据流部件,其中所述主机接口是从包含PCI、PCI-X、3GIO、InfiniBand、SPI-3、SPI-4的群中选择的。
13.根据权利要求10的数据流部件,其中所述事件队列管理器至少能够管理:
一个目标队列;
一个应用队列。
14.根据权利要求13的数据流部件,其中当第一个报头被处理时,所述目标队列指向第一描述符。
15.根据权利要求13的数据流部件,其中被处理的报头选自以下一组报头:第二通信层报头,第三通信层报头,第四通信层报头。
16.一种把应用数据从网络传送到主机的方法,包括:
a)从网络资源中接收数据的报头;
b)如果所述报头不属于已打开的描述符,则打开一个新的描述符;
c)在一个目标队列中存储所述报头的开始地址和结束地址;
d)如果有至少一个应用报头可用,则把所述描述符的控制转移到一个应用队列;
e)在应用队列中存储所述应用报头的开始和结束地址;
f)重复a到e的各步骤,直到所有应用报头都是可用的为止;和
g)基于所述应用报头把数据传送到所述主机。
17.一种把应用数据从主机传送到网络资源的方法,包括:
a)从所述主机接收数据;
b)从所述主机接收目标地址;
c)在一个传输队列中使传送信息排队;
d)更新一个描述符,该描述符指向接下来将要被传送的应用数据部分;
e)产生用于传输的报头;
f)把所述应用数据部分附加到所述报头上;
g)在网络上传输所述的应用数据部分和报头;
h)重复d到g的各步骤,直到所有的应用数据都被发送为止;和
i)向所述主机指示该传输已经完成。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/014,602 US20030115350A1 (en) | 2001-12-14 | 2001-12-14 | System and method for efficient handling of network data |
US10/014,602 | 2001-12-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1628296A CN1628296A (zh) | 2005-06-15 |
CN1315077C true CN1315077C (zh) | 2007-05-09 |
Family
ID=21766455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028280016A Expired - Fee Related CN1315077C (zh) | 2001-12-14 | 2002-12-16 | 有效处理网络数据的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20030115350A1 (zh) |
EP (1) | EP1466263A4 (zh) |
CN (1) | CN1315077C (zh) |
AU (1) | AU2002346492A1 (zh) |
WO (1) | WO2003052617A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106160741A (zh) * | 2008-04-29 | 2016-11-23 | 高通股份有限公司 | 控制数字锁相环(dpll)中的功率消耗的系统和方法 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU7060300A (en) | 1999-08-16 | 2001-03-13 | Iready Corporation | Internet jack |
US7039717B2 (en) * | 2000-11-10 | 2006-05-02 | Nvidia Corporation | Internet modem streaming socket method |
US7379475B2 (en) * | 2002-01-25 | 2008-05-27 | Nvidia Corporation | Communications processor |
US7171452B1 (en) | 2002-10-31 | 2007-01-30 | Network Appliance, Inc. | System and method for monitoring cluster partner boot status over a cluster interconnect |
US7593996B2 (en) * | 2003-07-18 | 2009-09-22 | Netapp, Inc. | System and method for establishing a peer connection using reliable RDMA primitives |
US7716323B2 (en) * | 2003-07-18 | 2010-05-11 | Netapp, Inc. | System and method for reliable peer communication in a clustered storage system |
US7467191B1 (en) | 2003-09-26 | 2008-12-16 | Network Appliance, Inc. | System and method for failover using virtual ports in clustered systems |
US8549170B2 (en) * | 2003-12-19 | 2013-10-01 | Nvidia Corporation | Retransmission system and method for a transport offload engine |
US7899913B2 (en) * | 2003-12-19 | 2011-03-01 | Nvidia Corporation | Connection management system and method for a transport offload engine |
US8176545B1 (en) | 2003-12-19 | 2012-05-08 | Nvidia Corporation | Integrated policy checking system and method |
US8065439B1 (en) | 2003-12-19 | 2011-11-22 | Nvidia Corporation | System and method for using metadata in the context of a transport offload engine |
US20050138238A1 (en) * | 2003-12-22 | 2005-06-23 | James Tierney | Flow control interface |
US7249227B1 (en) * | 2003-12-29 | 2007-07-24 | Network Appliance, Inc. | System and method for zero copy block protocol write operations |
US7340639B1 (en) | 2004-01-08 | 2008-03-04 | Network Appliance, Inc. | System and method for proxying data access commands in a clustered storage system |
US7249306B2 (en) * | 2004-02-20 | 2007-07-24 | Nvidia Corporation | System and method for generating 128-bit cyclic redundancy check values with 32-bit granularity |
US7206872B2 (en) * | 2004-02-20 | 2007-04-17 | Nvidia Corporation | System and method for insertion of markers into a data stream |
US7698413B1 (en) | 2004-04-12 | 2010-04-13 | Nvidia Corporation | Method and apparatus for accessing and maintaining socket control information for high speed network connections |
US8621029B1 (en) | 2004-04-28 | 2013-12-31 | Netapp, Inc. | System and method for providing remote direct memory access over a transport medium that does not natively support remote direct memory access operations |
US7328144B1 (en) | 2004-04-28 | 2008-02-05 | Network Appliance, Inc. | System and method for simulating a software protocol stack using an emulated protocol over an emulated network |
US7957379B2 (en) * | 2004-10-19 | 2011-06-07 | Nvidia Corporation | System and method for processing RX packets in high speed network applications using an RX FIFO buffer |
US8073899B2 (en) * | 2005-04-29 | 2011-12-06 | Netapp, Inc. | System and method for proxying data access commands in a storage system cluster |
US8484365B1 (en) | 2005-10-20 | 2013-07-09 | Netapp, Inc. | System and method for providing a unified iSCSI target with a plurality of loosely coupled iSCSI front ends |
US7526558B1 (en) | 2005-11-14 | 2009-04-28 | Network Appliance, Inc. | System and method for supporting a plurality of levels of acceleration in a single protocol session |
US7797570B2 (en) * | 2005-11-29 | 2010-09-14 | Netapp, Inc. | System and method for failover of iSCSI target portal groups in a cluster environment |
US7734947B1 (en) | 2007-04-17 | 2010-06-08 | Netapp, Inc. | System and method for virtual interface failover within a cluster |
US7958385B1 (en) | 2007-04-30 | 2011-06-07 | Netapp, Inc. | System and method for verification and enforcement of virtual interface failover within a cluster |
US8688798B1 (en) | 2009-04-03 | 2014-04-01 | Netapp, Inc. | System and method for a shared write address protocol over a remote direct memory access connection |
EP3010160A1 (en) | 2010-04-01 | 2016-04-20 | LG Electronics Inc. | Compressed ip-plp stream with ofdm |
US9002982B2 (en) * | 2013-03-11 | 2015-04-07 | Amazon Technologies, Inc. | Automated desktop placement |
US9485333B2 (en) * | 2013-11-22 | 2016-11-01 | Freescale Semiconductor, Inc. | Method and apparatus for network streaming |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5793954A (en) * | 1995-12-20 | 1998-08-11 | Nb Networks | System and method for general purpose network analysis |
WO2000052883A2 (en) * | 1999-03-01 | 2000-09-08 | Sun Microsystems, Inc. | Method and apparatus for dynamic packet batching with a high perfromance network interface |
WO2000052897A2 (en) * | 1999-03-01 | 2000-09-08 | Sun Microsystems, Inc. | Dynamic parsing in a high performance network interface |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1108325B (it) * | 1978-04-10 | 1985-12-09 | Cselt Centro Studi Lab Telecom | Procedimento e dispositivo di in stradamento per una rete di comunicazione a commutazione di pacchetto |
US4525830A (en) * | 1983-10-25 | 1985-06-25 | Databit, Inc. | Advanced network processor |
CA1294843C (en) * | 1988-04-07 | 1992-01-28 | Paul Y. Wang | Implant for percutaneous sampling of serous fluid and for delivering drug upon external compression |
US5303344A (en) * | 1989-03-13 | 1994-04-12 | Hitachi, Ltd. | Protocol processing apparatus for use in interfacing network connected computer systems utilizing separate paths for control information and data transfer |
US5163131A (en) * | 1989-09-08 | 1992-11-10 | Auspex Systems, Inc. | Parallel i/o network file server architecture |
JP3130609B2 (ja) * | 1991-12-17 | 2001-01-31 | 日本電気株式会社 | オンライン情報処理装置 |
JPH05252228A (ja) * | 1992-03-02 | 1993-09-28 | Mitsubishi Electric Corp | データ伝送装置及びその通信路管理方法 |
US5671355A (en) * | 1992-06-26 | 1997-09-23 | Predacomm, Inc. | Reconfigurable network interface apparatus and method |
JPH08180001A (ja) * | 1994-04-12 | 1996-07-12 | Mitsubishi Electric Corp | 通信方式及び通信方法及びネットワークインタフェース |
JP3247540B2 (ja) * | 1994-05-12 | 2002-01-15 | 株式会社日立製作所 | パケット化通信装置および切替え装置 |
US5548730A (en) * | 1994-09-20 | 1996-08-20 | Intel Corporation | Intelligent bus bridge for input/output subsystems in a computer system |
US5634099A (en) * | 1994-12-09 | 1997-05-27 | International Business Machines Corporation | Direct memory access unit for transferring data between processor memories in multiprocessing systems |
US5566170A (en) * | 1994-12-29 | 1996-10-15 | Storage Technology Corporation | Method and apparatus for accelerated packet forwarding |
JP3335081B2 (ja) * | 1995-07-03 | 2002-10-15 | キヤノン株式会社 | パケット通信を行なうネットワークシステムにおいて用いるノード装置、それを用いるネットワークシステム及びそこで用いる通信方法 |
US5752078A (en) * | 1995-07-10 | 1998-05-12 | International Business Machines Corporation | System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory |
US5812775A (en) * | 1995-07-12 | 1998-09-22 | 3Com Corporation | Method and apparatus for internetworking buffer management |
US5758186A (en) * | 1995-10-06 | 1998-05-26 | Sun Microsystems, Inc. | Method and apparatus for generically handling diverse protocol method calls in a client/server computer system |
US5954794A (en) * | 1995-12-20 | 1999-09-21 | Tandem Computers Incorporated | Computer system data I/O by reference among I/O devices and multiple memory units |
US5684826A (en) * | 1996-02-08 | 1997-11-04 | Acex Technologies, Inc. | RS-485 multipoint power line modem |
US5797099A (en) * | 1996-02-09 | 1998-08-18 | Lucent Technologies Inc. | Enhanced wireless communication system |
US5930830A (en) * | 1997-01-13 | 1999-07-27 | International Business Machines Corporation | System and method for concatenating discontiguous memory pages |
US5943481A (en) * | 1997-05-07 | 1999-08-24 | Advanced Micro Devices, Inc. | Computer communication network having a packet processor with subsystems that are variably configured for flexible protocol handling |
US6167480A (en) * | 1997-06-25 | 2000-12-26 | Advanced Micro Devices, Inc. | Information packet reception indicator for reducing the utilization of a host system processor unit |
US5991299A (en) * | 1997-09-11 | 1999-11-23 | 3Com Corporation | High speed header translation processing |
US6687758B2 (en) * | 2001-03-07 | 2004-02-03 | Alacritech, Inc. | Port aggregation for network connections that are offloaded to network interface devices |
US6226680B1 (en) * | 1997-10-14 | 2001-05-01 | Alacritech, Inc. | Intelligent network interface system method for protocol processing |
US6807581B1 (en) * | 2000-09-29 | 2004-10-19 | Alacritech, Inc. | Intelligent network storage interface system |
US6591302B2 (en) * | 1997-10-14 | 2003-07-08 | Alacritech, Inc. | Fast-path apparatus for receiving data corresponding to a TCP connection |
US6081883A (en) * | 1997-12-05 | 2000-06-27 | Auspex Systems, Incorporated | Processing system with dynamically allocatable buffer memory |
US6314100B1 (en) * | 1998-03-26 | 2001-11-06 | Emulex Corporation | Method of validation and host buffer allocation for unmapped fibre channel frames |
US6426943B1 (en) * | 1998-04-10 | 2002-07-30 | Top Layer Networks, Inc. | Application-level data communication switching system and process for automatic detection of and quality of service adjustment for bulk data transfers |
US6246683B1 (en) * | 1998-05-01 | 2001-06-12 | 3Com Corporation | Receive processing with network protocol bypass |
US6185607B1 (en) * | 1998-05-26 | 2001-02-06 | 3Com Corporation | Method for managing network data transfers with minimal host processor involvement |
WO2000003522A1 (en) * | 1998-07-08 | 2000-01-20 | Broadcom Corporation | A method of sending packets between trunk ports of network switches |
US6675218B1 (en) * | 1998-08-14 | 2004-01-06 | 3Com Corporation | System for user-space network packet modification |
US6587431B1 (en) * | 1998-12-18 | 2003-07-01 | Nortel Networks Limited | Supertrunking for packet switching |
US6738821B1 (en) * | 1999-01-26 | 2004-05-18 | Adaptec, Inc. | Ethernet storage protocol networks |
US6453360B1 (en) * | 1999-03-01 | 2002-09-17 | Sun Microsystems, Inc. | High performance network interface |
US6243359B1 (en) * | 1999-04-29 | 2001-06-05 | Transwitch Corp | Methods and apparatus for managing traffic in an atm network |
US6675200B1 (en) * | 2000-05-10 | 2004-01-06 | Cisco Technology, Inc. | Protocol-independent support of remote DMA |
US6772216B1 (en) * | 2000-05-19 | 2004-08-03 | Sun Microsystems, Inc. | Interaction protocol for managing cross company processes among network-distributed applications |
JP2002208981A (ja) * | 2001-01-12 | 2002-07-26 | Hitachi Ltd | 通信方法 |
-
2001
- 2001-12-14 US US10/014,602 patent/US20030115350A1/en not_active Abandoned
-
2002
- 2002-12-16 WO PCT/US2002/037607 patent/WO2003052617A1/en not_active Application Discontinuation
- 2002-12-16 EP EP02784557A patent/EP1466263A4/en not_active Withdrawn
- 2002-12-16 CN CNB028280016A patent/CN1315077C/zh not_active Expired - Fee Related
- 2002-12-16 AU AU2002346492A patent/AU2002346492A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5793954A (en) * | 1995-12-20 | 1998-08-11 | Nb Networks | System and method for general purpose network analysis |
WO2000052883A2 (en) * | 1999-03-01 | 2000-09-08 | Sun Microsystems, Inc. | Method and apparatus for dynamic packet batching with a high perfromance network interface |
WO2000052897A2 (en) * | 1999-03-01 | 2000-09-08 | Sun Microsystems, Inc. | Dynamic parsing in a high performance network interface |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106160741A (zh) * | 2008-04-29 | 2016-11-23 | 高通股份有限公司 | 控制数字锁相环(dpll)中的功率消耗的系统和方法 |
CN106160741B (zh) * | 2008-04-29 | 2019-08-13 | 高通股份有限公司 | 控制数字锁相环(dpll)中的功率消耗的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
AU2002346492A1 (en) | 2003-06-30 |
EP1466263A1 (en) | 2004-10-13 |
WO2003052617A1 (en) | 2003-06-26 |
CN1628296A (zh) | 2005-06-15 |
US20030115350A1 (en) | 2003-06-19 |
EP1466263A4 (en) | 2007-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1315077C (zh) | 有效处理网络数据的系统和方法 | |
CN1276372C (zh) | 智能网络存储接口系统和装置 | |
CN1151639C (zh) | 连网系统 | |
JP5640234B2 (ja) | マネージド・ネットワークでのレイヤ2のパケット集約及び断片化 | |
CN1205562C (zh) | 总线系统的分隔事务协议 | |
US8874797B2 (en) | Network interface for use in parallel computing systems | |
US6760304B2 (en) | Apparatus and method for receive transport protocol termination | |
CN1179283C (zh) | 数据通信的方法和数据通信的集线器 | |
US20080126564A1 (en) | Multiple context single logic virtual host channel adapter supporting multiple transport protocols | |
CN1679282A (zh) | Tcp卸载的系统和方法 | |
CN1505888A (zh) | 网络设备中的选择式数据帧丢失 | |
CN1599319A (zh) | 用于管理通过网络的数据传输的方法,系统和程序 | |
CN1798102A (zh) | 在交换结构网络中仲裁虚拟信道传输队列 | |
CN1859327A (zh) | 一种消息传递的方法、装置和系统 | |
CN1276629C (zh) | 基于Netfilter架构的流媒体集群服务内容调度方法 | |
CN1543149A (zh) | 网络环境中的流控制 | |
CN1263262C (zh) | 用于处理带宽分配消息的系统和方法 | |
CN1846409A (zh) | 用于基于传输控制协议话务流特征进行超高速缓存查找的设备和方法 | |
CN1449160A (zh) | 用于包括无阻塞交换结构和线路卡接口的系统的包调度 | |
CN1826768A (zh) | 利用动态资源分配进行的大规模排队的可扩展方法 | |
CN1777145A (zh) | 路由器及使用其管理分组队列的方法 | |
CN1674538A (zh) | 一种基于局域网的网络存储系统及其读写数据方法 | |
CN1499751A (zh) | 数据发射装置、发射和接收数据的方法及数据通信系统 | |
JP2000067017A (ja) | デ―タ通信方法及びデ―タ通信装置 | |
CN1281037C (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 | ||
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 |