CN1638319B - 用于传输卸载引擎的重发系统和方法 - Google Patents

用于传输卸载引擎的重发系统和方法 Download PDF

Info

Publication number
CN1638319B
CN1638319B CN2004101049810A CN200410104981A CN1638319B CN 1638319 B CN1638319 B CN 1638319B CN 2004101049810 A CN2004101049810 A CN 2004101049810A CN 200410104981 A CN200410104981 A CN 200410104981A CN 1638319 B CN1638319 B CN 1638319B
Authority
CN
China
Prior art keywords
data
state information
offload engine
processor
change
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.)
Active
Application number
CN2004101049810A
Other languages
English (en)
Other versions
CN1638319A (zh
Inventor
米纳米·约翰·希吉托
约翰逊·迈克尔·瓦尔德
库里德·安德鲁
卡努里·姆鲁杜拉
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.)
Nvidia Corp
Original Assignee
Nvidia 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 Nvidia Corp filed Critical Nvidia Corp
Publication of CN1638319A publication Critical patent/CN1638319A/zh
Application granted granted Critical
Publication of CN1638319B publication Critical patent/CN1638319B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers

Abstract

一种系统和方法,该系统和方法用于在网络中进行数据重发。该系统和方法包括一个卸载引擎,该卸载引擎与系统存储器以及网络进行通信。该卸载引擎用于管理网络中被发送数据的重发。

Description

