CN101641898A - 增强差错控制通信系统和方法 - Google Patents

增强差错控制通信系统和方法 Download PDF

Info

Publication number
CN101641898A
CN101641898A CN200880009461A CN200880009461A CN101641898A CN 101641898 A CN101641898 A CN 101641898A CN 200880009461 A CN200880009461 A CN 200880009461A CN 200880009461 A CN200880009461 A CN 200880009461A CN 101641898 A CN101641898 A CN 101641898A
Authority
CN
China
Prior art keywords
error control
terminal
packet
grouping
knowing
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.)
Pending
Application number
CN200880009461A
Other languages
English (en)
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.)
Viasat Inc
Original Assignee
Viasat Inc
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 Viasat Inc filed Critical Viasat Inc
Publication of CN101641898A publication Critical patent/CN101641898A/zh
Pending 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/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
    • H04L1/1841Resequencing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/1853Satellite systems for providing telephony service to a mobile station, i.e. mobile satellite service
    • H04B7/18539Arrangements for managing radio, resources, i.e. for establishing or releasing a connection
    • H04B7/18543Arrangements for managing radio, resources, i.e. for establishing or releasing a connection for adaptation of transmission parameters, e.g. power control
    • 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

Abstract

本发明描述了用于新的差错检测和重传过程的系统、方法和设备。这些过程可以在两个末端终端之间的中间通信链路上实现,其中中间链路经由卫星。可以在网络层、或在网络层与数据链路层之间实现用于对丢失或受损的帧进行检测和重传的差错控制机制。本发明描述了用于发现知晓差错控制协议的终端的过程。这些差错控制过程的特征可以包括针对业务量类型或种类而定制的可配置延迟限制。

Description

