CN101874375A - 数据确认装置和方法 - Google Patents

数据确认装置和方法 Download PDF

Info

Publication number
CN101874375A
CN101874375A CN200880117459A CN200880117459A CN101874375A CN 101874375 A CN101874375 A CN 101874375A CN 200880117459 A CN200880117459 A CN 200880117459A CN 200880117459 A CN200880117459 A CN 200880117459A CN 101874375 A CN101874375 A CN 101874375A
Authority
CN
China
Prior art keywords
node
data
notice
receiving
via node
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
CN200880117459A
Other languages
English (en)
Other versions
CN101874375B (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.)
Price Taco Holdings Ltd
Telensa Holdings Ltd
Original Assignee
Plextek Ltd
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 Plextek Ltd filed Critical Plextek Ltd
Publication of CN101874375A publication Critical patent/CN101874375A/zh
Application granted granted Critical
Publication of CN101874375B publication Critical patent/CN101874375B/zh
Expired - Fee Related 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
    • 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/1809Selective-repeat protocols
    • 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/0097Relays

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

在网络中将数据从发送节点经由中继节点发送至接收节点的过程中,发送通知来确认数据已在传输的每个单独的阶段被正确地接收,并进一步向发送节点发送通知来确认数据在整个传输路径被正确地传输并在接收节点被接收是方便的。然而,发送确认这种接收的通知会对网络造成负担。本发明提供了一种用于发送通知的接收节点,该通知被设置为通知发送节点和接收节点在接收节点接收到数据。这减小了系统上的负担,同时允许在单个阶段和整个传输路径上的数据传输的通知。

Description