用于传输卸载引擎的重发系统和方法
技术领域
本发明是关于用于传输卸载引擎,更特别的,是关于利用卸载引擎处理重发请求。
背景技术
传输卸载引擎(TOE)包含为优化处理能力和降低处理器的利用的目的而在高速系统中得到普及的技术。TOE组件经常被整合在各种印刷电路板中的一种,所述印刷电路板例如网卡(NIC)、主机总线适配器(HBA)、主板或任何其它希望的卸载设备(offloadingcontext)。
近年来,系统通讯速度的增长远高于处理器速度的增长,这已经产生了一个输入/输出(I/O)瓶颈。处理器主要被设计用于计算,而不是用于I/O;因而典型地跟不上遍及网络的数据流。因而,数据流的处理速度小于网络速度。TOE技术通过从处理器和/或I/O子系统除去负荷(例如卸载)解决了这个问题。
现有技术的图1显示了一个TOE的典型的操作100。如现有技术的图1所示,一个本地处理器(任何形式)首先向TOE发送一个传输数据的指令,以根据传输控制协议(TCP)连接,从具有TOE的处理器向网络上的一个远端处理器传输数据,见操作102。
接着,在操作104,TOE获得该数据,并将其分成多个分段,并向每一个数据段加上以太网、TCP、和网络协议(IP)标头,以生成一个对应于每一个数据段的TCP/IP信息包。此后,TOE将得到的信息包发送到网络,如操作106所示。
远端处理器接收并确认该信息包后,远端处理器向本地处理器发回确认(ACK),以指示有多少数据已被成功接收。一旦接收一条用于所有已发送数据的ACK(见判定108),则TOE发送一条完成指令到本地处理器,以指示发送指令已通过TOE的传输功能被完成,见操作110。然后额外数据可以被发送,如操作112所示。
如果TOE在相应的信息包发出后的一个预定的时间没有收到ACK,这指示了一个出错的情况,TCP数据被从TOE的存储器重新取出,见操作114。然后在操作116,TOE可以重发部分或全部未被确认的信息包。
因此,当通过一个信息包转换的网络传输数据时,数据可能丢失,且这些数据必须被重发。因为这个原因,TOE存储所有未被确认的数据。但是,使用一个10Gbps的连接和一个可能的200ms的来回程延迟的广域网,这可能意味着大到10Gbps×200ms,或者说2千兆的信息必须被存储。不幸的是,这么大量的数据很难以成本节约的方式存储在一个集成的TOE上,因为在TOE上的集成电路存储器可能是非常昂贵的。
因而需要有一种经济有效的技术用于实现网络重发。
发明内容
本发明提供了一种用于在网络上实现数据重发的系统和方法,包括一个与系统存储器和一个网络通信连接的卸载引擎。该卸载引擎用于管理网络中被发送的数据的重发。
为了实现这一目的,该卸载引擎确定那些需要重发的数据,找回存储在系统存储器中的那些需要重发的数据,并发送这些找回的数据。通过以这样一种方式利用系统存储器,本发明提供了一种用于完成网络重发的经济有效的技术。
在一个实施例中,该卸载引擎可以发送一个状态到一个处理器,以启动需要重发的数据的找回。优选的,这个状态信息可以基于收到的至少一个确认或确认缺失(由于超时等)而发送。而且,该状态信息可以包括一个用于控制模块的句柄(handle),该句柄用于接口(socket)、序列号和/或与重发请求相关的重发数据的大小。
而且,响应该状态信息,处理器可以向卸载引擎发送一个重发指令信息。该重发指令信息可以包括一个序列号、指向一个主机缓冲的指针(pointer)等。需要注意的是,该指针可以由卸载引擎和/或处理器来维护。
优选的,该重发指令信息还可以包含一个补偿,该补偿与指针共同使用,以确定需要重发的数据。如果需要重发的数据缓冲(buffer)只有部分被确认,则该重发指令信息可以优选地包含这个补偿。而且,该重发指令信息可以包含一个用于控制模块的句柄,该句柄用于接口。
使用中,卸载引擎可以请求一个直接存储访问(DMA)以响应重发指令信息,找回需要重发的数据。响应需要重发的数据的接收,卸载引擎可以启动一个涉及序列号的比较。此后,卸载引擎可以根据比较重发该数据。
需注意到的是,系统存储器可以通过一根总线连接到一个处理器和/或驻留在该处理器上。而且,该卸载引擎可以包括一个接收器、一个轮询器、存储器、一个状态信息发生器、一个解析器、一个发送请求器、一个DMA队列(queue)、一个信息包发生器和/或其它任何需要的组件。
附图说明
图1为现有技术的用于从一个主机发送和重发数据的方法的流程图,该主机具有界面设备,例如一个卸载引擎。
图2显示了根据一个实施例的一个网络系统。
图3显示了一个典型的结构,该结构可以实现一个实施例。
图4显示了根据一个实施例的、在网络中进行数据重发的一个典型的方法。
图5显示了根据一个实施例的、用于产生重发指令信息的一个典型的方法。
图6显示了根据一个实施例的、用于处理重发请求的一个典型的设计和操作。
图7显示了根据一个实施例的、用于跟踪数据发送的SGL的一个典型的设计。
具体实施方式
根据一个实施例,图2显示了一个网络系统200。如图所示,提供了一个网络202。在本网路系统200的上下文中,网络系统202可以采用任何形式,包括但不局限于:局域网(LAN)、广域网(WAN)例如互联网等。
连接到网络202的是一个本地主机204和一个远端主机206,它们能够通过网络202进行通信。在现有描述的上下文中,这些主机204、206可以是网络服务器、桌面电脑、笔记本电脑、手提电脑、打印机或任何其它类型的硬件/软件。需要注意的是,每一个前述组件以及其它任何未说明的设备都可以通过一个或多个网络相互连接。
图3为一个典型的结构300,该结构可以实现一个实施例。在一个实施例中,该结构300可以表示图2的主机204、206中的一个。当然,虽然这样,应该注意到,结构300可以在任何希望的上下文中实现。
例如,结构300可以在下列情况下实现:常规计算机系统、电路板系统、用于娱乐目的的游戏控制系统、机顶盒、路由器、网络系统、存储系统、特定应用系统或与网络202相关的任何其它希望的系统。
如图所示,结构300包括多个通过一根总线302相连接的组件,包括至少一个用于处理数据的处理器304。而该处理器304可以采用任何形式,在一个实施例中,处理器304采用的形式有:中央处理单元(CPU)、芯片组(例如一组集成电路等,设计成作为一个单元用于实现相关功能),或任何其它希望的能够处理数据的处理设备。
另外,结构300还包括一个处理系统存储器306,与处理器304相互通信以用于存储数据。该处理系统存储器306可以采用的形式包括:机载(on-board)或离机(off-board)随机访问存储器(RAM),硬盘驱动器,可移动存储驱动器(例如软盘驱动器、磁盘驱动器、光盘驱动器等),和/或任意其它形式的可用于存储数据的希望的存储器。
使用中,优选的,程序、控制逻辑算法可以任意地存储于处理系统存储器306。当执行时,这些程序使结构300完成各种功能。当然,结构300可以简单地直接连接。
此外还显示了一个与处理器304和网络(例如图2所示的网络202)通信的卸载引擎312。在一个实施例中,卸载引擎312可以通过总线302保持与处理器304的通信。当然,尽管这样,卸载引擎312可以通过任意提供相互间连接的设备保持与处理器304之间的通信。卸载引擎312可以包括一个传输(例如TCP/IP)卸载引擎(TOE),或任意能够管理网络中传输的数据的集成电路。
在操作中,为了提供一种用于实现网络重发的经济有效的技术,该卸载引擎312用于确定需要重发的数据,找回存储在系统存储器(例如,处理器系统存储器306)中的需要重发的数据,并重发那些找回的数据。通过使用系统存储器存储那些重发的数据,卸载引擎312的生产可以具有更小的集成存储器或不需要存储器。从而提供了一种更为经济有效的技术。参考让卸载引擎312以前述方式使用系统存储器的典型的方法,更多的信息可以被提供。
根据一个实施例,图4显示了一种在网络上进行数据重发的典型的方法400。作为选择,方法400可以在图3的典型结构300的上下文中实现。当然,尽管这样,应该注意的是,方法400可以在任何所希望的上下文中实现。而且,重要的是应当理解,如果可以给这些典型组件(例如上述的各种组件)分配各种功能,则所述各种功能可以通过任何希望的实体(entity)实现。
如图所示,在判断401中,该判断是确定确保数据重发的标准是否满足。正是通过例中的方式,所述标准可以基于以下事项:至少一个确认(ACK)或确认缺失、一个重复的ACK阀值、超时、各种计时参数和/或任何其它希望的标准。例如,在一个例子中,该标准包括一个重复的ACK阀值,该重复的ACK阀值可以是任何预先设定的,或用户设定的接收的ACK的数量,或其它任何与ACK相关的参数。在本描述的上下文中,ACK包括任何从接收主机发送到发送主机的、指示数据已被成功发送的信号。
通过判断401,如果重发的标准被确定为符合,则生成一条状态信息,并发送到一个处理器(例如图3的处理器304),如操作402所示。在一个实施例中,是利用一个卸载引擎(例如图3的卸载引擎312)生成该状态信息。而且,状态信息可以采用任何能够请求存储于系统存储器(例如图3的存储器306)的数据重发的形式。
作为选择,该状态信息可以包括便于请求数据重发的各种信息。例如,该状态信息可以包括一个序列号。在本发明的上下文中,这种序列号可以包括与重发的数据相关的号码,该号码反映该数据相对于其它发送数据的顺序。
作为又一个选择,该状态信息可以包括重发数据的大小。典型的,该重发数据的大小是以字节规定的数据、例如一个远端主机能够在一个单一的、未分段的片段中处理的数据的最大值。重发数据的大小也可以根据本地主机接收到的远端主机的ACK而规定。在这种情况下,远端主机可以请求多个用于重发的TCP信息包。而且,该状态信息可以包括一个用于接口的控制模块(CB)句柄,或任何其它希望的信息。应该注意,所述CB可以包括各种信息,例如与最新确认的数据相关的信息。
表1显示了一个典型的状态信息的格式。该格式仅用于说明的目的,不应认为是任何方式的限制。
表1
Figure S041A4981020050117D000051
接着,作为对该状态信息的响应,处理器生成一条重发指令信息并发送到该卸载引擎。见操作404。在本描述的上下文中,重发指令信息包括任何便于找回需要重发的数据的信息,其方式将在下面被阐述。参考图5,与这个重发指令信息相关的更多信息将被更加详细地阐述。
作为对重发指令信息的响应,该卸载引擎将请求一个直接存储访问(DMA),见操作406。请求该DMA是为了找回存储在系统存储器中的需要被重发的数据。应该注意,在本描述的上下文中,DMA可以允许数据从存储器直接发送,这样,处理器可以避免被卷入特定数据的发送,从而加快了整个操作。
一旦成功完成DMA,并且所述数据也被接收,接着根据即时数据,确定是否接收到ACK,在此同时,各种前述的操作也被执行,见判定408。这个操作可以通过任何所希望的方式完成,优选的,可以通过启动一个上述序列号的比较来完成。特别是,如果一个ACK的序列号比先前收集的序列号大,那么可以假设,数据的部分或全部已被远端主机成功接收。
因此,根据判定408的先前的比较,通过使用该卸载引擎,所述数据可以通过网络被重发,见操作410。特别的,如果所述数据没有被确认已被成功接收,则该数据可以被重发。
根据一个实施例,图5显示了一个用于生成一个重发指令信息的典型的方法500。作为选择,方法500可以在图4的操作404的上下文中实现。当然,尽管这样,应该注意,方法500可以通过任何希望的情形实现。而且,重要的是应当理解,如果可以给这些典型组件(例如上述的各种组件)分配各种功能,则所述各种功能可以通过任何希望的实体实现。
如图所示,在操作502,一个缓冲(buffer)被处理器(如图3的处理器304)确定。如表1所列举的状态信息所示,该缓冲可以通过CB句柄来确定。一般而言,将被重发的缓冲是与上述CB句柄相关的未确认的最旧的缓冲。
接着在判断504,该缓冲被确定是否已被远端主机部分接收。换句话说,由处理器确定在确定的缓冲中的需要重发的数据是否以一个成功的方式被部分接收。如果数据缓冲已被至少部分确认,则一个用于补偿与前述DMA(见图4的操作406)相关的启动地址的补偿(offset)被确定,见操作506。如果不需要补偿,则跳过操作506。作为替换,与上述DMA相关的启动地址可以由补偿的值予以修改,从而排除了一个独立的补偿指示器(offset indicator)的需要。
接着,判断该数据的大小是否小于前述状态信息指示的重发数据。如果是这种情况,则加入一个额外的缓冲,见操作510。但是如果不是,则跳过操作510。
这样,类似于表1的状态信息,重发指令信息也可以包括各种信息。例如,用于DMA操作的启动地址可以作为一个补偿加入到一个与接口相关的分散-收集表(SGL)。而且,重发指令信息还可以包括前文所述的序列号。此外,重发指令信息可以包括一个用于接口的CB句柄,或任何其它希望的信息。
表2显示了一个典型的重发指令信息的格式。该格式仅用于说明的目的,不应认为是任何方式的限制。
表2
Figure S041A4981020050117D000061
因此,重发指令信息可以用于那些位于图4中操作404(如图4的操作406-410)之后的操作。
根据一个实施例,图6显示了一个用于处理重发请求的典型的设计和操作600。作为选择,该设计和操作600可以在前述附图所公开的上下文中实现。当然,尽管这样,应该注意,该设计和操作600可以在任何希望的情况下实现。最重要的是,该典型的设计和操作600仅用于说明的目的,不应认为是任何方式的限制。
如图所示,该典型的设计和操作600包括一个与处理器相连接的主机驱动器618,该处理器又与一个卸载引擎601通信连接,该卸载引擎具有多个典型的组件。例如,所示的卸载引擎601包括一个接收器604、一个CB轮询器602、一个状态信息发生器606、一个指令模块(IB)队列620、一个IB解析器608、一个重发请求器610、一个DMA队列612、CB存储器614和一个数据信息包发生器616。这些组件如图所示进行连接。在下文的对典型设计和操作600的讨论中,各种组件的功能将被更为详细的阐述。
如图所示,通过检查CB存储器中一个重发的时间戳,CB轮询器确定重发是否需要一个接口。接着,状态信息发生器606生成一条重发状态信息,并通过主机驱动器618发送到本地主机。如前文所述,该状态信息可以包括与重发请求相关的序列号,并由来自CB存储器614的最新的未确认序列号域得到。该状态信息也可以包括与重发请求相关的重发数据的大小。
该本地主机(或卸载引擎601,两者都可以)可以维持一个用于接口的SGL。如果本地主机接收到状态信息,驱动器618就将表中最旧的缓冲取出,并在重发指令信息中使用。如前文所述,如果最旧的缓冲的数据的量小于远端主机要求重发的数据的大小,则本地主机就按照需要,在重发指令信息中加入尽量多的缓冲。
由于本地主机通过状态信息而获得用于接口的事件进展的所有ACK。因而,如果远端主机的缓冲中有部分确认的数据,本地主机也知道。在这种情况下,如上文所解释,本地主机可以适当的对缓冲中的启动地址进行补偿。表3显示了一个ACK状态信息的典型格式。该格式仅用于说明的目的,不应认为是任何方式的限制。
表3
Figure S041A4981020050117D000071
本地主机收到状态信息后,将产生一个重发指令信息,并将该信息发送到卸载引擎601,并排在本地的缓冲中。
当IB解析器608收到该重发指令信息后,解析器将对该指令信息进行解析;一旦确定该信息是一个重发指令,解析器将把该请求发送到发送请求器610。然后,发送请求器610从CB存储器614中找回必要的参数,并请求一个DMA操作以找回主机系统中的重发数据。然后,该DMA请求排在DMA队列的一个FIFO中。该DMA操作可以类似于通常的数据发送请求。来自重发指令信息的序列号,连同一个额外的部分,将与DMA请求一起被发送,以指示该数据请求是用于重发。
如果该DMA完成,该数据信息包发生器616可以确定该请求是一个重发请求,因为该重发部分与一个DMA数据的有效指针一起被维持。如果数据信息包发生器616遇到了这个情况,则数据信息包发生器616会将需要被重发的信息包的序列号与CB存储器614中最旧的未确认的序列号进行比较。如果二者相一致,则重发有效,信息包被重发。如果CB存储器中的序列号的版本大于重发数据的序列号,则表明远端主机已经在重发请求发出与DMA操作完成之间的时间内完成全部或部分数据的确认。在这种情况下,根据被确认数据的量,数据重发请求可以被放弃或继续。
使用中,由重复的ACK或选择性的确认(SACK)选项引发的重发,也可以由指向本地主机的一个状态信息引发。根据远端主机的观点,没有必要观察不同重发类型之间的区别。对于这些情况,接收器604可以被配置成请求状态信息。一旦收到的重复ACK的数量值,则达到界限,接收器604可以请求一条重发状态信息并在接口CB存储器614中规定一个重复ACK状态。如果接收器接收到进一步的重复ACK并观察到这个部分仍然存在,则接收器不再重新请求进一步的重发。如果数据信息包发生器616发送了该重发信息包,则数据信息包发生器就可以清除前述的该部分。
如果接收器604接收到的来自远端主机的信息包含有SACK选项,则接收器也可以请求一条重发状态信息。与重复的ACK不一样,一条重发状态信息可以被请求用于每一个收到的SACK选项。重发数据的大小也可以由SACK选项中收到的参数而得知。
图7显示了一个SGL列表的典型的设计,该列表被维持以用于每一个接口。SGL700含有一个入口(entry)的列表,该列表规定了接口上发送的数据。
每个SGL入口包含一个指针,该指针指示被发送信息在主机存储器上的位置,以及将被发送的数据的量。表4显示了一个典型的SGL入口格式。该格式仅用于说明的目的,不应认为是任何方式的限制。
表4
存储数据的主机的地址
在SGL实体中将被传送的数据的大小
用于每一个SGL的指针有两个。第一个指针指示下一个项目在SGL中将被写入的位置,见701。当更多的数据需要在接口发送,则该指针所指示的SGL位置将被一个SGL项目写入,该项目包含放置数据的主机地址,以及有多少数据将被发送。
用于SGL的第二个指针是指向最旧的未确认数据缓冲,见702。当收到一条重发状态信息时,该指针用于追踪哪个数据需要被重发。由于本地主机收到了指示有多少数据已被远端主机接收的ACK状态信息,因此指针被增长。如果在最旧的SGL选项中的所有数据都被确认了,则上述选项所指示的缓冲可以被释放,并被本地主机重新使用。通过这种方式,当本地主机接收到重发状态信息时,可以快速的对需要重发的数据进行定位。
尽管前文描述了多种不同的实施例,但是,这些实施例仅仅用于举例说明本发明,并不是用来限制本发明。因此,上述的典型的实施例不应限制这些优选的实施例的应用范围,这些实施例的应用范围应该依据权利要求进行限制。