增强差错控制通信系统和方法
交叉引用
本申请要求2007年1月24日提交的题为“ENHANCED ERRORCONTROL MECHANISMS FOR SATELLITE COMMUNICATIONS”的共同待审的美国临时专利申请No.60/866,349的优先权。本申请与2005年12月12日提交的题为“TRANSMISSION CONTROLPROTOCOL WITH PERFORMANCE ENHANCING PROXY FORDEGRADED COMMUNICATION CHANNELS”的美国专利申请No.11/298,612相关。因此,本申请为所有目的以引用方式并入上述申请的全部内容。
技术领域
本发明总体涉及通信的差错控制,具体涉及卫星通信的差错控制增强。
背景技术
在无线通信中,存在多种条件可能损害特定链路。这些条件包括天气、干涉、干扰和拥塞。然而,可以通过现有技术已知的多种技术来减轻这些条件的影响,这些技术包括FEC(前向纠错)、交织、可变编码和调制、功率控制、QoS(服务质量)和排队/调度算法。
然而,在特定情况下,可能出现以上所列技术无法充分减轻的条件。例如,在卫星通信中,与核闪烁以及“移动中的通信”(COTM)相关的损害可能导致这些技术无法充分消除的分组丢失或其他差错。在城市区域中可能尤为如此,其中人造结构(例如建筑物、桥梁等)可能随着COTM终端的来回移动而阻碍信号。这种阻挡对陆地无线系统中的通信性能也可能有负面影响。因此,存在核闪烁、COTM和其他损害可能阻挡或严重恶化信号的多种情况。因此,期望确定新的差错检测和重传策略,以应对这些损害,并且此外针对不同服务类型和种类来处理这些问题。
发明内容
本发明描述了新的差错检测和重传系统、方法、设备和软件。这些过程可以在两个末端终端之间的中间通信链路上实现,其中中间链路经由卫星。可以在网络层实现用于对丢失或受损的帧进行检测和重传的差错控制机制。本发明还描述了用于对知晓差错控制协议的终端进行发现和更新的过程。这些差错控制过程的特征可以包括针对业务量类型或种类而定制的可配置延迟限制。
在第一组实施例中,在网络层(例如因特网协议(IP)层)实现用于对丢失或受损的帧进行检测和重传的差错控制机制。在可选实施例中,在网络层与数据链路层之间实现这些用于检测和重传数据的差错控制机制。一般而言,这里可以将这种差错控制称为自动重传请求(ARQ)差错控制机制。可以在经由卫星进行通信的两个终端(例如CTOM终端、固定终端或其组合)之间实现这些差错控制机制。可选地,可以在终端与卫星之间,或在各种其他链路中实现这些差错控制机制。
在一个这种实施例中,描述了一个示例系统,包括被配置为从发起终端接收数据分组的第一终端,所述数据分组经由第二终端以末端终端为目的地。第一终端针对接收到的数据分组产生差错控制首部,并在网络层对所述差错控制首部进行封装以添加至第一数据分组来进行传送。经由卫星与第一终端通信的第二终端接收添加有的数据分组的差错控制首部。第二终端对所述差错控制首部进行处理,以分析差错控制信息,并在网络层产生具有应答信息的响应数据分组以传送至第一终端。
在另一组实施例中,描述了用于对知晓ARQ的终端进行发现和更新的多种方法和系统。具有ARQ单元的发送终端接收具有目的地IP地址的IP分组。该发送终端可能不知道该目的地IP地址与特定接收终端(以及相关联的ARQ单元)之间的对应关系。该发送终端向该目的地IP地址发送具有ARQ标识符的探测分组,并且该接收终端使用该标识符来截获该探测。该接收终端进行响应,并且针对每个终端的ARQ表被更新。也描述了用于更新ARQ表的其他方法和系统。当用户在终端之间移动时,这些终端中标识终端位置的ARQ表可以被更新为允许在移动环境下在终端之间进行连续的差错控制。
对于一个这种实施例,描述了一种用于在通向第一目的地网络地址的路由路径上发现知晓ARQ的终端的系统示例。第一知晓ARQ的终端维护多个不同目的地网络地址中的每一个与对应的知晓ARQ的终端之间的关联列表。第一知晓ARQ的终端对要转发至第一目的地网络地址的数据分组进行处理,但是确定在该列表中第一目的地网络地址与知晓ARQ的终端不相关联。第一终端可以在通向第一目的地网络地址的路由路径上发送探测分组,该探测分组包括被格式化为要由知晓ARQ的终端来识别的标识符。在第一知晓ARQ的终端与末端终端之间的路由路径上的第二知晓ARQ的终端基于该标识符来捕获该探测分组。第二知晓ARQ的终端发送标识其自己的响应分组和该探测分组,该响应分组包括用于使用第一目的地网络地址与第二知晓ARQ的终端之间的关联来更新该关联列表的信息。
在又一组实施例中,这些差错控制机制的特征包括可配置的延迟限制,并且该限制是可以针对业务量类型或种类来定制的。使用这种改变的延迟限制,具有不同延迟限制的多个不同ARQ会话可以在终端之间(或在终端与卫星之间)并发地进行。可以使用该延迟限制来计算在接收设备处清除缓冲器的定时。
对于一个这种实施例,描述了一种包括这种延迟限制的系统的示例。该系统可以包括:发送差错控制设备,被配置为将数据分组标识为要与添加的差错控制数据一起发送的数据分组。该发送差错控制设备可以针对从该发送差错控制设备的数据分组重传来设置延迟限制,然后发送该数据分组和添加的差错控制数据,所述差错控制数据包括用于计算在接收差错控制设备处对该数据分组进行缓冲的时间限制的数据。接收差错控制设备乱序接收该数据分组以及添加的差错控制数据,并基于该差错控制数据来计算用于对接收到的数据分组进行缓冲的时间限制。
附图说明
参照以下附图,可以实现对本发明的性质和优点的进一步理解。在附图中,类似的组件或特征可以具有相同的参考标记。此外,通过在参考标记后追加短划线和在类似组件之间进行区分的第二标记来对相同类型的各个组件进行区分。如果在说明书中仅使用了第一参考标记,则描述适用于具有相同第一参考标记的类似组件中的任一个,而与第二参考标记无关。
图1是根据本发明的各实施例而配置的卫星通信系统的框图。
图2是根据本发明的各实施例而配置的卫星通信系统的框图,示意了针对终端至终端的通信而选择的设备和组件。
图3是根据本发明的各实施例而配置的卫星通信系统的框图,示意了针对卫星至终端的通信而选择的设备和组件。
图4A是示意了根据本发明的各实施例的、用于在一系列链路上进行特定分组格式化的协议分层的示例的框图。
图4B是示意了根据本发明的各实施例的、用于在网络层进行特定差错控制传送的帧结构的示例的框图。
图4C是示意了根据本发明的各实施例的、用于在网络层进行特定差错控制传送的帧结构的可选示例的框图。
图5A是示意了根据本发明的各实施例的、用于在HAIPE终端之间进行特定分组格式化的协议分层的示例的框图。
图5B是示意了根据本发明的各实施例的、用于HAIPE终端之间在网络层进行特定差错控制传送的帧结构的示例的框图。
图6是示意了根据本发明的各实施例的、用于在网络层和数据链路层之间进行特定差错控制传送的帧结构的示例的框图。
图7A是示意了根据本发明的各实施例的、用于向接收终端发送差错控制信息的方法的流程图。
图7B是示意了根据本发明的各实施例的、用于发送差错控制信息和管理相关联的缓冲器的方法的流程图。
图8A是示意了根据本发明的各实施例的、用于接收并响应来自发送终端的差错控制信息的方法的流程图。
图8B是示意了根据本发明的各实施例的、用于接收并响应差错控制信息以及管理相关联的缓冲器的方法的流程图。
图9是示意了根据本发明的各实施例的、将目的地网络地址与差错控制终端相关联的表的框图。
图10是示意了根据本发明的各实施例的、在两个终端之间的终端发现过程的分组流程图。
图11A是示意了根据本发明的各实施例的、用于移动主机环境的终端发现过程的分组流程图。
图11B是示意了根据本发明的各实施例的、用于移动主机环境的可选终端发现过程的分组流程图。
图12A是示意了根据本发明的各实施例的、用于发送终端发现探测分组的方法的流程图。
图12B是示意了根据本发明的各实施例的、用于接收终端发现探测分组的方法的流程图。
图12C是示意了根据本发明的各实施例的、用于更新差错控制终端关联的方法的流程图。
图12D是示意了根据本发明的各实施例的、用于更新差错控制终端关联的可选方法的流程图。
图13A是示意了根据本发明的各实施例的、用于在移动主机环境下在终端间建立差错控制通信的方法的流程图。
图13B是示意了根据本发明的各实施例的、用于更新终端关联以在移动主机环境下在终端间进行差错控制通信的方法的流程图。
图14是示意了根据本发明的各实施例的、将不同类型的业务量内容与差错控制终端的延迟限制相关联的表的框图。
图15是示意了根据本发明的各实施例的、用于分组重传的选项范围的分组流程图。
图16A是示意了根据本发明的各实施例的、用于设置差错控制重传的延迟限制的方法的流程图。
图16B是示意了根据本发明的各实施例的、用于基于业务量内容来设置差错控制重传的延迟限制的方法的流程图。
图17A是示意了根据本发明的各实施例的、用于设置接收终端处的缓冲时间限制的方法的流程图。
图17B是示意了根据本发明的各实施例的、用于设置和监控针对接收终端处的丢失分组的时间限制的方法的流程图。
具体实施方式
本发明描述了用于通信系统的新的差错控制和重传过程。在特定实施例中,这些过程可以在两个末端终端之间的中间通信链路上实现,其中中间链路经由卫星。在一组实施例中,可以在网络层实现用于对丢失或受损的帧进行检测和重传的差错控制机制。在另一组实施例中,描述了用于对知晓差错控制协议的终端进行发现和更新的过程。在第三组实施例中,这些差错控制过程的特征包括可以针对业务量类型或种类而定制的可配置延迟限制。
这些描述仅提供了示例实施例,而不应限制本发明的范围、适用性或配置。更合理地,以下实施例的描述将向本领域技术人员提供能够用于实现本发明实施例的描述。在不背离本发明的精神和范围的前提下,可以对元素的功能和布置进行各种改变。
因此,各实施例可以合适地省略、替换或添加多种过程或组件。例如,应当认识到,在可选实施例中,可以以与所描述的顺序不同的顺序来执行方法,并且可以添加、省略或组合多种步骤。此外,关于特定实施例描述的特征可以在多种其他实施例中进行组合。可以以类似的方式来组合实施例的不同方面和元素。
还应当认识到,以下系统、方法和软件可以分别或集合地作为较大系统的组件,其中其他过程可以优先于或修改其应用。此外,在以下实施例之前、之后或并发地,可能需要多个步骤。
本发明描述了用于在通信系统中对丢失或受损的帧进行检测和重传的新的差错控制通信的系统、方法、设备和软件。参照图1,图1示出了框图,示意了具有多个链路120的卫星通信系统100,可以在这多个链路120中实现这里所述的差错控制通信。系统100包括卫星105、与多个固定终端110和COTM终端115进行通信。
在一些实施例中,在卫星105与COTM终端115-c之间的链路120-d(沿任一方向)的网络层中实现一个或多个差错控制过程。在另一实施例中,在第一COTM终端115-a与第二COTM终端115-b之间的链路120-b的网络层中实现差错控制过程。在相关实施例中,在COTM终端115-b与固定终端110-b之间的链路120-c(沿任一方向)的网络层中实现差错控制过程。也可以在两个固定终端110之间、卫星105与固定终端110之间、或其他组合之间的链路(未示出)中实现这些差错控制过程。此外,值得注意,可以在承载经由IP隧道传输的加密数据的网络层内实现这些差错控制机制。在一些实施例中,在网络层与数据链路层之间实现这里描述的差错控制过程。在其他实施例中,可以在数据链路层或传输层实现这里描述的差错控制通信的方面(例如延迟限制)。
为了进行以下讨论,使用术语“发射机”和“接收机”,但是值得注意,上述链路可以是双向的,因此,给定终端可以同时是发射机和接收机。为了实现本发明的特定实施例,终端包括“ARQ单元”,ARQ单元可以是在终端集成的处理单元,允许终端创建、发送和标识这里描述的差错控制分组并参与所描述的ARQ会话。这些ARQ单元可以在发送端对ARQ分组中的数据进行缓冲,直到确认接收或发生超时为止。
这里描述的差错控制过程可以由以下差错控制技术组成:标识丢失或受损的分组,然后,如果适用的延迟定时器未期满,则重传所标识的分组。如上所述,这里可以将这种差错控制技术称为ARQ差错控制机制或简称为ARQ。在一个实施例中,仅响应于对丢失的分组或分组集合进行标识的特定NACK来重传分组。在另一实施例中,使用一种由推广的重传策略组成的混合方案,其中选择性重传和回退N(Go-Back-N)重传是两种特定情况。可以通过合适地配置在接收机处可用于保存乱序分组的缓冲器大小,并另外基于各种因素提出用于检测和传送的参数,来实现选择性重传与回退N之间的全部行为。接收机将接收到的分组保存在缓冲器中(例如在与延迟限制相关联的时间量内),并从而允许使分组呈现为按序,即使这些分组是乱序接收的。
在一组实施例中,描述了用于发现知晓差错控制协议的终端的多种方法和系统。具有ARQ单元的发送终端接收具有目的地IP地址的IP分组。该发送终端可能不知道该目的地IP地址与特定接收终端(以及相关联的ARQ单元)之间的对应关系。该发送终端可以向该目的地IP地址发送具有ARQ标识符的探测分组,并且,接收终端使用该标识符来截获该探测分组。该接收终端进行响应,并且针对每个终端的ARQ表被更新。也描述了用于更新ARQ表的方法和系统。当用户在终端之间移动时,这些终端中标识终端位置的ARQ表可以被更新,以允许在动态环境下在终端之间进行连续的差错控制。
在一组实施例中,这些差错控制机制的特征包括针对业务量类型或种类而定制的可配置延迟限制。IPv4和IPv6分组均包括1字节的服务类型(ToS)或区分服务(DiffServ)字段。如以下将更详细讨论的,可以使用该字段来指示正在传输的基本服务。例如,可以使用该字段来定义正在传输的帧的延迟敏感性。然后,可以使具有不同延迟敏感性的帧(例如UDP分组与TCP分组、语音与电子邮件)在发射机处配置有不同的延迟限制,以及在接收机处配置有用于缓冲的相关时间限制。使用改变的延迟限制,具有不同延迟限制的多个不同ARQ会话可以在终端之间(或在终端与卫星之间)并发地进行。
可以将接收机配置为周期性地发送NACK(并可能发送ACK)。接收机可以从发射机接收用于发起传送的查询请求(例如状态请求),或可以内部发起NACK。内部或外部发起的查询周期可以是基于多种因素(例如所涉及的特定终端、估计的RTT、网络差错率、链路负载、乱序分组的接收、服务类型或质量等等)而可配置的。在一个实施例中,当业务量较轻时,可以减小查询周期(即增大ACK/NACK传送的频率)。在另一实施例中,仅基于NACK来进行重传,这可以减小不必要的重传次数。
在其他实施例中,在链路严重退化的条件下,可以使用渐进重传方案。渐进重传是在给定帧未能成功传送特定次数(例如3次不成功传送)的情况下可以使用的一种过程。在达到阈值之后,传送该帧的多于一个拷贝,重传的帧在时间上间隔开。这种渐进重传对带宽施加了额外负担,但是可以在较轻业务量时间段中在链路严重退化的环境中使用。该阈值、分组重传次数、和定时增量可以是可配置的。
参照图2,图2示出了框图,示意了图1的卫星通信系统100的特定设备的示例配置200。尽管该示例配置示意了COTM终端115与固定终端110之间的通信,但是本领域技术人员可以认识到,类似组件可以用在相同或其他类型终端的其他链路之间、或卫星与终端之间。
在一个实施例中,发起终端205(例如用户设备或终端,或服务器)经由网络(例如因特网或无线局域网(LAN))将数据发送至COTM终端115-b。COTM终端115-b接收该数据。COTM终端115-b由网络层处理单元215(包括路由单元220、ARQ单元225和IP封装单元230)、数据链路层处理单元235、RF前端240以及现有技术已知的其他组件组成。接收的数据可以是例如由无线信号承载的IP分组。
在COTM终端115-b的其他组件(未示出)进行一些中间处理之后,可以由网络层处理单元215的路由单元220来接收该IP分组。路由单元220可以对接收到的IP分组的目的地地址进行评估,并识别出要将其转发至类似的知晓差错控制协议的终端,如固定终端110-b(例如经由链路120-c通过卫星来转发)。这种查找功能可以通过使路由单元220对列出与ARQ单元相关联的特定目的地IP或其他地址的表进行维护或访问来实现。因此,如这里所述,路由单元220可以进行阈值确定,以确定该IP分组是否发往或通过可以在IP层参与ARQ会话的节点。
网络层处理单元215不是简单地对接收的IP分组进行封装并将其转发至数据链路层处理单元235,而是可以将对接收到的IP分组的处理责任分配给ARQ单元225。ARQ单元225可以创建要与接收到的IP分组相关联的ARQ首部,该ARQ首部包括:序列号、会话号、时间戳、重传延迟限制、接收终端的缓冲时间限制、以及用于差错检测的其他信息和/或标识符。ARQ单元225可以对接收到的IP分组中的服务类型指示符进行评估,并基于该服务类型(例如UDP与TCP)将该分组放入合适的会话。按照这种方式,具有不同延迟敏感性或服务质量保证的分组可以具有不同的延迟定时器、缓冲器或窗大小、查询定时器等等。ARQ单元225可以缓冲要发送的数据分组,直到接收到和/或处理应答信息以确定该数据分组是否被接收为止。ARQ单元225可以缓冲数据分组(允许可能的重传)直到延迟定时器期满为止,然后丢弃该分组。
然后,IP封装单元230可以将该ARQ首部封装在附加IP首部中并添加其相关联的IP分组,该IP分组在该IP首部中指示该IP分组为ARQ IP分组。该附加IP首部中的指示符可以用作对其他知晓差错控制协议的终端的信号,表明该分组包括ARQ首部并且要在网络层由接收ARQ单元来进行处理。如这里所使用的,术语“知晓差错控制协议的终端”或“知晓网络层差错控制协议的终端”可以描述一种终端,该终端配置有类似于ARQ单元225的ARQ单元,并且位于通向目的地网络地址的路由路径上。IP封装单元230可以将ARQ分组转发至数据链路层处理单元235,在数据链路层处理单元235中应用数据链路协议(例如HDLC)。然后,链路层分组由RF前端240对进行处理,并经由无线信号通过卫星105被发送至固定终端110-b。
固定终端110-b接收该信号。该实施例中的固定终端110-b由RF前端245、数据链路层处理单元250以及网络层处理单元255(包括IP解封装单元260、路由单元265和ARQ单元270)组成。固定终端110-b的RF前端245可以对信号进行下变频、放大和解调,从而重现来自COTM终端115-b的链路层分组。在卫星提供IP路由功能而不提供ARQ功能的情况下,接收到的链路层分组首部由卫星产生。现有技术中已知,固定终端110-b的数据链路层处理单元250可以对接收到的分组进行处理,以产生ARQ IP分组。IP解封装单元260可以接收ARQ IP分组,处理首部中的标识符以将该分组识别为ARQ IP分组,并将其转发给ARQ单元270以进行处理。
接收固定终端110-b的ARQ单元270可以对COTM终端115-b的ARQ单元225所创建的ARQ首部中的序列号、时间戳、重传延迟限制、缓冲时间限制和任何其他差错控制信息进行分析。固定终端110-b的ARQ单元270可以根据从会话中接收的其他ARQ分组来分析这些差错控制信息,并将应答信息(ACK、NACK和/或其他状态信息)发送至COTM终端115-b的ARQ单元225。固定终端110-b的ARQ单元270可以响应于接收到的差错控制首部来产生具有应答信息的响应分组,并且,该应答信息可以在网络层被封装。可以将该响应分组转发至数据链路层处理单元250,在数据链路层处理单元235中应用数据链路协议(例如HDLC)。然后,链路层分组由RF前端245来处理,并通过卫星105经由无线信号被发送回COTM终端115-b的ARQ单元225。在接收到包括NACK的应答信息时,COTM终端115-b可以重传所缓冲的数据分组(可能在针对适用的延迟限制有时间剩余的情况下)。
接收固定终端110-b的ARQ单元270可以确定该数据分组是乱序的数据分组,并缓冲该分组直到接收到之前的数据分组并将之前的数据分组转发给末端终端(或基于延迟限制的时间限制期满)为止。在一个实施例中,ARQ单元270可以等到确定数据分组成为按序数据分组并且已经转发了介于中间的分组,才将缓冲的据分组转发给末端终端。在一个实施例中,可以保留缓冲的数据分组,直到超过或接近缓冲时间限制(例如当紧接该时间限制期满之前指定了丢弃或转发时间时)为止。在这种情况下,然后可以乱序转发所缓冲的数据分组并将其丢弃。(注意,如果IP解封装单元260将分组标识为非ARQ IP分组,则固定终端110-b的网络层处理单元255的其他组件(未示出)可以另外在IP层处理该分组。)
一旦ARQ单元270处理正在进行中或已完成,则其他组件还可以处理该分组和/或将该分组从固定终端110-b转发出去。然后,源自发起终端205并路由通过COTM终端115-b、卫星105和固定终端110-b的数据可以通过网络210到达末端终端275。发起终端205与末端终端275均可以处于COTM终端115-b和固定终端110-b远程处,因此该链路可以是端到端连接内的中间链路。除了上述差错控制过程之外,值得一提的是,发起终端205也可以缓冲第一数据分组,直到从末端终端275接收到应答(例如使用不同的TCP连接来提供多个差错控制链路)为止。尽管以上描述针对COTM终端115-b和固定终端110-b之间的链路,但是,类似的过程和组件也可以应用至其他终端至终端或卫星至终端的连接。
还提供了多个可选实施例。例如,参照图3,图3示出了框图,示意了图1的卫星通信系统100的组件的示例配置300。该图示意了与上述终端至终端的处理的特定差别。注意,在该实施例中,ARQ单元位于卫星105上,卫星105通过链路120-d与COTM终端115-c通信。卫星105包括ARQ单元305、数据链路层处理单元310、发射机135,并且可以包括现有技术已知的其他组件。
在一个实施例中,卫星可能从固定终端110接收数据。例如,接收到的数据可以包括由无线信号承载的IP分组。在一些中间处理之后,ARQ单元305可以接收该IP分组。ARQ单元305可以对与接收到的IP分组相关联的目的地(IP或其他)地址进行评估,并识别出该IP分组将经由链路120-d通过知晓ARQ的COTM终端115-c。根据本发明的特定实施例,该查找功能可以通过使ARQ单元305对列出与能够进行ARQ会话的ARQ单元相关联的MAC地址或其他终端地址的表进行维护或访问来实现。
ARQ单元305不是简单地将接收的IP分组传送给数据链路层处理单元310,而是可以创建与接收的IP分组相关联的ARQ首部,该ARQ首部包括序列号、会话标识符、时间戳、时间和/或延迟限制以及用于差错检测的其他信息。ARQ单元305可以基于服务类型(例如实时交互式与电子邮件)将该分组放入合适的会话。按照这种方式,具有不同延迟敏感性或服务质量保证的分组可以具有不同的延迟定时器、缓冲器或窗大小、查询定时器等等,并且这些参数可以与卫星至终端的链路隔离。
ARQ单元305可以将ARQ首部和相关联的IP分组转发给数据链路层处理单元310,在数据链路层处理单元310中应用数据链路协议(例如HDLC),封装ARQ首部和相关联的IP分组。因此,在该实施例中,差错控制数据位于网络层与数据链路层之间。然后,链路层分组由发射机315来处理,并通过卫星105经由无线信号被发送至COTM终端115-c。
COTM终端115-c接收该信号。该实施例中的COTM终端115-c由RF前端245、数据链路层处理单元250、ARQ单元320以及网络层处理单元255(包括IP解封装单元260)组成。COTM终端115-c的RF前端245可以对信号进行下变频、放大和解调,从而产生来自卫星105的链路层分组。现有技术中已知,COTM终端115-c的数据链路层处理单元250可以对接收到的分组进行处理,以产生ARQ IP首部和相关联的IP分组。数据链路层处理单元250可以识别数据链路层首部中的标识符,并将该分组转发给ARQ单元320以进行处理。ARQ单元320可以根据从会话中接收到的其他ARQ分组来分析序列号、时间戳和其他信息。然后,ARQ单元320可以将ACK、NACK和其他状态信息发送至卫星105的ARQ单元305。一旦完成了ARQ单元处理,则网络层处理单元255可以接收该IP分组,IP解封装单元260可以将该分组作为常规IP分组来处理,并将该分组从COTM终端115-c转发出去(例如,IP解封装单元260可以处理该分组ARQ首部而不处理其ARQ首部)。其他组件还可以处理该分组和/或将该分组从COTM终端115-b转发出去,然后该分组通过网络210到达末端终端275。
因此,尽管在一些实施例中,可以在网络层封装差错控制数据,但是在其他实施例中,可以在网络层与数据链路层之间封装差错控制数据。在另外的实施例中,例如可以在数据链路层或传输层实现这里描述的差错控制协议的特定方面。此外,尽管参照图3的描述是针对从卫星105至COTM终端115的链路,但是所讨论的会话也可以从COTM终端115至卫星105,其中,在COTM终端115应用ARQ首部格式化,然后在卫星105接收并处理该ARQ首部格式化。根据参照图3描述的实施例,因此,卫星105可以作为相同IP分组的发射机和接收机来操作(例如COTM终端115-a至卫星105的链路,然后是从卫星105至COTM终端115-b的链路)。此外,尽管以上描述至针对卫星105与COTM终端115之间的链路,但是类似的过程和组件也可以应用于其他的卫星105至固定终端110链路120-a或应用于多个其他终端至终端的连接。
值得注意的是,可以以硬件来全部或部分地实现图2或3的固定终端110、COTM终端115或卫星105的组件。因此,这些组件均可以由适于以硬件来执行适用功能子集的一个或多个专用集成电路(ASIC)组成。可选地,可以由一个或多个集成电路上的一个或多个其他处理单元(或核心)来执行这些功能。在其他实施例中,可以使用可以以现有技术已知的任何方式来进行编程的其他类型的集成电路(例如结构化/平台ASIC、现场可编程门阵列(FPGA)和其他半定制IC)。也可以使用在存储器中实现的指令来全部或部分地实现图2或3的固定终端110、COTM终端115或卫星105的组件中的每一个,所述指令被格式化为要由一个或多个通用或专用处理器来执行。上述表可以存储在本地存储器中。
参照图4A,图4A示出了框图,示意了用于在两个用户205、275之间的一系列链路上进行特定分组格式化400的协议分层的示例。在一个实施例中,中间链路120(例如从图1的系统100)在COTM终端115与固定终端110之间。图4A示意了可能在每个用户终端205、275、HAIPE终端402、中间终端110、115或卫星105处进行的物理层404、数据链路层408、网络层412以及传输和应用层416的处理。图4A还示意了可以如何在COTM终端115的IP层420创建ARQ差错控制数据,以及由接收固定终端110在IP层424处理该ARQ差错控制数据。因此,在这些实施例中,ARQ在终端至终端的IP隧道上操作。在其他实施例中,所示的分组格式化可以在其他终端至终端、或终端至卫星的连接之间进行。
接下来参照图4B,图4B示出了框图,示意了本发明的各实施例的帧结构425的示例。如图4A所示,这可以是例如在COTM终端115产生的帧格式。因此,在该实施例中,COTM终端115可以接收由未加密的IP分组435-a封装的HAIPE加密IP分组430,从而形成由IP分组440组成的有效载荷(注意,在其他实施例中,可以在COTM终端115接收或创建其他类型的分组以形成该有效载荷,例如,该有效载荷可以是封装IPSEC加密分组的IP分组,或承载未加密有效载荷的某种其他IP分组)。
在该实施例中,COTM终端115包括ARQ单元(例如图2所示的ARQ单元225),该ARQ单元被配置为对接收的IP分组440进行封装以形成扩展IP分组445(或在其他实施例中这可以是某种其他网络层分组格式)。该扩展IP分组445包含第二外侧IP首部450,该首部450具有指示该分组为ARQ分组并指定IP地址(例如针对末端用户275)的字段。该IP分组445还包括ARQ首部455(例如4字节的ARQ首部),ARQ首部455可以包含序列号、时间戳、会话号和用于差错检测的其他信息。然后,将该扩展IP分组445封装在HDLC首部460(或其他数据链路层协议)中,以形成数据链路层HDLC分组465。然后,经由卫星将该分组传输至固定终端110,固定终端110包括另一ARQ单元(例如图2所示的固定终端110-b处的ARQ单元270)。固定终端110处理该扩展IP分组445的IP首部450,并识别出该分组为ARQ分组,将该分组转发至该固定终端110中的ARQ单元。
然后,固定终端110处的ARQ单元可以接收并处理ARQ首部,并且在IP层执行ARQ差错控制过程。按照这种方式,COTM终端115和固定终端110处的ARQ处理单元可以经由卫星105在IP层执行差错控制功能。接收固定终端110处的ARQ单元(例如ARQ单元270)可以使用在网络层传送的应答信息(ACK、NACK或其他状态报告)或会话发起响应来向发送COTM终端115处的ARQ单元(例如ARQ单元225)作出响应。
在该实施例中,有效载荷440不需要知道ARQ功能。数据链路层(即,HDLC层)也不需要知道该功能。在接收到合适的ACK或NACK之后,如果在给定适用服务类型的情况下未超过(适用的)延迟限制,则COTM终端115处的ARQ单元可以重传丢失或受损的分组。该ARQ单元(例如ARQ单元225或270)可以被配置为:仅当分组以具有带IP层功能的ARQ单元的终端为目的地时,才应用附加IP层(420、424)。在该实施例中,COTM终端115可以针对给定终端处的每个业务量和/或QoS种类来维护不同的ARQ会话,并且可以同时与多个终端具有正在进行的ARQ会话。
注意,还示意了可以在前向或反向链路上发送的控制分组470的格式。在其他实施例中,可以在COTM终端外的方框中(例如在HAIPE终端与COTM终端之间)实现ARQ单元。在另外的实施例中,终端至终端的链路可以在固定终端110之间、COTM终端115之间或其任何可选组合之间。
接下来参照图4C,图4C示出了框图,示意了本发明的各实施例的帧结构475的可选示例。例如,这可以是在终端(例如图4A所示的终端110、115)之间处理的帧格式。因此,在该实施例中,假定COTM终端115仍接收添加至未加密IP分组首部435-b的HAIPE加密IP分组430,从而形成由IP分组440组成的有效载荷(仍要注意,在其他实施例中,可以在COTM终端115接收或创建其他类型的分组以形成该有效载荷,例如,该有效载荷可以是封装IPSEC加密分组的IP分组,或承载未加密有效载荷的某种其他IP分组)。
在该实施例中,COTM终端115包括ARQ单元(例如图2的ARQ单元225),该ARQ单元被配置为在未加密的IP首部435-b与ESP首部之间插入或包括ARQ首部480(例如4字节ARQ首部)。该ARQ首部可以包含序列号、时间戳、会话号以及用于差错检测的其他信息。然后,在HDLC首部460(或其他数据链路层协议)中封装扩展IP分组485,以形成数据链路层HDLC分组490。然后将该分组经由卫星105传输至固定终端110,固定终端110包括另一ARQ单元(例如图2所示的ARQ单元270)。
固定终端110处理扩展IP分组485的IP首部435-b,并识别出该分组为ARQ分组(由于在该首部中指示了这一点),并将该分组转发至该固定终端110中的ARQ单元。然后,固定终端110处的ARQ单元可以接收并处理该ARQ首部,并在IP层执行ARQ差错控制过程。类似地,也可以在IP层沿反方向传输响应或其他应答分组。按照这种方式,这里描述的ARQ协议可以在非隧道模式中操作,并且在本示例中,ARQ开销可以从额外40字节(例如使用IPv6)减小至额外4字节。
因此,在该实施例中,加密有效载荷430不需要知道ARQ功能。数据链路层(即HDLC层)也不需要知道该功能。在接收到合适的ACK或NACK之后,如果在给定适用服务类型的情况下未超过延迟限制,则COTM终端115处的ARQ单元可以重传丢失或受损的分组。ARQ单元(例如ARQ单元225或270)可以被配置为:仅当分组以具有带IP层功能的ARQ单元的终端为目的地时,才插入ARQ首部480。COTM终端115仍可以针对给定终端处的每个业务量和/或QoS种类来维护不同的ARQ会话,并且可以同时与多个终端具有正在进行的ARQ会话。注意,还示意了可以在前向或反向链路上发送的控制分组495的格式。
接下来转到图5A,图5A示出了框图,示意了在两个用户205、275之间的一系列链路上进行的特定分组格式化500的示例。示意了中间链路530。通信从用户25传送通过HAIPE终端520-a(包括ARQ单元)、第一中间终端115、卫星105、第二中间终端110,然后通过第二HAIPE终端(包括ARQ单元)520-b。图5A示意了在每个设备或设备集合处进行的物理层504、数据链路层508、网络层512以及传输和应用层516处理。图5A示意了如何在如上所述的中间的终端至终端连接之外由HAIPE终端528在IP层524创建ARQ差错控制帧,该ARQ差错控制帧如何以加密形式通过中间终端和卫星,以及如何在接收HAIPE终端520-b的IP层528处理处理该ARQ差错控制帧。在其他实施例中,可以在上述终端至卫星至终端的连接之外,以一个或多个其他类型的终端进行所示的分组格式化。
接下来参照图5B,图5B示出了框图,示意了本发明的各实施例的帧结构535的示例。为了示例,假定使用图5A的终端。在该实施例中,HAIPE终端524接收未加密的IP分组540。HAIPE终端524可以对接收到的IP分组的目的地地址进行评估,并识别出该IP分组将要转发至类似的知晓ARQ的HAIPE终端528(通过卫星105)。这种查找功能可以通过使该HAIPE终端中的ARQ单元对列出与ARQ单元相关联的特定IP或其他地址的表进行维护或访问来实现。
在该实施例中,HAIPE终端520-a包括ARQ单元,该ARQ单元被配置为将ARQ首部545(例如4字节ARQ首部)添加或关联至IP分组540。ARQ首部545可以包含序列号、时间戳、会话号和用于差错检测的其他信息。然后,使用外侧IP首部550(或其他网络层协议)来封装扩展的分组,并对该扩展的分组进行加密以形成具有加密ARQ首部的加密IP分组555。然后,使用外侧的未加密IP首部560来封装该加密分组555。添加数据链路层首部565,以形成要通过网络传输的、具有加密的有效载荷555的数据链路层分组570。可以在前向和反向链路上使用这种分层。中间终端(固定终端110和/或COTM终端115)和卫星105不需要知道加密ARQ分组的内容。在接收端的HAIPE终端520-b对分组555进行解密,并识别出该分组为ARQ分组(由于其中的协议值字段指示了这一点)。该HAIPE终端将该分组转发至其中的ARQ单元。然后,HAIPE终端520-b处的ARQ单元可以接收并处理该ARQ首部,并且在IP层执行ARQ差错控制过程。
因此,在该实施例中,中间终端不需要知道ARQ功能。在从接收HAIPE终端520-b接收到合适的ACK或NACK之后,如果针对给定的适用服务类型,未超过延迟限制,则发送HAIPE终端520-a处的ARQ单元可以重传丢失或受损的分组。在该实施例中,HAIPE终端520-a可以针对给定终端处的每个业务量和/或QoS种类来维护不同的ARQ会话,并且可以同时与多个终端具有正在进行的ARQ会话。
注意,还示意了控制分组575的格式,也可以在前向或反向链路上发送控制分组575。在其他实施例中,根据分组的服务类型或QoS特征,终端处的ARQ单元可以具有多个不同会话。在不同终端处,不同服务类型和质量可以被配置为具有差错控制会话。在其他实施例中,HAIPE终端至HAIPE终端的链路可以在其他终端之间。
如上所述,终端中的ARQ单元(例如图2和3的ARQ单元(225、270、320))或其他处理单元可以维护将目的地IP地址(或其他目的地地址)与其他ARQ单元链接的表。对于表中的每个ARQ单元,可以存在与特定会话号或其他标识符的附加对应关系。因此,由于在终端处使用ARQ单元(例如图2的COTM终端115-b处的ARQ单元225)来接收IP分组(例如如4B或4C的IP分组440),所以可以访问表来标识与目的地IP地址相对应的接收ARQ单元。可以对接收到的IP分组中的服务类型字段进行访问,并且可以使用该字段来标识该IP分组的合适会话。发送ARQ单元可以在网络层添加外侧IP首部(例如IP首部550)和ARQ首部(例如545),从而对接收到的IP分组进行封装。该ARQ首部中可以包括会话标识符、序列号和其他差错控制信息,并且因此可以在IP层将该分组发送至接收ARQ单元。在终端之间,对所有发送和接收用户可以有单个会话。可选地,根据服务类型或质量、源或目的地IP或其他地址、或者其他因素,可以有多个会话。
接下来参照图6,图6示出了框图,示意了本发明的各实施例的帧结构600的示例。例如,如图3所示(或在反方向上使用的),这可以是在卫星105处处理的帧格式。因此,在该实施例中,卫星105可以接收由未加密的IP分组610封装的HAIPE加密IP分组605,从而形成由IP分组615组成的有效载荷(注意,在其他实施例中,可以在卫星处接收或创建其他类型的分组以形成该有效载荷,例如,该有效载荷可以是封装IPSEC加密分组的IP分组,或承载未加密有效载荷的某种其他IP分组)。
在该实施例中,卫星105包括ARQ单元(例如图3所示的ARQ单元320),该ARQ单元被配置为将ARQ首部620(例如4字节ARQ首部)添加至或包括在IP分组615中。该ARQ首部620可以包含序列号、时间戳、会话号、延迟和/或时间限制以及用于差错检测的其他信息。然后,在HDLC首部625(或其他数据链路层协议)中封装扩展IP分组630,以形成数据链路层HDLC分组635。然后将该分组传输至终端110、115,终端110、115包括另一ARQ单元(例如图3所示的COTM终端115-c处的ARQ单元320)。COTM终端115-c处理扩展IP分组635的HDLC首部,并识别出该分组为ARQ分组(由于其中的协议值字段指示了这一点),并将该分组转发至其中的ARQ单元。然后,COTM终端115-c处的ARQ单元可以接收并处理该ARQ首部,并在IP层执行ARQ差错控制过程。
因此,在该实施例中,有效载荷615不需要知道ARQ功能。在接收到合适的ACK或NACK之后,如果在给定适用服务类型的情况下未超过延迟限制,则卫星处的ARQ单元可以重传丢失或受损的分组。该ARQ单元可以被配置为仅当分组以具有ARQ单元(该ARQ单元具有IP层功能)的终端为目的地时才应用ARQ首部620。在该实施例中,卫星105可以针对给定终端处的每个业务量和/或QoS种类来维护不同的ARQ会话,并且可以同时与多个终端具有正在进行的ARQ会话。
注意,还示意了可以在前向或反向链路上发送的控制分组640的格式。在其他实施例中,可以在终端外的方框中(例如在HAIPE终端与COTM终端115之间)实现ARQ单元。尽管以上描述是针对从卫星105至COTM终端115的链路,但是,所讨论的会话也可以从COTM终端115至卫星105,其中在COTM终端115处应用ARQ首部格式化,然后在卫星105处接收并处理该ARQ首部格式化。根据参照图3描述的实施例,卫星105可以因此作为相同IP分组的接收机和发射机来操作(例如使用COTM终端115-a至卫星105的链路,然后是从卫星105至COTM终端115-b的链路)。在其他实施例中,卫星/终端链路也可以在卫星和固定终端之间。
图7A是示意了根据本发明各实施例的、用于将差错控制信息发送至接收终端的方法700的流程图。例如,方法700可以全部或部分由图1、2或3的COTM终端115、固定终端110或卫星105来执行。
在方框705,处理第一数据分组,该第一数据分组经由中间终端以末端终端为目的地。在方框710,针对第一数据分组产生第一差错控制首部。在方框715,在网络层对第一差错控制首部进行封装,以添加至第一数据分组来进行传送。在方框720,接收添加至第二差错控制首部的第二数据分组,该第二数据分组和添加的第二差错控制首部是响应于第一差错控制首部而从该中间终端发送的。在网络层对第二差错控制首部进行封装以进行传送,第二差错控制首部包括针对第一数据分组而接收到的应答信息。
图7B是示意了根据本发明各实施例的、用于发送差错控制信息和管理相关联缓冲器的方法725的流程图。例如,方法700可以全部或部分由图1、2或3的COTM终端115、固定终端110或卫星105来执行。
在方框730,从位于远程处的发起终端接收第一数据分组,该第一数据分组经由中间终端以远程的末端终端为目的地。在方框735,维护关联表,所述关联将目的地网络地址与知晓网络层差错控制协议的终端相关。在方框740,经由该表将第一数据分组标识为将通过知晓网络层差错控制的终端的数据分组,其中知晓网络层差错控制的终端是中间终端。
在方框745,缓冲第一数据分组。在方框750,针对第一数据分组产生第一差错控制首部。在方框755,在网络层对第一差错控制首部进行封装,以添加至第一数据分组来进行传送。在方框760,将第一数据分组和添加的第一差错控制首部经由卫星传送至位于远程处的中间终端。
在方框765,接收第二数据分组和添加的第二差错控制首部,该第二数据分组和添加的第二差错控制首部是响应于第一差错控制首部而从该中间终端发送的。在网络层对第二差错控制首部进行封装以进行传送,第二差错控制首部包括针对第一数据分组的应答信息。在方框770,在对来自所接收的第二差错控制首部的应答信息进行处理以确定是否要重传所缓冲的数据分组之后,丢弃所缓冲的第一数据分组。
图8A是示意了根据本发明各实施例的、用于从发送终端接收差错控制信息的方法800的流程图。例如,方法800可以全部或部分由图1、2或3的COTM终端115、固定终端110或卫星105来执行。
在方框805,接收第一数据分组和添加的第一差错控制首部,该第一差错控制首部是在网络层封装的。在方框810,对第一差错控制首部中的差错控制信息进行分析。在方框815,响应于所分析的差错控制信息产生包括应答信息的第二差错控制首部。在方框820,在网络层对第二差错控制首部进行封装,以添加至第二数据分组来进行传送。
图8B是示意了根据本发明各实施例的、用于接收并响应差错控制信息和管理相关联缓冲器的方法825的流程图。例如,方法825可以全部或部分由图1、2或3的COTM终端115、固定终端110或卫星105来执行。
在方框830,经由卫星接收添加至第一差错控制首部的第一数据分组,该第一差错控制首部是在网络层封装的。在方框835,将第一差错控制首部标识为由知晓网络层差错控制协议的终端产生的数据,其中,知晓网络层差错控制的终端是发起终端与末端接收终端之间的终端。在方框840,对第一差错控制首部中的差错控制信息进行分析,以将第一数据分组标识为乱序分组。
在方框845,基于对指示第一数据分组为乱序数据分组的第一差错控制首部的分析,缓冲第一数据分组。在方框850,响应于所分析的差错控制信息产生包括(例如对接收到的和丢失的分组加以标识的)顺序和应答信息的第二差错控制首部。在方框855,在网络层对第二差错控制首部进行封装,以添加至第二数据分组来进行传送。在方框860,经由卫星来传送第二差错控制首部和添加的第二数据分组,所述传送通向知晓网络层差错控制协议的终端。
在方框865,一旦确定第一数据分组已成为按序数据分组,就将所缓冲的第一数据分组转发至位于远程处的末端终端。在其他实施例中,可以在缓冲时间期满之后或者在将缓冲时间设置为期满之前进行该转发。在方框870,在转发了所缓冲的第一数据分组之后将该第一数据分组丢弃。
转到另一组实施例,描述了用于发现知晓差错控制协议的终端的多种方法、系统和软件。典型地,具有ARQ单元的发送终端接收具有目的地网络地址的数据分组。简要返回参照图2,回想路由单元220可以对接收到的数据分组的目的地网络地址进行评估以确定是否要将该数据分组转发至类似的知晓ARQ的固定终端110-b(例如通过卫星105经由链路120-c)。这种查找功能可以通过维护多个目的地网络地址中的每一个与一个或多个知晓差错控制协议的终端之间的关联列表来实现。例如,图2的路由单元220维护或访问存储器中的表,该表列出了与ARQ单元相关联的特定目的地网络地址。
接下来参照图9,图9示出了将IP地址与知晓网络层差错控制协议的终端相关联的这种表900的示例。左边的列列出了多个目的地IP地址905,而右边的列示出了与每个所列的IP地址相关联的知晓网络层差错控制协议的终端910。例如,当知晓差错控制协议的终端(例如图1或2的固定终端110或COTM终端115)决定是否要执行这里所述的ARQ差错控制处理时,可以使用这种表900。
发送终端可能不知道该目的地IP地址与特定接收终端(以及相关联的ARQ单元)之间的对应关系。该发送终端可以向该目的地IP地址发送具有探测分组标识符的探测分组以发现这种终端,并且,接收终端基于该标识符来捕获该探测分组。该接收终端进行响应,并且针对每个终端的ARQ表被更新。也描述了用于更新ARQ表的方法和系统。当用户在终端之间移动时,这些终端中标识终端位置的ARQ表可以被更新为允许在动态环境下在终端之间进行连续的差错控制。
本领域技术人员可以认识到许多IP地址和末端用户的动态性质。末端用户可以在终端之间移动,并且终端可能具有与所有IP地址相关的不完整信息。因此,将描述一种用于发现与目的地IP地址(或其他地址)相关联的ARQ单元的过程示例。图10是示意了根据本发明的实施例的、在图1和2的COTM终端115-b与固定终端110-b之间的分组示例流程的分组流程图1000。在其他实施例中,可以在网络中其他知晓差错控制协议的终端或节点之间进行该发现过程。
COTM终端115-b从用户205接收具有源和目的地IP地址的用户分组1005。COTM终端115-b访问表(例如使用图2的ARQ单元225来访问图9的表900),以确定是否存在与该目的地IP地址相关联的终端(以及可能的会话标识符)。在未找到这种条目的情况下,COTM终端115-b对探测分组1010(在图10中称为ARQ-DS-REQ分组)进行格式化并转发。例如,该分组1010可以被格式化为图4B的ARQ分组445或控制分组470,其目的地IP地址与接收到的用户分组1005的目的地IP地址相同。探测IP分组1010中有指示符指示其为探测分组(或更一般地,指示其为ARQ分组),并且该指示符可以在探测IP分组1010的“下一协议字段”中(因此,这里该指示符可以称为“标识符”或“探测分组标识符”)。该标识符被格式化为允许下一知晓差错控制协议的终端对探测分组1010中的终端信息进行标识和捕获。
COTM终端115-b也可以转发接收到的用户分组1005(不进行这里所述的差错控制过程)。COTM终端115-b也可以将接收到的用户分组1005保存在缓冲器中,直到使用针对目的地网络地址的接收终端条目更新了列表为止,或直到建立了ARQ会话为止。可选地,探测分组1010可以被配置为承载IP分组1005作为其有效载荷,因此,探测分组1010可以包括用户分组1005。
在固定终端110-b(包括ARQ单元,例如图2的ARQ单元270)处,接收探测分组1010,并且可以基于标识符来捕获该探测分组1010。对探测分组1010进行处理,固定终端110-b将该分组识别为探测分组,标识源IP地址和COTM终端115-b。然后,固定终端110-b可以更新其自己的ARQ表,从而将源IP地址与COTM终端115-b相关联。固定终端对响应分组1015(在图10中称为ARQ-DS-Response分组)进行格式化并发送。该分组1015可以被格式化为图4B或4C的ARQ分组445或485或控制分组470或495(其目的地IP地址与接收到的IP分组1005的源IP地址相同,或可能与COTM终端115-b的IP地址相同)。在响应分组1015中有另一标识符标识其为响应分组,该指示符可以在响应分组1015的“下一协议字段”中。
然后,COTM终端115-b接收响应分组1015,并更新其ARQ表以将固定终端110-b与IP分组1005的目的地IP地址相关联。然后,COTM终端115-b(可能具有其ARQ单元)可以访问表,以确定是否存在与COTM终端115-b至固定终端110-b的链路相对应的会话,以及该会话是否适用于与要通过该链路发送的IP分组相关联的服务类型或质量。
如果针对要在该链路上发送的IP分组没有找到适用的ARQ会话,则COTM终端115-b对会话建立IP分组1020(在图10中称为ARQ-Open分组)进行格式化并转发。该分组1020可以被格式化为图4B或4C的ARQ分组445或485或控制分组470或490,其目的地IP地址与用户分组1005的目的地IP地址或固定终端110-b的IP地址相同。然后,固定终端110-b可以接收会话建立分组1020,并创建与数据分组的内容分类相关联的会话条目(例如基于用户分组是音频还是视频、流还是交互式、或基于服务质量要求等等)。固定终端110-b对会话ACK分组1025(在图10中称为ARQ-Open Ack分组)进行格式化并转发。如上所述,该分组1025可以被格式化为ARQ分组或ARQ控制分组(其目的地IP地址与用户分组1005的源IP地址相同,或可能与COTM终端115-b的IP地址相同)。在会话ACK分组1025中有另一标识符标识其为会话发起分组。COTM终端115-b接收并处理会话ACK分组1025,从而会话建立。
如果尚未完成,则COTM终端115-b可以沿朝向目的地网络地址的路由路径发送添加有差错控制数据的、所缓冲的数据分组1030。所发送的差错控制分组可以包括序列号和标识符,以允许固定终端110-b捕获差错控制数据。将该数据分组可以被集成入探测分组1010,或可以由固定终端110-b来单独接收。不论该数据分组是如何被接收的,都可以将该数据分组发送1035至末端终端275。固定终端110-b还可以通过将应答信息发回COTM终端115-b来进行响应,并且该应答信息可以包括序列号。
如上所述,这种系统中的许多主机和终端可以是移动或动态的,因此,期望处理主机移动性问题。如上所述,终端中的ARQ单元(例如图2和3的ARQ单元(225、265、305、320))或其他处理单元可以维护将目的地IP地址(或其他目的地地址)与其他ARQ单元链接的表(图9的表900)。然而,考虑用户从第一终端至第二终端的移动。图11A是示意了根据本发明的实施例的、在图1A的COTM终端115-b、第一固定终端110-b和第二固定终端110-a之间的分组流程的分组流程图1100。在其他实施例中,可以在网络中的其他终端或节点之间进行主机移动性处理。
COTM终端115-b接收具有源和目的地IP地址的用户分组1105。COTM终端115-b访问表(例如使用图2的ARQ单元225来访问图9的表900),以确定是否存在与目的地IP地址和分组类型相关联的终端(以及可能的会话标识符)。在找到这种条目的情况下,COTM终端115-b对修改的用户分组1110(例如将以用户分组1105作为有效载荷的图4B的ARQ IP分组445)进行格式化并转发。
在固定终端110-b(包括ARQ单元,例如图2的ARQ单元270),接收ARQ IP分组1110。对ARQ IP分组1110进行处理,固定终端110-b将该分组识别为ARQ分组。固定终端110-b确定(用户分组1105的)目的地主机不再可访问(例如通过访问其自己的ARQ表或接收指示不可达性的数据)。这可能是由于该主机移动1102至第二固定终端110-a。如果必要,固定终端110-b可以更新其自己的ARQ表(将COTM终端115-b与源IP地址相关联),并格式化和发送差错分组1115(在图11A中称为ARQ-DS-Error分组)。该分组1115可以被格式化为图4B的控制分组470(其目的地IP地址与用户分组1105的源IP地址相同,或可能与COTM终端115-b的IP地址相同)。差错分组1115中有标识符标识其为ARQ分组(或更具体地标识为差错分组),并且该指示符可以在差错分组1115的“下一协议字段”中。
然后,COTM终端115-b接收差错分组1115,并更新其ARQ表以结束固定终端110-b与IP分组605的目的地IP地址之间的关联。COTM终端115-b格式化并转发探测IP分组1120(在图11A中称为ARQ-DS-REQ分组,与图10的分组1010等效)。例如,该分组1120可以被格式化为图4B或4C的ARQ IP分组或ARQ控制分组,其目的地IP地址与原始接收的用户分组1105的目的地IP地址相同。然而,在探测分组1120中有标识符标识其为探测分组(或仅标识为ARQ分组),并且该指示符可以在探测IP分组1120的“下一协议字段”中。COTM终端115-b也可以对已缓冲的接收IP分组1105进行转发,或继续将其保存在缓冲器中直到建立ARQ会话(可选地,探测分组1120可以被配置为承载IP分组1105作为其有效载荷)为止。也可能根据适用的延迟限制,使用其他方法来重传原始接收的IP分组1105。
在第二固定终端110-a(包括ARQ单元,例如图2的ARQ单元225),捕获探测IP分组1120。对该探测IP分组进行处理,固定终端110-a将该分组识别为具有针对其可达用户之一的目的地IP地址的ARQ分组(或可能识别为ARQ控制分组)。然后,固定终端110-a可以更新其自己的ARQ表(例如图9的表900),从而将IP地址与COTM终端115-b相关联。固定终端110-a格式化并转发响应分组1125(在图11A中称为ARQ-DS-Response分组)。该分组1125可以被格式化为图4B或4C的ARQ分组445或485或控制分组470或490(其目的地IP地址与接收到的IP分组1105的源IP地址相同,或可能与COTM终端115-b的IP地址相同)。存在指示符指示该分组为响应分组(或更一般地指示为ARQ分组),并且该指示符可以在响应分组1125的“下一协议字段”中。
然后,COTM终端115-b接收响应分组1125,更新其ARQ表以将固定终端110-a与IP分组1105的目的地IP地址相关联。然后,如以上参照图10所述,COTM终端115-b可以使用现有会话或创建与固定终端110-a的新会话,来继续发送一个或更多其他IP分组1130。
还提供了与主机移动性相关的其他更新方法。接下来参照图11B,示意了根据本发明实施例的、在图1、2或3的COTM终端115-b、第一固定终端110-b以及第二固定终端110-a之间的分组流程的分组流程图1150。如关于图11A的讨论中已经发生的,初始与第一固定终端110-b相关联的主机1152移动至第二固定终端110-a。将来自该主机(现在与第二固定终端110-a相关联)的用户分组1155发往与COTM终端115-b相关联的目的地IP地址。
然后,固定终端110-a访问表(例如使用图2的ARQ单元225来访问图9的表900),以确定是否存在与该目的地IP地址相关联的终端(以及可能的会话标识符)。如果COTM终端115-b为已知的相关联终端,并且会话可用,则固定终端110-a可以封装该用户分组以形成ARQ分组1160(例如图4B或4C的ARQ分组445或485),并将该ARQ分组1160发送给COTM终端115-b。如果不是这样,则可以使用上述发现过程(与图10相关),并且,发送给COTM终端115-b的ARQ分组1160可以是探测分组(例如图10的探测分组1010)。当ARQ分组1160到达COTM终端115-b时,COTM终端115-b处的ARQ表被更新为反映该主机IP地址现在与固定终端110-a而不是110-b相关联。
图12A是示意了根据本发明各实施例的、用于发送终端发现探测分组的方法1200的流程图。例如,方法1200可以全部或部分由图1、2或3的COTM终端115、固定终端110或卫星105来执行。
在方框1205,维护多个目的地网络地址中的每一个与一个或多个知晓差错控制协议的终端之间的关联列表(例如图9的表900)。在方框1210,确定在列表中所选目的地网络地址与至少一个知晓差错控制协议的终端不相关联。在方框1215,在通向所选目的地网络地址的路由路径上传送探测分组,该探测分组包括被格式化为要由被配置为知晓差错控制协议的终端来识别的标识符。在方框1220,从该路由路径上的知晓差错控制协议的终端接收响应分组。在方框1225,使用所选目的地网络地址与该知晓差错控制协议的终端之间的关联来更新关联列表。
图12B是示意了根据本各实施例的用于接收终端发现探测分组的方法1230的流程图。例如,方法1230可以全部或部分由图1、2或3的COTM终端115、固定终端110或卫星105来执行。
在方框1235,在第一知晓差错控制协议的终端处接收探测分组,该探测分组是从第二知晓差错控制协议的终端发送的并以与目的地网络地址相关联的末端终端为目的地。在方框1240,捕获该探测分组以标识第二知晓差错控制协议的终端,该捕获基于该探测分组中包括的探测分组标识符。在方框1245,将标识该探测分组的响应分组发送给第二知晓差错控制协议的终端,该响应分组是使用针对第二知晓差错控制协议的终端的信息而被格式化的,以产生该目的地网络地址与第一知晓差错控制协议的终端之间的关联以便进行差错控制通信。
图12C是示意了根据本发明各实施例的、用于更新差错控制终端关联的方法1250的流程图。例如,方法1250仍可以全部或部分由图1、2或3的COTM终端115、固定终端110或卫星105来执行
在方框1255,仍维护多个目的地网络地址中的每一个与知晓差错控制协议的终端之间的关联的列表,该列表针对每个目的地网络地址标识了各个路由路径上的一个或多个知晓差错控制协议的终端。在方框1260,对该列表中将所选目的地网络地址与知晓差错控制协议的终端之一相关联的条目进行标识。在方框1265,传送包括差错控制数据的数据分组,该差错控制数据被格式化为要由相关联的知晓差错控制协议的终端来识别和捕获,该传送基于该条目的标识。在方框1270,从该知晓差错控制协议的终端接收可达性分组,该可达性分组指示所选目的地网络地址已经变为从该知晓差错控制协议的终端不可达。在方框1275,更新关联列表,以去除所选目的地网络地址与该知晓差错控制协议的终端之间的关联。
图12D是示意了根据本发明各实施例的、用于更新差错控制终端关联的可选方法1280的流程图。如上述示例中一样,方法1280可以全部或部分由图1、2或3的COTM终端115、固定终端110或卫星105来执行。
在方框1285,维护目的地网络地址与知晓差错控制协议的终端之间的关联列表,该列表标识了与末端终端的目的地网络地址相关联的第一知晓差错控制协议的终端,该第一知晓差错控制协议的终端在通向该末端终端的路由路径上。在方框1290,从第二知晓差错控制协议的终端接收可达性分组,该可达性分组指示该目的地网络地址从第二知晓差错控制协议的终端可达。在一个实施例中,第二可达性分组也可以但不必须是从第一知晓差错控制协议的终端接收的。在方框1295,更新关联列表,以去除目的地网络地址与第一知晓差错控制协议的终端之间的关联,并添加目的地网络地址与第二知晓差错控制协议的终端之间的关联。
图13A是示意了根据本发明各实施例的、在移动主机环境下的终端之间建立差错控制通信的方法1300的流程图。如上述示例中一样,方法1300可以全部或部分由图1、2或3的COTM终端115、固定终端110或卫星105来执行。
在方框1305,维护目的地网络地址与知晓差错控制协议的终端之间的关联列表,该列表针对每个目的地网络地址标识了各个路由路径上的知晓差错控制协议的终端。在方框1310,标识该列表中将第一目的地网络地址与第一知晓差错控制协议的终端相关联的条目。在方框1315,传送包括差错控制数据的第一数据分组,该差错控制数据被格式化为要由第一知晓差错控制协议的终端来识别和捕获,该传送基于该条目的标识。
在方框1320,从第一知晓差错控制协议的终端接收可达性分组,该可达性分组指示第一目的地网络地址已经变为从第一知晓差错控制协议的终端不可达。在方框1325,更新关联列表,以去除第一目的地网络地址与第一知晓差错控制协议的终端之间的关联。在方框1330,在通向第一目的地网络地址的路由路径上传送探测分组,该探测分组包括被格式化为要由被配置为知晓差错控制协议的终端来识别的第一标识符。
在方框1335,响应于该探测分组,从该路由路径上的第二知晓差错控制协议的终端接收响应分组。在方框1340,使用第一目的地网络地址与第二知晓差错控制协议的终端之间的关联来更新该列表。在方框1345,向第二知晓差错控制协议的终端发送会话建立分组,该会话建立分组请求基于要经由第二知晓差错控制协议的终端发送至第一目的地网络地址的数据分组的内容分类来建立差错控制会话。
图13B是示意了根据本发明的各实施例的、针对移动主机环境中的终端之间的差错控制通信来更新终端关联的方法1350的流程图。例如,方法1350可以全部或部分由图1、2或3的COTM终端115、固定终端110或卫星105来执行。
在方框1355,维护网络地址与知晓差错控制协议的终端之间的关联列表,该列表针对每个网络地址标识了各个路由路径上的知晓差错控制协议的终端。在方框1360,从该列表中未包括的第一知晓差错控制协议的终端接收探测分组,该探测分组以与第一网络地址相关联的末端终端为目的地。在方框1365,捕获该探测分组,以标识第一知晓差错控制协议的终端和作为源网络地址的第二网络地址,该捕获基于该探测分组中包括的探测分组标识符。
在方框1370,向第一知晓差错控制协议的终端发送响应分组,所述响应分组确认该探测分组的接收。在方框1375,使用第二网络地址与第一知晓差错控制协议的终端之间的关联来更新关联列表。在方框1380,与从第二网络地址的传送相关联的用户移动至从第二知晓差错控制协议的终端可达。在方框1385,从第二知晓差错控制协议的终端接收可达性分组,该可达性分组指示第二网络地址从第二知晓差错控制协议的终端可达。在方框1390,更新关联列表,以去除第二网络地址与第一知晓差错控制协议的终端之间的关联,并添加第二网络地址与第二知晓差错控制协议的终端之间的关联。
在另一组实施例中,这些差错控制机制的特征包括可以针对业务量类型或种类而定制的可配置延迟限制。IPv4和IPv6分组分别包括1字节业务类型(ToS)或区分服务(DiffServ)字段。如以下将要更详细讨论的,该字段可以用于指示正在传输的基本服务(这里称为业务量内容分类)。该字段可以用于定义正在传输的帧的延迟敏感性。然后,可以使具有不同延迟敏感性的帧(例如UDP分组与TCP分组、语音与电子邮件)在发射机处配置有不同延迟限制以及在接收机处配置有用于缓冲的相关时间限制。使用改变的延迟限制,具有不同延迟限制的多个不同ARQ会话可以在终端之间(或在终端与卫星之间)并发地进行。
首先参照图14,图14示出了延迟限制表1400的示例,该表可以存储在终端(例如图1的固定终端110、COTM终端115或卫星105)的存储器中,或存储在其他地方并被远程访问。第一列包括多种业务量内容分类1405(流音频、流视频、交互式音频、交互式视频和其他数据)的列表。在所示的实施例中,有两种不同等级的服务器质量1410,这两种不同等级的服务器质量1410可以导致不同的延迟限制。因此,在所示的实施例中,用于从给定终端进行重传的延迟限制1415可以基于内容分类1405和服务质量1410。在其他实施例中,针对数据业务量和服务质量度量,可以有更多、更少或不同的分类。延迟限制也可以基于终端处的负载、终端处的等待时间、至中间终端或末端用户的估计传送之间、或路由路径中特定设备处的估计处理时间。
接下来参照图15,将描述示意了分组重传选项的分组流程图1500。所示的图假定单个延迟限制(因此其可以表示单个会话),但是这些原理可以应用至改变的延迟限制环境。例如,可以在图1的卫星105与终端(110或115)之间的链路上,或在从终端(110或115)通过卫星105至终端(110或115)的链路上使用这种协议。在这种链路上有分组的发射机1505和接收机1510,尽管特定设备(终端或卫星)可以既是发射机又是接收机。例如,在参照图2描述的实施例中,发射机1505可以是COTM终端115-b,接收机1510可以是固定终端110-b。例如,传送可以被格式化为图4B、4C或5B的ARQ分组445、485、555或控制分组470、495、575。沿任一方向的传输可以由发射机1505与接收机1510之间带箭头的线1515来表示。
在一个实施例中,如上所述(例如参照图2的路由单元220),将一个或多个分组标识为要与添加的差错控制数据一起发送的分组。对要发送的分组进行缓冲并为其分配发送序列号txseq 1520(可以基于分组的内容分类来设置延迟限制)。按照特定间隔(例如每N个分组(例如N=4)、在可变或设置的时间间隔之后、或其组合),发射机1505向接收机1510发送STATREQ分组1525。在所示的实施例中,发送没有有效载荷的STATREQ分组1525,但是在其他实施例中,该分组可以包括有效载荷。每个STATREQ分组1525之间的间隔也可以基于延迟限制。该STATREQ分组1525可以包含txTseq(时间序列号)和txSseq(已发送的最大序列号+1)。在一个实施例中,也可以只要从上一次发送STATREQ分组1525起过去了特定时间(例如0.1秒),就发送STATREQ分组1525,并且一些数据仍未得到应答。也可以在从上一次发送STATREQ分组1525起过去特定时间量(例如5秒)时发送STATREQ分组1525,并且没有数据未得到应答。注意,在往返时间之内,可以发送若干STATREQ分组1525。
在一些实施例中,发射机1505维护时间序列txTseq,所述时间序列txTseq在发送每个STATREQ分组1525之后递增。针对每个分组,可以在发送或重传该分组时本地(或例如在接收机1510处)保存当前时间序列值txTseq。
当接收机1510接收乱序分组(其序列号大于(在该示例中大两个或更多序列号)已接收的最大序列号)时,可以触发接收机1510来缓冲乱序分组并向发射机1505发送USTAT分组1530,该USTAT分组1530标识了rxseq(序列号,小于该序列号的所有分组已被接收或丢弃(由于缓冲时间延迟期满))。USTAT分组1530也可以提供spanlist信息(丢失分组的序列号或其他信息,和/或已接收分组的序列号或其他信息)。因此,rxseq和spanlist均可以提供应答信息(构成ACK和NACK)。
当接收机1510接收STATREQ分组1520时,接收机1510可以被配置为发送STAT分组1535,STAT分组1535包含rxTseq(接收时间序列号)、rxseq(序列号,小于该序列号的所有分组已被接收)、以及spanlist信息(丢失分组的序列号或其他信息,和/或已接收分组的序列号或其他信息)。
当发射机1505接收USTAT分组1530时,发射机1505可以释放已应答分组(以及可能的延迟定时器已期满的任何分组)的缓冲器空间(丢弃所缓冲的数据)。当发射机1505接收USTAT分组1535时,发射机1505可以在延迟限制未期满时重传在USTAT分组1535中标识的丢失分组。当发射机1505接收STAT分组1535时,发射机1505可以释放已应答分组(以及可能的延迟定时器已期满的任何分组)的缓冲器空间(丢弃所缓冲的数据)。如果延迟限制未期满,则发射机1505也可以重传STAT分组1535中标识的丢失分组。在一些实施例中,仅当针对分组保存的txTseq(时间序列号)小于或等于STAT分组中接收的rxTseq(接收时间序列号)时,发射机1505才执行对STAT分组1535的响应。
在各种重传协议实施例中,接收机1510缓冲乱序分组,并在丢失分组到达时按序向用户网络传送这些分组。然后,接收机1510丢弃所缓冲的数据分组。接收机1510也可以缓冲乱序分组,直到时间限制期满(或将要期满)为止,然后乱序转发这些分组并在转发时丢弃它们。这种缓冲时间限制可以是从发射机1505接收的,或可以是基于发射机的延迟限制而计算的(例如,除了余量之外,还将估计的或平均的传送和处理时间添加至延迟限制)。因此,针对接收机有多种不同方式来计算或设置缓冲时间限制。本领域技术人员可以认识到,这些延迟限制和时间限制可以采取各种形式,并且可以基于彼此来计算。如这里所使用的,对所缓冲数据分组的丢弃可以通过释放存储空间来完成。
发射机1505可以维护本地序列号(以下称为“NA”),使得小于NA的所有分组已由接收机应答(或由于延迟定时器期满而超时)。该变量可以由在发射机处接收的STAT分组1535或USTAT分组1530中的rxSeq变量来更新。spanlist可以包含丢失分组序列号列表和接收乱序接收分组序列号列表的紧凑表示,尽管在其他实施例中,可以以可选形式来表示该信息的一些或全部。
该重传协议可以以实时模式来操作(当实现特定延迟限制时),或可以在其他实施例中无延迟限制地操作。值得对实现延迟限制的实施例进行更详细的审视。在一个这种实施例中,发射机1505可以配置有针对承载实时业务量的特定ARQ会话的延迟限制(以下称为delayLimit时间)。在这种实施例中,发射机1505可以被配置为添加包含以下字段(例如maxDelay字段)的数据分组首部:该字段允许接收机1510计算应在接收机1510处缓冲多长的数据分组。
在一个实施例中,当分组从网络到达发射机1505时,发射机1505可以保存分组的到达时间,并可以计算重传的延迟限制(以下称为“delayLimit”)。当发射机1505发送或重传分组时,发射机1505可以被配置为检查例如是否当前时间-分组到达时间>delayLimit。如果否,则发射机1505可以将maxDelay字段设置为delayLimit-(当前时间-分组到达时间)并发送该分组。如果是,则不发送该分组。
当发射机1505发送STATREQ分组1525时,发射机1505可以检查是否有任何未应答分组已经等待了等于或大于delayLimit的时间。如果是,则发射机1505可以丢弃这些分组(例如通过释放这些分组所占用的缓冲器空间),并更新通过(或经过)这些分组的NA。发射机可以在STATREQ分组1525中发送该NA值。
转到接收机1510,当接收机1510接收乱序分组时,接收机1510可以保存该分组的maxDelay字段以及该分组的分组发送和接收时间。当接收机1510接收到NA大于rxseq的STATREQ分组1525时,接收机可以将rxseq值提高至NA,并将小于NA的任何乱序分组传送至网络,释放所传送的分组的缓冲器空间。接收机1510可以基于一个或多个分组的maxDelay字段来这样做。接收机1510可以周期性地(例如以可变或固定间隔)以及当其接收STATREQ分组1525时,检查是否有乱序分组满足(当前时间-分组发送时间)>该分组的maxDelay值。如果是,则可以将该分组传送至网络(从而释放所传送的分组的缓冲器空间),并且,可以将rxseq提高至下一丢失分组。
此外,每个数据分组(或其子集)可以包含时间戳值,该时间戳值包含该分组上一次发送时的时间。如果接收机和发射机维持同步的时间,则可以测量发射机与接收机之间的分组传送时间=(当前本地时间-时间戳值),然后,可以从接收的maxDelay值中减去该分组传送时间。在其他实施例中,可以估计或计算该传送时间。例如,如果接收机和发射机不能维护同步的时间,则接收机可以从分组maxDelay值中减去所配置的传送延迟值的下界。值得注意,可以针对不同应用和/或服务类型使用不同的延迟限制和时间限制。增大延迟限制可以使协议更可靠,但是需要更大的内存并可能增大延迟。此外,值得一提的是,对重传延迟限制和缓冲时间限制的描述仅为了示例,许多可选实现方式可以基于这里的实现描述。
图16A是示意了根据本发明各实施例的用于设置差错控制重传的延迟限制的方法1600的流程图。例如,方法1600可以全部或部分由图1、2或3的COTM终端115、固定终端110或卫星105来执行。
在方框1605,将数据分组标识为要与添加的差错控制数据一起发送的数据分组。在方框1610,针对差错控制重传设置延迟限制。在方框1615,产生差错控制数据,该差错控制数据包括用于基于所设置的延迟限制在接收机处缓冲数据分组的时间限制。在方框1620,发送数据分组和所添加的差错控制数据。
图16B是示意了根据本各实施例的用于基于业务量内容来针对差错控制重传设置延迟限制的可选方法1625的流程图。例如,方法1625可以全部或部分由图1、2或3的COTM终端115、固定终端110或卫星105来执行。
在方框1630,针对差错控制重传建立多个不同的延迟限制,每个延迟限制基于业务量内容分类。在方框1635,接收数据分组。在方框1640,将该数据分组标识为要与添加的差错控制数据一起发送的数据分组。
在方框1645,针对第一数据分组来标识业务量内容分类。在方框1650,基于所标识的分类来设置针对差错控制重传的延迟限制。在方框1655,缓冲该数据分组,而在方框1660将所缓冲的数据分组与所设置的延迟限制相关联。
在方框1665,监控时间以发现所设置的延迟限制的期满,并且监控输入分组以发现应答分组(例如图15的USTAT分组1530或STAT分组1535)的接收。在方框1670,确定重传的延迟限制是否期满。如果不是,则在方框1675,确定针对该数据分组是否已接收到应答(例如根据STAT分组1535或USTAT分组1530的rxseq或spanlist信息)。如果重传的延迟限制期满,或针对该数据分组接收到了已应答的接收,则在方框1680丢弃所缓冲的数据分组。
假定重传的延迟限制尚未期满,并且也未接收到应答的接收,则在方框1685,可以确定是否接收到否定应答(例如根据STAT分组或USTAT分组中的rxseq或spanlist信息来确定丢失分组)。在方框1690,如果已经过去了充足的间隔,则可以重传丢失的数据分组。然后,该处理返回方框1665,在方框1665监控时间以发现所设置的延迟限制的期满,并且监控输入分组以发现应答分组的接收。
图17A是示意了根据本发明各实施例的、设置用于等待丢失分组的缓冲时间限制的方法1700的流程图。如上述示例中一样,方法1700可以全部或部分由图1、2或3的COTM终端115、固定终端110或卫星105来执行。
在方框1705,对添加至差错控制数据的乱序数据分组进行接收,该差错控制数据包括用于对缓冲接收数据分组的时间限制进行计算的数据。在方框1710,对接收到的数据分组进行缓冲。在方框1715,处理该时间限制,以确定用于对接收到的数据分组进行缓冲的时间限制是否期满。在方框1720,在处理该时间限制之后转发所缓冲的数据分组。
图17B是示意了根据本发明各实施例的、用于设置和监控丢失分组的时间限制的方法1725的流程图。如上所述,方法1700可以全部或部分由图1、2或3的COTM终端115、固定终端110或卫星105来执行。
在方框1730,接收添加至差错控制数据的数据分组,该差错控制数据包括序列号和用于对接收到的数据分组进行缓冲的时间限制。在方框1735,将接收到的数据分组标识为乱序数据分组。在方框1740,缓冲该接收到的数据分组(注意,在一个实施例中,仅仅转发和丢弃按序分组,而不等待丢失分组)。在方框1745,监控时间以发现延迟限制的期满,并且监控接收到的分组以发现丢失分组。
在方框1750,确定用于缓冲的时间限制是否期满。如果否,则在方框1755,确定针对该数据分组是否已经接收到丢失分组。如果用于缓冲的时间限制期满(或将要期满),或已接收到丢失分组以使数据分组成为按序数据分组,则在方框1760转发所缓冲的数据分组,然后在方框1765丢弃所缓冲的数据分组。
假定用于缓冲的时间限制仍未期满,并且仍有分组丢失,则可以在方框1770确定是剩余的时间是否足以在方框1775请求重传(例如在STAT分组1535或USTAT分组1530中)。如果还有充足的时间进行缓冲,则可以发送重传请求。然后,该处理返回方框1745,在方框1745,监控时间以发现延迟限制的期满,并且监控输入分组以发现丢失分组。
应注意,上述方法、系统、设备和软件仅应作为示例。必须强调,各个实施例可以合适地省略、替换或添加各种过程或组件。例如,应当认识到,在可选实施例中可以以与所述顺序不同的顺序来执行方法,并且可以添加、省略或组合多个步骤。此外,关于特定实施例所述的特征在不同其他实施例中是可以组合的。实施例的不同方面和元素可以以类似方式相组合。此外,应强调,技术可以演进,因此许多元素是示例而不应解释为限制本发明的范围。
上述描述中给出了具体细节,以提供对本发明的完整理解。然而,本领域技术人员应当理解,在无需这些具体细节的情况下,也可以实现实施例。此外,值得注意,已经示出了公知的电路、过程、算法、结构和技术,其中没有不必要的细节,以免模糊实施例。
可以将实施例描述为流程图或框图所示的处理。尽管流程图或框图可能将操作描述为顺序处理,但许多操作可以并行或并发地执行。此外,可以重新布置操作的顺序。处理可以有其他未包括在图中的步骤。
此外,如这里所示,术语“存储器”或“存储单元”可以表示用于存储数据的一个或多个设备,包括:只读存储器(ROM)、随机存取存储器(RAM)、磁RAM、磁心存储器、磁盘存储介质、光存储介质、闪存设备和/或用于存储信息的其他计算机可读介质。术语“计算机可读介质”包括但不限于:便携式或固定存储设备、光存储设备、无线信道、SIM卡、其他智能卡以及能够存储、容纳或承载指令或数据的各种其他介质。
此外,可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合来实现实施例。当以软件、固件、中间件或微代码来实现时,执行必需任务的程序代码或代码段可以存储在如存储介质之类的计算机可读介质中。处理器可以执行必需任务。
已经描述了多个实施例,但是,本领域技术人员可以认识到,在不背离本发明精神的前提下,可以使用各种修改、可选构造和等效物。例如,上述元件可以仅是较大系统的组件,其中其他规则可以优先于或修改本发明的应用。此外,可以在考虑上述元件之前、期间或之后采取多个步骤。相应地,上述描述不应被视为限制本发明的范围。

