WO2021111329A1 - Communication de données en paquets sur plusieurs canaux peu fiables - Google Patents

Communication de données en paquets sur plusieurs canaux peu fiables Download PDF

Info

Publication number
WO2021111329A1
WO2021111329A1 PCT/IB2020/061382 IB2020061382W WO2021111329A1 WO 2021111329 A1 WO2021111329 A1 WO 2021111329A1 IB 2020061382 W IB2020061382 W IB 2020061382W WO 2021111329 A1 WO2021111329 A1 WO 2021111329A1
Authority
WO
WIPO (PCT)
Prior art keywords
data packet
bit stream
network
serial bit
duplicates
Prior art date
Application number
PCT/IB2020/061382
Other languages
English (en)
Inventor
Uri Avni
Israel Drori
Original Assignee
Zixi, Llc
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, Llc filed Critical Zixi, Llc
Priority to EP20895628.4A priority Critical patent/EP4070488A4/fr
Priority to KR1020227021739A priority patent/KR20220136343A/ko
Priority to IL293533A priority patent/IL293533A/en
Priority to JP2022546436A priority patent/JP2023508744A/ja
Priority to CN202080095139.2A priority patent/CN115023928B/zh
Priority to BR112022010854A priority patent/BR112022010854A2/pt
Priority to AU2020396439A priority patent/AU2020396439A1/en
Priority to CA3160355A priority patent/CA3160355A1/fr
Publication of WO2021111329A1 publication Critical patent/WO2021111329A1/fr

Links

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