Claims (23)

1.一个卸载引擎系统,用于在网络上执行数据重发,其特征在于,该系统包括:
一个卸载引擎,与系统存储器以及网络进行通信;
其中,所述卸载引擎生成状态信息,并在确定出已满足保证重发数据的重发标准的情况下向处理器发送所述状态信息;响应于所述状态信息,所述处理器生成重发指令信息;响应于所述重发指令信息,所述卸载引擎请求直接存储访问,以找回将被重发的数据。
2.如权利要求1所述的系统,其特征在于,所述卸载引擎与处理器进行通信,并管理数据的重发,通过:
确定所述将被重发的数据;
找回存储在系统存储器中的所述将被重发的数据;
重发找回的数据。
3.如权利要求2所述的系统,其特征在于,所述卸载引擎向处理器发送一条状态信息,以启动所述将被重发的数据的找回;且该状态信息的发送是基于接收的至少一个确认或者确认缺失。
4.如权利要求2所述的系统,其特征在于,所述卸载引擎向处理器发送一条状态信息,以启动所述将被重发的数据的找回;且该状态信息基于超时而发送。
5.如权利要求2所述的系统,其特征在于,所述卸载引擎向处理器发送一条状态信息,以启动所述将被重发的数据的找回;且该状态信息包括一个用于控制模块的句柄,该控制模块用于接口。
6.如权利要求2所述的系统,其特征在于,所述卸载引擎向处理器发送一条状态信息,以启动所述将被重发的数据的找回;且该状态信息包括一个序列号。
7.如权利要求2所述的系统,其特征在于,所述卸载引擎向处理器发送一条状态信息,以启动所述将被重发的数据的找回;且该状态信息包括一个重发数据的大小。
8.如权利要求2所述的系统,其特征在于,所述卸载引擎向处理器发送一条状态信息,以启动所述将被重发的数据的找回;响应该状态信息,该处理器向该卸载引擎发送一条重发指令信息。
9.如权利要求8所述的系统,其特征在于,所述重发指令信息包括一个序列号。
10.如权利要求8所述的系统,其特征在于,所述重发指令信息包括至少一个指针,该指针指向至少一个主机缓冲。
11.如权利要求10所述的系统,其特征在于,所述指针由该卸载引擎维持。
12.如权利要求10所述的系统,其特征在于,所述指针由该处理器维持。
13.如权利要求10所述的系统,其特征在于,所述重发指令信息包括一个补偿,该补偿与该指针一起用于确定将被重发的数据。
14.如权利要求13述的系统,其特征在于,所述补偿被包括是为了规定缓冲列表中的一个起始位置,该缓冲列表用于将被重发的数据。
15.如权利要求8所述的系统,其特征在于,所述重发指令信息包括一个用于控制模块的句柄,该控制模块用于接口。
16.如权利要求15所述的系统,其特征在于,所述控制模块包括与最新确认的数据相关的信息。
17.如权利要求8所述的系统,其特征在于,响应收到将被重发的所述数据,所述卸载引擎启动一个涉及序列号的比较。
18.如权利要求17所述的系统,其特征在于,所述卸载引擎基于所述比较重发所述数据。
19.如权利要求1所述的系统,其特征在于,所述卸载引擎向一个处理器发送一条状态信息,以指示已从远端主机收到一条用于发送的数据的确认。
20.如权利要求19所述的系统,其特征在于,所述状态信息包括一个控制模块的句柄,该控制模块用于接口。
21.如权利要求19所述的系统,其特征在于,状态信息包括一个确认号码。
22.一个卸载引擎子系统,用于在网络上执行数据重发,其特征在于,该系统包括:
一个卸载引擎,与一个存储器和一个网络进行通信;
其中,所述卸载引擎管理网络中数据的发送,通过:
确定将被重发的数据;
找回存储于处理系统存储器中的需要被重发的数据;
重发该找回的数据;
其中,所述卸载引擎生成状态信息,并在确定出已满足保证重发数据的重发标准的情况下向处理器发送所述状态信息;响应于所述状态信息,所述处理器生成重发指令信息;响应于所述重发指令信息,所述卸载引擎请求直接存储访问,以找回所述将被重发的数据。
23.一种利用卸载引擎在网络上执行数据重发的方法,其特征在于,该方法包括:
确定将被重发的数据;
由所述卸载引擎生成状态信息,并在确定出已满足保证重发数据的重发标准的情况下向处理器发送所述状态信息;
响应于所述状态信息,由所述处理器生成重发指令信息;
响应于所述重发指令信息,由所述卸载引擎请求直接存储访问,以找回存储在处理系统存储器中的所述将被重发的数据;和
重发该找回的数据。
CN2004101049810A 2003-12-19 2004-12-20 用于传输卸载引擎的重发系统和方法 Active CN1638319B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/741,978 2003-12-19
US10/741,978 US8549170B2 (en) 2003-12-19 2003-12-19 Retransmission system and method for a transport offload engine