Claims (75)

1.一种用于对经由卫星的通信进行网络层差错控制的系统,所述系统包括:
第一终端,被配置为:
从发起终端接收第一数据分组,所述第一数据分组经由第二终端并以末端终端为目的地;
针对第一数据分组产生差错控制首部;以及
在网络层对所述差错控制首部进行封装以添加至第一数据分组来进行传送;
第二终端,经由卫星与第一终端通信,并被配置为:
接收添加至第一数据分组的所述差错控制首部;
对所述差错控制首部进行处理,以分析差错控制信息;以及
响应于接收到的差错控制首部,产生具有应答信息的第二数据分组以传送至第一终端。
2.如权利要求1所述的系统,其中,第一终端还被配置为:
缓冲第一数据分组,直到响应于所发送的差错控制首部从第二终端接收到第二数据分组为止。
3.如权利要求1所述的系统,其中,第一终端还被配置为:
接收第二数据分组,其中所述应答信息是在网络层被封装的;以及
处理来自网络层的应答信息,以确定第一数据分组是否被接收。
4.如权利要求1所述的系统,还包括:
处于第一终端远程处的发起终端,所述发起终端被配置为缓冲第一数据分组,直到从所述末端终端接收到肯定应答为止。
5.如权利要求1所述的系统,其中,第二终端还被配置为:
将第一数据分组转发至所述末端终端,所述末端终端处于第二终端远程处。
6.如权利要求1所述的系统,其中,第二终端还被配置为:
确定第一数据分组是乱序数据分组;
缓冲第一数据分组,至少直到接收到先前的按序数据分组并将所述先前的按序数据分组从第二终端转发至所述末端终端为止;以及
当确定第一数据分组已成为按序数据分组时,将所缓冲的第一数据分组转发至所述末端终端。
7.如权利要求1所述的系统,其中,第二终端还被配置为:
在网络层将所述应答信息封装在所述差错控制首部中以进行传送。
8.如权利要求1所述的系统,其中,第二终端还被配置为:
经由卫星将第二数据分组发送至第一终端。
9.如权利要求1所述的系统,还包括:
卫星,与第一终端和第二终端通信,并被配置为:
接收第一数据集合,所述第一数据集合包括添加至第一数据分组的所述差错控制首部;
在网络层处理所述第一数据集合;以及
将所述差错控制首部和添加的第一数据分组转发至第二终端。
10.一种用于对通信链路进行网络层差错控制的方法,所述方法包括:
处理第一数据分组,所述第一数据分组经由中间终端并以末端终端为目的地;
针对第一数据分组产生第一差错控制首部;
在网络层对第一差错控制首部进行封装以添加至第一数据分组来进行传送;以及
接收添加至第二差错控制首部的第二数据分组,所述第二数据分组是响应于第一差错控制首部从所述中间终端发送而来的,所述第二差错控制首部在网络层被封装以进行传送,并且所述第二差错控制首部包括针对第一数据分组的应答信息。
11.如权利要求10所述的方法,还包括:
从发起终端接收第一数据分组,所述发起终端处于执行接收第一数据分组的步骤的终端的远程处。
12.如权利要求10所述的方法,还包括:
发送第一数据分组和添加的第一差错控制首部,所述发送经由卫星发往所述中间终端。
13.如权利要求10所述的方法,还包括:
将第一数据分组标识为将通过知晓网络层差错控制的终端的数据分组,所述知晓网络层差错控制的终端包括所述中间终端。
14.如权利要求13所述的方法,还包括:
维护关联列表,所述关联是多个目的地网络地址中的每一个与一个或多个知晓网络层差错控制协议的终端之间的关联,
其中,在所述关联列表中,第一数据分组与所述中间终端相关联。
15.如权利要求10所述的方法,还包括:
缓冲第一数据分组;以及
在处理来自接收到的第二差错控制首部的所述应答信息之后,丢弃所缓冲的第一数据分组。
16.如权利要求10所述的方法,还包括:
至少部分基于第二差错控制首部来重传数据。
17.如权利要求16所述的方法,其中,
重传的数据包括第一数据分组;
第一数据分组被标识为要基于所述应答信息来重传的数据分组;
所述网络层包括因特网协议层;以及
发起终端和末端终端包括均处于所述中间终端远程处的用户终端。
18.一种用于对通信链路实现网络层差错控制的终端,所述终端包括:
路由单元,被配置为:
标识以经由中间终端传送至末端终端为目的地的第一数据分组,所述中间终端被配置为对在网络层封装的差错控制首部进行处理;以及
至少部分基于所述标识来将第一数据分组的处理引导至ARQ单元;
ARQ单元,与路由单元通信耦合,并被配置为针对第一数据分组来产生第一差错控制首部;
封装单元,与ARQ单元通信耦合,并被配置为在网络层对第一差错控制首部进行封装以添加至第一数据分组来进行传送;以及
发射机单元,与封装单元通信耦合,并被配置为传送在网络层添加至第一数据分组的第一差错控制首部。
19.如权利要求18所述的终端,其中,
路由单元还被配置为:
标识第二数据分组,所述第二数据分组包括响应于第一差错控制首部而接收的差错控制数据;以及
至少部分基于所述标识来将第二数据分组引导至ARQ单元;以及
ARQ单元还被配置为:对第二数据分组中的应答信息进行处理,所述应答信息对第一差错控制首部的接收进行应答。
20.一种对通信链路进行网络层差错控制的方法,所述方法包括:
接收添加至第一差错控制首部的第一数据分组,所述第一差错控制首部是在网络层封装的;
分析第一差错控制首部中的差错控制信息;
响应于所分析的差错控制信息产生包括应答信息的第二差错控制首部;以及
在网络层对第二差错控制首部进行封装以添加至第二数据分组来进行传送。
21.如权利要求20所述的方法,还包括:
将第一数据分组转发至末端终端,所述末端终端处于执行转发第一数据分组的步骤的终端的远程处。
22.如权利要求20所述的方法,还包括:
至少部分基于对第一差错控制首部的分析来缓冲第一数据分组,所述分析指示第一数据分组为乱序数据分组;
当确定第一数据分组已成为按序数据分组时,将缓冲的第一数据分组转发至末端终端;以及
丢弃所缓冲的第一数据分组。
23.如权利要求20所述的方法,还包括:
经由卫星发送第二差错控制首部和添加的第二数据分组,所述发送发往产生第一差错控制首部的终端。
24.如权利要求20所述的方法,还包括:
将第一差错控制首部标识为由知晓网络层差错控制的终端产生的用于分析的数据,所述知晓网络层差错控制的终端包括发起终端与执行接收第一数据分组的步骤的终端之间的终端。
25.一种用于对通信链路实现网络层差错控制的终端,所述方法包括:
路由单元,被配置为:
标识在网络层封装并添加至第一数据分组的第一差错控制首部,第一数据分组是从发起终端经由中间终端接收到的,所述中间终端被配置为在网络层封装并发送第一差错控制首部;以及
至少部分基于所述标识来将第一差错控制首部的处理引导至ARQ单元;
ARQ单元,与路由单元通信耦合,并被配置为:
分析第一差错控制首部中的差错控制信息;
响应于所分析的差错控制信息产生包括应答信息的第二差错控制首部;
封装单元,与ARQ单元通信耦合,并被配置为在网络层对第二差错控制首部进行封装以添加至第二数据分组来进行传送;以及
发射机单元,与封装单元通信耦合,并被配置为传送在网络层添加至第一数据分组的第二差错控制首部。
26.一种用于发现通向第一目的地网络地址的路由路径上的终端的系统,所述系统包括:
第一知晓差错控制协议的终端,在通向与第一目的地网络地址相关联的末端终端的路由路径上,所述第一知晓差错控制协议的终端被配置为:
维护多个目的地网络地址中的每一个与一个或多个知晓差错控制协议的终端之间的关联列表;
对要转发至第一目的地网络地址的数据分组进行处理;
确定在所述列表中第一目的地网络地址与所述一个或多个知晓差错控制协议的终端不相关联;以及
在通向第一目的地网络地址的路由路径上发送探测分组,所述探测分组包括第一标识符,所述第一标识符被格式化为要由被配置为知晓差错控制协议的终端来识别;
第二知晓差错控制协议的终端,在第一知晓差错控制协议的终端与所述末端终端之间的路由路径上,所述第二知晓差错控制协议的终端被配置为:
至少部分基于第一标识符来捕获所述探测分组;以及
发送对所述探测分组和第二知晓差错控制协议的终端加以标识的响应分组,所述响应分组是使用针对第一知晓差错控制协议的终端的信息来被格式化的,以使用第一目的地网络地址与第二知晓差错控制协议的终端之间的关联来更新所述关联列表。
27.如权利要求26所述的系统,其中,第一知晓差错控制协议的终端还被配置为:
从第二知晓差错控制协议的终端接收所述响应分组;以及
使用第一目的地网络地址与第二知晓差错控制协议的终端之间的关联来更新所述关联列表,所述更新至少部分基于所接收的响应分组。
28.如权利要求27所述的系统,其中,第一知晓差错控制协议的终端还被配置为:
缓冲所述数据分组;以及
在通过第二知晓差错控制协议的终端的路由路径上发送所缓冲的数据分组,所述数据分组的发送是由更新后的、第一目的地网络地址与第二知晓差错控制协议的终端之间的关联来触发的。
29.如权利要求27所述的系统,其中,第一知晓差错控制协议的终端还被配置为:
缓冲所述数据分组;
将差错控制数据添加至所述数据分组,所述差错控制数据包括序列号和第二标识符,所述第二标识符被格式化为要由第二知晓差错控制协议的终端来识别;以及
在通过第二知晓差错控制协议的终端的路由路径上,将所述数据分组和添加的差错控制数据发往所述末端终端。
30.如权利要求29所述的系统,其中,第二知晓差错控制协议的终端还被配置为:
至少部分基于所述第二标识符来捕获所述数据分组和添加的差错控制数据;
将对所述序列号加以标识的应答分组发送给第一知晓差错控制协议的终端;以及
将所述数据分组发送给末端终端。
31.如权利要求27所述的系统,其中,第一知晓差错控制协议的终端还被配置为:
将会话建立分组发送给第二知晓差错控制协议的终端,所述会话建立分组请求至少部分基于所述数据分组的内容分类来建立差错控制会话。
32.如权利要求31所述的系统,其中,第二知晓差错控制协议的终端还被配置为:
接收所述会话建立分组;以及
在第一和第二知晓差错控制协议的终端之间,针对所述内容分类来产生差错控制会话条目。
33.如权利要求26所述的系统,其中,所述探测分组包括所述数据分组。
34.如权利要求26所述的系统,其中,第二知晓差错控制协议的终端还被配置为:
使用源目的地网络地址与第一知晓差错控制协议的终端之间的关联来更新在第二知晓差错控制协议的终端处维护的关联列表,所述更新至少部分基于所接收的探测分组。
35.如权利要求26所述的系统,其中,
所述探测分组经由卫星从第一知晓差错控制协议的终端被发送至第二知晓差错控制协议的终端;以及
所述响应分组经由卫星从第二知晓差错控制协议的终端被发送至第一知晓差错控制协议的终端。
36.一种用于发现通向第一目的地网络地址的路由路径上的终端的方法,所述方法包括:
维护多个目的地网络地址中的每一个与一个或多个知晓差错控制协议的终端之间的关联列表;
确定在所述列表中第一目的地网络地址与所述一个或多个知晓差错控制协议的终端中的至少一个不相关联;
在所述通向第一目的地网络地址的路由路径上发送探测分组,所述探测分组包括第一标识符,所述第一标识符被格式化为要由被配置为知晓差错控制协议的终端来识别;
从所述路由路径上的第一知晓差错控制协议的终端接收响应分组;以及
使用第一目的地网络地址与第一知晓差错控制协议的终端之间的关联来更新所述关联列表。
37.如权利要求36所述的方法,还包括:
对要转发至第一目的地网络地址的数据分组进行缓冲;以及
在通过第一知晓差错控制协议的终端的路由路径上将所缓冲的数据分组发往至末端终端,所述数据分组的发送是由更新后的、第一目的地网络地址与第一知晓差错控制协议的终端之间的关联来触发的。
38.如权利要求36所述的方法,还包括:
接收要转发至第一目的地网络地址的数据分组;
将差错控制数据添加至所述数据分组,所述差错控制数据包括序列号和第二标识符,所述第二标识符被格式化为要由第二知晓差错控制协议的终端来识别;以及
在通过第一知晓差错控制协议的终端的路由路径上,将所述数据分组和添加的差错控制数据发往包括第一目的地网络地址的末端终端。
39.如权利要求38所述的方法,还包括:
从第一知晓差错控制协议的终端接收对所述序列号加以标识的应答分组;以及
基于应答来丢弃所接收的数据分组。
40.如权利要求36所述的方法,还包括:
将会话建立分组发送给第一知晓差错控制协议的终端,所述会话建立分组请求至少部分基于所述数据分组的内容分类来建立差错控制会话;以及
从第一知晓差错控制协议的终端接收会话应答分组,所述会话应答分组指示在第一和第二知晓差错控制协议的终端之间,针对所述内容分类产生了差错控制会话条目。
41.如权利要求36所述的方法,其中,所述探测分组包括所述数据分组。
42.一种用于知晓差错控制协议的终端在通向第一目的地网络地址的路由路径上进行通信的方法,所述方法包括:
在第一知晓差错控制协议的终端处接收从第二知晓差错控制协议的终端发送的探测分组,所述探测分组以与第一目的地网络地址相关联的末端终端为目的地;
捕获所述探测分组,以标识第二知晓差错控制协议的终端,所述捕获至少部分基于所述探测分组中包括的探测分组标识符;以及
将标识所述探测分组的响应分组发送至第二知晓差错控制协议的终端,所述响应分组是使用针对第二知晓差错控制协议的终端的信息来被格式化的,以产生第一目的地网络地址与第二知晓差错控制协议的终端之间的关联以便进行差错控制。
43.如权利要求42所述的方法,还包括:
从第二知晓差错控制协议的终端接收会话建立分组,所述会话建立分组请求至少部分基于要由第二知晓差错控制协议的终端发送的数据分组的内容分类来建立差错控制会话;
在第一和第二知晓差错控制协议的终端之间,针对所述内容分类来产生差错控制会话条目;以及
将会话应答分组发送给第二知晓差错控制协议的终端,所述会话应答分组指示产生了差错控制会话条目。
44.如权利要求42所述的方法,还包括:
使用源目的地网络地址与第二知晓差错控制协议的终端之间的关联来更新在第一知晓差错控制协议的终端处维护的关联列表,所述更新至少部分基于所接收的探测分组。
45.如权利要求42所述的方法,还包括:
将所述探测分组的至少一部分发送至所述末端终端,其中,所述探测分组包括添加至差错控制数据的数据分组,所述差错控制数据包括探测分组标识符。
46.一种用于对通向第一目的地网络地址的路由路径上的终端进行更新的方法,所述方法包括:
维护多个目的地网络地址中的每一个与一个或多个知晓差错控制协议的终端之间的关联列表,所述列表针对所述多个目的地网络地址中的每一个标识了各个路由路径上的知晓差错控制协议的终端;
对所述列表中将第一目的地网络地址与第一知晓差错控制协议的终端相关联的条目加以标识;
发送包括差错控制数据的第一数据分组,所述差错控制数据被格式化为要由第一知晓差错控制协议的终端来捕获,所述发送至少部分基于对所述条目的标识;
从第一知晓差错控制协议的终端接收可达性分组,所述可达性分组指示第一目的地网络地址已经变为从第一知晓差错控制协议的终端不可达;以及
更新所述关联列表,以去除第一目的地网络地址与第一知晓差错控制协议的终端之间的关联。
47.如权利要求46所述的方法,还包括:
在所述通向第一目的地网络地址的路由路径上发送探测分组,所述探测分组包括第一标识符,所述第一标识符被格式化为要由被配置为知晓差错控制协议的终端来识别。
48.如权利要求47所述的方法,还包括:
在第一知晓差错控制协议的终端与包括第一目的地网络地址的末端终端之间的路由路径上,从第二知晓差错控制协议的终端接收响应分组;以及
使用第一目的地网络地址与第二知晓差错控制协议的终端之间的关联来更新所述关联列表。
49.一种用于对通向第一目的地网络地址的路由路径上的终端进行更新的方法,所述方法包括:
维护多个目的地网络地址中的每一个与一个或多个知晓差错控制协议的终端之间的关联列表,所述列表标识了与针对末端终端的目的地网络地址相关联的第一知晓差错控制协议的终端,所述第一知晓差错控制协议的终端在通向所述末端终端的路由路径上;
从第二知晓差错控制协议的终端接收可达性分组,所述可达性分组指示所述目的地网络地址从第二知晓差错控制协议的终端可达;以及
更新所述关联列表,以去除第一目的地网络地址与第一知晓差错控制协议的终端之间的关联,并添加第一目的地网络地址与第一知晓差错控制协议的终端之间的关联。
50.如权利要求49所述的方法,还包括:
从第一知晓差错控制协议的终端接收可达性分组,所述可达性分组指示所述第一目的地网络地址已经变为从第一知晓差错控制协议的终端不可达。
51.一种用于将延迟限制与经由卫星的差错控制重传相关联的系统,所述系统包括:
发送差错控制设备,被配置为:
将数据分组标识为要与添加的差错控制数据一起发送至接收差错控制设备的数据分组;
针对从发送差错控制设备的数据分组重传来设置延迟限制;以及
发送所述数据分组和添加的差错控制数据,所述差错控制数据包括用于计算在接收差错控制设备处对所述数据分组进行缓冲的时间限制的数据;
接收差错控制设备,经由卫星与发送差错控制设备通信,并被配置为:
接收所述数据分组和添加的差错控制数据,所述数据分组是乱序接收的;以及
至少部分基于所述差错控制数据,来计算用于在接收差错控制设备处对接收的数据分组进行缓冲的时间限制。
52.如权利要求51所述的系统,其中,所述发送差错控制设备还被配置为:
标识与所述数据分组相关联的业务量内容分类,其中,所述延迟限制是基于所标识的业务量内容分类可配置的。
53.如权利要求51所述的系统,其中,所述发送差错控制设备还被配置为:
缓冲所述数据分组;
确定在从接收差错控制设备接收到所述数据分组的应答之前所述延迟限制已期满;以及
至少部分基于所述确定来丢弃所缓冲的数据分组。
54.如权利要求51所述的系统,其中,所述接收差错控制设备还被配置为:
缓冲所接收的数据分组;
确定用于对所接收的数据分组进行缓冲的时间限制已期满,触发乱序转发所缓冲的数据分组;以及
在转发所缓冲的数据分组后丢弃所缓冲的数据分组。
55.如权利要求51所述的系统,其中,用于在接收差错控制设备处对数据分组进行缓冲的时间限制包括:所述延迟限制加上估计的传送和处理时间。
56.一种用于将延迟限制与差错控制传送相关联的方法,所述方法包括:
将数据分组标识为要与添加的差错控制数据一起发送的数据分组;
针对差错控制重传来设置延迟限制;
产生所述差错控制数据,所述差错控制数据包括用于在接收机处缓冲所述数据分组的时间限制,所述时间限制至少部分基于所述延迟限制;以及
发送添加至所产生的差错控制数据的数据分组。
57.如权利要求56所述的方法,还包括:
标识与所述数据分组相关联的业务量内容分类,其中,所述延迟限制是基于所标识的业务量内容分类可配置的。
58.如权利要求56所述的方法,还包括:
建立要应用至流数据的第一延迟限制;以及
建立要应用至交互式数据的第二延迟限制,其中,所设置的延迟限制基于对于所述数据分组是包括流数据还是包括交互式数据的确定。
59.如权利要求56所述的方法,还包括:
建立要应用至第一类流数据的第一延迟限制;以及
建立要应用至第二类流数据的第二延迟限制,其中,所设置的延迟限制基于对于所述数据分组是包括第一类流数据还是第二类流数据的确定。
60.如权利要求56所述的方法,其中,所述延迟限制是从可应用于差错控制重传的、多个所存储的延迟限制中选择的。
61.如权利要求56所述的方法,还包括:
缓冲所述数据分组;
确定所述延迟限制是否期满;以及
至少部分基于所述确定来丢弃所缓冲的数据分组。
62.如权利要求56所述的方法,还包括:
缓冲所述数据分组;
在所述延迟限制期满之前接收到对所发送的数据分组的接收的应答;以及
在接收到应答后丢弃所缓冲的数据分组。
63.如权利要求56所述的方法,还包括:
缓冲所述数据分组;以及
在所述延迟限制期满之前接收到否定应答的情况下,重传所缓冲的数据分组。
64.如权利要求56所述的方法,其中,所设置的延迟限制包括用于在接收机处缓冲所述数据分组的时间限制。
65.一种用于对通信链路实现差错控制的设备,所述方法包括:
路由单元,被配置为:
将数据分组标识为要与添加的差错控制数据一起发送的数据分组;以及
至少部分基于所述标识,将对所述数据分组的处理引导至ARQ单元;
ARQ单元,与路由单元通信耦合,并被配置为:
针对从所述设备对所述数据分组的差错控制重传来设置延迟限制;以及
产生包括所设置的延迟限制在内的差错控制数据;以及
发射机单元,与ARQ单元通信耦合,并被配置为将所述数据分组与所述差错控制数据一起发送。
66.如权利要求65所述的设备,还包括:
封装单元,与ARQ单元通信耦合,并被配置为在网络层对差错控制数据进行封装以添加至所述数据分组来进行传送。
67.一种用于将延迟限制与差错控制传送相关联的方法,所述方法包括:
接收添加至差错控制数据的乱序数据分组,所述差错控制数据包括用于对接收到的数据分组进行缓冲的时间限制;
缓冲接收到的数据分组;
处理所述时间限制,以确定所述用于对接收到的数据分组进行缓冲的时间限制是否期满;以及
在处理所述时间限制后转发所缓冲的数据分组。
68.如权利要求67所述的方法,还包括:
确定所述用于对接收到的数据分组进行缓冲的时间限制已期满,触发乱序转发所缓冲的数据分组;以及
在转发所缓冲的数据分组后丢弃所缓冲的数据分组。
69.如权利要求67所述的方法,还包括:
接收丢失的数据分组,以使所缓冲的数据分组呈现为按序;以及
在按序转发所缓冲的数据分组后丢弃所缓冲的数据分组,其中,所述用于对接收到的数据分组进行缓冲的时间限制尚未期满。
70.如权利要求69所述的方法,其中,丢弃所缓冲的数据分组包括:
释放所缓冲的数据分组所占用的存储空间。
71.如权利要求67所述的方法,还包括:
基于差错控制数据的时间限制,设置用于丢弃所缓冲的数据分组的丢弃时间,其中,所述丢弃时间在时间上早于所述时间限制。
72.如权利要求67所述的方法,还包括:
确定在所述时间限制内剩余的时间足以发送对一个或多个丢失的数据分组进行重传的请求以及接收对该请求的响应;以及
至少部分基于所述确定来发送所述重传的请求。
73.如权利要求67所述的方法,其中,除了估计的传送和处理时间之外,所述用于对接收到的数据分组进行缓冲的时间限制还包括针对发射机的延迟限制。
74.一种用于对通信链路实现差错控制的设备,所述设备包括:
路由单元,被配置为:
接收添加至差错控制数据的数据分组,所述差错控制数据包括用于对从发射机接收的数据分组进行缓冲的时间限制;
将所述数据分组标识为包括所述时间限制的数据分组;以及
至少部分基于所述标识,将所述数据分组引导至ARQ单元以进行处理;
ARQ单元,与路由单元通信耦合,并被配置为:
缓冲所述数据分组;以及
处理所述时间限制,以确定所述用于对接收到的数据分组进行缓冲的时间限制是否已期满;以及
发射机单元,与ARQ单元通信耦合,并被配置为转发所缓冲的数据分组。
75.如权利要求74所述的设备,其中,ARQ单元还被配置为:
确定所述时间限制已期满;以及
通过释放所缓冲的数据分组所占用的存储器来丢弃所缓冲的数据分组,其中,所缓冲的数据分组是乱序转发的。
CN200880009461A 2007-01-24 2008-01-24 增强差错控制通信系统和方法 Pending CN101641898A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US88634907P 2007-01-24 2007-01-24
US60/886,349 2007-01-24