Definitions

  • the present invention relates generally to data communication. More specifically, the present invention relates to using several unreliable communication channels for communicating data.
  • a packetized network or channel may relate to dividing content to be sent into packets or messages, sending the packets or messages and reconstructing the content, by the receiving end, based on the packets.
  • FEC forward error correction
  • a method comprising: receiving a plurality of duplicates of a serial bit stream, wherein said serial bit stream comprises a sequence of data packets; continuously dividing each of said duplicates of said serial bit stream based on sequential time windows; with respect to each of said time windows, aligning said data packets associated with each of said duplicates of said serial bit stream, received within said time window, based, at least in part, on data packet similarity; and recreating in real time said serial bit stream by selecting at least one of said aligned data packets as representing a next data packet in said sequence of data packets.
  • a system comprising at least one hardware processor; and a non-transitory computer-readable storage medium having program code embodied therewith, the program code executable by said at least one hardware processor to: receive a plurality of duplicates of a serial bit stream, wherein said serial bit stream comprises a sequence of data packets, continuously divide each of said duplicates of said serial bit stream based on sequential time windows, with respect to each of said time windows, align said data packets associated with each of said duplicates of said serial bit stream, received within said time window, based, at least in part, on data packet similarity, and recreate in real time said serial bit stream by selecting at least one of said aligned data packets as representing a next data packet in said sequence of data packets.
  • a computer program product comprising a non-transitory computer-readable storage medium having program instructions embodied therewith, the program instructions executable by at least one hardware processor to: receive a plurality of duplicates of a serial bit stream, wherein said serial bit stream comprises a sequence of data packets; continuously divide each of said duplicates of said serial bit stream based on sequential time windows; with respect to each of said time windows, align said data packets associated with each of said duplicates of said serial bit stream, received within said time window, based, at least in part, on data packet similarity; and recreate in real time said serial bit stream by selecting at least one of said aligned data packets as representing a next data packet in said sequence of data packets.
  • each of said plurality of duplicates of said serial bit stream is transmitted over a different communication channel selected from the group consisting of: a private IP network, a public IP network, the internet, a global system for mobile communications (GSM) network, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a wireless network, a satellite communication network, a cellular communication network, a Bluetooth communication channel, and a Wi-Fi network.
  • GSM global system for mobile communications
  • LAN local area network
  • MAN metropolitan area network
  • WAN wide area network
  • wireless network a satellite communication network
  • satellite communication network a cellular communication network
  • Bluetooth communication channel a Wi-Fi network
  • each of the plurality of duplicates of said serial bit stream is transmitted over a different communication channel.
  • each of the communication channels is selected from the group consisting of: a private IP network, a public IP network, the internet, a global system for mobile communications (GSM) network, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a wireless network, a satellite communication network, a cellular communication network, a Bluetooth communication channel, and a Wi-Fi network.
  • GSM global system for mobile communications
  • LAN local area network
  • MAN metropolitan area network
  • WAN wide area network
  • wireless network a satellite communication network
  • cellular communication network a cellular communication network
  • Bluetooth communication channel a Wi-Fi network
  • the aligning comprises arranging said data packets, received within a time window, in columns of an alignment score matrix, based, at least in part, on said data packet similarity, wherein each row in said matrix represents one of said duplicates of said serial bit stream.
  • the method further comprises assigning, and the program instructions are further executable to assign, an alignment score to each of said columns based on one of data packet gaps and data packet mismatches in said column.
  • the selecting is based, at least in part, on a consensus determined by data packet similarity of a majority of data packets in said column.
  • the data packet similarity is determined based, at least in part, on a comparison of data packet content, wherein said data packet content is represented by a hash function.
  • FIG. 1 shows a block diagram of a system according to illustrative embodiments of the present invention.
  • FIG. 2 shows a flowchart of a method according to illustrative embodiments of the present invention.
  • the terms “plurality” and “a plurality” as used herein may include, for example, “multiple” or “two or more”.
  • the terms “plurality” or “a plurality” may be used throughout the specification to describe two or more components, devices, elements, units, parameters, or the like.
  • the term set when used herein may include one or more items. [0025] Unless explicitly stated, the method embodiments described herein are not constrained to a particular order in time or to a chronological sequence. Additionally, some of the described method elements can occur, or be performed, simultaneously, at the same point in time, or concurrently. Some of the described method elements may be skipped, or they may be repeated, during a sequence of operations of a method.
  • the present disclosure provides for streaming duplicated serialized data streams, e.g., in the form of data packets, from a sender, over two or more different communication routes or channels, and seamlessly reconstructing the data packets by a receiver from the duplicated received streams, to correct errors in any of the individual channels.
  • the present disclosure may be particularly useful in the area of packetized video streaming, e.g., MPEG transport stream over a noisy and/or lossy network, such as the Internet. Accordingly, in some embodiments, the present disclosure may provide for live broadcast-quality video over the Internet, with robust hitless failover capabilities.
  • the present disclosure provides for a simple, scalable process which can recover data even considering complete channel failures, and can be used with simple independent transmitting units without the need to modify the payload that they transmit.
  • the multiple routes can be generated by replicated transmission channels over multiple communication channels.
  • multiple routes can be generated through multiple receiving units listening to a single transmission over a broadcasting medium, for example using multiple wireless receiving stations at different locations tuned to the same source signal.
  • error recovery may be achieved by aligning data packets received over the several communication channels based, e.g., on time windows, arrival time, content, and/or another and/or similar methods for defining and/or synching and/or aligning data packets.
  • data packet alignment includes arranging packets received over several channels, such that identical or similar packets are aligned.
  • data packet alignment may be performed using a sequence alignment algorithm, which selects the most likely sequence of source packets that best explains the observed packet sequences in the time window.
  • sequence alignment is a way of arranging packet sequences in a matrix rows, with possible gaps between packets, in a way in which identical or similar packets are aligned in the matrix columns.
  • packet alignment may be used to overcome packet loss in one or more of the channels. For example, if no packet is present (or represented) in a first stream, but is present or represented in one or more other streams, then a receiver may determine that the packet was lost in the first stream, and may select for inclusion a packet as represented by other streams. Accordingly, e.g., when aligned, the third packet received from a first channel will be aligned with the third packet received from a second channel. If the third packet is missing in another channel, then the receiver may determine that this packet was lost in that channel, and select one of the corresponding third packets for inclusion in the reconstructed stream.
  • the alignment may be used to create a unified sequence that fills out gaps of missing packets with their corresponding existing packets in corresponding channels using the alignment, and by selecting consensus packets within a column in the presence of packet corruption.
  • the alignment algorithm within a time window maximizes a scoring function that gives a penalty for having a gap in the alignment, and for having an imperfect match (e.g., due to packet corruption).
  • the penalty for having a long gap may be lower than the penalty of having multiple short gaps, capturing typical correlation in consecutive packet loss events in IP networks.
  • Fig. 1 illustrates an exemplary system 100 for real-time error recovery in data streaming, according to some embodiments of the present invention.
  • data from a sender (or source) 110 may be sent, via network 130, over a number of communication channels 140 to receiver (or destination) 120.
  • Sender 110 and receiver 120 may be any applicable computing device, e.g., a server, camera, smartphone or a home computer. It will be recognized that embodiments of the invention are not limited by the nature or type of sender or source 110 and/or by the nature or type of receiver or destination 120.
  • Communication channels 140 may be physical channels or routes (e.g., a route can be, or can include, wires, routers and the like) or they may be logical channels or routes (e.g., user datagram protocol (UDP) connections) or they may be a combination of physical and logical channels.
  • a route can be, or can include, wires, routers and the like
  • logical channels or routes e.g., user datagram protocol (UDP) connections
  • Network 130 may be, may comprise, or may be part of, a private or public IP network, or the internet, or a combination thereof. Additionally, or alternatively, network 130 may be, comprise or be part of, a global system for mobile communications (GSM) network.
  • GSM global system for mobile communications
  • network 130 may include or comprise an IP network such as the internet, a GSM related network and any equipment for bridging or otherwise connecting such networks as known in the art.
  • Network 130 may be, may comprise or be part of a public or private data network, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a wireline or wireless network, a satellite communication network, a cellular communication network, any combination of the preceding and/or any other suitable communication means. Accordingly, numerous elements of network 130 (e.g., access points, base stations, communication satellites, GPS satellites, routers and telephone switches) are implied but not shown. It will be recognized that embodiments of the invention are not limited by the nature or type of network 130.
  • An embodiment may provide error recovery by streaming, from a sender, data packets using two or more different routes or channels, and seamlessly reconstructing the data packets by a receiver.
  • an original stream of packets (as sent by a sender, e.g., sender 110) is reconstructed by a receiver (e.g., receiver 120) based on multiple, duplicated received streams. It is noted that an embodiment can correctly reconstruct an original stream even when packet sequences numbers or other order information is not available.
  • the multiple routes can either be replicated transmission, or multiple receiving units listening to a single transmission over a broadcasting medium, for example using multiple wireless receiving stations at different locations tuned to the same source signal.
  • routes can be physical and/or logical routes.
  • receiver 120 aligns packets according to time windows or time intervals. For example, streams of packets received from a plurality of channels in time intervals of, e.g., 50 milliseconds.
  • packets received from, e.g., time interval 10:00:00:00 (HR:MIN:SEC:MILL) to 10:00:00:50 are aligned, then streams of packets received from the plurality of channels during time interval from 10:00:00:51 to 10:00:00: 100 are aligned and so on.
  • Any technique or mechanism for defining and/or synching time and/or time slots, intervals or windows may be used. Aligning packets in time-limited windows allow reconstructing the stream continuously in real time (vs. offline), and it reduces the computational complexity. Based on an alignment, the receiver selects the sequence of packets that is most likely the original sequence, as sent by a sender.
  • alignment includes arranging packets received over several channels in a matrix, wherein each channel streaming is represented in a matrix row, such that identical or similar packets are aligned in separate matrix columns. For example, when aligned, the third packet (in the current time window) received from a first channel 140 is in the same column as the third packet received from a second channel 140. If the same packet appears, e.g., in two separate rows (each representing a respective channel), but is missing in a third row (representing a third channel), then the receiver may determine that the packet was lost or dropped in the third channel, and one of the packets appearing in the two other rows may be selected for inclusion in a reconstructed stream.
  • the actual content of the packets may be used in an alignment process.
  • a hash or other function may be used to represent content of packets and an alignment may include checking whether or not packets in the same column have the same content, e.g., by comparing a hash value.
  • a packet for inclusion in a reconstructed stream may be selected based on a majority of rows that include the same content of a packet.
  • An embodiment may use alignment as described to overcome packet loss.
  • a receiver may determine that the packet was lost or dropped in the first stream and may select for inclusion a packet as represented by other streams.
  • a receiver may use a scoring function and/or a threshold in the alignment process. For example, having arranged packets in a matrix as described, a scoring function may calculate a value for a time window based on gaps and/or based on content mismatch. For example, a gap may be an absence of a packet in a column as described and a mismatch may be different content in same column as described. In some embodiments, a scoring function and/or a threshold are used to determine whether or not an alignment of a set of packets of a respective set of streams is achieved.
  • Any scoring function, algorithm or logic may be used to align a set of packet sequences received from a respective set of streams or channels without departing from the scope of the invention. It will be understood that the specific algorithm discussed herein is just one example of an alignment algorithm that may be used.
  • an alignment algorithm uses a packet similarity score for/when comparing the payload of two packets, and a score (or penalty) for inserting (or representing) a gap between packets.
  • the similarity function depends on the likelihood or probability of the source packets being identical given the observed packets’ values, considering the probabilistic properties of the communication channel. For example, if the channels are erasure channels (dropped packets are possible, corrupted packets are not) the scoring function can be a scoring function returning 1 if the payloads of compared packets are identical, 0 when comparing packet and a gap (representing likelihood of packet loss), and minus infinity if the packets are dissimilar (representing likelihood of packet corruption impossibility).
  • packet bit flips e.g., 0 becomes 1
  • the packet similarity can depend on the Hamming distance between packet payloads, that is, how different is the payload of a first packet from the payload of a second packet.
  • a simplified case of aligning two sequences of packets received from two streams is described herein.
  • a method for aligning packet sequences and determining or identifying the original (source) packet sequence arranges the two sequences one above the other in a way that maximizes a score function for an alignment of the sequences using a dynamic programming approach.
  • an initialization of matrix M as shown above includes the penalty of starting an alignment with a gap.
  • the rest of the matrix cells are filled by selecting the maximal value between 3 previously calculated values as shown below:
  • the first term calculates the score when matching packet 5 1 (i) to packet S 2 (j ), the second and third terms rely on previously calculated values, and represent the score when inserting a gap (dropped sequence of packets) of length x before S ⁇ ( i ) or S 2 ( j ) , respectively.
  • each M irj cell in matrix M includes the optimal score of aligning subsets 5 1 (1. . i) with S 2 (l. . j) , and cell W
  • constructing, identifying or choosing an alignment of packet sequences is done in reverse order, by backtracking the decisions that maximize the score at M ⁇ s Us ⁇ .
  • a method described herein can be used for identifying a path that yields a maximal score for M.
  • a method records or finds the previous or last chosen cell that maximized the score in cell (i,j). For efficiency, a pointer to the previous or last cell that led to the maximal score can be stored in matrix cells in the construction stage.
  • the output of a backtracking process is two sequences of packets, one on top of the other, that may have gaps in some locations.
  • Aligning 3 or more sequences can be done in a similar way using a higher dimension matrix. Some improvements may be contemplated, for example, a faster approximate alignment can be achieved by iteratively aligning pairs of sequences.
  • the output of the alignment process described above is a consensus sequence between all sequences in the search window.
  • a method selects the most likely packet by majority voting (or bitwise majority voting). As an example, assume packets are one byte long, and s, S ⁇ , S 2 and G x are as shown below:
  • Back-tracking from the last cell requires moving to a cell above, to the left, or diagonally above and left, according to the path that maximizes the current cell score.
  • the aligned sequences are generated from back to front and are as shown below:
  • the penalty e.g., decreasing a value calculated as described
  • the penalty may be lower than the penalty of having multiple short gaps, thus, for example, compensating for typical correlations in consecutive packet loss events in IP networks.
  • a scoring function may decrease an initial value for each gap or mismatch identified and, if the resulting value is above a threshold then the receiver may determine that an adequate alignment has been achieved (and therefore the stream can be reconstructed for the relevant time window). If the value produced by the scoring function is below a threshold (e.g., due to many corrupted or lost packets) then the receiver may determine that the stream cannot be correctly reconstructed, and the receiver may take further action, e.g., request retransmission, choose one of the unaligned sequences, alert a user etc.
  • a threshold e.g., due to many corrupted or lost packets
  • the scoring functions may be automatically selected based on the type or attributes of channels 140. For example, a first set of factors and/or thresholds may be used for channels implemented over physical wires (e.g., where loss and corruption of packets are not likely) and a second set of factors and/or thresholds may be used for channels implemented over wireless infrastructure.
  • a first set of factors and/or thresholds may be used for channels implemented over physical wires (e.g., where loss and corruption of packets are not likely) and a second set of factors and/or thresholds may be used for channels implemented over wireless infrastructure.
  • a method may automatically selected based on the type or attributes of channels 140. For example, if channels 140 are known to be relatively reliable then a match of two or three columns may suffice for receiver 120 to determine a correct packet was found, however, if channels 140 are known to be unreliable then receiver 120 may require four or five matching packets. Accordingly, an embodiment may automatically adjust or select a logic for reconstructing streams based on attributes of the communication channels used.
  • the sender and receiver may automatically revert to using only 2 channels. If corruption of packets is possible then the sender and receiver may automatically select to use 3 channels. Accordingly, the number of channels 140 may be automatically selected.
  • Fig. 2 a flowchart of a method according to illustrative embodiments of the present invention.
  • the same content may be sent over a plurality of communication channels.
  • content obtained from a video camera may be divided into packets and each of the packets may be sent over several network connections.
  • packets received may be aligned.
  • receiver 120 receives packets over a number of channels 140, arranges the received packets in a matrix and performs shifts or other operations until an optimal alignment is achieved.
  • aligning may include simply arranging or placing packets in a matrix as described and determining a level of alignment exhibited by the packets.
  • content sent over the channels as described may be reconstructed based on the alignment. For example, packets to be included in a reconstructed stream may be selected based on an alignment of packets in a matrix as described.
  • aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a "circuit, " "module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
  • the computer readable medium may be a computer readable signal medium or a computer readable storage medium.
  • a computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
  • a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
  • a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro magnetic, optical, or any suitable combination thereof.
  • a computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
  • Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
  • Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object- oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages.
  • the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
  • the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
  • LAN local area network
  • WAN wide area network
  • Internet Service Provider for example, AT&T, MCI, Sprint, EarthLink, MSN, GTE, etc.
  • These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
  • the computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
  • the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
  • each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration can be implemented by special purpose hardware -based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.

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