数据确认装置和方法
技术领域
本发明涉及网络中的数据传输。具体地,本发明涉及用于在网络的节点确认数据接收的通知的传输。
背景技术
包括数据在其间传输的多个站或节点的网络已变得普遍。在这种网络中,数据通常通过源节点和目的节点之间的连接进行传输。在许多情况下,数据的传输是经由一个或多中间节点而在多个步骤中发生的,特别是在节点不能够单独地远距离传输数据(这是因为,例如,有限的无线电发射功率)的情况下。这些数据可以以排列为序列的离散数据包的形式进行发送。这些数据可包括,例如,应用程序数据或控制数据。
数据可根据协议栈进行传输,至少包括:物理层(下文中表示为L1),包括调制解调器、电线、中继站等的物理组合,信号是在其上发送的;数据链路协议层(下文中表示为L2),处理连接中的相邻节点之间的数据传输;以及网络协议层(下文中表示为L3),用于在其中处理建立数据连接、为连接内的数据传输和数据流设置路由。
在一些情况下,使用“未确认”传输协议,其中,不通知发送节点关于发送的数据是否已在接收站被正确接收;然而,在数据的有效部分在传输过程中被丢失或损坏的情况下,未确认传输协议是有问题的,因为很难对丢失的数据进行安排以重新传输。因此,通常在节点间发送接收到数据的通知,并且在没有接收到相应通知时重新传输数据。在下文中,通知会称为“ack”(acknowledgement的缩写)。在下面的讨论中,被确认的但本身不是ack的数据将被称为“原始数据”;同样地,包含这种数据的数据包将被称为“原始数据包”。
现在参照图1a和图1b描述这种方案通常使用的一种通知方法(通常称为“点到点”方法)。图1a示出了原始数据在源节点、中间节点和目的节点之间进行传输和确认的情形。在步骤S300,将原始数据包从源节点传输至中间节点。中间节点在步骤S302发送ack以通知源节点接收到原始数据包。原始数据包通常包括将目的节点识别为其目的地的信息;目的节点对原始数据包进行分析以确定其目的地,并且这样做了之后,在步骤S304将原始数据包发送至目的节点。原始数据包通常还包括将源节点识别为其源的信息;目的节点提取此信息并在步骤S306发送ack以通知中间节点已接收到原始数据包。以这种方式,在传输的每个阶段确认原始数据包的传输。根据点到点确认方法传输的ack通常由L2处理;在下文中,它们将被称为“L2ack”。
如果原始数据包在传输期间被丢失或损坏,则接收不到相应的ack,这会触发原始数据包进行重新发送。图1b示出了一个实例,其中原始数据包在中间节点和目的节点之间被丢失。在步骤S310,将原始数据包从源节点发送至中间节点;在步骤S312,将L2ack从中间节点发送至源节点。在步骤S314,中间节点将原始数据包发送至目的节点;然而,可能由于影响节点之间信号传输的环境条件或干扰,诸如来自另一无线电系统的传输的干扰、闪电、或“无线电衰落(其中,信号被从源节点至目的节点的多条路径的破坏性干扰所抵消)”,而没有收到原始数据包。在步骤S316,中间节点在重新发送原始数据包之前,监控其已发送的原始数据包的L2ack一段预定时间T。这次,原始数据包由目的节点成功接收,并且在步骤S318将L2ack从目的节点发送至中间节点。和之前一样,没有接收到ack会导致重新发送相应的原始数据。
此方法的问题在于,由于没有通知源节点丢失了在步骤S314发送的原始数据包,因此源节点会将另外的原始数据包320继续发送至中间节点;特别是在中间节点和目的节点之间的连接比源节点和目的节点之间的连接效率低得多的配置中,这可导致在中间节点原始数据包的大量积聚,从而可能最终导致中间节点的过载。
根据另一通常被称为“端到端”方法的确认方法,不用在每一步对原始数据包进行确认;ack只从原始数据包的目的地发送至其源。在端到端方法中,通常将ack从L2传送至L3以进行处理;从L2角度来看,端到端ack本身是数据包,如果其处于该ack的目的节点,则被传送至L3以进行处理,而如果其不处于该ack的目的节点,则被发送至另一节点。根据端到端方法发送的ack将在下文中称为“L3ack”。图2a示出了示例方案。在步骤S400将原始数据包从源节点发送至中间节点。中间节点对原始数据包进行分析,并确定它不是原始数据包的目的地,因此它不向源节点发送ack。在步骤S402,将原始数据包从中间节点发送至目的节点,目的节点对原始数据包进行分析,并确定它是原始数据包的目的地。因此它向源节点发送ack;这包括在步骤S404将ack从目的节点发送至中间节点,以及在步骤S406将ack从中间节点发送至源节点。
在端到端的方法中,任何在传输期间丢失或损坏的原始数据必须从源进行重新传输,如现在参照图2b所述。在步骤S410,将原始数据包从源节点发送至中间节点。在步骤S412,原始数据包从中间节点发送,但没有到达目的节点。在步骤S414,源节点在重新发送原始数据包之前,监控其已发送的原始数据包的ack一段预定时间T1。原始数据包到达中间节点,在步骤S416会从中间节点将其重新发送。这次,原始数据包在目的节点被成功接收。响应于此,目的节点在步骤418发送ack,该ack到达中间节点并在步骤S420被发送至源节点。
端到端方法会有低效率的问题,因为,特别是在原始数据包在接近目的地时被丢失或损坏的情况下,原始数据包必须通过已成功将其传输的传输路径的阶段进行重新发送。在参考图2b描述的实例中,在步骤S410和步骤S414,同一原始数据包在源节点和中间节点之间被发送两次。此外,当L3ack在传输期间被丢失或损坏时,原始数据包也被重新传输,这使得效率更为低下,因为原始数据包接下来就必须通过整个连接进行重新传输,并且相应的L3ack也须通过该连接的一部分进行重新传输。端到端方法还会有发送原始数据包和接收相应ack之间的长传播时间的问题,这会产生很多困难,尤其在原始数据包以包的序列被发送的情况下,因为在源节点对没有正确接收到原始数据包作出反应之前,多个其他的数据包可能已被发送,这会使得数据排序的正确性出现问题。这在诸如无线电传输的具有高误码率的系统中的问题尤为突出。
一些方案在同一系统中独立地使用点到点方法和端到端方法。参考图3,在这些方案中,在步骤S500将原始数据包从源节点发送至中间节点。中间节点在步骤S502将L2ack发送至源节点,并且在步骤S504将原始数据包从中间节点发送至目的节点。响应于接收原始数据包,目的节点在步骤S506将L2ack发送至中间节点。目的节点还在步骤S508发送由中间节点接收的L3ack。
在这个方案中,L3ack在L2自行确认;这是因为,如上所述,从L2的角度看,L3ack是被发送和/或被处理和确认的原始数据包;因此,未能确认L3ack将导致上述关于端到端方法的传播时间长等的问题。L3ack的确认将在下文中被称为L3ack确认;然而,在本质上,L3ack可被认为是L2ack。
在一些情况下,与给定的原始数据包对应的L2ack和L3ack可作为同一数据包的一部分而进行发送。然而,传统的L2ack和L3ack相互独立地工作并在本文中被认为是单独的通知,而不考虑它们是否承载在同一个数据包中。
参见图3,在步骤S510,中间节点将L3ack确认发送至目的节点。然后,在步骤S512,中间节点将L3ack发送至源节点,反过来源节点在步骤S514将L3ack确认发送至中间节点。
同时使用了端到端确认方法和点对点确认方法的系统具有如下缺点:大量的传输时间被ack的传输占用,减小了可用于传输其他形式的数据的传输时间,导致效率降低。
本发明的目的是减少现有技术的至少一些问题。
发明内容
根据本发明的第一方面,提供了一种用于在网络中传输数据的中继节点,该网络包括该中继节点、发送节点和接收节点,接收节点和中继节点被设置为经由网络在协议层栈的高协议层和低协议层接收数据,并发送用于识别在高协议层和低协议层接收到数据的通知,该中继节点包括:
接口,用于在高和低协议层接收数据,该数据已从该发送节点发送,其中,该接口被设置为将该数据发送至该接收节点;以及
用于监控第一通知的装置,该第一通知用于识别在接收节点的栈的高协议层接收到该数据;
其中,该接口被设置为用于接收该第一通知,并且该中继节点被设置为响应于接收该第一通知而停止该监控,以及响应于接收该第一通知而将第二通知发送至该发送节点,该第二通知用于识别在该接收节点的栈的该高协议层接收到该数据。
因此,本发明提供了一种中继节点,能够通过一个通知来通知该中继节点在接收节点的高协议层(例如,L3)接收到数据,并通过通知另一节点在两个协议层的较高协议层接收到数据来对该通知进行响应。这与现有技术的中继节点大不相同,现有技术的中继节点不能够响应于在接收节点的高协议层接收单个通知而执行这两个功能。因此,根据本发明的中继节点提供了有效的通知方法。
第一通知可包括合并了上述传统L2ack的特征和传统L3ack的特征的合并ack;在下文中,这种合并ack将被称为“L2L3ack”。然而,在一些方案中,第一通知可包括根据本发明的实施例的L2ack。第二通知可包括另一L2L3ack或L3ack,或者在某些情况下,L2ack。
中继节点可包括用于存储数据的存储器,例如,以中继节点的处理器中的随机存取存储器(RAM)的形式。该中继节点可进一步设置为响应于接收第一通知而从存储器中删除数据。因此,数据可以存储在中继节点,用于在数据没有被成功接收的情况下进行重新传输,并在通知中继节点该数据已被接收到时进行删除。
在一些实施例中,中继节点包括用于监控第三通知的装置,第三通知用于识别在接收节点接收到数据。该接口可被设置为用于接收第三通知,中继节点被设置为响应于接收第三通知而停止监控。中继节点可被设置为响应于接收第三通知而不将通知发送至发送节点。因此,中继节点能够对不同的通知进行不同地响应。第三通知可包括L2ack。
中继节点可进一步被设置为响应于没有接收到第一通知或第三通知而重新发送数据。因此,中继节点能够对没有接收到接收确认的数据进行重新发送。
在一些方案中,中继节点被设置为在预定时间间隔内监控第一通知和第三通知;中继节点可被设置为在该预定时间间隔过去之前第一通知和第三通知都没有被接收到的情况下重新发送数据。这提供了一种便利的方法,用于监控确认,并在特定时间周期内没接收到的情况下重新发送数据。
在一些方案中,中继节点被设置为监控第四通知,第四通知用于识别在该接收节点接收到数据。该接口可被设置为用于接收第四通知。中继节点可被设置为响应于接收第四通知而不停止监控,以及响应于接收该第四通知而将第五通知发送至发送节点,第五通知用于识别在该接收节点接收到该数据。第四通知可包括L3ack。第五类型通知也可包括L3ack。
中继节点可被设置为响应于接收第四通知而将第四通知的接收确认发送至该接收节点。接收确认可以是L3ack确认。
中继节点可被设置为响应于接收第一通知而不将第一通知的接收确认发送至接收节点。根据本发明的一些类型的通知不需要接收确认。在一些优选实施例中,中继节点被设置为从第一通知导出第二通知。这实现了便于提供第二通知的装置,这是因为第二通知(其可能是L3ack)所需要的信息通常包含在第一通知(其可能是L2L3ack)中。
该数据可包括其自身标识符,第二通知可包括该标识符。在一些方案中,中继节点包括在接收节点接收的多组数据的指示,该指示也包含在第二通知中。第二通知可包括另一指示,该另一指示表示在中继节点接收到的多组数据。这些特征使数据的传输和确认易于监控和跟踪。第一指示和第二指示可以指示数据包号。
在一些方案中,该接口包括多个接口,例如一个接口用于接收数据,另一个接口用于发送数据,或一个接口用于在协议栈的每个协议层接收数据。
根据本发明的第二方面,提供了一种用于在网络中接收数据的接收节点,该网络包括该接收节点、中继节点和发送节点,接收节点和中继节点被设置为经由网络在协议栈的低协议层和高协议层接收数据,该接收节点包括用于接收第一组数据的装置,该第一组数据已从发送节点经由中继节点发送,其中,该接收节点被设置为创建和发送第一类型通知,该第一类型通知包括用于通知该中继节点在该接收节点的栈的低协议层接收到该第一组数据并用于通知该发送节点在该接收节点的栈的高协议层接收到该第一组数据的信息。
因此,本发明的这一方面提供了能够创建和发送通知的接收节点,该通知用于通知多个节点数据已在多个协议层的多个层被接收;这与现有技术的通知大不相同,现有技术的通知只能够通知单个节点接收到数据。第一类型通知可包括L2L3ack。
在一些优选实施例中,接收节点被设置为响应于接收第二组数据而创建和发送第二类型通知(例如,L2ack)。第二类型通知用于通知中继节点在接收节点接收到第二组数据,而不用于通知发送节点在接收节点接收到第二组数据。附加地或备选地,接收节点可设置为响应于接收第二组数据而创建和发送第三类型通知(例如,L3ack)。第三类型通知用于通知发送节点在接收节点接收到第二组数据,而不用于通知中继节点在接收节点接收到第二组数据。接收节点能够根据要求创建和发送各种类型的通知。
在一些方案中,接收节点被设置为在中继节点监控第三类型通知的接收确认并响应于接收确认而停止监控。接收节点可进一步被设置为响应于没有接收到该确认而重新发送第三类型通知。因此,中继节点能够在其成功接收没有被确认的情况下重新发送通知。
在一些实施例中,将接收节点设置为不监控中继节点处的第一类型通知的接收确认。根据本发明的一些类型的通知不要求接收确认。
在一些优选实施例中,接收节点被设置为通过协议层栈来顺次地处理数据,该栈包括第一协议层和第二协议层。第一协议层可包括用于在连接的相邻节点之间传输数据的数据链路层(L2),第二协议层可包括用于建立数据连接的网络层(L3)。因此,本发明可在根据协议栈传输的系统中实施。
接收节点可被设置为响应于在第一协议层和第二协议层接收第一组数据而发送第一类型通知(例如,L2L3ack)。附加地或备选地,接收节点可被设置为响应于在第一协议层(例如,L2)接收第二组数据以及在第二协议层(例如,L3)不接收第二组数据而发送第二类型通知(例如,L2ack)。附加地或备选地,接收节点可被设置为响应于在第二协议层接收第二组数据而发送第三类型通知(例如,L3ack)。因此,本发明的实施例可根据进行传输所依据的协议栈的特征来实施。
在一些方案中,第一组数据和第二组数据是多组数据序列的项,每个项均包括序列中的位置的指示符,接收节点包括用于确定特定一组数据在序列中的位置的装置。第一类型通知可包括第一组数据的序列中的位置的指示符。第二类型通知可包括第二组数据的序列中的位置的指示符。第三类型通知可包括第二组数据的序列中的位置的指示符。这些特征便于在顺次传输数据时监控通知和其他数据。
在一些实施例中,第一类型通知、第二类型通知和第三类型通知中的每一个的实例均包括该实例所属的通知类型的标识符。这提供了便于识别通知的装置。
根据本发明的第三方面,提供了一种在网络中传输数据的方法,该网络包括发送节点、中继节点和接收节点,该方法包括:
在该中继节点接收从该发送节点发送的数据,并将该数据发送至该接收节点;
在该中继节点接收通知,该通知用于通知该发送节点在该接收节点接收到一组该数据;
确定该通知是第一类型通知还是另一不同类型的通知;
在该通知被确定为是该第一类型的情况下,不将该中继节点处的该通知的接收确认发送至该接收节点;
在该通知被确定为是其他类型的情况下,发送该接收确认,
其中,该第一类型通知用于通知该中继节点在该接收节点接收到该数据。
在一些方案中,通知包括通知类型的标识符,该确定包括使用该标识符。
该方法可包括将该标识符与一组预定的标识符进行比较以确定通知的类型。该组预定的标识符可存储在该中继节点。这些特征提供了便于识别通知的类型的方法。
根据本发明的第四方面,提供了一个节点,用于执行根据本发明的第三方面的方法。
根据本发明的第五方面,提供了一种计算机程序,包括一组可执行指令,当执行指令时使节点执行根据本发明的第三方面的方法。
下面参照附图仅以实例方式给出了本发明优选实施例的描述,本发明的更多特征和优点将变得显而易见。
附图说明
图1a是示出根据现有技术的点到点确认方法在包含源节点、中间节点和终端节点的系统中发送和确认数据的第一实例的示意性时序图;
图1b是示出根据现有技术的点到点确认方法在包含源节点、中间节点和终端节点的系统中发送和确认数据的第二实例的示意性时序图;
图2a是示出根据现有技术的端到端确认方法在包含源节点、中间节点和终端节点的系统中发送和确认数据的第一实例的示意性时序图;
图2b是示出根据现有技术的端到端确认方法在包含源节点、中间节点和终端节点的系统中发送和确认数据的第二实例的示意性时序图;
图3是示出在其中同时使用端到端确认方法和点到点确认方法的现有技术的系统的示意性时序图;
图4是示出根据本发明的一个实施例的发送节点、中继节点、接收节点、节点组件及其之间的连接的框图;
图5a是示出根据本发明的第一实施例在包含发送节点、中继节点和接收节点的系统中发送和确认数据的第一实例的示意性时序图;
图5b是示出根据本发明的第一实施例在包含发送节点、中继节点和接收节点的系统中发送和确认数据的第二实例的示意性时序图;
图6是根据本发明的一个实施例的普通节点和普通节点的组件的详细框图;
图7是示出根据本发明的一个实施例的发送节点接收和确认数据的操作的流程图;
图8是示出根据本发明的第一实施例的中继节点传输和确认数据的操作的流程图;
图9是示出根据本发明的一个实施例的通知的结构的示意图;
图10是示出根据本发明的一个实施例的参考表的结构的示意图;
图11是示出根据本发明的第二实施例的中继节点传输和确认数据的操作的流程图;
图12是示出根据本发明的第二实施例在包含发送节点、中继节点和接收节点的系统中发送和确认数据的实例的示意性时序图。
具体实施方式
图4示出了实施有本发明实施例的系统。示出的系统包括发送节点100a、中继节点100b和接收节点100c,但是该系统可以并且经常包括多于所示三个的节点。每个节点100a、100b、100c包括:接口102,用于传输和/或接收数据;处理单元104,用于处理数据;以及存储器,用于存储数据;下文中会描述这些组件的功能。每个节点100a、100b、100c可包括测量装置(诸如需给电表)、个人计算机、网络数据路由器、或用于例如控制监控路灯、园艺灌溉系统、防盗报警或自动售票机的数据采集装置,但是本发明不限于这些装置。数据可以通过无线电链路在节点100a、100b、100c之间传输。节点100a、100b、100c中的每个均能够以时分双工(TDD)进行双工通信,时分双工用于将信号多路复用到单个载波上,而节点之间的其他类型的通信也是可能的。数据可根据帧结构进行传输。在下面的讨论中,将假定所有数据(包括ack)在数据包中传输,并且每个节点均根据包括上述L2和L3的协议栈来处理数据;然而,本发明不限于这种方案。
在所示方案中,在发送节点100a和中继节点100b、以及中继节点100b和接收节点100c之间的直接通信是可能的,但是发送节点100a和接收节点100c之间的直接通信是不可能的;这可能是由于,例如,接收节点100c在来自发送节点100a的信号的范围之外,和/或反之亦然。然而,通过发送节点100a和接收节点中的每一个与中继节点100b交换数据,可以在发送节点100a和接收节点100c之间形成连接,使得发送节点100a和接收节点100c之间能够进行间接通信。应理解,在许多方案中,每个单独节点的具体角色是不固定的,其中的每个节点均能够用作发送节点、接收节点或中继节点。
图5a示出了根据本发明的一个实施例传输和确认原始数据。在步骤S600中,将原始数据包D1从发送节点100a发送至中继节点100b。在接收到数据包D1时,在步骤S602中,中继节点100b发送L2ack至发送节点100a;在步骤S604中该中继节点还将数据包D1向前发送至接收节点100c。在步骤S606,接收节点100c将合并的ack发送至中继节点;该合并的ack能够执行传统的L2ack和传统的L3ack二者的功能,如下文所述。合并的ack在下文中将被称为L2L3ack。
如下文所述,中继节点100b接收ack并对其进行分析以确定ack的类型。确定了ack是L2L3ack时,在步骤S608中继节点100b发送L3ack至发送节点100a。发送节点100a接收L3ack,并在步骤S610发送L3ack确认至中继节点。与从接收节点100c发送的传统L2ack不同(该传统L2ack只通知中继节点100b接收到数据),并且与从接收节点100c发送的传统L3ack不同(传统L3ack仅旨在通知接收节点100c接收到数据),根据本发明的L2L3ack使中继节点100b和发送节点100a都能够被通知到在接收节点100c接收到数据。
应注意,与L3ack相反,L2L3ack不需要ack确认。这是因为,如下文所解释的,中继节点100b监控L2L3ack的接收,并且如果没有接收到L2L3ack,则重新发送包D1,这使得接下来从接收节点100c重新发送L2L3ack。此外,关于图3所描述的系统,其中,响应于在接收节点接收原始数据,发送L2确认和L3确认,不同于该系统,在本发明的这个实施例中,仅发送单个ack。因此,本发明的实施例提供了端到端方法和点到点方法二者的优点,同时与端到端方法和点到点方法一起使用的系统相比,需要的ack更少。
在一些方案中,可以从中继节点100b和从接收节点100c发送L2L3ack,如现在将参照图5b所描述的。在步骤S612将数据原始数据包D1从发送节点100a发送至中继节点100b。在步骤S614,中继节点100b发送D1至接收节点100c。然而,与参照图5a的上述方案不同,在这个方案中,中继节点100b不会立即发送L2ack至发送节点,而是监控来自接收节点100c的L2L3ack预定的时间长度。在所示的实例中,在预定的时间段内,在步骤S616接收节点100c发送L213ack,使得在步骤S618中继节点100b发送L2L3ack至发送节点。由于发送单个L2L3ack代替了分别在图5a中的步骤S602的L2ack和步骤S608的L3ack,并且因为也不需要步骤S610的L3ack确认,这样进一步减少了发送的ack的数量。如果在预定时间段过去之前,在中继节点100b没有接收到L2L3ack,那么中继节点100b发送L2ack,如图5a所述(在步骤S602)。
图6是示出了根据本发明的实施例的普通节点100的组件的详细框图。普通节点100可以用作发送节点100a、中继节点100b或接收节点100c,应理解,这些节点中的每一个均可包括本文描述的与普通节点100有关的组件。普通节点100包括:接口102、存储器106、时钟112和处理单元104(处理单元包括CPU 116)、以及L2处理组件108、L3处理组件110和参考表114。处理组件108、110可以在CPU 116的控制下进行操作以处理经由接口102从中继节点100b接收或传输至该中继节点的数据。在使用中,L2处理组件108从接口102接收数据,处理该数据,并将数据发送至L3处理组件110以及从该L3处理组件接收数据,L3处理组件也处理数据。L2处理组件108或L3处理组件110中的任一个或每一个均可包括多个组件。下文中将参照图10描述参考表114的功能。
在一些实施例中,在图6中所表示的普通节点100的单独组件中的一些或全部可以是单独的硬件组件,在其他的实施例中,一些或所有组件可以是在普通节点100上运行的软件组件。特别地,L2处理组件108和L3处理组件110通常每个均包括一个或多个软件组件,但在某些情况下,可包括诸如专用集成电路(ASIC)的一个或多个硬件组件。在一些实施例中,所表示的单独组件中的一些或全部可以合并在一起成为单个组件。
图7示出了接收节点100c接收和确认原始数据的操作。在步骤S700,接收节点100c在接口102接收原始数据包D1。然后,接口将包D1传递至处理单元104,其中,在L2处理组件108处接收包D1。对包D1进行分析以确定(其中的)接收节点100c是否是目的节点;在本实例中,我们假定它是目的节点。响应于接收节点是包D1的目的地的确定,在步骤S703中,将包D1发送至L3处理组件110。如果接收节点100c不是包D1的目的地,那么包D1将不被发送至L3处理组件110;而是,将包D1发送至另一节点,则以下的过程将不适用。
在步骤S704,处理单元104等待预定的时间长度T2,之后在步骤S706中确定L3处理组件110是否已接收包D1。由于ack的发送必须被延迟到用于发送ack的下一个可用时间段(slot)的时刻,故可以基于在用于传输的帧结构内的原始数据和ack的时间段的分配,或更具体地基于连续传输的帧的给定类型的时间段之间的对应延迟来选择时间T2的值。在其他情况下,处理单元104可设置为延迟发送ack一段时间T2,以提供在L3处理组件110接收包D1的时间。时间T2可从包D1被处理单元接收的时刻,或从一些其他时间点开始测量。
处理单元104在步骤S706确定是否已在L3处理组件110接收包D1;如果已接收,则在步骤S708创建L2L3ack并经由接口102发送L2L3ack。如果没有在L3处理组件110接收到包D1,则处理单元104在步骤S710发送L2ack。然后,处理单元104进入步骤S712,在这个步骤中处理单元再次检查是否已在L3处理组件110接收包D1,重复该步骤直到确定已接收包D1,响应于此而在步骤S714发送L3ack。在某些情况下,可能由于L3处理组件110无法接收数据,接收节点100c的L3没有接收包D1(即,没有在接收节点100c的L3处理组件110接收到);这可能由于,例如,L3处理组件110的缓冲器是满的。在这种情况下,由于既不发送L2L3ack也不发送L3ack,包D1的发送节点100a会最终将包D1重新发送至接收节点100c,其可触发处理单元104停止重复步骤S712。附加地或者备选地,如果在给定的时间段内既没有接收到L2L3ack也没有接收到L3ack,则发送节点100a可确定与接收节点100c的连接运行不正常,并尝试通过新连接发送D1。
应注意,虽然在上面的实例中,在一段时间T2内L3处理组件110没有接收到包D1的情况下发送L2ack,但在一些方案中,处理单元104被设置为在发送任何ack之前进行等待直至在L3处理组件110接收到包D1,即,可能会响应于接收包D1,而不从接收节点100c单独地发送L2ack或L3ack。
还应注意,在步骤S708发送L2L3ack、在步骤S710发送L2ack和在步骤S714发送L3ack的步骤分别包括创建ack。下文将描述根据本发明的ack的结构。
图8是示出了中继节点100b传输和确认原始数据的操作的流程图。在步骤S800,中继节点接收包D1;包D1经由接口102被传送至处理单元104,其中,它由L2处理组件108接收。对包D1进行分析以确定中继节点100b是否是包D1的目的地;在该中继节点不是包D1的目的地的情况下,则不将包D1传送至L3处理组件110。在步骤S802,将包D1存储在存储器106中;在如下文所述包D1需要被重新发送的情况下,这是必要的。在步骤S804,经由接口102将包D1发送至接收节点100c。由于包D1只在L2处理组件,而不是L3处理组件110被接收,所以在步骤S806将L2通知发送至发送节点100a。在步骤S808,处理单元104开始监控与包D1相对应的L2ack或L2L3ack。
在步骤S810,处理单元104确定是否已接收到ack。如果没有接收到ack,则处理单元在步骤S820确定预定时间段T3是否已经过去。如果时间段T3已过去,则从存储器106中找到包D1并在步骤S822将包D1重新发送至接收节点100c;然后,该处理返回至步骤S808。在一些方案中,中继节点监控包D1被重新发送的次数,如果在预定数量的重新发送尝试之后仍没有接收到ack,则中继节点停止重新发送。如果确定时间段T3没有过去,则处理返回至步骤S810,并对是否已接收到ack进行进一步确定。时间段T3可从处理器单元104在步骤S808开始监控的时刻、或从某些其他时间点起进行测量。对于所有类型的数据包可将时间段T3的长度设置为常量值,或可根据(例如)包D1的内容或网络内的数据流条件而改变时间段T3的长度。
返回至步骤S810,如果已接收到ack,则处理单元104在步骤S811确定ack是否对应于包D1;下文中将更加详细地描述这一步骤。如果ack与包D1不对应,则该处理返回至步骤S810;应注意,虽然该处理不会再处理这个ack,但是并行处理可对与原始数据包有关的ack(该原始数据包与该ack对应)进行处理。
如果该ack与包D1相对应,则处理器单元104在步骤S812确定该ack是否是L2L3ack。如果确定它是L2L3ack,由于L2L3ack的接收确认了已成功地在接收节点100c接收到包D1,则在步骤S808开始的监控结束。然后,在步骤S816从存储器106删除包D1,并且之后或同时将L3ack发送至发送节点100a(步骤S818);可通过中继节点100b的处理单元104生成这个L3ack,或者中继节点100b可将L2L3ack转发至发送节点100a,为此,L2L3ack用作L3ack。
如果在步骤S812确定接收的ack不是L2L3ack,则处理单元104在步骤S824确定接收的ack是否是L2ack。如上参照图7所述,在接收节点100c的L2而不是L3接收数据包的情况下(也许是由于数据损坏),或者,在接收节点100c的各个层接收的数据之间存在延迟的情况下,可发送L2ack和/或L3ack而不是L2L3ack。此外,在中继节点100b接收来自另一个中继节点100b而不是直接来自接收节点100c的ack的情况下,可使用L2和/或L3ack。因此,如在先的步骤S824所示,中继节点100b可选地进一步被配置为对L2ack和L3ack起作用。更具体地,如果确定接收的ack是L2ack,由于L2ack确认了已在接收节点100c成功地接收包D1,则在步骤S808开始的监控在步骤S826结束。然后,在步骤S828从存储器删除包D1。
如果在步骤S824确定接收的ack不是L2ack,则在这个实例中唯一剩下的可能性是接收的ack是L3ack;在步骤S830将这个L3ack转发至发送节点,并且在步骤S832将L3ack确认发送至发送节点。然后,该处理返回至步骤S810。
现在转到图9,将描述根据本发明实施例的由接收节点100c发送的ack的结构。图9示出了ack 900的实例结构。在该实例中,ack作为单个数据包被发送,但本发明不限于这种情况。ack 900包括源地址904、目的地址904,包号906和ack标识值908。在这个实例中,源地址902(用于识别创建并发送ack 900的节点)是接收节点地址,目的地址904是发送节点地址。包号906识别ack 900对应的数据包;在这里它具有值1。Ack标识符将ack 900识别为L2ack、L3ack或L2L3ack。
图10示出了参考表114的内容,其中,中继节点100b用于执行诸如上述参照图8在步骤S812和S824识别ack类型的功能。参考表114包括:值栏(value column)1004,其列出上述ack标识符908的可能值;和动作栏(action column)1006,指示每个ack标识符值的对应的中继节点100b动作(action)。为便于参照,这里还示出了类型栏(type column)1002,示出对应于值和动作的ack类型,但参考表通常不会包括这一栏。虽然图10中没有示出,参考表还可包含与ack确认相关的条目。
当接收到数据包时,中继节点100b确定数据包是否包含ack标识符908;如果包含,那么这个标识数据包是ack。中继节点100b读取包号906的值以确定ack 900对应的数据包。接下来,该中继节点读取ack标识符908的值并将该值与参考表114的值栏1004中的值相比较,并查找匹配值。当找到匹配时,该中继节点在动作栏1006中访问相应的条目,并在其中执行指定的动作。在图10的表中,ack标识符908的值00与L2ack对应,并触发中继节点100b停止监控;ack标识符908的值01与L3ack对应,并触发中继节点100b将ack转发至目的地址904,并将L3ack确认发送至源地址902;与L2L3ack对应的值10触发中继节点100b停止监控,并将L3ack发送至目的地址904。
采用L2ack的系统
现在描述本发明的另一实施例,其中,将原始数据包的序列D(1)、D(2)...(每个均具有包号N,包号N指示序列中的位置)从发送节点100a经由中继节点100b发送至接收节点100c。在该另一实施例中,既不使用L3ack也不使用L2L3ack;相反,每个L2ack被设置为包括L2包号(L2PN)和L3包号(L3PN)。L2PN指示由发送L2ack的节点正确接收的最后的原始数据包的包号。L3PN指示在终止连接的节点(即,每个原始数据包的目的节点)的L3处理组件110顺次正确接收的最后的原始数据包的包号。在以下的讨论中,符号A(N,M)将用于指示具有L2PN为N和L3PN为M的L2ack。传输原始数据和ack的节点保存与那个节点对应的L2PN和L3PN的一个记录或多个记录,即,分别是由节点顺次并正确接收的最后的原始数据包的包号以及由节点接收的最后的ack的L3PN。
应理解,这里提到的原始数据包和ack可包括诸如目的节点地址、源节点地址、指示包含在数据包/ack内的数据类型的信息等的信息。
图11是示出根据本发明的实施例在传输和确认原始数据过程中中继节点100b的操作的流程图;我们再次考虑从发送节点100a经由中继节点100b至接收节点100c的连接的情况。在步骤S1100中继节点100b接收原始数据包D(n)。在步骤S1102,中继节点100b的处理单元104将L2PN设置为n;可将L2PN的指示与L3PN的指示存储在存储器106中。我们在这里假设正确并顺次地接收到包D(n),即,中继节点100b已正确接收序列包D(1)...D(n-1)中的所有原始数据包。如果由于(例如)中继节点100b没有接收到包D(n-1)而使情况并非如此,则步骤S1102和后续步骤会改变;例如,可以不将L2PN设置为n,并且可以直到包D(n-1)和包D(n)都被正确接收才执行下面的步骤。
再次参见图11,在步骤S1104,在存储器106中存储包D(n)。在步骤S1106,将ack、ackA(n,x)发送至发送节点100a。在步骤S1108,将包D(n)发送至接收节点100c,在步骤S1110处理单元104开始监控具有L2PN为n的包D(n)的ack。如果在预定时间间隔内没有接收到这样的ack,则可重新发送包D(n);然而,在这个实例中,会在步骤S112接收到这样的ack、ack A(n,m)。由于ack A(n,m)具有L2PN为n(表示包D(n)已由接收节点100c正确接收),在步骤S1114处理单元104停止在步骤S1110开始的监控,并在步骤S1116从存储器106删除包D(n)。
在步骤S1118,将中继节点100b的L3PN设置等于m。在步骤S1120,处理单元104确定其L2PN(n)是否等于其L3PN(m)。如果它们不相等,则该处理在步骤S1124结束;而如果它们相等,则在步骤S1122将另一ack A(n,n)发送至发送节点100a,该另一ack确保在接收节点100c的序列的最后原始数据包的接收被通知给发送节点100a。
图12示出了在发送节点100a、中继节点100b和接收节点100c之间的实例数据传输会话,其中,根据该另一实施例,三个原始数据包的序列的包D(1)至包D(3)被传输和确认。在步骤S1200发送节点100a将包D(1)发送至中继节点100b;作为响应,中继节点将其L2PN设置为1。在步骤S1202,中继节点100b将ack A(1,0)发送至发送节点100a,并在步骤S1204将包D(1)发送至接收节点100c。接收节点正确地接收包D(1);在以下的讨论中,参考接收节点100c正确地接收原始数据包应被认为是指,接收节点100c在其L2处理组件108和其L3处理组件110正确地接收原始数据包。
在步骤1206,发送节点100a将包D(2)发送至中继节点100b;做为响应,中继节点100b将其L2PN设置为2。在中继节点100b发送ack以确认包D(2)之前,在步骤S1208接收节点100c将ackA(1,1)发送至中继节点100b;一接收到ack A(1,1),中继节点100b就将其L3PN设置为1。因此,在步骤S1210与从中继节点100b发送至发送节点100a的包D(2)对应的ack采用形式A(2,1)。这通知发送节点100a在接收节点100c的L3处理组件110已正确接收包D(1)。应注意,从接收节点发送的所有ack均具有等于L2PN的L3PN。
在步骤S1212,从中继节点100b发送了包D(2);然而,接收节点100c没有接收到该包,并且因此没有发送ack。在步骤S1214,发送节点100a将包D(3)发送至中继节点100b;响应于接收包D(3),中继节点100b将其L2PN设置为3,并在步骤S1216将ack A(3,1)发送至发送节点100a。在步骤S1218,中继节点100b将包D(3)发送至接收节点100c。在接收节点100c接收包D(3);然而由于在接收节点100c没有接收到包D(2),所以没有顺次接收包D(3),并且不从接收节点100c发送对应的ack。
由于中继节点100b没有接收到包D(2)的ack,所以在步骤S1220它重新发送包D(2);这可能是由于预定时间间隔已过去。在这种情况下,包D(2)被接收节点100c正确接收,接收节点在步骤S1222将ack A(2,2)发送至中继节点100b。在步骤S1224中继节点100b重新发送包D(3);可将中继节点100b设置为响应于重新发送包D(2)而自动地执行这一步骤,或该中继节点可响应于没有接收相应的ack或响应于某一其他因素而重新发送包D(3)。在一些方案中,因为在步骤S1218包D(3)已经被正确接收,所以可能没有必要重新发送包D(3)。例如,通过设置使得接收节点100c在步骤S1222发送ack A(2,2)之后发送用于通知包D(3)的接收的ack,从而可以实现这个方案。
在接收节点100c正确地接收了包D(3),该接收节点通过在步骤S1226将ack A(3,3)发送至中继节点100b确认包D(3)的接收。在接收到ack A(3,3)时,中继节点100b将其L3PN设置为3;由于中继节点的L3PN和L2PN目前是相等的,所以在步骤S1228将A(3,3)从中继节点100b发送至发送节点。这会通知发送节点100a在接收节点100c已正确接收包D(3)。此外,尽管发送节点100a没有接收到具有L3PN为2的ack,但是由于接收节点100c响应于顺次正确接收的包D(3)而发送A(3,3),所以A(3,3)的接收还通知发送节点100a包D(2)的正确接收。
请注意,发送节点100a监控具有L3PN的ack的接收,该L3PN与该发送节点已发送的原始数据包对应。例如,响应于在一定的时间段内没有接收到A(p,q)形式的ack,可重新发送具有包号q的原始数据包D(q)。
因此,该实施例提供了使用L2ack确认原始数据的方法,L2ack使发送节点100a能够被通知到在接收节点100c接收到原始数据,从而只使用L2ack提供了端到端方法和点到点方法二者的优点。
以上实施例可理解为本发明的示例性实例。我们还构思了本发明的其他实施例。例如,在上面的实例中,只考虑了涉及三个节点的连接。如上所述,本发明不限于这种连接,并可以应用于包括任意数量节点的连接。在一些情况下,数据可以在包括多个中继节点的连接中传输;在这些情况下,当通过中继节点接收数据时,节点的L2处理组件108对数据进行分析,以确定其目的地址;如果目的地址不同于当前节点的地址,则数据被发送至较接近目的地址的节点;如果数据是原始数据,则可以将ack发送至较接近原始数据包的源的节点。在包括多于三个节点的连接中,以上描述的关于接收节点100a、中继节点100b和接收节点100c的原则同样适用于组成连接的一部分的任意三个节点。
此外,在图8中,从中继节点100b发送独立的L2和L3ack。然而,在一些方案中,中继节点100c可在步骤S818发送L2L3,而不是在步骤S806发送的L2ack和在步骤S818发送的L3ack,如参照图5b描述。这可能是特殊情况,其中,存在在中继节点100b和接收节点100c之间发送数据的短的传播时间。
这上面的实例中,响应于在接收节点的L3接收原始数据而创建并发送L3ack;然而,在一些方案中,响应于在接收节点而不是在L3接收原始数据,可发送L3ack。
在标题为“采用L2Ack的系统”部分中,每个数据包均具有L2PN指示符和L3PN指示符。然而,在一些方案中,可使用其他指示符;例如,可使用L2PN的指示符和L2PN与L3PN之间的差的指示符。
应理解,相对任一实施例,描述的任何特征可单独地或结合所述的其他特征来使用,并也可结合任何其他实施例的一个或多个特征或任何其他实施例的任意组合来使用。此外,在不偏离本发明范围的情况下,可采用上面没有描述的等效手段和修改,本发明的范围由所附的权利要求限定。