Publications (1)

Publication Number Publication Date
CN101641898A true CN101641898A (zh) 2010-02-03

Family

ID=39580265

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880009461A Pending CN101641898A (zh) 2007-01-24 2008-01-24 增强差错控制通信系统和方法

Country Status (6)

Country Link
US (3) US7920477B2 (zh)
EP (1) EP2119085B1 (zh)
CN (1) CN101641898A (zh)
AT (1) ATE485646T1 (zh)
DE (1) DE602008003100D1 (zh)
WO (1) WO2008092023A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012055375A1 (zh) * 2010-10-29 2012-05-03 华为技术有限公司 临时块流的延迟释放方法和装置
CN103684681B (zh) * 2012-09-11 2017-10-17 富士通株式会社 传输装置与传输方法

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2119085B1 (en) 2007-01-24 2010-10-20 ViaSat, Inc. Enhanced error control communication systems and methods
JP2009135772A (ja) * 2007-11-30 2009-06-18 Oki Semiconductor Co Ltd ルータ装置
US20100023842A1 (en) * 2008-07-25 2010-01-28 Nortel Networks Limited Multisegment loss protection
US8457048B2 (en) 2009-08-31 2013-06-04 Research In Motion Limited Methods and apparatus to avoid mobile station transmission of duplicate event-based and polled acknowledgments
JP5460743B2 (ja) * 2010-02-02 2014-04-02 株式会社東芝 無線機器
US8806287B1 (en) * 2010-09-24 2014-08-12 Google Inc. Retransmission systems and methods in reliable streaming protocols using connection characteristics
CN101944974A (zh) * 2010-09-28 2011-01-12 北京邮电大学 卫星网络的高效内容分发技术
CN102231687A (zh) * 2011-06-29 2011-11-02 华为技术有限公司 一种链路故障探测方法及装置
US20130039192A1 (en) * 2011-08-08 2013-02-14 Renesas Mobile Corporation Methods, Apparatus and Wireless Device for Transmitting and Receiving Data Blocks
KR101808644B1 (ko) 2011-08-29 2017-12-21 한국전자통신연구원 위성 통신 시스템에서 역방향 링크 패킷 오류 검출 방법
CN102339071B (zh) * 2011-08-31 2013-03-06 桂林电子科技大学 动中通单脉冲角度跟踪系统和跟踪方法
EP2615749B1 (en) * 2011-12-20 2017-12-06 Thales Alenia Space Schweiz AG Method for optical data transmission from low earth orbit to earth and corresponding communication system
US10009445B2 (en) * 2012-06-14 2018-06-26 Qualcomm Incorporated Avoiding unwanted TCP retransmissions using optimistic window adjustments
US9363226B2 (en) * 2013-09-05 2016-06-07 International Business Machines Corporation Method for double IP address recovery
US9787852B2 (en) * 2014-06-04 2017-10-10 Alcatel-Lucent Usa Inc. Sequence number reuse for CDR transport using GTP'
US20160013976A1 (en) * 2014-07-14 2016-01-14 Futurewei Technologies, Inc. Wireless Through Link Traffic Reduction
FR3029371B1 (fr) * 2014-11-28 2016-12-23 Thales Sa Procede et systeme de communication dans un reseau hybride satellite/terrestre
CN104767559B (zh) * 2015-04-07 2017-10-24 苏州大学 一种分布式星群网络临时组网场景下的路由方法
CN104734770B (zh) * 2015-04-07 2017-11-21 苏州大学 一种基于上下文的分布式星群网络路由方法
WO2016180946A1 (en) * 2015-05-13 2016-11-17 Lantiq Beteiligungs-GmbH & Co.KG Packet aggregation communication device and method
US11831933B2 (en) 2020-04-09 2023-11-28 Qualcomm Incorporated Video aware transmission and processing
US11575910B2 (en) * 2020-04-09 2023-02-07 Qualcomm Incorporated Video aware transmission and multiple input multiple output layer processing
US11245741B2 (en) 2020-04-09 2022-02-08 Qualcomm Incorporated Video aware multiplexing for wireless communication
CN114189564A (zh) * 2020-08-28 2022-03-15 华为技术有限公司 一种报文传输方法、装置及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1162227A (zh) * 1996-02-05 1997-10-15 索尼公司 数据结构、数据通信方法、设备和通信终端设备
US20030212827A1 (en) * 2002-05-08 2003-11-13 Abheek Saha Method and system for providing peer-to-peer exchange of terminal information over a meshed network
US20060098659A1 (en) * 2004-11-05 2006-05-11 Silicon Graphics Inc. Method of data packet transmission in an IP link striping protocol

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5109384A (en) * 1988-11-02 1992-04-28 Tseung Lawrence C N Guaranteed reliable broadcast network
JP2967897B2 (ja) * 1993-07-22 1999-10-25 エヌ・ティ・ティ移動通信網株式会社 自動再送要求データ伝送方法
US5629949A (en) * 1993-09-21 1997-05-13 Cirrus Logic, Inc. Error correction verification method and apparatus using CRC check remainders
US5617561A (en) 1994-12-22 1997-04-01 International Business Machines Corporation Message sequence number control in a virtual time system
FI98174C (fi) 1995-05-09 1997-04-25 Nokia Telecommunications Oy Datansiirtojärjestelmä, jossa on liukuvaan ikkunaan perustuva datavuonohjaus
US6031818A (en) * 1997-03-19 2000-02-29 Lucent Technologies Inc. Error correction system for packet switching networks
US6289012B1 (en) * 1998-08-03 2001-09-11 Instanton Corporation High concurrency data download apparatus and method
US6493342B1 (en) * 1998-09-11 2002-12-10 Teledesic Llc Method of data transmission in a data communication network
US6646987B1 (en) 1998-10-05 2003-11-11 Nortel Networks Limited Method and system for transmission control protocol (TCP) packet loss recovery over a wireless link
FI106417B (fi) 1998-12-08 2001-01-31 Nokia Mobile Phones Ltd Menetelmä tiedonsiirron optimoimiseksi
US6577642B1 (en) * 1999-01-15 2003-06-10 3Com Corporation Method and system for virtual network administration with a data-over cable system
US6519223B1 (en) 1999-04-06 2003-02-11 Telefonaktiebolaget L M Ericsson (Publ) System and method for implementing a semi reliable retransmission protocol
US6349208B1 (en) * 1999-04-28 2002-02-19 Nokia Corporation Apparatus and associated method for selectively permitting initiation or cell reselection in a radio communication system
US7330439B1 (en) * 1999-05-21 2008-02-12 Nokia Corporation Packet data transmission in third generation mobile system
US6697331B1 (en) 1999-11-17 2004-02-24 Telefonaktiebolaget Lm Ericsson (Publ) Link layer acknowledgement and retransmission for cellular telecommunications
US6374117B1 (en) * 1999-12-22 2002-04-16 Telefonaktiebolaget Lm Ericsson (Publ) Queue based power control scheduling
US7200111B2 (en) 2000-08-31 2007-04-03 The Regents Of The University Of California Method for improving TCP performance over wireless links
US6925096B2 (en) * 2000-09-22 2005-08-02 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for managing traffic flows
US7339934B2 (en) * 2001-04-06 2008-03-04 Level 3 Communications, Llc Alternate routing of voice communication in a packet-based network
KR100493084B1 (ko) * 2001-05-04 2005-06-03 삼성전자주식회사 이동통신시스템에서 멀티미디어 서비스를 위한 초기전송및 재전송 장치 및 방법
US7000021B1 (en) * 2001-10-12 2006-02-14 Cisco Technology, Inc. ARQ (automatic repeat request) for broadband fixed wireless network
JP3590387B2 (ja) * 2001-11-01 2004-11-17 株式会社東芝 通信装置及びプログラム
US7336679B2 (en) * 2002-03-15 2008-02-26 Hughes Electronic Corporation Method and system for providing differentiated quality of service diversity ALOHA
US7145889B1 (en) * 2002-03-28 2006-12-05 Nortel Networks Limited Efficient frame retransmission in a wireless communication environment
US7428595B2 (en) 2002-09-30 2008-09-23 Sharp Laboratories Of America, Inc. System and method for streaming TCP messages in an enterprise network
US8004981B2 (en) 2003-06-17 2011-08-23 Cisco Technology, Inc. Methods and devices for the coordination of flow control between a TCP/IP network and other networks
US7155655B2 (en) 2003-07-22 2006-12-26 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive hybrid ARQ algorithms
WO2005060200A1 (en) 2003-12-17 2005-06-30 Telefonaktiebolaget Lm Ericsson (Publ) Technique for handling outdated information units
US7394762B2 (en) 2004-04-21 2008-07-01 National University Of Ireland Maynooth Congestion control in data networks
EP1797663B1 (en) * 2004-08-31 2019-07-24 Telefonaktiebolaget LM Ericsson (publ) Data unit sender and data unit relay device
JP4787320B2 (ja) * 2005-07-07 2011-10-05 テレフオンアクチーボラゲット エル エム エリクソン(パブル) パケット・データ通信システムにおける符号化およびスケジューリングのための方法および装置
US7787372B2 (en) 2005-12-12 2010-08-31 Viasat, Inc. Transmission control protocol with performance enhancing proxy for degraded communication channels
EP2119085B1 (en) 2007-01-24 2010-10-20 ViaSat, Inc. Enhanced error control communication systems and methods

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1162227A (zh) * 1996-02-05 1997-10-15 索尼公司 数据结构、数据通信方法、设备和通信终端设备
US20030212827A1 (en) * 2002-05-08 2003-11-13 Abheek Saha Method and system for providing peer-to-peer exchange of terminal information over a meshed network
US20060098659A1 (en) * 2004-11-05 2006-05-11 Silicon Graphics Inc. Method of data packet transmission in an IP link striping protocol

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012055375A1 (zh) * 2010-10-29 2012-05-03 华为技术有限公司 临时块流的延迟释放方法和装置
CN103684681B (zh) * 2012-09-11 2017-10-17 富士通株式会社 传输装置与传输方法

