CN115023928A - 通过多个不可靠信道的分组化数据通信 - Google Patents

通过多个不可靠信道的分组化数据通信 Download PDF

Info

Publication number
CN115023928A
CN115023928A CN202080095139.2A CN202080095139A CN115023928A CN 115023928 A CN115023928 A CN 115023928A CN 202080095139 A CN202080095139 A CN 202080095139A CN 115023928 A CN115023928 A CN 115023928A
Authority
CN
China
Prior art keywords
data packet
networks
bit stream
data packets
copies
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
CN202080095139.2A
Other languages
English (en)
Other versions
CN115023928B (zh
Inventor
U·阿维尼
I·卓锐
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.)
Zixi Co ltd
Original Assignee
Zixi Co 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
Priority claimed from US16/699,786 external-priority patent/US11546615B2/en
Application filed by Zixi Co ltd filed Critical Zixi Co ltd
Publication of CN115023928A publication Critical patent/CN115023928A/zh
Application granted granted Critical
Publication of CN115023928B publication Critical patent/CN115023928B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/02Arrangements for detecting or preventing errors in the information received by diversity reception
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • H04L1/201Frame classification, e.g. bad, good or erased
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • H04W56/002Mutual synchronization

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

一种方法,包括:接收串行位流的多个副本,其中所述串行位流包括数据分组序列;基于顺序的时间窗口连续划分所述串行位流的所述副本中的每个;关于所述时间窗口中的每个,至少部分地基于数据分组相似性,将在所述时间窗口内接收到的与所述串行位流的所述副本中的每个相关联的所述数据分组对齐;以及通过选择所述对齐的数据分组中的至少一个作为表示所述数据分组序列中的下一个数据分组,实时重新创建所述串行位流。

Description