L'invention concerne un procédé comprenant les étapes consistant à : recevoir une pluralité de copies d'un train de bits en série, ledit train de bits en série comprenant une séquence de paquets de données ; diviser en continu chacune desdites copies dudit train de bits en série sur la base de fenêtres temporelles séquentielles ; par rapport à chacune desdites fenêtres temporelles, aligner lesdits paquets de données associés à chacune desdites copies dudit train de bits en série, reçus au sein de ladite fenêtre temporelle, sur la base, au moins en partie, de la similarité des paquets de données ; et recréer en temps réel ledit train de bits en série en sélectionnant au moins l'un desdits paquets de données alignés comme représentant un paquet de données suivant dans ladite séquence de paquets de données.
PCT/IB2020/061382 2019-12-02 2020-12-02 Communication de données en paquets sur plusieurs canaux peu fiables WO2021111329A1 (fr)

Priority Applications (8)

Application Number Priority Date Filing Date Title
EP20895628.4A EP4070488A4 (fr) 2019-12-02 2020-12-02 Communication de données en paquets sur plusieurs canaux peu fiables
KR1020227021739A KR20220136343A (ko) 2019-12-02 2020-12-02 다수의 신뢰할 수 없는 채널을 통한 패킷화된 데이터 통신
IL293533A IL293533A (en) 2019-12-02 2020-12-02 Communicating data packets over multiple unreliable channels
JP2022546436A JP2023508744A (ja) 2019-12-02 2020-12-02 複数の信頼性のないチャネルを介したパケット化データ通信
CN202080095139.2A CN115023928B (zh) 2019-12-02 2020-12-02 通过多个不可靠信道的分组化数据通信
BR112022010854A BR112022010854A2 (pt) 2019-12-02 2020-12-02 Comunicação de dados em pacotes através de múltiplos canais não confiáveis.
AU2020396439A AU2020396439A1 (en) 2019-12-02 2020-12-02 Packetized data communication over multiple unreliable channels
CA3160355A CA3160355A1 (fr) 2019-12-02 2020-12-02 Communication de donnees en paquets sur plusieurs canaux peu fiables

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2021111329A1 true WO2021111329A1 (fr) 2021-06-10