Publications (2)

Publication Number Publication Date
CN1638319A CN1638319A (zh) 2005-07-13
CN1638319B true CN1638319B (zh) 2011-09-28

Family

ID=34523242

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004101049810A Active CN1638319B (zh) 2003-12-19 2004-12-20 用于传输卸载引擎的重发系统和方法

Country Status (6)

Country Link
US (1) US8549170B2 (zh)
EP (1) EP1545042B1 (zh)
JP (1) JP2005192216A (zh)
CN (1) CN1638319B (zh)
DE (1) DE602004019383D1 (zh)
TW (1) TW200537877A (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030158959A1 (en) * 2002-02-15 2003-08-21 Jay Jayapalan Establishment of communications using point to point protocols such that duplicate negotiations are avoided
US7362772B1 (en) 2002-12-13 2008-04-22 Nvidia Corporation Network processing pipeline chipset for routing and host packet processing
US7324547B1 (en) 2002-12-13 2008-01-29 Nvidia Corporation Internet protocol (IP) router residing in a processor chipset
US7420931B2 (en) * 2003-06-05 2008-09-02 Nvidia Corporation Using TCP/IP offload to accelerate packet filtering
US8417852B2 (en) * 2003-06-05 2013-04-09 Nvidia Corporation Uploading TCP frame data to user buffers and buffers in system memory
US8572289B1 (en) 2003-12-19 2013-10-29 Nvidia Corporation System, method and computer program product for stateless offloading of upper level network protocol operations
US7698361B2 (en) * 2003-12-31 2010-04-13 Microsoft Corporation Lightweight input/output protocol
US7986282B2 (en) * 2003-12-31 2011-07-26 Zerphy Byron L Dynamic message sign display panel error detection, correction, and notification
US7248229B2 (en) * 2003-12-31 2007-07-24 Zerphy Bryron L Dynamic message sign display panel communication error detection and correction
US7554917B1 (en) * 2004-06-28 2009-06-30 Francis Tieu TCP retransmission and exception processing in high speed, low memory hardware devices
US7764709B2 (en) * 2004-07-07 2010-07-27 Tran Hieu T Prioritization of network traffic
US7480301B2 (en) * 2004-12-16 2009-01-20 International Business Machines Corporation Method, system and article for improved TCP performance during retransmission in response to selective acknowledgement
US20070011333A1 (en) * 2005-06-30 2007-01-11 Victor Lau Automated serial protocol initiator port transport layer retry mechanism
US20070101023A1 (en) * 2005-10-28 2007-05-03 Microsoft Corporation Multiple task offload to a peripheral device
US8447898B2 (en) * 2005-10-28 2013-05-21 Microsoft Corporation Task offload to a peripheral device
KR100653178B1 (ko) * 2005-11-03 2006-12-05 한국전자통신연구원 전송제어프로토콜 오프로드 엔진 기반의 전송제어프로토콜전송정보 생성 및 관리 장치 및 그 방법
US7725556B1 (en) * 2006-10-27 2010-05-25 Hewlett-Packard Development Company, L.P. Computer system with concurrent direct memory access
US7877524B1 (en) * 2007-11-23 2011-01-25 Pmc-Sierra Us, Inc. Logical address direct memory access with multiple concurrent physical ports and internal switching
US8271700B1 (en) 2007-11-23 2012-09-18 Pmc-Sierra Us, Inc. Logical address direct memory access with multiple concurrent physical ports and internal switching
JP5257150B2 (ja) * 2009-03-05 2013-08-07 日本電気株式会社 通信装置、データ通信システム、データ通信方法及び制御プログラム
US8553547B2 (en) * 2009-03-30 2013-10-08 Broadcom Corporation Systems and methods for retransmitting packets over a network of communication channels
CN101605283B (zh) * 2009-06-29 2012-06-06 中兴通讯股份有限公司 Wson中节点资源状态的恢复方法及装置
US8832024B2 (en) * 2012-10-26 2014-09-09 Netapp, Inc. Simplified copy offload
US10667173B2 (en) * 2017-02-13 2020-05-26 Qualcomm Incorporated Feedback retransmission repetition coding for wireless communications
US10992583B1 (en) 2019-10-07 2021-04-27 Ford Global Technologies, Llc Opportunistic packet retransmissions
CN111245794B (zh) * 2019-12-31 2021-01-22 中科驭数(北京)科技有限公司 数据传输方法和装置
US11283719B2 (en) 2020-07-13 2022-03-22 Google Llc Content addressable memory (CAM) based hardware architecture for datacenter networking

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1458590A (zh) * 2002-04-30 2003-11-26 微软公司 用网络栈同步和上载已卸载网络栈连接的方法

Family Cites Families (189)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US212889A (en) 1879-03-04 Improvement in road-engines
JPS61257043A (ja) * 1985-05-10 1986-11-14 Nec Corp 高速フレ−ム伝送方式
US4807111A (en) 1987-06-19 1989-02-21 International Business Machines Corporation Dynamic queueing method
US4839851A (en) 1987-07-13 1989-06-13 Idaho Research Foundation, Inc. Programmable data path device
JPS6461145A (en) * 1987-09-01 1989-03-08 Fujitsu Ltd Retransmission timing setting system for control signal in remote control system
US5012489A (en) 1988-11-07 1991-04-30 Hayes Microcomputer Products, Inc. Method for sending a plurality of data channels over a single communications line
JP2986802B2 (ja) 1989-03-13 1999-12-06 株式会社日立製作所 プロトコル高速処理方法
US5687314A (en) 1989-06-02 1997-11-11 Tele Digital Development, Inc. Method and apparatus for assisting data bus transfer protocol
US5163131A (en) 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
US5161193A (en) 1990-06-29 1992-11-03 Digital Equipment Corporation Pipelined cryptography processor and method for its use in communication networks
US5251205A (en) 1990-09-04 1993-10-05 Digital Equipment Corporation Multiple protocol routing
US5367643A (en) 1991-02-06 1994-11-22 International Business Machines Corporation Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets
WO1992016895A1 (en) 1991-03-18 1992-10-01 Echelon Corporation Networked variables
US5307413A (en) 1991-07-19 1994-04-26 Process Software Corporation Method and apparatus for adding data compression and other services in a computer network
US6098188A (en) 1992-02-14 2000-08-01 Lucent Technologies Inc. Packet framer
US5742760A (en) 1992-05-12 1998-04-21 Compaq Computer Corporation Network packet switch using shared memory for repeating and bridging packets at media rate
US5877764A (en) 1992-10-23 1999-03-02 International Business Machines Corporation Graphical user interface for managing text i/o between a user and a parallel program
US5696899A (en) 1992-11-18 1997-12-09 Canon Kabushiki Kaisha Method and apparatus for adaptively determining the format of data packets carried on a local area network
WO1994014115A2 (en) 1992-12-01 1994-06-23 Microsoft Corporation A method and system for in-place interaction with embedded objects
US5619650A (en) 1992-12-31 1997-04-08 International Business Machines Corporation Network processor for transforming a message transported from an I/O channel to a network by adding a message identifier and then converting the message
JPH0763161B2 (ja) 1993-01-05 1995-07-05 日本電気株式会社 マルチメディアパケット通信方式
EP0689748B1 (en) 1993-03-20 1998-09-16 International Business Machines Corporation Method and apparatus for extracting connection information from protocol headers
AU6410994A (en) 1993-03-30 1994-10-24 Ast Research, Inc. Cache address strobe control logic for simulated bus cycle initiation
US5596702A (en) 1993-04-16 1997-01-21 International Business Machines Corporation Method and system for dynamically sharing user interface displays among a plurality of application program
US5495480A (en) 1993-06-21 1996-02-27 Nec Corporation Packet transmission system having timer for circuit disconnection
US5621434A (en) 1993-08-11 1997-04-15 Object Technology Licensing Corp. Cursor manipulation system and method
US5426694A (en) 1993-10-08 1995-06-20 Excel, Inc. Telecommunication switch having programmable network protocols and communications services
US5802287A (en) 1993-10-20 1998-09-01 Lsi Logic Corporation Single chip universal protocol multi-function ATM network interface
US5625825A (en) 1993-10-21 1997-04-29 Lsi Logic Corporation Random number generating apparatus for an interface unit of a carrier sense with multiple access and collision detect (CSMA/CD) ethernet data network
JP3358254B2 (ja) 1993-10-28 2002-12-16 株式会社日立製作所 通信制御装置および通信制御用回路装置
CN1139489A (zh) 1993-11-02 1997-01-01 帕拉科姆有限公司 加速计算机数据库事务处理的装置
JP3454828B2 (ja) 1993-11-02 2003-10-06 オブジェクト テクノロジー ライセンシング コーポレイション オブジェクト指向グラフィック・システム
US5524110A (en) 1993-11-24 1996-06-04 Intel Corporation Conferencing over multiple transports
WO1995015524A1 (en) 1993-12-02 1995-06-08 Taligent, Inc. Method and apparatus for displaying hardware dependent graphics in an object-oriented operating system
US5485455A (en) 1994-01-28 1996-01-16 Cabletron Systems, Inc. Network having secure fast packet switching and guaranteed quality of service
US5577105A (en) 1994-03-11 1996-11-19 U.S. Robotics, Inc. Telephone call routing and switching techniques for data communications
US6185619B1 (en) 1996-12-09 2001-02-06 Genuity Inc. Method and apparatus for balancing the process load on network servers according to network and serve based policies
US5519704A (en) 1994-04-21 1996-05-21 Cisco Systems, Inc. Reliable transport protocol for internetwork routing
US5579316A (en) 1994-05-02 1996-11-26 Adtran Communications technique for transmitting limited size digital data frames using macro headers to represent multiple header code patterns associated with encapsulation protocols and signal processing operations to which transmitted data are subjected
US5650941A (en) 1994-09-07 1997-07-22 Intel Corporation Computer architecture for creating and manipulating displayable objects
US5870549A (en) 1995-04-28 1999-02-09 Bobo, Ii; Charles R. Systems and methods for storing, delivering, and managing messages
US5675507A (en) 1995-04-28 1997-10-07 Bobo, Ii; Charles R. Message storage and delivery system
US5664162A (en) 1994-05-23 1997-09-02 Cirrus Logic, Inc. Graphics accelerator with dual memory controllers
US5577172A (en) 1994-07-01 1996-11-19 Lasermaster Corporation High-capacity protocol for packet-based networks
US5598535A (en) 1994-08-01 1997-01-28 International Business Machines Corporation System for selectively and cumulatively grouping packets from different sessions upon the absence of exception condition and sending the packets after preselected time conditions
US5485460A (en) 1994-08-19 1996-01-16 Microsoft Corporation System and method for running multiple incompatible network protocol stacks
US5812951A (en) 1994-11-23 1998-09-22 Hughes Electronics Corporation Wireless personal communication system
JPH08180006A (ja) 1994-12-22 1996-07-12 Hitachi Ltd ネットワークインタフェースおよび計算機ネットワークシステム
US5598410A (en) 1994-12-29 1997-01-28 Storage Technology Corporation Method and apparatus for accelerated packet processing
US5566170A (en) 1994-12-29 1996-10-15 Storage Technology Corporation Method and apparatus for accelerated packet forwarding
US5577237A (en) 1995-01-23 1996-11-19 Tandem Computers, Incorporated Protocol timer and method of using same
US5680605A (en) 1995-02-07 1997-10-21 Torres; Robert J. Method and apparatus for searching a large volume of data with a pointer-based device in a data processing system
US5625678A (en) 1995-05-24 1997-04-29 Microsoft Corporation Method and system for allowing switched voice and data communication among multiple application programs
US5734865A (en) 1995-06-07 1998-03-31 Bull Hn Information Systems Inc. Virtual local area network well-known port routing mechanism for mult--emulators in an open system environment
US5870622A (en) 1995-06-07 1999-02-09 Advanced Micro Devices, Inc. Computer system and method for transferring commands and data to a dedicated multimedia engine
US5636371A (en) 1995-06-07 1997-06-03 Bull Hn Information Systems Inc. Virtual network mechanism to access well known port application programs running on a single host system
US5754540A (en) 1995-07-18 1998-05-19 Macronix International Co., Ltd. Expandable integrated circuit multiport repeater controller with multiple media independent interfaces and mixed media connections
US5918051A (en) 1995-07-19 1999-06-29 Ricoh Company, Ltd. Object-oriented communication system with support for multiple remote machine types
US5666362A (en) 1995-07-25 1997-09-09 3Com Corporation Method and apparatus for asynchronous PPP and synchronous PPP conversion
US5701316A (en) 1995-08-31 1997-12-23 Unisys Corporation Method for generating an internet protocol suite checksum in a single macro instruction
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
US5802306A (en) 1995-10-31 1998-09-01 International Business Machines Corporation Supporting multiple client-server sessions from a protocol stack associated with a single physical adapter through use of a plurality of logical adapters
US5778178A (en) 1995-11-13 1998-07-07 Arunachalam; Lakshmi Method and apparatus for enabling real-time bi-directional transactions on a network
US5826032A (en) 1996-02-12 1998-10-20 University Of Southern California Method and network interface logic for providing embedded checksums
US5809235A (en) 1996-03-08 1998-09-15 International Business Machines Corporation Object oriented network event management framework
US5909546A (en) 1996-03-08 1999-06-01 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Network interface having support for allowing remote operations with reply that bypass host computer interaction
US5894557A (en) 1996-03-29 1999-04-13 International Business Machines Corporation Flexible point-to-point protocol framework
US5815516A (en) 1996-04-05 1998-09-29 International Business Machines Corporation Method and apparatus for producing transmission control protocol checksums using internet protocol fragmentation
US5946487A (en) 1996-06-10 1999-08-31 Lsi Logic Corporation Object-oriented multi-media architecture
US5983332A (en) 1996-07-01 1999-11-09 Sun Microsystems, Inc. Asynchronous transfer mode (ATM) segmentation and reassembly unit virtual address translation unit architecture
US5920732A (en) 1996-07-01 1999-07-06 Apple Computer, Inc. System for preallocating additional larger buffer sizes in accordance with packet sizes of discarded packets that can't be stored in existing preallocated buffer sizes
US5754556A (en) 1996-07-18 1998-05-19 Teradyne, Inc. Semiconductor memory tester with hardware accelerators
US5968161A (en) 1996-08-29 1999-10-19 Altera Corporation FPGA based configurable CPU additionally including second programmable section for implementation of custom hardware support
US5748905A (en) 1996-08-30 1998-05-05 Fujitsu Network Communications, Inc. Frame classification using classification keys
US5854750A (en) 1996-09-03 1998-12-29 Insession, Inc. System and method for processing transactions in an environment containing a number of object oriented applications
US6092229A (en) 1996-10-09 2000-07-18 Lsi Logic Corporation Single chip systems using general purpose processors
US6101543A (en) 1996-10-25 2000-08-08 Digital Equipment Corporation Pseudo network adapter for frame capture, encapsulation and encryption
US6034963A (en) 1996-10-31 2000-03-07 Iready Corporation Multiple network protocol encoder/decoder and data processor
US6230193B1 (en) 1996-10-31 2001-05-08 3Com Corporation Method and apparatus supporting network communications
US7035291B2 (en) 2001-05-02 2006-04-25 Ron Grinfeld TCP transmission acceleration
US6046980A (en) 1996-12-09 2000-04-04 Packeteer, Inc. System for managing flow bandwidth utilization at network, transport and application layers in store and forward network
US5941988A (en) 1997-01-27 1999-08-24 International Business Machines Corporation Session and transport layer proxies via TCP glue
US6172990B1 (en) 1997-06-19 2001-01-09 Xaqti Corporation Media access control micro-RISC stream processor and method for implementing the same
US6076115A (en) 1997-02-11 2000-06-13 Xaqti Corporation Media access control receiver and network management system
US6247068B1 (en) 1997-03-07 2001-06-12 Advanced Micro Devices Inc. Winsock-data link library transcoder
US5818935A (en) 1997-03-10 1998-10-06 Maa; Chia-Yiu Internet enhanced video system
US5974518A (en) 1997-04-10 1999-10-26 Milgo Solutions, Inc. Smart buffer size adaptation apparatus and method
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
US5872919A (en) 1997-05-07 1999-02-16 Advanced Micro Devices, Inc. Computer communication network having a packet processor with an execution unit which is variably configured from a programmable state machine and logic
WO1998050852A1 (en) 1997-05-08 1998-11-12 Iready Corporation Hardware accelerator for an object-oriented programming language
US6330659B1 (en) 1997-11-06 2001-12-11 Iready Corporation Hardware accelerator for an object-oriented programming language
US6081846A (en) 1997-05-08 2000-06-27 Microsoft Corporation Method and computer program product for reducing intra-system data copying during network packet processing
US5935268A (en) 1997-06-03 1999-08-10 Bay Networks, Inc. Method and apparatus for generating an error detection code for a modified data packet derived from an original data packet
US6208651B1 (en) 1997-06-10 2001-03-27 Cornell Research Foundation, Inc. Method and system for masking the overhead of protocol layering
US5966534A (en) 1997-06-27 1999-10-12 Cooke; Laurence H. Method for compiling high level programming languages into an integrated processor with reconfigurable logic
AU8490898A (en) 1997-07-18 1999-02-10 Interprophet Corporation Tcp/ip network accelerator system and method
US6397316B2 (en) 1997-07-24 2002-05-28 Intel Corporation System for reducing bus overhead for communication with a network interface
US6078736A (en) 1997-08-28 2000-06-20 Xilinx, Inc. Method of designing FPGAs for dynamically reconfigurable computing
US5999974A (en) 1997-08-29 1999-12-07 International Business Machines Corporation Internet protocol assists for high performance LAN connections
US6014699A (en) 1997-08-29 2000-01-11 International Business Machines Corporation Internet protocol assists for high performance LAN connections
US6151625A (en) 1997-09-10 2000-11-21 Schneider Automation Inc. Internet web interface including programmable logic controller for controlling output devices based on status of input devices
US5991299A (en) 1997-09-11 1999-11-23 3Com Corporation High speed header translation processing
US6172980B1 (en) 1997-09-11 2001-01-09 3Com Corporation Multiple protocol support
US6061742A (en) 1997-10-10 2000-05-09 Nortel Networks Corporation Computer network adaptor
US6807581B1 (en) 2000-09-29 2004-10-19 Alacritech, Inc. Intelligent network storage interface system
US7042898B2 (en) 1997-10-14 2006-05-09 Alacritech, Inc. Reducing delays associated with inserting a checksum into a network message
US6226680B1 (en) 1997-10-14 2001-05-01 Alacritech, Inc. Intelligent network interface system method for protocol processing
US7167927B2 (en) 1997-10-14 2007-01-23 Alacritech, Inc. TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism
US6687758B2 (en) 2001-03-07 2004-02-03 Alacritech, Inc. Port aggregation for network connections that are offloaded to network interface devices
US6434620B1 (en) 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US6658480B2 (en) 1997-10-14 2003-12-02 Alacritech, Inc. Intelligent network interface system and method for accelerated protocol processing
US7237036B2 (en) 1997-10-14 2007-06-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding a TCP connection
US7076568B2 (en) 1997-10-14 2006-07-11 Alacritech, Inc. Data communication apparatus for computer intelligent network interface card which transfers data between a network and a storage device according designated uniform datagram protocol socket
US6427173B1 (en) 1997-10-14 2002-07-30 Alacritech, Inc. Intelligent network interfaced device and system for accelerated communication
US8782199B2 (en) 1997-10-14 2014-07-15 A-Tech Llc Parsing a packet header
US7185266B2 (en) 2003-02-12 2007-02-27 Alacritech, Inc. Network interface device for error detection using partial CRCS of variable length message portions
US6591302B2 (en) 1997-10-14 2003-07-08 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US6697868B2 (en) 2000-02-28 2004-02-24 Alacritech, Inc. Protocol processing stack for use with intelligent network interface device
US7284070B2 (en) 1997-10-14 2007-10-16 Alacritech, Inc. TCP offload network interface device
US6470415B1 (en) 1999-10-13 2002-10-22 Alacritech, Inc. Queue system involving SRAM head, SRAM tail and DRAM body
US7133940B2 (en) 1997-10-14 2006-11-07 Alacritech, Inc. Network interface device employing a DMA command queue
US6757746B2 (en) 1997-10-14 2004-06-29 Alacritech, Inc. Obtaining a destination address so that a network interface device can write network data without headers directly into host memory
US6389479B1 (en) 1997-10-14 2002-05-14 Alacritech, Inc. Intelligent network interface device and system for accelerated communication
US6427171B1 (en) 1997-10-14 2002-07-30 Alacritech, Inc. Protocol processing stack for use with intelligent network interface device
US7174393B2 (en) 2000-12-26 2007-02-06 Alacritech, Inc. TCP/IP offload network interface device
US7089326B2 (en) 1997-10-14 2006-08-08 Alacritech, Inc. Fast-path processing for receiving data on TCP connection offload devices
US6092110A (en) 1997-10-23 2000-07-18 At&T Wireless Svcs. Inc. Apparatus for filtering packets using a dedicated processor
US5923892A (en) 1997-10-27 1999-07-13 Levy; Paul S. Host processor and coprocessor arrangement for processing platform-independent code
US5937169A (en) 1997-10-29 1999-08-10 3Com Corporation Offload of TCP segmentation to a smart adapter
US6122670A (en) 1997-10-30 2000-09-19 Tsi Telsys, Inc. Apparatus and method for constructing data for transmission within a reliable communication protocol by performing portions of the protocol suite concurrently
US6061368A (en) 1997-11-05 2000-05-09 Xylan Corporation Custom circuitry for adaptive hardware routing engine
JPH11163869A (ja) * 1997-11-26 1999-06-18 Oki Electric Ind Co Ltd 伝送方法及び装置
US6341129B1 (en) 1998-04-03 2002-01-22 Alteon Networks, Inc. TCP resegmentation
US6765901B1 (en) 1998-06-11 2004-07-20 Nvidia Corporation TCP/IP/PPP modem
US6157955A (en) 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
US6182228B1 (en) 1998-08-17 2001-01-30 International Business Machines Corporation System and method for very fast IP packet filtering
US6233626B1 (en) 1998-10-06 2001-05-15 Schneider Automation Inc. System for a modular terminal input/output interface for communicating messaging application layer over encoded ethernet to transport layer
US6430628B1 (en) 1998-12-08 2002-08-06 Intel Corporation Method and apparatus for reducing direct memory access transfers using smart coalescing
JP4714344B2 (ja) 1998-12-16 2011-06-29 シルバーブルック リサーチ プロプライエタリイ、リミテッド アクセスが制限されている大衆消費電子(ce)システムに内蔵するためのプリンタ
US6347337B1 (en) 1999-01-08 2002-02-12 Intel Corporation Credit based flow control scheme over virtual interface architecture for system area networks
US6345301B1 (en) 1999-03-30 2002-02-05 Unisys Corporation Split data path distributed network protocol
US6389537B1 (en) 1999-04-23 2002-05-14 Intel Corporation Platform and method for assuring integrity of trusted agent communications
US6952409B2 (en) 1999-05-17 2005-10-04 Jolitz Lynne G Accelerator system and method
US6347347B1 (en) 1999-07-15 2002-02-12 3Com Corporation Multicast direct memory access storing selected ones of data segments into a first-in-first-out buffer and a memory simultaneously when enabled by a processor
US6449656B1 (en) 1999-07-30 2002-09-10 Intel Corporation Storing a frame header
US6427169B1 (en) 1999-07-30 2002-07-30 Intel Corporation Parsing a packet header
TW448407B (en) 1999-11-18 2001-08-01 Iready Corp Hardware accelerator for an object-oriented programming language
TW447205B (en) 1999-11-18 2001-07-21 Iready Corp Multiple network protocol encoder/decoder and date processor
US6327625B1 (en) 1999-11-30 2001-12-04 3Com Corporation FIFO-based network interface supporting out-of-order processing
US6530061B1 (en) 1999-12-23 2003-03-04 Intel Corporation Method and apparatus for offloading checksum
EP1257902A4 (en) 2000-02-16 2006-04-19 Goamerica Inc DOCUMENT GENERATION AND FLOW PLANNING FOR JOBS OF APPLICATIONS
US7013485B2 (en) 2000-03-06 2006-03-14 I2 Technologies U.S., Inc. Computer security system
US7328349B2 (en) 2001-12-14 2008-02-05 Bbn Technologies Corp. Hash-based systems and methods for detecting, preventing, and tracing network worms and viruses
TW487862B (en) 2000-09-19 2002-05-21 Taipei Online Technology Co Lt Customer relationship management system achieved by a communication network
US8019901B2 (en) 2000-09-29 2011-09-13 Alacritech, Inc. Intelligent network storage interface system
US20020085562A1 (en) 2000-12-13 2002-07-04 International Business Machines Corporation IP headers for remote direct memory access and upper level protocol framing
US6609225B1 (en) 2000-12-21 2003-08-19 Cisco Technology, Inc. Method and apparatus for generating and checking cyclic redundancy code (CRC) values using a multi-byte CRC generator on a variable number of bytes
US7301899B2 (en) 2001-01-31 2007-11-27 Comverse Ltd. Prevention of bandwidth congestion in a denial of service or other internet-based attack
US7149817B2 (en) 2001-02-15 2006-12-12 Neteffect, Inc. Infiniband TM work queue to TCP/IP translation
GB2372680B (en) 2001-02-27 2003-02-19 3Com Corp Calculation and transmission of error check codes
US7065702B2 (en) 2001-04-12 2006-06-20 Siliquent Technologies Ltd. Out-of-order calculation of error detection codes
WO2002097580A2 (en) 2001-05-31 2002-12-05 Espeed, Inc. Securities trading system with multiple levels-of-interest
WO2003005672A2 (en) 2001-07-06 2003-01-16 Livedevices Limited Improvements relating to reduction of resource usage in tcp/ip implementation
US6980551B2 (en) 2001-07-12 2005-12-27 International Business Machines Corporation Full transmission control protocol off-load
US7020716B2 (en) 2001-08-31 2006-03-28 Adaptec, Inc. Method and system for verifying the hardware implementation of TCP/IP
US7096247B2 (en) 2001-08-31 2006-08-22 Adaptec, Inc. Apparatus and methods for receiving data at high speed using TCP/IP
US20030046330A1 (en) 2001-09-04 2003-03-06 Hayes John W. Selective offloading of protocol processing
US7953093B2 (en) 2001-09-06 2011-05-31 Broadcom Corporation TCP/IP reordering
US8255567B2 (en) 2001-09-06 2012-08-28 Broadcom Corporation Efficient IP datagram reassembly
US7620692B2 (en) 2001-09-06 2009-11-17 Broadcom Corporation iSCSI receiver implementation
US7124198B2 (en) 2001-10-30 2006-10-17 Microsoft Corporation Apparatus and method for scaling TCP off load buffer requirements by segment size
US20030095567A1 (en) 2001-11-20 2003-05-22 Lo Man Kuk Real time protocol packet handler
US20030115350A1 (en) 2001-12-14 2003-06-19 Silverback Systems, Inc. System and method for efficient handling of network data
US6760814B2 (en) 2001-12-17 2004-07-06 Lsi Logic Corporation Methods and apparatus for loading CRC values into a CRC cache in a storage controller
US7315976B2 (en) 2002-01-31 2008-01-01 Lsi Logic Corporation Method for using CRC as metadata to protect against drive anomaly errors in a storage array
US7535913B2 (en) * 2002-03-06 2009-05-19 Nvidia Corporation Gigabit ethernet adapter supporting the iSCSI and IPSEC protocols
US7496689B2 (en) * 2002-04-22 2009-02-24 Alacritech, Inc. TCP/IP offload device
US7543087B2 (en) 2002-04-22 2009-06-02 Alacritech, Inc. Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device
US7007103B2 (en) * 2002-04-30 2006-02-28 Microsoft Corporation Method to offload a network stack
EP1552408A4 (en) 2002-08-30 2010-10-06 Broadcom Corp SYSTEM AND METHOD FOR DELAYING TCP / IP INDEPENDENTLY OF A BANDWIDTH DELAY PRODUCT
US7313623B2 (en) * 2002-08-30 2007-12-25 Broadcom Corporation System and method for TCP/IP offload independent of bandwidth delay product
US7519650B2 (en) * 2002-09-05 2009-04-14 International Business Machines Corporation Split socket send queue apparatus and method with efficient queue flow control, retransmission and sack support mechanisms
US7337241B2 (en) 2002-09-27 2008-02-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US7191241B2 (en) 2002-09-27 2007-03-13 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US20040088262A1 (en) 2002-11-06 2004-05-06 Alacritech, Inc. Enabling an enhanced function of an electronic device
KR100490433B1 (ko) 2003-06-10 2005-05-17 삼성전자주식회사 광주사장치의 에프쎄타 렌즈 및 광주사장치
US7287092B2 (en) 2003-08-11 2007-10-23 Sharp Colin C Generating a hash for a TCP/IP offload device
US6996070B2 (en) 2003-12-05 2006-02-07 Alacritech, Inc. TCP/IP offload device with reduced sequential processing
DE102005041460A1 (de) 2005-08-31 2007-03-01 Daimlerchrysler Ag Umformwerkzeugsystem und Verfahren zu seiner Herstellung

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1458590A (zh) * 2002-04-30 2003-11-26 微软公司 用网络栈同步和上载已卸载网络栈连接的方法

Also Published As

Publication number Publication date
EP1545042A3 (en) 2005-09-07
US20050149632A1 (en) 2005-07-07
EP1545042B1 (en) 2009-02-11
EP1545042A2 (en) 2005-06-22
US8549170B2 (en) 2013-10-01
TW200537877A (en) 2005-11-16
CN1638319A (zh) 2005-07-13
DE602004019383D1 (de) 2009-03-26
JP2005192216A (ja) 2005-07-14

Similar Documents

Publication Publication Date Title
CN1638319B (zh) 用于传输卸载引擎的重发系统和方法
JP4587053B2 (ja) 通信装置、通信システム、パケット欠落検出方法、およびパケット欠落検出プログラム
US7031263B1 (en) Method and apparatus for network management system
CA2385899A1 (en) System and method for managing connections between a client and a server
US20060271680A1 (en) Method For Transmitting Window Probe Packets
CN110460412A (zh) 用于数据传输的方法和rdma网卡
CN104065465A (zh) 一种报文重传的方法、请求端、响应端以及系统
EP1225741B1 (en) High speed interconnection for embedded systems within a computer network
CN109067506A (zh) 一种基于多滑动窗口并发的轻量级异步消息实现方法
CN110266446B (zh) 一种基于sack模式调整乱序时长的方法和装置
EP1427127A2 (en) Communication control method, communication system and communication apparatus that can improve throughput
KR100932968B1 (ko) 호스트 컴퓨터의 개입이 없는 toe의 tcp 재전송 처리방법
JP6182779B1 (ja) 転送装置、転送方法およびプログラム
JP3797363B2 (ja) iSCSI装置及びその通信制御方法
JP3148733B2 (ja) 信号処理装置及び信号処理システム
JPH09298578A (ja) デジタル通信におけるデータ保証方法およびデータ保証システム
US20220328154A1 (en) Method and system for managing therapy plan data, and data exchange device
CN114759965A (zh) 数据包传输方法、装置、存储介质
JPH04273736A (ja) パケット通信システムおよびパケット再送装置
JPH02101841A (ja) 同報通信方法
CN116055009A (zh) 数据传输方法及相关装置
JPH055210B2 (zh)
CN117834094A (zh) 一种网络数据重传方法、设备及存储介质
KR100936142B1 (ko) Ack 메시지의 전송 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체
CN116114199A (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