通过多个不可靠信道的分组化数据通信
相关申请的交叉参考
本申请要求2019年12月2日提交的标题为“PACKETIZED DATA COMMUNICATIONOVER MULTIPLE UNRELIABLE CHANNELS”的美国专利申请号16/699,786的优先权权益,该申请是2019年3月20日提交的标题为“SYSTEM AND METHOD FOR COMMUNICATING DATA”的美国专利申请号16/359,016的部分延续,这些申请的内容通过引用全部并入本文。
技术领域
本发明一般涉及数据通信。更具体地说,本发明涉及使用几个不可靠的通信信道用于通信数据。
背景技术
当通过分组化网络发送数据时,一些数据分组可能被丢弃,或者它们可能在到达时损坏。一般来说,分组化网络或信道可能涉及将要发送的内容划分为分组或消息、发送分组或消息,并由接收端基于分组重构内容。
为了克服分组的丢失或损坏,一些已知的***和方法不止一次地发送一些或甚至所有分组。然而,不止一次地发送相同的数据通常是克服错误的浪费的方法。其他方法,例如前向纠错(FEC)使得能够检测有限数量的错误,并可以进一步使得接收器能够校正错误中的一些,然而,此类方法具有增加计算资源和发送器复杂性的代价。
流复制和FEC方法两者都将序列号或其他标识符与分组相关联,并使用标识符根据正确(或原始)顺序或序列重构分组流。然而,当分组没有被编号或排序时,此类方法是不适当的。
相关技术的上述示例和与其相关的限制旨在是说明性的并且不是排他性的。对于本领域技术人员来说,相关技术的其他限制在阅读说明书和研究附图后将变得明显。
发明内容
以下实施例及其方面结合***、工具和方法进行了描述和说明,这些***、工具和方法意图在范围上是示例性的和说明性的而不是限制性的。
在实施例中提供了一种方法,包括:接收串行位流的多个副本,其中所述串行位流包括数据分组序列;基于顺序的时间窗口连续划分所述串行位流的所述副本中的每个;关于所述时间窗口中的每个,至少部分地基于数据分组相似性,将在所述时间窗口内接收到的与所述串行位流的所述副本中的每个相关联的所述数据分组对齐;以及通过选择所述对齐的数据分组中的至少一个表示所述数据分组序列中的下一个数据分组,实时重新创建所述串行位流。
在实施例中还提供了一种包括至少一个硬件处理器的***;以及具有体现在其中的程序代码的非暂时性计算机可读存储介质,该程序代码可由所述至少一个硬件处理器执行以:接收串行位流的多个副本,其中所述串行位流包括数据分组序列;基于顺序的时间窗口连续划分所述串行位流的所述副本中的每个;关于所述时间窗口中的每个,至少部分地基于数据分组相似性,将在所述时间窗口内接收到的与所述串行位流的所述副本中的每个相关联的所述数据分组对齐;以及通过选择所述对齐的数据分组中的至少一个表示所述数据分组序列中的下一个数据分组,实时重新创建所述串行位流。
在实施例中进一步提供了一种计算机程序产品,包括具有体现在其中的程序指令的非暂时性计算机可读存储介质,该程序指令可由至少一个硬件处理器执行以:接收串行位流的多个副本,其中所述串行位流包括数据分组序列;基于顺序的时间窗口连续划分所述串行位流的所述副本中的每个;关于所述时间窗口中的每个,至少部分地基于数据分组相似性,将在所述时间窗口内接收到的与所述串行位流的所述副本中的每个相关联的所述数据分组对齐;以及通过选择所述对齐的数据分组中的至少一个表示所述数据分组序列中的下一个数据分组,实时重新创建所述串行位流。
根据权利要求15所述的计算机程序产品,其中所述串行位流的所述多个副本中的每个通过选自由以下项组成的组的不同通信信道传输:私有IP网络、公共IP网络、互联网、全球移动通信***(GSM)网络、局域网(LAN)、城域网(MAN)、广域网(WAN)、无线网络、卫星通信网络、蜂窝通信网络、蓝牙通信信道和Wi-Fi网络。
在一些实施例中,所述串行位流的多个副本中的每个通过不同的通信信道传输。
在一些实施例中,通信信道中的每个选自由以下项组成的组:私有IP网络、公共IP网络、互联网、全球移动通信***(GSM)网络、局域网(LAN)、城域网(MAN)、广域网(WAN)、无线网络、卫星通信网络、蜂窝通信网络、蓝牙通信信道和Wi-Fi网络。
在一些实施例中,对齐包括至少部分地基于所述数据分组相似性,将在时间窗口内接收到的所述数据分组布置在对齐分数矩阵的列中,其中所述矩阵中的每个行表示所述串行位流的所述副本中的一个。
在一些实施例中,方法进一步包括基于在所述列中数据分组间隙中的一个和数据分组不匹配,将对齐分数分配给所述列中的每个,并且所述程序指令可进一步执行以基于在所述列中数据分组间隙中的一个和数据分组不匹配,将对齐分数分配给所述列中的每个。
在一些实施例中,关于所述矩阵的每个列,选择至少部分地基于所述列中大多数数据分组的数据分组相似性确定的共识。
在一些实施例中,数据分组相似性至少部分地基于数据分组内容的比较来确定,其中所述数据分组内容由哈希函数表示。
除了上面描述的示例性方面和实施例之外,进一步的方面和实施例将通过参考附图并通过研究下面的详细描述变得明显。
附图说明
下面参考附于在本段后面列出内容的附图描述本公开的实施例的非限制性示例。在一个以上的图中出现的相同特征,在它们出现的所有图中通常用相同的标签来标注。图中标注了表示本公开的实施例的给定特征的图标的标签可用于提及该给定特征。图中所示特征的尺寸是为了方便和清晰地表达而选择的,并且不一定按比例示出。例如,为了清晰起见,要素中的一些的尺寸可能相对于其他要素被夸大,或者几个物理部件可能被包括在一个功能框或要素中。此外,在认为适当的情况下,参考数字可以在图中重复,以指示对应或类似的要素。
被视为本发明的主题在说明书的结尾部分中特别指出并明确要求。然而,在与附图一起阅读时,本发明在组织和操作方法两者方面,以及其目的、特征和优点,参考以下详细描述来最佳地被理解。本发明的实施例在附图中以举例并且非限制的方式说明,其中相似的参考数字指示对应的、类似的或相似的要素,并且其中:
图1示出了根据本发明的说明性实施例的***的框图;以及
图2示出了根据本发明的说明性实施例的方法的流程图。
具体实施方式
在下面的详细描述中,为了提供对本发明的透彻理解,阐述了许多具体细节。然而,本领域技术人员将理解,本发明可以在没有这些具体细节的情况下实践。在其他情况下,众所周知的方法、规程和部件、模块、单元和/或电路没有被详细描述,以免掩盖本发明。关于一个实施例描述的一些特征或要素可以与关于其他实施例描述的特征或要素组合。为了清楚起见,可以不重复讨论相同或相似的特征或要素。
尽管本发明的实施例在这方面不受限制,但利用术语,诸如,例如“处理”、“计算(computing)”、“运算(calculating)”、“确定”、“建立”、“分析”、“检查”等的讨论可以指计算机、计算平台、计算***或其他电子计算装置的(多个)操作和/或(多个)过程,该装置将在计算机的寄存器和/或存储器或其他信息非暂时性存储介质内表示为物理(例如,电子)量的数据操纵和/或变换为其他数据,该计算机的寄存器和/或存储器或其他信息非暂时性存储介质可存储指令以执行操作和/或过程。尽管本发明的实施例在这方面不受限制,但本文中使用的术语“多个(plurality和a plurality)”可以包括例如“多个(multiple)”或“两个或更多个”。术语“多个(plurality和a plurality)”可以在整个说明书中用来描述两个或更多个部件、装置、要素、单元、参数等。当在本文中使用时,术语“集合”可包括一个或更多个项目。
除非明确陈述,否则本文中描述的方法实施例不受限于时间上的特别顺序或时间序列。此外,所描述的方法要素中的一些可以同时发生或执行,在同一时间点或并发地执行。在方法的操作序列期间,所描述的方法要素中的一些可以被跳过,或者它们可以被重复。
公开了一种用于数据流传输中的实时错误恢复的***、方法和计算机程序产品。
在一些实施例中,本公开内容提供了从发送器通过两个或更多个不同的通信路线或信道来流传输重复的串行化数据流,例如,以数据分组的形式,并且由接收器从重复的接收流无缝地重构数据分组,以校正单独信道中的任一个中的错误。
本公开内容可能在分组化视频流传输的领域中特别有用,例如,通过嘈杂和/或有损网络诸如互联网的MPEG传送流。因此,在一些实施例中,本公开内容可提供通过互联网的实时广播质量的视频,具有强健的无命中故障切换能力。
在一些实施例中,本公开内容提供了简单的、可扩展的过程,该过程即使考虑完全的信道故障也可以恢复数据,并且可以与简单的独立传输单元一起使用,而不需要修改它们传输的有效载荷。
在一些实施例中,多个路线可以通过在多个通信信道上的复制传输信道生成。在一些实施例中,可以通过多个接收单元监听在广播介质上的单个传输来生成多个路线,例如使用在不同位置处的调谐到同一源信号的多个无线接收站。
在一些实施例中,可以通过基于例如时间窗口、到达时间、内容和/或用于定义和/或同步和/或对齐数据分组的另一个和/或相似方法来对齐通过几个通信信道接收的数据分组,来实现错误恢复。
在一些实施例中,数据分组对齐包括布置通过几个信道接收的分组,使得相同或相似的分组被对齐。
在一些实施例中,可以使用序列对齐算法执行数据分组对齐,该算法选择最可能的源分组序列,该序列最好地解释时间窗口中观察到的分组序列。在一些实施例中,序列对齐是以相同或相似的分组在矩阵列中对齐的方式将分组序列布置在矩阵行中的方式,其中分组之间可能有间隙。
在一些实施例中,可以使用分组对齐来克服信道中的一个或更多个中的分组丢失。例如,如果在第一流中没有分组存在(或表示),但是在一个或更多个其他流中存在或表示,那么接收器可以确定分组在第一流中丢失,并且可以选择由其他流表示的分组以用于包括。因此,例如,当对齐时,从第一信道接收到的第三分组将与从第二信道接收到的第三分组对齐。如果第三分组在另一信道中丢失,那么接收器可以确定该分组在该信道中丢失,并选择对应的第三分组中的一个以用于包括在重构的流中。
在一些实施例中,一旦实现对齐,可用于创建统一的序列,该序列使用对齐,并通过在分组损坏的情况下选择列内的共识分组,用在对应信道中其对应的现有分组填补缺失分组的间隙。
在一些实施例中,时间窗口内的对齐算法最大化评分函数,该评分函数对于在对齐中具有间隙以及对于具有不完全匹配(例如,由于分组损坏)给出惩罚。在一些实施例中,针对具有长间隙的惩罚可能低于针对具有多个短间隙的惩罚,从而捕获IP网络中连续分组丢失事件中的典型相关性。
图1展示了根据本发明的一些实施例的用于数据流传输中的实时错误恢复的示例性***100。如图所示,来自发送器(或源)110的数据可以经由网络130,通过多个通信信道140发送到接收器(或目的地)120。发送器110和接收器120可以是任何可应用的计算装置,例如,服务器、相机、智能电话或家用计算机。将认识到,本发明的实施例不受发送器或源110的性质或类型和/或接收器或目的地120的性质或类型的限制。为了清楚和简单起见,只显示了一个发送器110和一个接收器120,然而,将理解实施例可以包括任何数量的此类节点,例如,多个发送器110可以通过相似于通信信道140的通信信道向接收器120发送数据。通信信道140可以是物理信道或路线(例如,路线可以是或可以包括导线、路由器等),或者它们可以是逻辑信道或路线(例如,用户数据报协议(UDP)连接),或者它们可以是物理和逻辑信道的组合。
网络130可以是、可以包括私有或公共IP网络或互联网或其组合,或可以是它们的一部分。此外或可替代地,网络130可以是、包括全球移动通信***(GSM)网络,或是其一部分。例如,网络130可以包括或包含IP网络,诸如互联网、GSM相关网络和用于桥接或以其他方式连接本领域已知的此类网络的任何装备。网络130可以是、可以包括公共或私有数据网络、局域网(LAN)、城域网(MAN)、广域网(WAN)、有线或无线网络、卫星通信网络、蜂窝通信网络、前述的任何组合和/或任何其他合适的通信手段,或是它们的一部分。因此,网络130的许多要素(例如,接入点、基站、通信卫星、GPS卫星、路由器和电话交换机)是隐含的,但没有示出。将认识到本发明的实施例不受网络130的性质或类型的限制。
实施例可以通过从发送器使用两个或更多个不同路线或信道将数据分组进行流传输,并且由接收器无缝重构数据分组来提供错误恢复。一般来说,原始分组流(如由发送器,例如发送器110发送)由接收器(例如接收器120)基于多个重复的接收流进行重构。注意,即使当分组序列号或其他顺序信息不可用时,实施例可以正确地重构原始流。
多个路线可以是复制的传输,或多个接收单元通过广播介质监听单个传输,例如使用在不同位置处的调谐到同一源信号的多个无线接收站。如所述,路线可以是物理和/或逻辑路线。
在一些实施例中,接收器120根据时间窗口或时间间隔来对齐分组。例如,以例如50毫秒的时间间隔从多个信道接收的分组流。因此,从例如时间间隔10:00:00(HR:MIN:SEC:MILL)到10:00:50接收到的分组被对齐,然后在从10:00:00:51到10:00:100的时间间隔期间从多个信道接收到的分组流被对齐,等等。可以使用用于定义和/或同步时间和/或时隙、间隔或窗口的任何技术或机制。在有时间限制的窗口中对齐分组允许实时连续重构流(相对于离线),而且其降低了计算复杂性。基于对齐,接收器选择最可能是如由发送器发送的原始序列的分组序列。
一般来说,对齐,或本文中所指的序列对齐,包括将通过几个信道接收到的分组布置在矩阵中,其中每个信道流在矩阵行中表示,使得相同或相似的分组在分开的矩阵列中对齐。例如,当对齐时,从第一信道140接收到的第三分组(在当前时间窗口中)与从第二信道140接收到的第三分组在同一列中。如果相同的分组出现在例如两个单独的行(每个表示相应的信道)中,但是在第三行(表示第三信道)中缺失,那么接收器可以确定该分组在第三信道中丢失或丢弃,并且出现在其他两行中的分组中的一个可以被选择用于包括在重构的流中。
在一些实施例中,分组的实际内容可被用于对齐过程。例如,可使用哈希或其他函数来表示分组的内容,并且对齐可包括检查同一列中的分组是否具有相同的内容,例如,通过比较哈希值。例如,可以基于包括相同内容的分组的大多数行来选择用于包括在重构的流中的分组。例如,如果(由接收器120)确定几个行(表示相应的几个流)中第六列中的分组的内容是相同的,并且与表示额外流的单行中第六列中的分组的内容不同,那么接收器可以推断出额外流中的分组在传输中被损坏,并且可以被忽略。因此,接收器可选择六个相同流中分组中的一个以用于包括在来自几个流中的任一个的重构流中。
实施例可以使用所述的对齐来克服分组丢失。例如,如果在表示第一流的第一行/列对中没有分组存在(或表示),但是在一个或更多个其他流的同一列中有分组存在或表示,那么接收器可以确定分组在第一流中丢失或丢弃,并且可以选择由其他流表示的分组以用于包括。
在一些实施例中,接收器可以在对齐过程中使用评分函数和/或阈值。例如,在如所述将分组布置在矩阵中之后,评分函数可以基于间隙和/或基于内容不匹配来计算针对时间窗口的值。例如,间隙可以是所述的列中没有分组,并且不匹配可以是所述的同一列中的不同内容。在一些实施例中,使用评分函数和/或阈值来确定是否实现了相应流集合的分组集合的对齐。
任何评分函数、算法或逻辑可用于对齐从相应流或信道集合接收到的分组序列集合而不偏离本发明的范围。将理解本文中讨论的具体算法只是可使用的对齐算法的一个示例。
在一些实施例中,对齐算法使用用于比较两个分组的有效载荷的分组相似性分数/在比较两个分组的有效载荷时使用该分组相似性分数,以及用于***(或表示)分组之间的间隙的分数(或惩罚)。在一些实施例中,考虑到通信信道的概率特性,相似性函数取决于在给出观察到的分组的值情况下,源分组相同的可能性或概率。例如,如果信道是擦除信道(丢弃的分组是可能的,损坏的分组是不可能的),则评分函数可以是这样的评分函数,即如果被比较分组的有效载荷相同,则返回1,当比较分组和间隙时返回0(表示分组丢失的可能性),并且如果分组不相似,则返回负无穷(表示分组损坏的可能性是不可能的)。如果在相关信道中可能出现分组位翻转(例如,0变成1),则分组相似性可以取决于分组有效载荷之间的汉明距离,也就是说,第一分组的有效载荷与第二分组的有效载荷有多大差别。
为了简单和明了起见,本文中描述了简化情况,即对齐从两个数据流接收到的两个分组序列。一般来说,用于对齐分组序列并确定或识别原始(源)分组序列的方法是以使用动态编程方法将用于序列对齐的分数函数最大化的方式,将两个序列一个接一个地布置在一起。
例如,对于大小(分组数量)为|S1|和|S2|的两个序列S1、S2,该方法构建大小为(|S1|+1)*|S2|+1)的二维矩阵M。
假设相似度函数为σ,并且***长度为x的间隙的惩罚为Gx,该方法根据以下公式初始化矩阵M:
Mj,0=-Gj,0≤j≤|S1|
M0,j=-Gj,0≤j≤|S2|
注意,如上所示,矩阵M的初始化包括以间隙开始的对齐的惩罚。矩阵单元格的其余部分是通过在3个先前计算的值之间选择最大值来填充的,如下所示:
Figure BDA0003772271540000091
在上述内容中,第一项计算在将分组S1(i)与分组S2(j)匹配时的分数,第二项和第三项依赖于先前计算的值,并且分别表示在S1(i)或S2(j)之前***长度为x的间隙(放弃的分组序列)时的分数。
通过所述的最大值,矩阵M中的每个Mi,j单元格包括将子集S1(1..i)与S2(1..j)对齐的最佳分数,并且单元格
Figure BDA0003772271540000092
持有最佳对齐分数。
在一些实施例中,通过回溯使
Figure BDA0003772271540000093
处的分数最大化的决定,构建、识别或选择分组序列的对齐是按相反的顺序进行的。如本领域已知,在回溯过程中,可以有多条路径通向相同的最大分数。本文中所述的方法可用于识别产生针对M的最大分数的路径。
例如,在每个回溯步骤中,方法记录或找到先前或最后选择的单元格,其使该单元格(i,j)中的分数最大化。为了提高效率,可以在构造阶段中将导致最大分数的先前或最后单元格的指针存储在矩阵单元格中。
接下来,根据以下逻辑,从终点到起点构造两个对齐的序列:
·如果矩阵单元格(i,j)被移动到矩阵单元格(i-1,j-1),则分组S1(i)添加到第一对齐序列,并且分组S2(j)添加到第二对齐序列。
·如果矩阵单元格(i,j)被移动到单元格(i-x,j),则分组S1(i)添加到第一序列,并且长度为x的间隙添加到第二序列。
·如果矩阵单元格(i,j)被移动到单元格(i,j-x),则长度为x的间隙添加到第一序列,并且分组S2(j)添加到第二序列。当到达矩阵的边缘时,过程终止。
回溯过程的输出是两个分组序列,一个在另一个上面,可能在一些位置有间隙。
对齐3个或更多个序列可以以相似的方式使用更高维的矩阵来完成。可以考虑进行一些改进,例如,通过将多对序列进行迭代对齐,可以实现更快的近似对齐。
上述对齐过程的输出是搜索窗口中所有序列之间的共识序列。为构建共识序列,在对齐的每个列中,方法通过多数投票(或逐位多数投票)选择最可能的分组。作为示例,假设分组是一个字节长,并且σ、S1、S2和Gx如下所示:
Figure BDA0003772271540000101
Gx=x
S1=ANTNARIV
S2=NTANANAVO
在该示例性情况中,由于Gx=x,因此***大间隙的分数等于***多个小间隙的分数。因此,为了在所述的回溯过程中计算分数,在填充分数矩阵时,以及在回溯过程中,只需考虑紧邻的左、上和左上角的单元格。
关于上述示例,根据所述动态编程逻辑初始化和填充的分数矩阵如下所示:
Figure BDA0003772271540000102
从最后一个单元格(值-1)开始回溯,需要根据使当前单元格分数最大化的路径,移动到上方、左侧或左上侧对角线上的单元格。在回溯过程之后,从后往前生成对齐的序列,如下所示:
Figure BDA0003772271540000103
基于对齐的序列,重构的共识序列如下所示:
A N T A N A N A R I V O
可以使用各种逻辑和启发式方法。例如,对具有长间隙的惩罚(例如,减小如所述进行计算的值)可能低于对具有多个短间隙的惩罚,因此,例如,补偿IP网络中连续分组丢失事件中的典型相关性。
如上所述,在不偏离本发明的范围的情况下,可以使用任何评分函数,例如,在其他实施例中,评分函数不是如上所述那样使分数最大化,而是为识别的每个间隙或不匹配减小初始值,并且如果产生的值高于阈值,那么接收器可以确定已实现了适当的对齐(并因此可以为相关时间窗口重构流)。如果评分函数产生的值低于阈值(例如,由于许多损坏或丢失的分组),那么接收器可以确定流不能被正确地重构,并且接收器可以采取进一步的行动,例如,要求重新传输、选择未对齐的序列中的一个、提醒用户等。
在一些实施例中,评分函数可以基于信道140的类型或属性自动选择。例如,第一组因素和/或阈值可用于通过物理导线(例如,分组的丢失和损坏不太可能的地方)实施的信道,并且第二组因素和/或阈值可用于通过无线基础设施实施的信道。
在一些实施例中,方法可以基于信道140的类型或属性自动选择。例如,如果已知信道140是相对可靠的,那么两列或三列的匹配可能足以让接收器120确定发现了正确的分组,然而,如果已知信道140是不可靠的,那么接收器120可能需要四个或五个匹配的分组。因此,实施例可以自动调整或选择逻辑以用于基于所使用的通信信道的属性来重构流。
在另一种情况下,如果已知(例如,基于所使用的基础设施)分组可以被丢失或放弃,但不能被破坏,那么发送器和接收器可以自动恢复到只使用2个信道。如果分组的损坏是可能的,那么发送器和接收器可以自动选择使用3个信道。因此,信道140的数量可以自动选择。
参考图2,这是根据本发明的说明性实施例的方法的流程图。如框210所示,相同内容可以通过多个通信信道发送。例如,从视频摄像机获得的内容可以被分成分组,并且分组中的每个可以通过几个网络连接发送。如框215所示,接收到的分组可以被对齐。例如,接收器120通过多个信道140接收分组,将接收到的分组布置在矩阵中并执行移位或其他操作,直到实现最佳对齐。在一些实施例中,对齐可以包括如所述的简单地将分组布置或放置在矩阵中,并确定分组表现出的对齐程度。如框220所示,如所述的通过信道发送的内容可以基于对齐进行重构。例如,如所述的,可以基于矩阵中的分组的对齐来选择要包括在重构的流中的分组。
本申请中对本发明的实施例的描述是以举例的方式提供的,并且不意图限制本发明的范围。尽管本文中已说明和描述了本发明的某些特征,但对于本领域技术人员来说,可能会出现许多修改、替换、变化和等同形式。已提出了各种实施例。这些实施例中的每个当然可以包括来自所提出的其他实施例的特征,并且未具体描述的实施例可以包括本文中描述的各种特征。
如本领域技术人员将理解的,本发明的各方面可以体现为***、方法或计算机程序产品。因此,本发明的各方面可以采取完全的硬件实施例、完全的软件实施例(包括固件、常驻软件、微代码等)或组合软件和硬件方面的实施例的形式,这些实施例在本文中都可以通常被称为“电路”、“模块”或“***”。此外,本发明的各方面可以采取体现在一个或更多个计算机可读介质中的计算机程序产品的形式,该介质上体现有计算机可读程序代码。
可以利用一种或多种计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电、磁、光、电磁、红外或半导体***、设备或装置,或上述的任何适当组合。计算机可读存储介质的更具体的示例(非详尽列表)包括以下内容:具有一条或多条导线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑光盘只读存储器(CD-ROM)、光存储装置、磁存储装置或上述的任何适当组合。在本文件的上下文中,计算机可读存储介质可以是可以包含或存储供指令执行***、设备或装置使用或与其相关的程序的任何有形介质。
计算机可读信号介质可以包括具有体现在其中的计算机可读程序代码的传播数据信号,例如,在基带中或作为载波的一部分体现。此种传播信号可以采取各种形式中的任一种,包括但不限于电磁、光学或其任何适当的组合。计算机可读信号介质可以是任何计算机可读介质,该介质不是计算机可读存储介质,并且可以通信、传播或传送供指令执行***、设备或装置使用或与其相关的程序。
体现在计算机可读介质上的程序代码可以使用任何适当的介质进行传输,包括但不限于无线、有线、光缆、RF等,或上述的任何适当组合。
用于执行本发明的各方面的操作的计算机程序代码可以以一种或多种编程语言的任何组合来编写,包括面向对象的编程语言,诸如Java、Smalltalk、C++等,以及传统的程序性编程语言,诸如“C”编程语言或相似编程语言。程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立的软件包执行、部分在用户的计算机上执行并且部分在远程计算机上执行,或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,该网络包括局域网(LAN)或广域网(WAN),或者连接到外部计算机(例如,通过互联网使用互联网服务提供商)。
在本文中参考根据本发明的实施例的方法、设备(***)和计算机程序产品的流程图和/或框图来描述本发明的各方面。将理解的是,流程图和/或框图中的每个框,以及流程图和/或框图中的框的组合,可以通过计算机程序指令实施。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理设备的硬件处理器,以产生机器,使得经由计算机或其他可编程数据处理设备的处理器执行的指令创建用于实施一个或多个流程图和/或框图框中指定的功能/行为的手段。
这些计算机程序指令也可以存储在计算机可读介质中,该计算机可读介质可以指示计算机、其他可编程数据处理设备或其他装置以特别方式运作,使得存储在计算机可读介质中的指令产生包括实施一个或多个流程图和/或框图框中指定的功能/行为的指令的制品。
计算机程序指令也可以被加载到计算机、其他可编程数据处理设备或其他装置上,以使一系列操作步骤在计算机、其他可编程设备或其他装置上执行,以产生计算机实施的过程,使得在计算机或其他可编程设备上执行的指令提供用于实施一个或多个流程图和/或框图框中指定的功能/行为的过程。
图中的流程图和框图展示了根据本发明的各种实施例的***、方法和计算机程序产品的可能实施方式的架构、功能和操作。在这方面,流程图或框图中的每个框可以表示模块、段或代码部分,其包括用于实施(一个或多个)指定逻辑功能的一个或多个可执行指令。还应该注意的是,在一些可替代实施例中,框中指出的功能可以不按图中指出的顺序出现。例如,连续显示的两个框实际上可以是基本上同时执行的,或者这些框有时可以以相反的顺序执行,这取决于所涉功能。还将注意到,框图和/或流程图中的每个框,以及框图和/或流程图中的框的组合,可以由执行指定功能或行为的基于专用硬件的***,或专用硬件和计算机指令的组合来实施。
对本发明的各种实施例的描述是为了说明的目的而提出的,但不意图详尽或限于所公开的实施例。对于本领域普通技术人员来说,在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化将是显而易见的。本文中使用的术语被选择以最好地解释实施例的原理、实际应用或对市场中发现的技术的技术改进,或使本领域普通技术人员能够理解本文中公开的实施例。
在本申请的描述和权利要求中,单词“包括(comprise)”、“包含(include)”和“具有”中的每个,以及其形式,不一定限于该单词可与其相关联的列表中的成员。此外,在本申请与通过引用而并入的任何文件之间存在不一致的情况下,特此意图以本申请为准。