Family

ID=76221036

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2020/061382 WO2021111329A1 (fr) 2019-12-02 2020-12-02 Communication de données en paquets sur plusieurs canaux peu fiables

Country Status (9)

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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US20160337723A1 (en) * 2015-05-13 2016-11-17 Huawei Technologies Co., Ltd. System and Method for Hybrid Photonic Electronic Switching

Family Cites Families (8)

* 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
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
US8036248B2 (en) * 2008-10-29 2011-10-11 Silicon Image, Inc. Method, apparatus, and system for automatic data aligner for multiple serial receivers
US8873557B2 (en) * 2011-04-08 2014-10-28 Gigamon Inc. Systems and methods for packet de-duplication
US20140269359A1 (en) * 2013-03-14 2014-09-18 Google Inc. Reduction of retransmission latency by combining pacing and forward error correction
EP3791504A4 (fr) * 2018-05-10 2021-12-15 Apple Inc. Commande de synchronisation pour transmissions dupliquées de protocole de convergence de données par paquets (pdcp)

Patent Citations (3)

* 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
US20080069016A1 (en) * 2006-09-19 2008-03-20 Binshi Cao Packet based echo cancellation and suppression
US20160337723A1 (en) * 2015-05-13 2016-11-17 Huawei Technologies Co., Ltd. System and Method for Hybrid Photonic Electronic Switching

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4070488A4 *