Claims (36)

1.一种用于在网络中传输数据的中继节点,所述网络包括所述中继节点、发送节点和接收节点,所述接收节点和所述中继节点被设置为经由所述网络在协议层栈的高协议层和低协议层接收数据,并发送用于识别在所述高协议层和所述低协议层接收到数据的通知,所述中继节点包括:
接口,用于在所述高协议层和所述低协议层接收数据,所述数据已从所述发送节点发送,其中,所述接口被设置为将所述数据发送至所述接收节点;以及
用于监控第一通知的装置,所述第一通知用于识别在所述接收节点的栈的所述高协议层接收到所述数据;
其中,所述接口被设置为用于接收所述第一通知,所述中继节点被设置为响应于接收所述第一通知而停止所述监控,以及响应于接收所述第一通知而将第二通知发送至所述发送节点,所述第二通知用于识别在所述接收节点的栈的所述高协议层接收到所述数据。
2.根据权利要求1所述的中继节点,其中,所述高协议层包括网络协议层。
3.根据权利要求1或权利要求2所述的中继节点,其中,所述低协议层包括数据链路协议层。
4.根据前述权利要求中任一项所述的中继节点,其中,所述中继节点包括存储器,用于存储所述数据。
5.根据权利要求4所述的中继节点,其中,所述中继节点被设置为响应于接收所述第一通知而从所述存储器中删除所述数据。
6.根据前述权利要求中任一项所述的中继节点,包括用于监控第三通知的装置,所述第三通知用于识别在所述接收节点接收到所述数据,其中,所述接口被设置为用于接收所述第三通知,所述中继节点被设置为响应于接收所述第三通知而停止所述监控,以及响应于接收所述第三通知而不将通知发送至所述发送节点。
7.根据权利要求6所述的中继节点,其中,所述中继节点被设置为响应于没有接收到所述第一通知或所述第三通知而重新发送所述数据。
8.根据权利要求6或权利要求7所述的中继节点,其中,所述中继节点被设置为在预定时间间隔内监控所述第一通知和所述第三通知,并且所述中继节点被设置为在所述预定时间间隔过去之前所述第一通知和所述第三通知都没有被接收到的情况下重新发送所述数据。
9.根据前述权利要求中任一项所述的中继节点,其中,所述中继节点被设置为监控第四通知,所述第四通知用于识别在所述接收节点接收到所述数据,其中,所述接口被设置为用于接收所述第四通知,所述中继节点被设置为响应于接收所述第四通知而不停止所述监控,以及响应于接收所述第四通知而将第五通知发送至所述发送节点,所述第五通知用于识别在所述接收节点接收到所述数据。
10.根据权利要求9所述的中继节点,其中,所述中继节点被设置为响应于接收所述第四通知而将所述第四通知的接收确认发送至所述接收节点。
11.根据前述权利要求中任一项所述的中继节点,其中,所述中继节点被设置为响应于接收所述第一通知而不将所述第一通知的接收确认发送至所述接收节点。
12.根据前述权利要求中任一项所述的中继节点,其中,所述中继节点被设置为从所述第一通知导出所述第二通知。
13.根据前述权利要求中任一项所述的中继节点,其中,所述数据包括所述数据的标识符,以及所述第二通知包括所述标识符。
14.根据前述权利要求中任一项所述的中继节点,其中,所述接口包括多个接口,每个接口均被设置为用于在所述协议栈的一个协议层接收数据。
15.一种用于在网络中接收数据的接收节点,所述网络包括所述接收节点、中继节点和发送节点,所述接收节点和所述中继节点被设置为经由所述网络在协议栈的低协议层和高协议层接收数据,所述接收节点包括用于接收第一组数据的装置,所述第一组数据已从所述发送节点经由所述中继节点发送,其中,所述接收节点被设置为创建和发送第一类型通知,所述第一类型通知包括用于通知所述中继节点在所述接收节点的栈的所述低协议层接收到所述第一组数据并用于通知所述发送节点在所述接收节点的栈的所述高协议层接收到所述第一组数据的信息。
16.根据权利要求15所述的接收节点,其中,所述第一协议层包括用于在连接的相邻节点之间传输数据的数据链路层。
17.根据权利要求15或权利要求16所述的接收节点,其中,所述第二协议层包括用于建立数据连接的网络层。
18.根据权利要求15至权利要求17中任一项所述的接收节点,包括用于接收第二组数据的装置,所述第二组数据已从所述发送节点经由所述中继节点发送,其中,所述接收节点被设置为创建和发送第二类型通知,所述第二类型通知用于通知所述中继节点在所述接收节点的所述第一协议层接收到所述第二组数据,而不通知所述发送节点在所述接收节点接收到所述第二组数据。
19.根据权利要求14至权利要求18中任一项所述的接收节点,其中,所述接收节点被设置为创建和发送第三类型通知,所述第三类型通知用于通知所述发送节点在所述接收节点的所述第二协议层接收到所述第二组数据,而不通知所述中继节点在所述接收节点接收到所述第二组数据。
20.根据权利要求19所述的接收节点,其中,所述接收节点被设置为在所述中继节点监控所述第三类型通知的接收确认并响应于接收所述确认而停止所述监控。
21.根据权利要求20所述的接收节点,其中,所述接收节点被设置为响应于没有接收到所述确认而重新发送所述第三类型通知。
22.根据权利要求15至权利要求21中任一项所述的接收节点,其中,所述第一组数据和所述第二组数据是多组数据的序列的项,每个项均包括所述序列中的位置的指示符,所述接收节点包括用于确定所述位置的装置。
23.根据权利要求22所述的接收节点,其中,所述第一类型通知包括所述第一组数据的所述序列中的位置的指示符。
24.根据权利要求22或权利要求23所述的接收节点,其中,所述第二类型通知包括所述第二组数据的所述序列中的位置的指示符。
25.根据权利要求22至权利要求24中任一项所述的接收节点,其中,所述第三类型通知包括所述第二组数据的所述序列中的位置的指示符。
26.根据权利要求15至权利要求25中任一项所述的接收节点,其中,所述接收节点被设置为不对所述中继节点处的所述第一类型通知的接收确认进行监控。
27.根据权利要求15至权利要求26中任一项所述的接收节点,其中,所述第一类型通知、所述第二类型通知和所述第三类型通知中的每一个的实例均包括所述实例所属的通知类型的标识符。
28.根据权利要求15至权利要求27中任一项所述的接收节点,其中,所述接口包括多个接口,每个接口均被设置为在所述协议栈的一个协议层接收数据。
29.一种在网络中传输数据的方法,所述网络包括发送节点、中继节点和接收节点,所述方法包括:
在所述中继节点接收从所述发送节点发送的数据,并将所述数据发送至所述接收节点;
在所述中继节点接收通知,所述通知用于通知所述发送节点在所述接收节点接收到一组所述数据;
确定所述通知是第一类型通知还是另一不同类型的通知;
在所述通知被确定为是所述第一类型的情况下,不将所述中继节点处的所述通知的接收确认发送至所述接收节点;
在所述通知被确定为是其他类型的情况下,发送所述接收确认,
其中,所述第一类型通知用于通知所述中继节点在所述接收节点接收到所述数据。
30.根据权利要求29所述的方法,其中,所述通知包括通知类型的标识符,所述确定包括使用所述标识符。
31.根据权利要求30所述的方法,其中,所述确定包括将所述标识符与一组预定的标识符进行比较。
32.根据权利要求31所述的方法,其中,所述一组预定的标识符被存储在所述中继节点。
33.一个节点,用于执行权利要求29至权利要求32中任一项所述的方法。
34.一种计算机程序,包括一组可执行指令,当执行所述指令时使节点执行根据权利要求29至权利要求33中任一项所述的方法。
35.一种用于在网络中传输数据的中继节点,所述网络包括所述中继节点、发送节点和接收节点,所述中继节点和所述接收节点被设置为经由所述网络在协议层栈的第一协议层接收数据,所述中继节点包括:
接口,用于接收数据,所述数据已从所述发送节点发送,其中,所述接口被设置为将所述数据发送至所述接收节点;以及
用于监控第一通知的装置,所述第一通知用于识别在所述接收节点的栈的所述第一协议层接收到所述数据;
其中,所述接口被设置为用于接收所述第一通知,所述中继节点被设置为响应于接收所述第一通知而停止所述监控,以及响应于接收所述第一通知而根据所述第一协议层将第二通知发送至所述发送节点,所述第二通知用于识别在所述接收节点的栈的所述第一协议层接收到所述数据。
36.根据权利要求35所述的中继节点,其中,所述第一通知包括在所述接收节点接收的多组数据的指示,所述第二通知包括所述指示和另一指示,所述另一指示表示在所述中继节点接收的多组数据。
CN200880117459.2A 2007-09-24 2008-09-24 数据确认装置和方法 Expired - Fee Related CN101874375B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0718582.0 2007-09-24
GB0718582.0A GB2452991B (en) 2007-09-24 2007-09-24 Data ackmowledgement apparatus and method1
PCT/EP2008/062804 WO2009040386A1 (en) 2007-09-24 2008-09-24 Data acknowledgment apparatus and method