Claims (21)

1.一种方法,包括:
接收串行位流的多个副本,其中所述串行位流包括数据分组序列;
基于顺序的时间窗口连续划分所述串行位流的所述副本中的每个;
关于所述时间窗口中的每个,至少部分地基于数据分组相似性,将在所述时间窗口内接收到的与所述串行位流的所述副本中的每个相关联的所述数据分组对齐;以及
通过选择所述对齐的数据分组中的至少一个表示所述数据分组序列中的下一个数据分组,实时重新创建所述串行位流。
2.根据权利要求1所述的方法,其中所述串行位流的所述多个副本中的每个通过不同的通信信道传输。
3.根据权利要求2所述的方法,其中所述通信信道中的每个选自由以下项组成的组:私有IP网络、公共IP网络、互联网、全球移动通信***网络即GSM网络、局域网即LAN、城域网即MAN、广域网即WAN、无线网络、卫星通信网络、蜂窝通信网络、蓝牙通信信道和Wi-Fi网络。
4.根据权利要求1至3中任一项所述的方法,其中所述对齐包括至少部分地基于所述数据分组相似性,将在时间窗口内接收到的所述数据分组布置在对齐分数矩阵的列中,其中所述矩阵中的每个行表示所述串行位流的所述副本中的一个。
5.根据权利要求4所述的方法,进一步包括基于在所述列中数据分组间隙中的一个和数据分组不匹配,将对齐分数分配给所述列中的每个。
6.根据权利要求4所述的方法,其中关于所述矩阵的每个列,所述选择至少部分地基于所述列中大多数数据分组的数据分组相似性确定的共识。
7.根据权利要求1至6中任一项所述的方法,其中所述数据分组相似性至少部分地基于数据分组内容的比较来确定,其中所述数据分组内容由哈希函数表示。
8.一种***,包括:
至少一个硬件处理器;以及
具有体现在其中的程序代码的非暂时性计算机可读存储介质,所述程序代码可由所述至少一个硬件处理器执行以:
接收串行位流的多个副本,其中所述串行位流包括数据分组序列;
基于顺序的时间窗口连续划分所述串行位流的所述副本中的每个;
关于所述时间窗口中的每个,至少部分地基于数据分组相似性,将在所述时间窗口内接收到的与所述串行位流的所述副本中的每个相关联的所述数据分组对齐;以及
通过选择所述对齐的数据分组中的至少一个表示所述数据分组序列中的下一个数据分组,实时重新创建所述串行位流。
9.根据权利要求8所述的***,其中所述串行位流的所述多个副本中的每个通过不同的通信信道传输。
10.根据权利要求9所述的***,其中所述通信信道中的每个选自由以下项组成的组:私有IP网络、公共IP网络、互联网、全球移动通信***网络即GSM网络、局域网即LAN、城域网即MAN、广域网即WAN、无线网络、卫星通信网络、蜂窝通信网络、蓝牙通信信道和Wi-Fi网络。
11.根据权利要求8至10中任一项所述的***,其中所述对齐包括至少部分地基于所述数据分组相似性,将在时间窗口内接收到的所述数据分组布置在对齐分数矩阵的列中,其中所述矩阵中的每个行表示所述串行位流的所述副本中的一个。
12.根据权利要求11所述的***,其中所述指令进一步可执行以基于在所述列中数据分组间隙中的一个和数据分组不匹配,将对齐分数分配给所述列中的每个。
13.根据权利要求12所述的***,其中关于所述矩阵的每个列,所述选择至少部分地基于所述列中大多数数据分组的数据分组相似性确定的共识。
14.根据权利要求8至13中任一项所述的***,其中所述数据分组相似性至少部分地基于数据分组内容的比较来确定,其中所述数据分组内容由哈希函数表示。
15.一种计算机程序产品,包括具有体现在其中的程序指令的非暂时性计算机可读存储介质,所述程序指令可由至少一个硬件处理器执行以:
接收串行位流的多个副本,其中所述串行位流包括数据分组序列;
基于顺序的时间窗口连续划分所述串行位流的所述副本中的每个;
关于所述时间窗口中的每个,至少部分地基于数据分组相似性,将在所述时间窗口内接收到的与所述串行位流的所述副本中的每个相关联的所述数据分组对齐;以及
通过选择所述对齐的数据分组中的至少一个表示所述数据分组序列中的下一个数据分组,实时重新创建所述串行位流。
16.根据权利要求15所述的计算机程序产品,其中所述串行位流的所述多个副本中的每个通过不同的通信信道传输。
17.根据权利要求16所述的计算机程序产品,其中所述通信信道中的每个选自由以下项组成的组:私有IP网络、公共IP网络、互联网、全球移动通信***网络即GSM网络、局域网即LAN、城域网即MAN、广域网即WAN、无线网络、卫星通信网络、蜂窝通信网络、蓝牙通信信道和Wi-Fi网络。
18.根据权利要求15至17中任一项所述的计算机程序产品,其中所述对齐包括至少部分地基于所述数据分组相似性,将在时间窗口内接收到的所述数据分组布置在对齐分数矩阵的列中,其中所述矩阵中的每个行表示所述串行位流的所述副本中的一个。
19.根据权利要求18所述的计算机程序产品,其中所述指令进一步可执行以基于在所述列中数据分组间隙中的一个和数据分组不匹配,将对齐分数分配给所述列中的每个。
20.根据权利要求18所述的计算机程序产品,其中关于所述矩阵的每个列,所述选择至少部分地基于所述列中大多数数据分组的数据分组相似性确定的共识。
21.根据权利要求15至20中任一项所述的计算机程序产品,其中所述数据分组相似性至少部分地基于数据分组内容的比较来确定,其中所述数据分组内容由哈希函数表示。
CN202080095139.2A 2019-12-02 2020-12-02 通过多个不可靠信道的分组化数据通信 Active CN115023928B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/699,786 US11546615B2 (en) 2018-03-22 2019-12-02 Packetized data communication over multiple unreliable channels
US16/699,786 2019-12-02
PCT/IB2020/061382 WO2021111329A1 (en) 2019-12-02 2020-12-02 Packetized data communication over multiple unreliable channels