Also Published As

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

Similar Documents

Publication Publication Date Title
CN107819828B (zh) 数据传输方法、装置、计算机设备和存储介质
KR100598662B1 (ko) 패킷 전송 프로토콜용의 손상된 패킷을 복구하는 방법
KR102133930B1 (ko) 데이터 패킷 송수신 장치 및 방법
KR101143282B1 (ko) 연쇄 반응 코드의 체계적 인코딩 및 디코딩
US8327233B2 (en) Method and device for transmitting and receiving data packets
CN108631873B (zh) 网络管理信息的收发方法、装置、发送设备和接收设备
US20130129005A1 (en) Method and system for low latency radio frequency wave transmission
CN113364559B (zh) 一种面向多路径的数据安全传输方法、设备和系统
TW201404099A (zh) 用於跨多資料鏈之資訊傳輸之狀態無連接覆蓋協定
US8321754B2 (en) Method for transmitting multimedia data in ad hoc communication networks
CN112994839A (zh) 灵活以太网开销复帧接收方法、装置、设备及介质
Bonomi et al. Practical Byzantine reliable broadcast on partially connected networks
US9548921B2 (en) Compression of routing information exchanges
US10341049B2 (en) Method and apparatus for performing a forward error correction (FEC) encoding or decoding in a multimedia system
US11546615B2 (en) Packetized data communication over multiple unreliable channels
US9667756B2 (en) Apparatus and method for transmitting/receiving data in communication system
EP4070488A1 (fr) Communication de données en paquets sur plusieurs canaux peu fiables
US8726133B2 (en) Method for detecting return link packet error in hub which communicates with satellite terminal and apparatus thereof
Cabrera et al. Taking the trash back in: practical joint channel and network coding for improving ieee 802.11 networks
CN116347557A (zh) 低轨道卫星网络路由方法、控制装置及计算机可读存储介质
US20100027563A1 (en) Evolution codes (opportunistic erasure coding) platform
EP2449708A1 (fr) Procédé, appareils et service pour transmission de médias
US20210084123A1 (en) Systems and methods for increasing reliability for media data distribution
US11456949B1 (en) Routing networks with asynchronous message backup and replay
KR101808644B1 (ko) 위성 통신 시스템에서 역방향 링크 패킷 오류 검출 방법

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 3160355

Country of ref document: CA

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112022010854

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 2020396439

Country of ref document: AU

Date of ref document: 20201202

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020895628

Country of ref document: EP

Effective date: 20220704

ENP Entry into the national phase

Ref document number: 2022546436

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 112022010854

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20220602