Publications (2)

Publication Number Publication Date
CN101874375A true CN101874375A (zh) 2010-10-27
CN101874375B CN101874375B (zh) 2014-04-16

Family

ID=38670398

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880117459.2A Expired - Fee Related CN101874375B (zh) 2007-09-24 2008-09-24 数据确认装置和方法

Country Status (6)

Country Link
US (1) US8284669B2 (zh)
EP (2) EP2206265B1 (zh)
CN (1) CN101874375B (zh)
CA (1) CA2700486C (zh)
GB (1) GB2452991B (zh)
WO (1) WO2009040386A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105531955A (zh) * 2013-08-28 2016-04-27 谷歌公司 利用灵活有序的中继器的无线联网
WO2018082522A1 (zh) * 2016-11-03 2018-05-11 华为技术有限公司 一种信息传输方法及相关装置
CN110810222A (zh) * 2019-11-08 2020-02-21 山东新元易方科技有限公司 智能监测控制仪及控制方法

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2446552B1 (en) * 2009-06-24 2016-08-10 Nokia Solutions and Networks Oy Relay node and method for changing the timeslot type according to the received information
DE102009031181B4 (de) * 2009-06-29 2019-05-16 Atmel Corp. Schaltung eines Knotens, Verfahren zur Laufzeitmessung in einem Funknetz und Funknetz
US8482947B2 (en) 2009-07-31 2013-07-09 Solarbridge Technologies, Inc. Apparatus and method for controlling DC-AC power conversion
CN101997598A (zh) * 2009-08-21 2011-03-30 富士通株式会社 中继节点、时分双工通信系统及通信方法
US8462518B2 (en) 2009-10-12 2013-06-11 Solarbridge Technologies, Inc. Power inverter docking system for photovoltaic modules
US9160408B2 (en) * 2010-10-11 2015-10-13 Sunpower Corporation System and method for establishing communication with an array of inverters
US8193788B2 (en) 2011-04-27 2012-06-05 Solarbridge Technologies, Inc. Method and device for controlling a configurable power supply to provide AC and/or DC power output
KR20130007775A (ko) * 2011-07-11 2013-01-21 삼성전기주식회사 네트워크 장치 및 이의 프레임 재전송 방법
US9066287B2 (en) 2012-01-24 2015-06-23 Qualcomm Incorporated Systems and methods of relay selection and setup
US20130235790A1 (en) * 2012-03-08 2013-09-12 Qualcomm Incorporated Systems and methods for establishing a connection setup through relays
US9794796B2 (en) * 2012-06-13 2017-10-17 Qualcomm, Incorporation Systems and methods for simplified store and forward relays
US9510271B2 (en) 2012-08-30 2016-11-29 Qualcomm Incorporated Systems, apparatus, and methods for address format detection
GB2509519B (en) * 2013-01-04 2018-02-14 Broadcom Corp Methods and apparatuses for managing acknowledgements
US9564835B2 (en) 2013-03-15 2017-02-07 Sunpower Corporation Inverter communications using output signal
US9584044B2 (en) 2013-03-15 2017-02-28 Sunpower Corporation Technologies for converter topologies
US9781080B2 (en) * 2013-04-01 2017-10-03 Nokia Technologies Oy Method and apparatus for diverse security handling in an enhanced local area network
US9756549B2 (en) * 2014-03-14 2017-09-05 goTenna Inc. System and method for digital communication between computing devices
US9641616B2 (en) * 2014-07-10 2017-05-02 Kabushiki Kaisha Toshiba Self-steering point-to-point storage protocol
US10356832B2 (en) * 2015-05-11 2019-07-16 Qualcomm Incorporated Introduction of powered relay for device-to-device communication
CN110915155B (zh) 2017-05-16 2021-11-30 日立能源瑞士股份公司 一种高压直流hvdc电力系统及其通信网络

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1541003A (zh) * 1999-05-28 2004-10-27 �ձ�������ʽ���� 处理全球移动通信网的越区切换请求的方法及无线网络控制器
US20050243743A1 (en) * 2004-04-30 2005-11-03 Sony Ericsson Mobile Communications Japan, Inc. Re-transmission controlling method and wireless communication terminal apparatus
CN1926819A (zh) * 2004-03-31 2007-03-07 艾利森电话股份有限公司 用于避免不必要的重传的方法和布置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MY123040A (en) * 1994-12-19 2006-05-31 Salbu Res And Dev Proprietary Ltd Multi-hop packet radio networks
US5699367A (en) * 1995-12-29 1997-12-16 Telefonaktiebolaget Lm Ericsson Concatenated error detection coding and packet numbering for hierarchical ARQ schemes
US6091710A (en) * 1997-07-07 2000-07-18 Paradyne Corporation System and method for preventing data slow down over asymmetric data transmission links
JP2000032048A (ja) * 1998-07-14 2000-01-28 Fujitsu Ltd ネットワーク装置
TWI289999B (en) * 2001-06-08 2007-11-11 Benq Corp Transmission method for relay signal of wireless communication system
US7864799B2 (en) * 2004-08-31 2011-01-04 Telefonaktiebolaget Lm Ericsson (Pub) Communication device
CN101069378B (zh) * 2004-08-31 2014-07-23 艾利森电话股份有限公司 数据单元发送器和数据单元中继装置
US9240868B2 (en) * 2004-11-05 2016-01-19 Ruckus Wireless, Inc. Increasing reliable data throughput in a wireless network
WO2007052764A1 (ja) * 2005-11-07 2007-05-10 Nec Corporation セッション中継装置およびセッション中継方法
US7984356B2 (en) * 2006-12-07 2011-07-19 Nokia Siemens Networks Oy Acknowledgments or negative acknowledgments by relay stations and subscriber stations
US8201041B2 (en) * 2007-07-03 2012-06-12 Industrial Technology Research Institute Transmission control methods and devices for communication systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1541003A (zh) * 1999-05-28 2004-10-27 �ձ�������ʽ���� 处理全球移动通信网的越区切换请求的方法及无线网络控制器
CN1926819A (zh) * 2004-03-31 2007-03-07 艾利森电话股份有限公司 用于避免不必要的重传的方法和布置
US20050243743A1 (en) * 2004-04-30 2005-11-03 Sony Ericsson Mobile Communications Japan, Inc. Re-transmission controlling method and wireless communication terminal apparatus

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HENNING WIEMANN 等: "《A Novel Multi-Hop ARQ Concept》", 30 May 2005 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105531955A (zh) * 2013-08-28 2016-04-27 谷歌公司 利用灵活有序的中继器的无线联网
CN105531955B (zh) * 2013-08-28 2019-10-18 谷歌有限责任公司 利用灵活有序的中继器的无线联网
WO2018082522A1 (zh) * 2016-11-03 2018-05-11 华为技术有限公司 一种信息传输方法及相关装置
CN108023691A (zh) * 2016-11-03 2018-05-11 华为技术有限公司 一种信息传输方法及相关装置
CN108023691B (zh) * 2016-11-03 2020-02-21 华为技术有限公司 一种信息传输方法及相关装置
CN110810222A (zh) * 2019-11-08 2020-02-21 山东新元易方科技有限公司 智能监测控制仪及控制方法