Publications (2)

Publication Number Publication Date
CN115023928A true CN115023928A (zh) 2022-09-06
CN115023928B CN115023928B (zh) 2024-02-23

Family

ID=76221036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080095139.2A Active CN115023928B (zh) 2019-12-02 2020-12-02 通过多个不可靠信道的分组化数据通信

Country Status (9)

Country Link
EP (1) EP4070488A4 (zh)
JP (1) JP2023508744A (zh)
KR (1) KR20220136343A (zh)
CN (1) CN115023928B (zh)
AU (1) AU2020396439A1 (zh)
BR (1) BR112022010854A2 (zh)
CA (1) CA3160355A1 (zh)
IL (1) IL293533A (zh)
WO (1) WO2021111329A1 (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070091928A1 (en) * 2005-10-21 2007-04-26 Wee Susie J Serial and parallel processing of data using information about the data and information about a streaming network
US20080069016A1 (en) * 2006-09-19 2008-03-20 Binshi Cao Packet based echo cancellation and suppression
US20090010152A1 (en) * 1999-11-09 2009-01-08 Yoram Ofek Interface system and methodology having scheduled connection responsive to common time reference
US7707349B1 (en) * 2006-06-26 2010-04-27 Marvell International Ltd. USB isochronous data transfer for a host based laser printer
US20100103929A1 (en) * 2008-10-29 2010-04-29 Seung-Jong Lee Method, apparatus, and system for automatic data aligner for multiple serial receivers
CN105164960A (zh) * 2013-03-14 2015-12-16 谷歌公司 通过组合调步和前向纠错来降低重传时延
US20160337723A1 (en) * 2015-05-13 2016-11-17 Huawei Technologies Co., Ltd. System and Method for Hybrid Photonic Electronic Switching

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4068545B2 (ja) * 2003-10-24 2008-03-26 日本電信電話株式会社 パケット受信方法および装置
US7729256B2 (en) * 2004-07-14 2010-06-01 Opnet Technologies, Inc. Correlating packets
US8873557B2 (en) * 2011-04-08 2014-10-28 Gigamon Inc. Systems and methods for packet de-duplication
EP3791504A4 (en) * 2018-05-10 2021-12-15 Apple Inc. SYNCHRONIZATION CONTROL FOR THE TRANSMISSION OF A DUPLICATED PACKAGE DATA CONVERGENCE PROTOCOL (PDCP)

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090010152A1 (en) * 1999-11-09 2009-01-08 Yoram Ofek Interface system and methodology having scheduled connection responsive to common time reference
US20070091928A1 (en) * 2005-10-21 2007-04-26 Wee Susie J Serial and parallel processing of data using information about the data and information about a streaming network
US7707349B1 (en) * 2006-06-26 2010-04-27 Marvell International Ltd. USB isochronous data transfer for a host based laser printer
US20080069016A1 (en) * 2006-09-19 2008-03-20 Binshi Cao Packet based echo cancellation and suppression
US20100103929A1 (en) * 2008-10-29 2010-04-29 Seung-Jong Lee Method, apparatus, and system for automatic data aligner for multiple serial receivers
CN102204198A (zh) * 2008-10-29 2011-09-28 晶像股份有限公司 用于多个串行接收机的自动数据对齐器的方法、装置及***
CN105164960A (zh) * 2013-03-14 2015-12-16 谷歌公司 通过组合调步和前向纠错来降低重传时延
US20160337723A1 (en) * 2015-05-13 2016-11-17 Huawei Technologies Co., Ltd. System and Method for Hybrid Photonic Electronic Switching

Also Published As

Publication number Publication date
EP4070488A4 (en) 2024-01-03
BR112022010854A2 (pt) 2022-08-23
IL293533A (en) 2022-08-01
EP4070488A1 (en) 2022-10-12
CN115023928B (zh) 2024-02-23
AU2020396439A1 (en) 2022-06-30
CA3160355A1 (en) 2021-06-10
WO2021111329A1 (en) 2021-06-10
KR20220136343A (ko) 2022-10-07
JP2023508744A (ja) 2023-03-03

Similar Documents

Publication Publication Date Title
KR102133930B1 (ko) 데이터 패킷 송수신 장치 및 방법
KR100598662B1 (ko) 패킷 전송 프로토콜용의 손상된 패킷을 복구하는 방법
CN101803263B (zh) 用于分组交换传输的可伸缩检错和交叉会话定时同步
US9276702B2 (en) Apparatus and method for transmitting and receiving an application layer-forward error correction packet in multimedia communication system
US20100050058A1 (en) Method and device for transmitting and receiving data packets
KR102138000B1 (ko) 멀티미디어 통신 시스템에서 패킷 송/수신 장치 및 방법
WO2018171641A1 (zh) 网络管理信息的收发方法、装置、发送设备和接收设备
US11876723B2 (en) Method and apparatus for transmitting and receiving packet in communication system
CN103096183A (zh) 一种高效流媒体传输方法
US9667384B2 (en) Apparatus and method for transmitting and receiving forward error correction packet
US10341049B2 (en) Method and apparatus for performing a forward error correction (FEC) encoding or decoding in a multimedia system
CN115023928B (zh) 通过多个不可靠信道的分组化数据通信
FR2898446A1 (fr) Procede, module et appareil de reception de trames de paquets de donnees
KR102081467B1 (ko) 송신기에 관련된 정보를 이용하는 오류 복구 방법 및 장치
US11546615B2 (en) Packetized data communication over multiple unreliable channels
US20120192039A1 (en) Method, Apparatuses and Service for Media Transmission
US10574424B2 (en) Transmission bandwidth improvements for DVB-S2X channel bonding
US20170111285A1 (en) Methods and apparatus for random access of hevc bitstream for mmt
CN102255690A (zh) 基于度2和度3编码包的喷泉码解码方法
KR101706573B1 (ko) 멀티캐스트 스크린 미러링 장치 및 방법
JP2004023379A (ja) データ送信装置、データ受信装置、データ送信方法、データ受信方法並びにデータ送信及びデータ受信プログラム
US9998278B2 (en) Method and apparatus for synchronization of a decoding unit
US8499223B2 (en) Receiving apparatus, receiving method and non-transitory computer readable recording medium for recording receiving program
JP2005223682A (ja) 送受信システム、送信装置および方法、受信装置および方法、送受信装置および方法、並びにプログラム
JPH01289341A (ja) パケット伝送方式

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant