CN1510964A - 计算机网络中输入/输出链路重试、故障及恢复方法和设备 - Google Patents

计算机网络中输入/输出链路重试、故障及恢复方法和设备 Download PDF

Info

Publication number
CN1510964A
CN1510964A CNA2003101196571A CN200310119657A CN1510964A CN 1510964 A CN1510964 A CN 1510964A CN A2003101196571 A CNA2003101196571 A CN A2003101196571A CN 200310119657 A CN200310119657 A CN 200310119657A CN 1510964 A CN1510964 A CN 1510964A
Authority
CN
China
Prior art keywords
grouping
switch
groupings
sequence number
buffer
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.)
Granted
Application number
CNA2003101196571A
Other languages
English (en)
Other versions
CN1233194C (zh
Inventor
K
K·德罗塔
D·S·敦宁
����÷¡��˾
D·F·卡梅隆
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 CN1510964A publication Critical patent/CN1510964A/zh
Application granted granted Critical
Publication of CN1233194C publication Critical patent/CN1233194C/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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • 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
    • H04L1/1621Group acknowledgement, i.e. the acknowledgement message defining a range of identifiers, e.g. of sequence numbers
    • 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
    • H04L1/1635Cumulative acknowledgement, i.e. the acknowledgement message applying to all previous messages
    • 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1806Go-back-N protocols
    • 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • H04L1/1877Buffer management for semi-reliable protocols, e.g. for less sensitive applications like streaming video
    • 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms
    • H04L1/1883Time-out mechanisms using multiple timers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/17Interaction among intermediate nodes, e.g. hop by hop
    • 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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • 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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/265Flow control; Congestion control using explicit feedback to the source, e.g. choke packets sent by intermediate network nodes
    • 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/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2876Pairs of inter-processing entities at each side of the network, e.g. split proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • 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
    • 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
    • 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
    • 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0096Channel splitting in point-to-point links
    • 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/14Multichannel or multilink 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/26Special purpose or proprietary protocols or architectures
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC

Abstract

从源节点传送数据到目的节点的方法,包括中间点和分组序列号。该分组的拷贝被存储在源节点的缓冲器中直到接收它已被中间点成功接收的确认。该中间点分配中间点序列号给该分组且该分组的拷贝被保留在缓冲器中直到从下一传递点接收到确认。一旦缓冲器中的分组被成功接收,该分组就被释放。接收到错误指示后,要重传每个分组。在接收端,所有被接收的、跟随在与错误指示相关的分组后的分组都被丢弃,直到成功地接收到该分组被重传的版本。单一的否定确认指明与该否定确认相关的分组包含至少一个错误,且同时指明在与该否定确认相关的分组前被接收的所有先前分组都被正确接收。在传送前,独立的链路序列号被分配给每个分组。

Description

计算机网络中输入/输出链路重试、故障及恢复方法和设备
相关申请
本发明要求以下申请的优先权,即:发明人Ahmet Houssein,Paul A.Grun,Kenneth R.Drottar,和David S.Dunning于1997年8月29日提交的题为“互连的计算机、存储系统和其它输入/输出子系统之间通信的方法和设备”的美国临时申请No.60/057,221,以及发明人Christopher Dodd,Ahmet Houssein,Paul A.Grun,Kenneth R.Drottar,和David S.Dunning于1998年4月9日提交的题为“下一代输入/输出”的美国临时申请No.60/081,220。因此这些申请,包括其附图被引入作为参考,就如它们在这里被全部重复一样。而且,本申请涉及David S.Dunning和Kenneth R.Drottar在相同日期提交的、题为“控制服务器之间的数据流的方法和设备”的美国专利申请No.09/141,151。本申请还涉及David S.Dunning,Ken Drottar和Richard Jensen在相同日期提交的、题为“利用优化发送器在服务器之间控制数据流的方法和设备”的美国专利申请No.09/141,134。
技术领域
本发明总地涉及在一个计算机网络中控制节点(或两个点)之间的数据流的方法和设备,更特别地涉及在一个系统区域网络中控制两个节点(或两个点)之间的数据流的方法和设备。
背景技术
在本申请中,术语“节点“将被用来描述一条消息的起始点或一条消息的终止点。术语“点“将被用来指示两个节点之间传送的瞬时位置。本发明包括一个第一节点和一个第二节点,一个节点和作为链路一部分的一台交换机,一个第一交换机和包含一条链路的第二交换机,或一台交换机和一个节点之间的通信。
被称为停等式ARQ的现有的流量控制协议发送一个数据分组,然后在发送下一个分组之前等待一个确认(ACK)。当数据分组从一个点到下一个点在网络中流过时,等待时间成为一个问题。等待时间是由组成网络的结构中的很大数量的链路和交换机而导致的。这是因为在下一个数据分组被从发送节点中发送出之前每个分组都需要来自于一个接收节点的成功接收的确认。因此,由于从接收节点到达发送节点的确认的传输时间而存在固有延迟。
一个被称为退回n的ARQ的解决方案使用顺序编号的分组,其中序列号在包含分组的帧的头标中被发送。在这种情况下,几个连续的分组不用等待确认返回就被发送。根据这个协议,接收节点只接受正确顺序的分组并将请求号(RN)发送回发送节点。给定的请求号的作用是确认被请求的分组之前的所有分组并请求发送与该请求号相关的分组。退回号n是一个决定在没有一个新分组的请求时有多少连续分组能被从发送器中发送出去的参数。具体地,不允许发送节点在i被确认之前(即在i+1被请求之前)发送分组i+n。这样,如果i是从接收节点中最近接收到的请求,则允许发送器在接收到下一个确认之前发送窗口中的n个分组。在这个协议中,如果有一个错误,则由于接收节点只允许按顺序接收分组,而使得整个窗口必须被重传。这样,即使错误在窗口末端附近,整个窗口也必须被重传。这个协议最适合于有高错误概率的大规模网络。
在一个允许大数据分组的结构中,不必要的过量分组重传成为一个重要的效率问题。例如,重传整个窗口的数据分组而每个分组都约是4G字节,则这将会是相对低效率的。
另一个已知的流量控制协议只要求被错误接收的分组的重传。这要求接收器保留一个被正确接收的分组的缓冲器并且在重传的分组被成功接收后对它们重新排序。尽管这种协议保持带宽需求最小,但是它使得接收器的设计比起退回n的ARQ所要求的更复杂。
因此本发明针对开发一种在系统区域网络中控制节点之间的数据流以提高通信效率而不需要使接收端处理过度复杂化的方法和设备的问题。
发明内容
本发明提供一种在网络中从源节点发送数据到目的节点的方法。根据本发明的方法,数据分组被从源节点发送到至少一个中间点。每个分组都被源节点分配以一个相应的序列号。每个分组的一个拷贝都被保留到源节点的一个缓冲器中直到该分组被中间点成功接收的确认被接收到为止。在该中间点,一个中间点序列号被分配给每个被中间点接收到的分组。
本发明提供在多条链路构成的结构中的两条链路之间传送数据的设备。该设备包括两台交换机和一个缓冲器。第一台交换机被放置在一条链路的第一个点中且从链路中的第一个点发送数据分组到链路中的第二个点。第一台交换机将第一点序列号分配给该分组,其中第一点序列号独立于由分组源所分配的源序列号。缓冲器被放置在第一点中,它被连接到第一台交换机且存储每个分组直到接收到该分组已经被成功接收的确认或接收到的该分组的收到版本包含至少一个错误的错误指示为止。第二台交换机被放置在第二点中,接收每个被发送的数据分组,且在接收到一个无错误分组后就发送一个确认以指明对该无错误分组以及在上一个被确认的分组和该无错误分组之间的序列中的所有分组的成功接收。第二台交换机也将第二点序列号分配给所有被接收到的分组,其中第二点序列号是独立于第一点序列号的。
附图说明
图1示例了根据本发明的一个示范实施方案的整个NG I/O链接结构。
图2是根据本发明的一个示范实施方案、用于I/O通过的NG I/O结构的方块图。
图3是示例根据本发明的基于点的协议的操作。
图4是示例根据本发明的、多个节点情况下的基于点的协议的操作。
具体实施方式
结构总览
下一代输入/输出(NG I/O)结构是描述基于NG I/O概念且使用一个NG I/O架构的系统的通用术语。NG I/O架构是一组允许两个NG I/O装置通信的电线和交换机。NG I/O架构是被设计成将服务器节点连接成簇并且连接各种I/O装置(比如存储装置、桥和网络接口)的标准接口。一个或多个NG I/O“交换机”与一系列链路一起组成一个“架构”。
一条NG I/O链路是被用来互连两个点的线和在那些线上运行的伴随协议。一个I/O通过是基于装载/存储的存储器事务将I/O装置连接到一个计算机节点,或将两个计算机节点连接到一起的方法。一个基于I/O通过的互连是对处于该互连的任何一端的实体透明的。NG I/O(物理的)是互连两个实体的线和在链路上运行的协议的最小组。例如,将一个计算机节点连接到一台交换机的线和协议组成一条链路。捆绑的NG I/O是指并行连接两个或多个NG I/O链路在一起的能力。这种被捆绑的链路可以被用来获得增加的带宽或提高一条给定链路的整体可靠性。根据本发明,一台交换机可以被定义成任何能够通过一个或多个端口接收分组(也被称作I/O分组)并基于包含在该分组中的目的地址通过另一个端口重传那些分组的装置。在网络术语中,一台交换机典型地操作在开放系统互连(OSI)的数据链路层。
图1示例了根据本发明的一个示范实施方案的整体NG I/O链接结构。整体NG I/O链接结构可以被示例为包含一台或多台计算机210(例如,服务器,工作站,个人计算机或类似的机器),其中包含计算机210A和210B。计算机210通过包含一个含有网络层212、数据链路层214和物理层216的分层结构的交换NG I/O架构互相通信。一台NG I/O交换机220(例如,包含数据链路和物理层)与计算机210A和210B互连。每台计算机210能够利用例如根据本发明并将在下面被更详细描述的I/O通过技术226,而通过NG I/O架构与一个或多个I/O装置224(224A和224B)通信。每台计算机210能够替代地用一个分布式消息通过技术(DMP)227与一个或多个I/O装置224(224A和224B)通信。其结果是,I/O装置224可以位于每台计算机210的远端。
图2是根据本发明的实施方案用于I/O通过的NG I/O结构的方块图。NG I/O结构包括一台计算机310和一台计算机360,各个都可以是服务器、工作站、个人计算机(PC)或其它计算机。计算机310和360作为主机装置操作。通过包含一条或多条NG I/O链路(例如,NG I/O链路330A,330B,330C,330D)的交换NG I/O架构328,计算机310和360每个都被互连到I/O系统318A和318B。I/O系统318能够位于计算机310和360的远端。
计算机310包括:一个CPU/存储器组合312(包含未表示出的通过一条主机总线典型互连的一个CPU和主存储器),一个NG I/O主机桥314,辅助存储器315(例如一个硬盘驱动器),和一个网络控制器316。对于输出事务(例如从计算机310发送到I/O系统318的信息),NG I/O主机桥314操作以便将该主机事务打包到一个NG I/O分组中而在NG I/O架构328上传输。对于进入事务(例如,从I/O系统318发送到计算机310的信息),NG I/O主机桥314操作以便对在架构328上的一个NG I/O分组中提供的数据(例如,PCI事务)解包,然后将被解包的数据(例如,PCI事务)转换成一个主机事务。与计算机310类似,计算机360包括:一个CPU/存储器组合362,一个NG I/O主机桥364,辅助存储器365,和一个网络控制器366。计算机360以与计算机310相似的方式操作。
每个I/O系统318包含:一个NG I/O到PCI的桥320,一个通过一条PCI总线322连接到该NG I/O到PCI的桥的PCI存储控制器324,和一个或多个I/O装置326。(如图2所示,后缀A标识I/O系统318A的部件,而后缀B标识I/O系统318B的相应部件)。对于输出事务,NG I/O到PCI的桥320操作以便将在NG I/O架构328上接收到的NG I/O分组的数据解包,然后将被解包的数据(例如,一个主机事务或数据)转换成一个PCI事务。类似地,对于进入事务,NGI/O到PCI的桥320操作以便将PCI事务打包到一个NG I/O分组中用于在NG I/O架构328上传输到计算机310。
PCI存储控制器324操作来控制并协调PCI总线322和I/O装置326之间的PCI事务的发送和接收。I/O装置326可以包含,例如,一个SCSI存储装置,或其它I/O装置。
尽管图2所示例的本发明的NG I/O结构的实施方案包括一个NGI/O到PCI的桥320,本领域的技术人员应当理解其它类型的桥也可以被使用。例如,一般来讲,桥320可以被称作“网络到外围的桥”,用于使网络分组转换到与总线322(总线322可以是广泛的各种类型的I/O或外围总线,例如一条PCI总线)兼容的格式和从该格式转换回来。类似地,PCI存储控制器324一般可以被称作是用于几种类型的I/O装置的任意一种的“外围存储控制器”因此,本发明并不局限于PCI桥,而是可以应用于广泛的各种其它的I/O总线,例如工业标准结构(ISA)、扩展工业标准结构(EISA)、加速图形端口(AGP)等。PC只被用作描述本发明的原理的一个例子。类似的,NG I/O到主机的桥364一般被称作一个“网络到主机的桥”,因为它将(NG I/O)网络分组转换到一个主机格式(主机事务)和从主机格式转换回来。
图2示例了一个NG I/O架构328可以被用来将存储装置移出服务器机壳并将存储装置放置在计算机310的远程。架构328可以包含一个或多个计算机410和每个I/O系统418之间的点到点链路,或可以包含多个由一台或多台交换机互连的点到点链路。这个结构允许一个比当前可获得的更分布开的环境。
本发明提供了一个简单途径,用于生成一个带有流量控制机制、不允许由于拥塞而导致数据丢失和由于内部或外部系统噪声而导致瞬时比特错误的工作网络。本发明使用一种不要求端到端或链路到链路信用的流量控制方法,本发明将检测一个被破坏或失序分组的能力以及重试(重发)任何/所有分组以便维持所有数据都不被破坏地传送的能力相组合,而不丢失任何数据且保持数据被发送的顺序。这通过给每个分组分配一个序列号并计算一个32比特循环冗余校验(CRC)并确认(ACK)或否定确认(NAK)每个分组来实现。
本发明假设一个构建的、没有点到点链路的网络。参考图3,最小尺寸的网络10是通过架构15被连接的两个端点3和4。为简单起见,网络3和4中的两个端点分别被命名为源和目的地,并将被用于描述本发明,注意到本发明支持任何不限尺寸的网络。架构15包括一台交换机13和链路8和9。链路8将源连接到交换机13且链路9将目的与交换机13相连接。如上所述,NG I/O协议如所给出的,是在点到点间200工作而不是在端到端间100工作。
本发明假设在每个端点有发送队列和接收队列(即,在源一侧有一个发送队列SE1和一个接收队列RE1,且在目的地一侧,有一个发送队列SE2和一个接收队列RE2)以及在架构13中在每条链路交换连接上有发送和接收队列(即,在链路8的链路交换连接上有一个发送队列X1和一个接收队列X2,且在链路9的链路交换连接上,有一个发送队列X3和一个接收器队列X4)。发送队列SE1的尺寸不需要匹配于接收队列X2的尺寸,发送队列X1的尺寸也不需要匹配于接收器队列RE1的尺寸。对于去往和来自目的地4以及链路9的链路交换连接的发送和接收队列也是这样。一般地,发送队列要比接收队列大一些(不过,对于本发明不需要这样)。在这个例子中,源的发送队列RE1的尺寸被定义为S1,源的接收队列2的尺寸被定义为R1,目的地的发送队列2的尺寸被定义为S2,且目的地的接收队列2的尺寸被定义为R2。此外,发送和接收队列X1-X4的尺寸被分别定义为LX1-LX4。
源3被允许发送至多S1个分组到交换机13的接收队列X1。在无拥塞的条件下,在交换机13接收到的分组将被处理并立刻传送到目的地4。返回去参考图3中的例子,交换机13必须发送回来一个确认(ACK)以便通过确认一个序列号去通知源:分组已经被链路8的链路交换连接正确接收。分组有一个唯一的与链路相关的序列号。在任意给定的链路上,分组必须按照被发送的顺序到达。在任意给定的链路上,描述符被按照它们被排队的顺序重试。注意,作为对这个算法的效率提高,链路8的链路交换通过确认已经被正确接收的最高序列号就能够一次确认多个分组,即如果源3接收到对于分组#9的确认,然后接收到对于分组#14的确认,则分组#10-#13也被隐含确认。链路8的链路交换发送一个分组已经被正确发送的ACK后,交换机9的链路交换就把分组发送到目的地4。目的地4必须发送回一个确认给交换机9的链路交换以确认数据已被正确发送。一组新的序列号被分配给从交换机9的链路交换发送到目的地的分组。
瞬时错误是分组被从一个发送节点发送到一个接收节点时发生的错误。在一个归因于内部或外部系统噪声的瞬时错误事件中,数据可能在源3和目的地4之间被破坏。分组的接收器必须计算接收到的数据的CRC,并将它与被添加到该分组尾端的CRC相比较。如果被计算出的CRC与被接收到的CRC匹配,则该分组被确认。如果两个CRC不匹配,则该分组必须被否定确认,再次用序列号标识。在接收到否定确认后,发送器必须再次重发指定的分组,以及跟随在它后面的所有分组。例如,如果发送器已经发送了多达序列号16的分组却接收到一个分组#14的NAK,则它必须重发分组#14,以及后面的分组#15和分组#16。注意ACK和NAK还可以被组合。利用前面一段的例子,分组9被确认,然后分组#10-#13被假设没有数据破坏地被按顺序接收,随后的分组#14有被破坏的数据;则分组#14的NAK意味着分组#10-#13被无错误地接收,但分组#14被有错误接收且必须被重发。
图4是示例根据本发明的一个实施方案的NG I/O链路的方块图。架构400在分别被标注为401、402和403的节点A、B和C之间被连接。如图4所示,链路411被放置在节点A和架构400之间,链路412被放置在节点B和架构400之间且链路413被放置在节点C和架构400之间。每条链路是在架构400中的两个NG I/O连接点之间的双向通信路径。如图4所示,链路411的一条单向路径431被在节点A的输出端口422和架构400的一个输入端口414之间连接且一条单向路径432被在节点A的输入端口426和架构400的输出端口428之间连接,从而提供一条双向链路。
返回去参考图4,假设例如,节点A和C想通过发送数据分组到节点B去与节点B通信。根据本发明的原理,节点A可以通过链路411转送分组#1-#3到架构400。这些分组被分配以一个指明这些分组被接收点或节点接收的顺序的序列号。节点C也想与节点B通信,它通过链路413转送分组#11-#12到架构400。序列号再次被分配给这些分组以保证它们被按照发送的顺序接收。架构400包含至少一台被用来接收已发送的分组的交换机410。交换机410也分配一个新的序列号给它接收到的所有分组。例如,交换机410分配一个新的序列号给分组#1-#3和#11-#13。这些分组的序列号可以被按照不只一种方法安排,只要它们遵循分组被从发送器发送到交换机410的相同顺序。例如,交换机410可以分别分配新的序列号101-106给分组#1-#3和#11-#13。另外,新序列号101-106可以分别被分配给分组#1、#11、#2、#12、#3和#13。其它分配也是可能的只要不偏离本发明。
根据本发明的原理,不再需要对于发送分组的源的识别。这样,一旦分组被从源发送到交换机,并被交换机确认,就不再需要对源的识别。返回去参考前面的例子,被分配以新的序列号101-106的分组#1-#3和#11-#13,接着被转送到节点B。在节点B,这些分组被确认或否定确认。如果分组被确认,则成功的数据传输就被完成。或者,如果NAK被交换机从节点B接收到,则交换机确定哪些分组要被重发。根据本发明的特征,新的序列号101-106被用于标识分组。这样,对于序列号104的NAK意味着序列号101-103代表的分组被无错误接收,但序列号104-106代表的分组被有错误接收且必须被重传。
如果网络中发生了拥塞,则被接收到的分组就不能立即在网络中继续前进。网络中的拥塞是通过网络的分组发生拥挤而造成的。拥塞控制和拥塞管理是网络可以用来有效处理大业务量的两种机制。返回去参考图3,当在一个接收队列中本地缓冲器空间被填满时,额外的分组就将被丢失,例如,当队列X1填满时,随后的分组将被丢弃。不过,假设重试可以发生在网络的每个点而不是每端,则被丢弃的分组能相对简单地被恢复。接收队列X1一旦开始将分组移出其接收缓冲器,它就给出了用来接收额外分组的空间。接收队列X2将检查它接收的下一个分组的序列号。在源3已经发送了被丢弃的分组的事件中,第一个被丢弃的分组将被否定确认从而从该分组开始重传。
根据本发明,发送队列S1只是不断发送分组直到其发送队列已经被还未被确认的分组充满为止。在它能重新使用那些缓冲器之前,它必须等待对于那些分组的确认(如果需要的话,它需要能够重试那些分组)。
本发明有许多优点。例如,本发明允许被破坏的分组能在网络中的每个点而不只是在网络的源和目的地被重试。根据本发明,在第一个节点(源)发送到和从一个中间节点接收一个确认后,第一个节点就不再被依赖去重发信息,尽管该信息后来在从其它中间节点到目的地的传输路径中可能被破坏。这样,本发明的重试特征简化了数据传输并使得其更有效。由于在传输期间发生了破坏时第一个节点不再被依赖去重发数据,所以在第一个节点从第一个中间点接收到一个确认之后它就不用发送额外数据到其它位置或相同的目的地。
此外,本发明也允许在信元级检测错误分组。根据本发明的原理,分组中的每个信元被检查错误。在检测到分组中的第一个被破坏信元后,一个错误指示就被返回给分组的发送器。这样,整个分组在一个错误指示被返回之前不需要被检查。
另外,本发明实现了两个点之间的流量控制,它比传统的基于信用的流量控制(当所有信用被用尽时,一个基于信用的方案就停止发送分组,且传输不能被恢复直到额外的信用被收到为止)有更好的、提高链路效率的带宽。因此,在一个基于信用的方案中,开始和停止数据传送的时间依赖于经过的链路的往返行程时间。本发明的最有利之处在于它发送分组带有它们都被正确接收的预期而且不依赖于链路的往返行程时间。

Claims (20)

1.一种将网络中的数据从一个源节点发送到一个目的节点的方法,它包含的步骤是:
a)在多个分组中将数据从所述源节点发送到至少一个中间点,所述多个分组被分配以一个相应的序列号;
b)在所述源节点的缓冲器中保留每个分组的一个拷贝直到接收到所述每个分组已经被所述中间点成功接收的确认为止;以及
c)给由该中间点接收到的每个分组分配一个中间点序列号,其中所述中间点序列号独立于所述源节点的序列号。
2.根据权利要求1的方法,还包含的步骤是:在所述中间点的缓冲器中保留每个接收到的分组的一个拷贝直到接收到所述每个分组已经被成功接收的另一确认为止。
3.根据权利要求1的方法,还包含的步骤是:
d)一接收到来自于所述中间点的、与源节点的缓冲器中的一个特定分组相关的确认,就释放该特定分组;以及
e)释放缓冲器中所述特定分组和上一个被确认的分组之间的任何其它分组。
4.根据权利要求1的方法,还包含的步骤是:
d)一接收到错误指示,就重传所述每个分组和所有随后的分组;以及
e)丢弃跟随在与所述错误指示相关的每个分组之后的所有被接收到的分组,直到成功接收到所述每个分组的被重传的版本为止。
5.通过一个系统区域网络中的结构传送数据的方法,该网络包括利用点到点协议的多个链路,该方法包含的步骤是:
a)将多个分组中的数据从点发送到点,所述多个分组被分配以一个序列号;
b)在源节点的一个缓冲器中保留每个分组直到接收到指明该每个分组已经被成功接收的确认或接收到所述每个分组的收到版本中包括至少一个错误的错误指示为止,与此同时发送另外的分组;
c)利用一个单一的否定确认来指明与该否定确认相关的分组包括至少一个错误,且同时指明在与该否定确认相关的分组之前被接收到的所有先前的分组都被正确接收;以及
d)在从一条链路的起始点发送每个分组之前,给所述各个分组分配一个链路序列号,其中所述链路序列号独立于所述源节点的所述序列号。
6.根据权利要求5的方法,还包含的步骤是通过发送所述确认来指明在上一个被确认的分组和特定分组之间的所有分组的成功接收。
7.根据权利要求5的方法,还包含的步骤是:
e)一接收到与该源节点的缓冲器中的一个特定分组相关的确认,就释放该特定分组;以及
f)释放缓冲器中所述特定分组和上一个被确认的分组之间的任何其它分组。
8.根据权利要求5的方法,还包含的步骤是:释放跟随在与该否定确认相关的分组之后的所有被缓冲的分组,并重传从与该否定确认相关的分组起、包括与该否定确认相关的分组的所有分组。
9.一种用于在包括多个链路的结构的两条链路之间传送数据的设备,该设备包含:
a)一台第一交换机,它被放置在一条链路的第一点上并从该链路中的第一点发送多个分组中的数据到该链路中的第二点;该第一交换机将第一点序列号分配给该多个分组,该第一点序列号独立于由该分组的一个源所分配的源序列号;
b)一个缓冲器,它被放置在第一点,被耦合到第一交换机并存储每个分组,直到接收到所述每个分组已经被成功接收的确认或接收到所述每个分组的收到版本包括至少一个错误的错误指示;以及
c)第二交换机,它被放置在第二点,接收每个被发送的数据分组,且一接收到一个无错误分组,就发送另一个确认来指明对于该无错误分组以及在上一个被确认的分组和该无错误分组之间的序列中的所有分组的成功接收,所述第二交换机将第二点序列号分配给所述被接收到的分组,所述第二点序列号独立于所述第一点序列号。
10.根据权利要求9的设备,其中第一交换机一接收到与缓冲器中所述存储的分组相关的确认,就释放缓冲器中的该存储的分组,以及缓冲器中该分组之前的所有分组。
11.根据权利要求9的设备,其中第一交换机一接收到与特定分组相关的错误指示,就重传该特定分组和所有跟随在该特定分组之后的序列中的分组。
12.根据权利要求11的设备,其中所述第二交换机丢弃所有被接收到的、跟随在所述特定分组之后的序列中的分组,直到成功接收到所述特定分组的被重传的版本为止。
13.一种方法,包含的步骤是:
a)在多个分组中将数据从一台源交换机发送到至少一台中间交换机,所述多个分组被源交换机分配以一个相应的序列号;
b)在所述源交换机的缓冲器中保留每个分组的一个拷贝,直到接收到所述每个分组已经被所述中间交换机成功接收的确认为止;以及
c)给由中间交换机接收到的每个分组分配一个中间交换机序列号,其中所述中间交换机序列号独立于所述源交换机的所述序列号。
14.根据权利要求13的方法,其中该方法还包含的步骤是:在所述中间交换机的缓冲器中保留每个发送的分组的一个拷贝直到接收到所述每个分组已经被成功接收的确认为止。
15.根据权利要求13的方法,其中该方法还包含的步骤是:
d)一接收到来自于所述中间交换机的、与源交换机的缓冲器中的一个特定分组相关的确认,就释放该特定分组;以及
e)释放缓冲器中所述特定分组和上一个被确认的分组之间的任何其它分组。
16.根据权利要求13的方法,其中该方法还包含的步骤是:
d)一接收到错误指示,就重传所述每个分组和所有随后的分组;以及
e)丢弃跟随在与错误指示相关的每个分组之后的所有被接收到的分组,直到成功接收到所述每个分组的被重传的版本为止。
17.一种方法,包含的步骤是:
a)在多个分组中将数据从一台第一交换机发送到一台第二交换机,所述多个分组被第一交换机分配以一个序列号;
b)在所述第一交换机的缓冲器中保留每个分组,直到接收到指明所述每个分组已经被成功接收的确认或接收到所述每个分组的收到版本中包括至少一个错误的错误指示为止,与此同时发送另外的分组;
c)利用一个单一的否定确认来指明与该否定确认相关的分组包括至少一个错误,且同时指明在与该否定确认相关的分组之前被接收到的所有先前的分组都被正确接收;以及
d)在从一台第二交换机发送每个分组之前,给所述各个分组分配一个链路序列号,被第二台交换机分配的所述链路序列号独立于被第一台交换机分配的链路序列号。
18.根据权利要求17的方法,其中该方法还包含的步骤是通过发送一个单一确认来指明在上一个被确认的分组和一个特定分组之间的所有分组的成功接收。
19.根据权利要求17的方法,其中该方法还包含的步骤是:
e)一接收到与第一交换机的缓冲器中的一个特定分组相关的确认,就释放该特定分组;以及
f)释放缓冲器中所述特定分组和上一个被确认的分组之间的任何其它分组。
20.根据权利要求17的方法,还包含的步骤是:释放跟随在与该否定确认相关的分组之后的所有被缓冲的分组,以及重传从与该否定确认相关的分组起、包括与该否定确认相关的分组的所有分组。
CNB2003101196571A 1998-08-27 1999-07-30 计算机网络中输入/输出链路重试、故障及恢复方法和设备 Expired - Lifetime CN1233194C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/141136 1998-08-27
US09/141,136 US6181704B1 (en) 1997-08-29 1998-08-27 Method and apparatus for input/output link retry, failure and recovery in a computer network

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNB998127035A Division CN1135895C (zh) 1998-08-27 1999-07-30 计算机网络中控制数据流的方法和设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2005101180411A Division CN100407615C (zh) 1998-08-27 1999-07-30 在网络中发送数据的方法和设备

Publications (2)

Publication Number Publication Date
CN1510964A true CN1510964A (zh) 2004-07-07
CN1233194C CN1233194C (zh) 2005-12-21

Family

ID=22494321

Family Applications (3)

Application Number Title Priority Date Filing Date
CNB998127035A Expired - Lifetime CN1135895C (zh) 1998-08-27 1999-07-30 计算机网络中控制数据流的方法和设备
CN2005101180411A Expired - Lifetime CN100407615C (zh) 1998-08-27 1999-07-30 在网络中发送数据的方法和设备
CNB2003101196571A Expired - Lifetime CN1233194C (zh) 1998-08-27 1999-07-30 计算机网络中输入/输出链路重试、故障及恢复方法和设备

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CNB998127035A Expired - Lifetime CN1135895C (zh) 1998-08-27 1999-07-30 计算机网络中控制数据流的方法和设备
CN2005101180411A Expired - Lifetime CN100407615C (zh) 1998-08-27 1999-07-30 在网络中发送数据的方法和设备

Country Status (8)

Country Link
US (1) US6181704B1 (zh)
EP (1) EP1108343B1 (zh)
CN (3) CN1135895C (zh)
AT (1) ATE346473T1 (zh)
AU (1) AU5242199A (zh)
DE (1) DE69934124T2 (zh)
HK (1) HK1041413B (zh)
WO (1) WO2000013455A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212285B (zh) * 2007-12-25 2010-08-18 中国人民解放军理工大学 基于机会协同的自动重传请求方法
CN102368700A (zh) * 2011-10-25 2012-03-07 曙光信息产业(北京)有限公司 一种分布式系统中消息的传递方法
CN101340267B (zh) * 2007-07-03 2015-05-13 财团法人工业技术研究院 通讯系统的传输控制方法与装置
CN109614256A (zh) * 2012-12-28 2019-04-12 英特尔公司 现场错误恢复

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6333929B1 (en) 1997-08-29 2001-12-25 Intel Corporation Packet format for a distributed system
JP3722969B2 (ja) * 1998-01-08 2005-11-30 株式会社東芝 再送制御方法及び再送制御装置
JP2000020490A (ja) * 1998-07-01 2000-01-21 Fujitsu Ltd 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体
US6700871B1 (en) * 1999-05-04 2004-03-02 3Com Corporation Increased throughput across data network interface by dropping redundant packets
US6400724B1 (en) * 1999-07-16 2002-06-04 Qualcomm Inc. Method and apparatus for efficient data transmission in a voice-over-data communication system
JP3788125B2 (ja) * 1999-08-25 2006-06-21 株式会社日立製作所 パケット送受信方法およびその装置
US7035214B1 (en) * 1999-09-28 2006-04-25 Nortel Networks Limited System and method for a negative acknowledgement-based transmission control protocol
JP2001142845A (ja) * 1999-11-17 2001-05-25 Toshiba Corp コンピュータシステムおよびデータ転送制御方法
US6646991B1 (en) 1999-12-22 2003-11-11 Intel Corporation Multi-link extensions and bundle skew management
US6687840B1 (en) 2000-04-21 2004-02-03 Intel Corporation Multi-link extensions and bundle skew management
US7225383B1 (en) 2000-01-19 2007-05-29 Sun Microsystems, Inc. System and method for enhancing communication between devices in a computer system
US7245594B1 (en) * 2000-05-12 2007-07-17 Qualcomm Incorporated Method and apparatus for fast closed-loop rate adaptation in a high rate packet data transmission
US7103016B1 (en) * 2000-08-11 2006-09-05 Echelon Corporation System and method for providing transaction control on a data network
US6965916B1 (en) * 2000-12-14 2005-11-15 Bellsouth Intellectual Property Corp. System and method for data distribution and recovery
US20020107706A1 (en) * 2001-02-02 2002-08-08 Oliver Mitchell B. Virtual negotiation
US7865915B1 (en) * 2001-05-23 2011-01-04 Cisco Technology, Inc. Content discovery and differential advertising in video distribution networks
GB2376857B (en) * 2001-06-22 2003-07-23 Motorola Inc Proxy server and method for delivering information in a multimedia communication system
AU2002311547B2 (en) * 2001-06-30 2006-04-27 Nokia Inc. Apparatus and method for delivery of packets in multi-hop wireless networks
KR100428659B1 (ko) * 2001-07-20 2004-04-28 엘지전자 주식회사 데이터 통신망의 더블 버퍼를 이용한 데이터 업레이트장치 및 그 방법
US7133893B2 (en) * 2001-08-03 2006-11-07 Hewlett-Packard Development Company, L.P. Opportunistic transmission of portably stored digital data
US6996537B2 (en) * 2001-08-13 2006-02-07 Qualcomm Incorporated System and method for providing subscribed applications on wireless devices over a wireless network
US9203923B2 (en) * 2001-08-15 2015-12-01 Qualcomm Incorporated Data synchronization interface
JP2003174479A (ja) * 2001-12-07 2003-06-20 Fujitsu Ltd パケット通信方法及びその装置
US7337234B2 (en) * 2002-04-05 2008-02-26 Oracle International Corporation Retry technique for multi-tier network communication systems
US7200115B2 (en) * 2002-05-17 2007-04-03 Lucent Technologies Inc. Method of managing non-acknowledgement responses
US20040043753A1 (en) * 2002-08-30 2004-03-04 Wake Susan L. System and method for third party application sales and services to wireless devices
KR100498932B1 (ko) * 2002-12-30 2005-07-04 삼성전자주식회사 이동 노드들로 구성된 무선망에서의 세션 설정 장치 및 방법
TW200522598A (en) * 2003-12-19 2005-07-01 Iwics Inc Data transport protocol for a multi-station network
JP2007519120A (ja) * 2004-01-21 2007-07-12 クゥアルコム・インコーポレイテッド 無線加入者ネットワークにおけるアプリケーションをベースにした価値課金
US7525935B2 (en) * 2004-02-06 2009-04-28 M-Stack Limited Apparatus and method for operating a communications device in a mobile communications network
US7480267B2 (en) * 2004-02-06 2009-01-20 M-Stack Limited Apparatus and method for operating a communications device in a mobile communications network
US7339904B2 (en) * 2004-02-06 2008-03-04 M-Stack Limited Apparatus and method for operating a communications device in a mobile communications network
US20050289047A1 (en) * 2004-06-28 2005-12-29 Oliver Mitchell B Virtual marketplace for wireless device applications and services with integrated multi-party settlement
US7539142B1 (en) * 2004-07-21 2009-05-26 Adtran, Inc. Ethernet LAN interface for T3 network
CN100361430C (zh) * 2004-08-11 2008-01-09 华为技术有限公司 一种数据传输的方法
JP2006209579A (ja) * 2005-01-31 2006-08-10 Palenet Co Ltd レンタル契約方法
KR100785293B1 (ko) * 2005-02-11 2007-12-12 삼성전자주식회사 다중 tcp확인응답을 이용한 tcp 혼잡 제어 시스템및 그 방법
US9185538B2 (en) * 2005-05-31 2015-11-10 Qualcomm Incorporated Wireless subscriber application and content distribution and differentiated pricing
US9350875B2 (en) * 2005-05-31 2016-05-24 Qualcomm Incorporated Wireless subscriber billing and distribution
US7970958B2 (en) * 2005-06-20 2011-06-28 Micron Technology, Inc. Peripheral interface alert message for downstream device
US7773630B2 (en) 2005-11-12 2010-08-10 Liquid Computing Corportation High performance memory based communications interface
US9143622B2 (en) 2006-02-17 2015-09-22 Qualcomm Incorporated Prepay accounts for applications, services and content for communication devices
US9185234B2 (en) 2006-02-22 2015-11-10 Qualcomm Incorporated Automated account mapping in a wireless subscriber billing system
CA2655545A1 (en) * 2006-06-19 2007-12-27 Liquid Computing Corporation Secure handle for intra-and inter-processor communications
US7873964B2 (en) * 2006-10-30 2011-01-18 Liquid Computing Corporation Kernel functions for inter-processor communications in high performance multi-processor systems
WO2008068729A1 (en) * 2006-12-08 2008-06-12 Iwics Inc Enhanced data transport protocol for a multi-station network
US7924766B2 (en) * 2007-04-10 2011-04-12 Mitsubishi Electric Research Labs, Inc. Hybrid multiple access method and system in wireless networks
US8200910B2 (en) * 2008-02-01 2012-06-12 International Business Machines Corporation Generating and issuing global shared memory operations via a send FIFO
US8146094B2 (en) * 2008-02-01 2012-03-27 International Business Machines Corporation Guaranteeing delivery of multi-packet GSM messages
US8255913B2 (en) * 2008-02-01 2012-08-28 International Business Machines Corporation Notification to task of completion of GSM operations by initiator node
US8484307B2 (en) * 2008-02-01 2013-07-09 International Business Machines Corporation Host fabric interface (HFI) to perform global shared memory (GSM) operations
US8239879B2 (en) * 2008-02-01 2012-08-07 International Business Machines Corporation Notification by task of completion of GSM operations at target node
US8275947B2 (en) * 2008-02-01 2012-09-25 International Business Machines Corporation Mechanism to prevent illegal access to task address space by unauthorized tasks
US8214604B2 (en) * 2008-02-01 2012-07-03 International Business Machines Corporation Mechanisms to order global shared memory operations
US8756477B2 (en) * 2009-12-21 2014-06-17 Qualcomm Incorporated System, method and apparatus for early termination based on transport block fail for acknowledgment bundling in time division duplex
JP6024419B2 (ja) * 2012-11-29 2016-11-16 富士通株式会社 データ配置方法、及び中継装置
CN103957081B (zh) * 2014-05-05 2018-07-20 深圳证券通信有限公司 一种用于分布式系统的指令传输方法和系统
WO2016018383A1 (en) 2014-07-31 2016-02-04 Hewlett-Packard Development Company Live migration of data
US10540109B2 (en) 2014-09-02 2020-01-21 Hewlett Packard Enterprise Development Lp Serializing access to fault tolerant memory
US10594442B2 (en) * 2014-10-24 2020-03-17 Hewlett Packard Enterprise Development Lp End-to-end negative acknowledgment
US10402287B2 (en) 2015-01-30 2019-09-03 Hewlett Packard Enterprise Development Lp Preventing data corruption and single point of failure in a fault-tolerant memory
US10664369B2 (en) 2015-01-30 2020-05-26 Hewlett Packard Enterprise Development Lp Determine failed components in fault-tolerant memory
US10409681B2 (en) 2015-01-30 2019-09-10 Hewlett Packard Enterprise Development Lp Non-idempotent primitives in fault-tolerant memory
US10402261B2 (en) 2015-03-31 2019-09-03 Hewlett Packard Enterprise Development Lp Preventing data corruption and single point of failure in fault-tolerant memory fabrics
GB2539003B (en) * 2015-06-03 2018-05-09 Openwave Mobility Inc A method and apparatus for managing connections in a communication network
WO2017053960A1 (en) 2015-09-25 2017-03-30 Fsa Technologies, Inc. Flow control system and method
WO2017212118A1 (en) * 2016-06-10 2017-12-14 Tttech Flexibilis Oy Receiving frames at redundant port connecting node to communications network
US10389342B2 (en) 2017-06-28 2019-08-20 Hewlett Packard Enterprise Development Lp Comparator
US10432536B1 (en) * 2017-12-11 2019-10-01 Xilinx, Inc. Systems and methods for policing streams in a network
US10996891B2 (en) 2019-02-28 2021-05-04 International Business Machines Corporation Token management for write commands transmitted by a host over a plurality of interfaces to a storage controller
US11010248B2 (en) * 2019-02-28 2021-05-18 International Business Machines Corporation Reuse of resources in a storage controller for executing write commands over a plurality of interfaces
CN111064674B (zh) * 2019-11-05 2021-02-26 珠海格力电器股份有限公司 数据的传输方法及装置、系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1220830A (en) * 1984-12-28 1987-04-21 David S. Drynan Transmitting sequence numbers of information in a packet data transmission system
GB2229896B (en) * 1989-02-24 1993-06-30 Rosemount Inc Technique for acknowledging packets
US5245616A (en) * 1989-02-24 1993-09-14 Rosemount Inc. Technique for acknowledging packets
GB2252020A (en) * 1990-12-04 1992-07-22 Ibm Flow control in data communication systems.
US5260933A (en) 1992-05-15 1993-11-09 International Business Machines Corporation Acknowledgement protocol for serial data network with out-of-order delivery
US5459725A (en) * 1994-03-22 1995-10-17 International Business Machines Corporation Reliable multicasting over spanning trees in packet communications networks
US5959995A (en) * 1996-02-22 1999-09-28 Fujitsu, Ltd. Asynchronous packet switching
US5809025A (en) * 1996-03-15 1998-09-15 Motorola, Inc. Virtual path-based static routing

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340267B (zh) * 2007-07-03 2015-05-13 财团法人工业技术研究院 通讯系统的传输控制方法与装置
CN101212285B (zh) * 2007-12-25 2010-08-18 中国人民解放军理工大学 基于机会协同的自动重传请求方法
CN102368700A (zh) * 2011-10-25 2012-03-07 曙光信息产业(北京)有限公司 一种分布式系统中消息的传递方法
CN102368700B (zh) * 2011-10-25 2014-10-22 曙光信息产业(北京)有限公司 一种分布式系统中消息的传递方法
CN109614256A (zh) * 2012-12-28 2019-04-12 英特尔公司 现场错误恢复
CN109614256B (zh) * 2012-12-28 2023-02-17 英特尔公司 现场错误恢复

Also Published As

Publication number Publication date
HK1041413A1 (en) 2002-07-05
DE69934124D1 (de) 2007-01-04
CN100407615C (zh) 2008-07-30
EP1108343A1 (en) 2001-06-20
EP1108343A4 (en) 2004-02-25
DE69934124T2 (de) 2007-10-11
HK1041413B (zh) 2004-12-03
WO2000013455A1 (en) 2000-03-09
US6181704B1 (en) 2001-01-30
CN1135895C (zh) 2004-01-21
ATE346473T1 (de) 2006-12-15
EP1108343B1 (en) 2006-11-22
CN1233194C (zh) 2005-12-21
CN1764099A (zh) 2006-04-26
AU5242199A (en) 2000-03-21
CN1324555A (zh) 2001-11-28

Similar Documents

Publication Publication Date Title
CN1233194C (zh) 计算机网络中输入/输出链路重试、故障及恢复方法和设备
US6343067B1 (en) Method and apparatus for failure and recovery in a computer network
US6683850B1 (en) Method and apparatus for controlling the flow of data between servers
US11063884B2 (en) Ethernet enhancements
US6333929B1 (en) Packet format for a distributed system
US8233483B2 (en) Communication apparatus, communication system, absent packet detecting method and absent packet detecting program
US6760307B2 (en) Method and apparatus for controlling the flow of data between servers using optimistic transmitter
US6724762B2 (en) System and method for implementing multi-pathing data transfers in a system area network
WO2000072487A1 (en) Quality of service in reliable datagram
CN1836418A (zh) 分组重新排序期间的改进的传输控制协议性能
WO1999035791A1 (en) System and method for implementing error detection and recovery in a system area network
US7055085B2 (en) System and method for protecting header information using dedicated CRC
EP1708445A1 (en) Communication device and logical link abnormality detection method
US20160255008A1 (en) Separable transport layer in cache coherent multiple component microelectronic systems
CN1901436A (zh) 用于在计算节点之间进行数据通信的系统和方法
US20020057687A1 (en) High speed interconnection for embedded systems within a computer network
US20230385138A1 (en) Chip-to-chip interconnect with a layered communication architecture
CN1719809A (zh) 串行传输接口的数据处理方法与系统
Perkins et al. Comparison of transport protocols for high-speed data networks
WO2002017092A2 (en) Message sequence numbers and their use in completing messages in memory

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: 20051221