Also Published As

Publication number Publication date
CN101874375B (zh) 2014-04-16
EP2544396B1 (en) 2017-09-20
WO2009040386A1 (en) 2009-04-02
EP2206265B1 (en) 2014-03-26
CA2700486A1 (en) 2009-04-02
GB0718582D0 (en) 2007-10-31
US8284669B2 (en) 2012-10-09
CA2700486C (en) 2016-08-23
EP2206265A1 (en) 2010-07-14
GB2452991B (en) 2012-12-26
US20100195665A1 (en) 2010-08-05
GB2452991A (en) 2009-03-25
EP2544396A2 (en) 2013-01-09
EP2544396A3 (en) 2013-02-20

Similar Documents

Publication Publication Date Title
CN101874375B (zh) 数据确认装置和方法
US7974229B2 (en) Relay for extended range point-to-point wireless packetized data communication system
CN100413241C (zh) 数据重传方法
EP0409578A1 (en) Data communication method and system with cyclic sequence of acknowledgements
CN102075564A (zh) 一种远程软件升级技术方法
WO2005027456A1 (ja) 通信システム、通信装置、およびデータの再送制御方法
CN102315922A (zh) 通信装置、发送方法以及接收方法
CN101588230A (zh) 无线通讯系统的同步混合式自动重复请求的操作方法
EP1261163A3 (en) System and method for error recovery using negative acknowledgements (NACK)
CN113300819B (zh) 一种鲁棒的逐跳可靠数据传输方法、装置及系统
JP2849135B2 (ja) 手動パルス発生器のパルス転送システム
WO2002041603A1 (fr) Dispositif et procédé de commande de distribution de données
US7782830B2 (en) Extended range wireless packetized data communication system
CN101601219A (zh) 用于改进的重传的方法和设备
JP2001086190A (ja) データ伝送における誤り制御システム
KR20000077219A (ko) 통신 채널의 데이터 단위 식별 방법
US7457310B2 (en) Method and arrangement for the remote-controlled testing of a specimen
GB2493647A (en) Sending data and returning acknowledgements
JP6635866B2 (ja) 無線通信システム
JPH03289834A (ja) 誤り再送伝送方式
EP0996249A1 (en) Selective repeat ARQ protocol on virtual circuits
JPH11234347A (ja) データ通信におけるバッファ管理方法および方式
JPH09107379A (ja) パケットデータ伝送装置およびその伝送方法
Kulkarni Performance analysis of HDLC protocol operating in asynchronous balanced mode
JPH01194525A (ja) 自動再送要求方式

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
EE01 Entry into force of recordation of patent licensing contract

Assignee: Tanlesa Co.,Ltd.

Assignor: Plextek Ltd.

Contract record no.: 2011990000329

Denomination of invention: Data acknowledgment apparatus and method

License type: Exclusive License

Open date: 20101027

Record date: 20110503

C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160630

Address after: cambridge

Patentee after: TELENSA HOLDINGS LTD.

Address before: cambridge

Patentee before: Price Taco Holdings Ltd.

Effective date of registration: 20160630

Address after: cambridge

Patentee after: Price Taco Holdings Ltd.

Address before: Essex

Patentee before: Plextek Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140416

Termination date: 20200924

CF01 Termination of patent right due to non-payment of annual fee