Also Published As

Publication number Publication date
US20080175247A1 (en) 2008-07-24
US8260935B2 (en) 2012-09-04
US7920477B2 (en) 2011-04-05
US20080177884A1 (en) 2008-07-24
WO2008092023A2 (en) 2008-07-31
US20080175155A1 (en) 2008-07-24
US7881205B2 (en) 2011-02-01
EP2119085B1 (en) 2010-10-20
DE602008003100D1 (de) 2010-12-02
EP2119085A2 (en) 2009-11-18
WO2008092023A3 (en) 2009-03-19
ATE485646T1 (de) 2010-11-15

Similar Documents

Publication Publication Date Title
CN101641898A (zh) 增强差错控制通信系统和方法
US7965674B2 (en) Sub-segment based transport layer protocol for wireless medium
US8958411B2 (en) Method of transmitting RLC data
CA2368770C (en) Packet discard notification for semi reliable retransmission protocol
US9871625B2 (en) Status reporting for retransmission protocol
KR101224334B1 (ko) 고속 데이터 처리를 위한 재전송 장치 및 방법
Moons et al. Using SCHC for an optimized protocol stack in multimodal LPWAN solutions
US9369923B2 (en) Transmission method in an ad hoc multi-hop IP network
JP2008153778A (ja) パケット転送装置
US20220225163A1 (en) Communications device, infrastructure equipment and methods
JP2001036586A (ja) ゲートウェイ装置
CN106603205B (zh) 数据传输方法、装置和系统
CN102790667B (zh) 一种处理重传数据的方法及基站
CN100471197C (zh) 用移动专用网络传输层有效发送/接收数据的方法、网络设备
Farrell et al. Ltp-t: A generic delay tolerant transport protocol
CN114785464A (zh) 无线自组网的数据自动重传方法及应用
CN102790668B (zh) 一种处理重传数据的方法及基站
JP4926113B2 (ja) モバイルルータアドホックネットワーク通信システム
CN100466506C (zh) 一种数据传输的方法
Berg The design of an initial NBWF network simulator
Marques et al. Transparent IP proxy for tactical ad hoc networks
Abdul-Nabi et al. Fault-tolerant minimal retransmission mechanism with network coding
Muhammad et al. Reliable aeronautical services protocol: Laboratory testing and verification
Harmon Overcoming TCP Degradation in the Presence of Multiple Intermittent Link Failures Utilizing Intermediate Buffering
Ikegawa et al. SERIES B: Operations Research

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20100203