GB2395096A - Extracting packets from identical data streams in a multiple redundant system - Google Patents

Extracting packets from identical data streams in a multiple redundant system Download PDF

Info

Publication number
GB2395096A
GB2395096A GB0225569A GB0225569A GB2395096A GB 2395096 A GB2395096 A GB 2395096A GB 0225569 A GB0225569 A GB 0225569A GB 0225569 A GB0225569 A GB 0225569A GB 2395096 A GB2395096 A GB 2395096A
Authority
GB
United Kingdom
Prior art keywords
packet
stream
data
extracted
sequence
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
GB0225569A
Other versions
GB0225569D0 (en
GB2395096B (en
Inventor
Patricia Baretto
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.)
Roke Manor Research Ltd
Original Assignee
Roke Manor Research Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Roke Manor Research Ltd filed Critical Roke Manor Research Ltd
Priority to GB0225569A priority Critical patent/GB2395096B/en
Publication of GB0225569D0 publication Critical patent/GB0225569D0/en
Publication of GB2395096A publication Critical patent/GB2395096A/en
Application granted granted Critical
Publication of GB2395096B publication Critical patent/GB2395096B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/22Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability

Abstract

A multiple redundant system transmits two or more identical data streams 11, 12 in order to protect against transmission errors. The data packets in each stream are monitored 10, inspected for errors and their place in the packet sequence determined. If a given packet is next in the sequence it is extracted and recombined into a single complete data stream. If it is subsequent to the next packet, it is stored and extracted at the correct point in the sequence. The first stream can be given priority, and a timer can be used to limit how long is spent looking for a packet which has been lost from all data streams. The method is used when the data stream must be as error-free as possible, such as in audio or video recording, live television or Voice over IP.

Description

METHOD OF OPERATING A REDUNDANT SYSTEM
This invention relates to a method of operating a dual or multiple redundant system, such as a digital audio network.
5 There are a number of systems which require high availability of data, with high capacity and data rates, so any loss of data over a network can have a significant impact on performance. An example of this is in digital recording studios where any loss of digital data changes the resulting recording.
In accordance with the present invention, a method of operating a dual or 10 multiple redundant system comprises transmitting two or more identical data streams, monitoring packets of data in each data stream; and extracting the next packet in a predetermined sequence, such that errors in the data introduced during transmission are compensated for.
One solution to the problem of loss of data during transmission is to transmit 15 one or more copies of the same data, so that if part of the data stream is lost, gaps can be filled in from the other, originally identical data streams. However, as well as kisses, there can be delays in each packet in each stream arriving, so that simply sampling the next data stream if the first lacks a particular packet, will not always produce the correct packet. The present invention allows any loss of data in 20 transmission to be made good by recombining individual packets from different data streams, so that the result appears to be a single complete data stream, by monitoring packets in each stream and choosing to extract a packet only if it is the next one in sequence. It is possible that the first data stream is always sampled first; and a data packet 25 from the first data stream is always extracted if it is the next in sequence, but preferably, a data packet from a current data stream is always extracted if it is the next in sequence.
If a data packet is extracted from one data stream and the next in sequence is available on that same data stream, then it is most efficient to take that next data pachct 30 from the same stream rather than switch to the other stream to extract an available data packet. Preferably, a timer is set as the first data.stream is sampled; and reset only when the next or subsequent data packet in the sequence is extracted from the data stream.
!: 2! There are various advantages to this scheme. Firstly, there is a means of deciding when a packet is lost and making the most of what packets are Ieft, rather than searching tor longer and effectively degrading the data stream even further. The timer prevents a hasty decision being made in situations where the packet is slightly delayed, 5 rather than lost and also the precise length of the timer is tuneable, so in cases where there is a high possibility of packets being delayed the timer interval can be increased slightly, or decreased when delays are minimal.
Alternatively, each data stream is sampled; and each data packet extracted if it is the next in sequence and stored if is a subsequent data packet in the sequence.
10 By storing data packets as they appear, if they are not next in the sequence, any loss of packets on one stream whilst another is being sampled can be compensated for, without risking the next packet in sequence having turned up and been discarded before the other data streams showed that that particular packet was missing. There may be more than one packet delay during which a data packet is stored before being extracted 15 or discarded. This is particularly beneficial where there are only two data streams, rather than for multiple redundancy, as the chances of losing the next packet whilst sampling the other data stream are greater.
Preferably, the stored packet is extracted only if that packet in the sequence does not appear as the next packet in an incoming data stream.
20 Extracting data as it appears in the incoming data stream is more efficient than extracting stored data, but the stored data enables the quality of the received input to be maintained. However, there may still be occasions when the same data packet is lost from both or all of the data streams. Therefore, preferably, a subsequent data packet is 25 extracted if the next data packet is not found in any data stream or store.
The invention is applicable to any real time data, but preferably, the method is applied for one of video recording, audio recording, live tv broadcasts or Voice over [P.
An example of a method of operating a dual or multiple redundant system according to the present invention will now be described with reference to the 30 accompanying drawings in which: Figure 1 is a first example of a method according to the present invention; Figure 2 is a second example of a method according to the present invention; Figure 3 is a third example of a method according to the present invention;
1' Figure 4 illustrates the effect of jitter on the example of Fig. 1; Figure 5 illustrates the effect of jitter on the example of Fig.2; Figure 6 illustrates the effect of jitter on the example of Fig.3; Figure 7 illustrates the effect of increased packet loss on the example of Fig. 1; 5 Figure 8 illustrates the effect of increased packet loss on the example of Fig.2; and, Figure 9 illustrates the effect of increased packet loss on the example of Fig.3 In the example of Fig. 1, a combining unit 10 monitors two planes or data 10 streams 11, 12. The combining unit only makes a decision on which packet 13 to take once it has received the next packet from each data stream. The next packet in sequence is taken from whichever data stream presents the correct packet first and if the packets arrive at the same time, then the packet from the same data stream as has provided the immediately preceding packet is taken. If the next packet in sequence has 15 been lost from both data streams, the combining unit will take the next highest sequence numbered packet. This could be from either plane. In this example, packet O of stream 11 arrives first and so that packet is extracted. However, there is a delay in stream 11 before packet 1 arrives, so packet 1 is extracted from stream 12. The combining unit then continues to extract packets 2 to 5 from stream 12 because it 20 samples the current stream first and if it finds the desired packet it will extract it. By the time a delay betwocn packets 3 and 4 occurs on stream 12, packet 4 on stream 1 1 has been discarded, so packets 4 and 5 are also taken from stream 12.
In the example of Fig. 2, the effect is the same as for example 1, but the mechanism is slightly different. The combining unit 10 monitors both data streams 11, 25 12 and takes the next packet in sequence, so first it takes packet 0 from stream 11.
Each time it begins a search for the next packet, it starts a timer. If the next packet in sequence, packet 1, cannot be found in either plane, the packet is deemed lost and the combining unit looks for the next highest sequence number. If the next packet is found, the timer is reset. In this case the next packet is found in stream 12 and 30 thereafter stream 12 has each subsequent packet.
Fig. 3 shows how the combining unit 1() monitors both planes 11, 12 and takes the next packet hi sequence, but results in a different use of packets to Figs. I and 2.
First packet O in stream I I is extracted and then packet I of stream 12. However, both
i : streams continue to be monitored, so although packet 3 its not present in stream 11, when that stream is monitored for packet 3, packet 4 is found and because it is not the next packet in sequence, but a higher one, then packet 4 is stored. Packet 3 is extracted from stream 12 and then the stored packet 4 is extracted from stream 11. This means 5 that the current stream is stream 11 when packet 5 is sought, so packet 5 is extracted from stream 11. If the next packet, packet 3, had not been found in stream 12 either, then the stored packet 4 would be extracted on the assumption that the previous packet, packet 3, had been lost.
In the case of a multiple, rather than dual redundant, system then the combining 10 unit would go through the monitoring step for each stream and only assume a lost packet if all of the streams did not have that particular packet. The combining unit would store a packet once (by setting a flag, for example), and then keep searching for the next one in sequence. E.g. if looking for sequence number (SN) 2, fmds SN 3 in another stream, checks to see that it is not already stored, stores it and then resumes the 15 search for SN 2. It would not store anything that was not SN 3 (or SN4 and SN3 if the "storage window" is set higher than 1) .
It is not essential that every single packet is sampled and extracted. There may be applications where more than one packet of data might be lost. In these situations, the sampling window size can be set accordingly, to cope with varying amounts of packet 20 loss. For example, if a packet loss of I is anticipated, a window size of 1 can be used (as shown in Fig. 3). If a data stream was likely to lose more than one consecutive packet, due to errors incurred during transmission or other problems, then the window size should be set to at least 2. The present invention is particularly applicable to systems that are critical in some way, where loss of packets has a significant impact, so 25 this provides further protection against the effects of data loss.
If more jitter is introduced to the transmission, then the examples of Figs. I and 2 lose packets as illustrated in Figs. 4 and 5. In Fig. 4, the combining unit 10 extracts packet O from stream 12, then looks for packet I in the same plane. By the time it detects that there is a missing packet, packet 2 and looks to data stream 11 for that 30 packet, the packet 2 has already been discarded. Since packet 2 was not found, the current stream is still stream 12 and the combining unit continues to extract from that stream.
l In Fig. 5 packet 0 in stream 12 is extracted first and a timer started. When packet I is found the timer is reset and when packet I has been extracted the timer is started again to search for packet 2. After a pre letermined time period, packet 3 has been found, but not packet 2, so the combining unit 10 accepts packet 3 from stream 5 12, packet 4 from stream 11 and packet 5 from stream 12.
A significant improvement is achieved with the example of Fig. 6 where despite the increase in jitter, no packets are lost. Packet O is extracted from stream 12, then packet 2 in stream 11 is stored. After extracting packet I of stream 12, it is found that there is no packet 2 in the same stream, so packet 2 of stream 11 can be extracted from 10 store by the recombining unit. The remaining packets are extracted directly in the order in which they are found. If jitter is expected to be particularly bad in a system, the "storage window", set to I in the example shown, would be increased.
Further examples in Figs. 7 to 9 show the effect of increased packet loss and increased jitter.
15 Fig. 7 shows that stream 11 has lost two consecutive packets, I and 2. Packet O is extracted from stream 12, then packets 1 and 2. However, the delay in obtaining packets I and 2 from stream 12 means that packet 3 in stream I l has already been discarded by the time the recombining unit is searching for it, so the resulting data stream does not have a packet 3.
20 In Fig. 8, the result is also that packet 3 is not extracted. Packets O. 1 and 2 are extracted from stream 12, but the delay in starting the search for packet 3 means that packet 3 has already been discarded in stream 11 and is not present in stream 12, so the search times out and packets 4 and 5 from stream 11 are then taken. The timer is restarted to search for packet 6 and reset when packet 6 is extracted.
25 As in the earlier examples, the use of storage, illustrated by Fig. 9, allows a loss free stream to be recreated by the combining unit 10. Packet O of stream 12 is extracted first and while searching for packet 1, packet 3 of stream 11 is found and stored. After packets I and 2 are extracted from stream 12, the combining unit monitors for packet 3, but finds packet 4 in stream 11, so it stores this, extracts packet 3 from store, extracts 30 packet 4 from store, then monitors for 5 and 6.

Claims (7)

( CLAIMS
1. A method of operating a dual or multiple redundant system, the method comprising transmitting two or more identical data streams, monitoring packets of data 5 in each data stream; and extracting the next packet in a predetermined sequence, such that errors in the data introduced during transmission are compensated for.
2. A method according to claim 1, wherein the first data stream is always sampled first; and wherein a data packet from the first data stream is always extracted if it is the 10 next in sequence.
3. A method according to claim 1, wherein a data packet from a current data stream is always extracted if it is the next in sequence 15
4. A method according to claim 1, wherein a timer is set as the first data stream is sampled; and reset only when the next or subsequent data packet in the sequence is extracted from the data stream.
5. A method according to any preceding claim, wherein each data stream is 20 sampled; and each data packet extracted if it is the next in sequence and stored if is a subsequent data packet in the sequence.
6. A method according to any preceding claim, wherein the stored packet is extracted only if that packet in the sequence does not appear as the next packet in an 25 incoming data stream.
7. A method according to any preceding claim, wherein a subsequent data packet is extracted if the next data packet is not found in any data stream.
30 9. A method of operating a dual or multiple redundant system as hereinbefore described with reference to the accompanying drawings.
GB0225569A 2002-11-04 2002-11-04 Method of operating a redundant system Expired - Fee Related GB2395096B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0225569A GB2395096B (en) 2002-11-04 2002-11-04 Method of operating a redundant system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0225569A GB2395096B (en) 2002-11-04 2002-11-04 Method of operating a redundant system

Publications (3)

Publication Number Publication Date
GB0225569D0 GB0225569D0 (en) 2002-12-11
GB2395096A true GB2395096A (en) 2004-05-12
GB2395096B GB2395096B (en) 2004-11-10

Family

ID=9947085

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0225569A Expired - Fee Related GB2395096B (en) 2002-11-04 2002-11-04 Method of operating a redundant system

Country Status (1)

Country Link
GB (1) GB2395096B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009088725A1 (en) 2008-01-02 2009-07-16 Cisco Technology, Inc. Packet comparator

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0507022A1 (en) * 1989-10-11 1992-10-07 Gpt Limited Method and apparatus for identifying valid cells in a redundant path combining unit of an asynchronous transfer mode switch
JPH0787065A (en) * 1993-09-16 1995-03-31 Fujitsu Ltd Data changeover device
DE19712144A1 (en) * 1997-03-22 1998-09-24 Bosch Gmbh Robert Process for reducing redundant transfers of data groups
WO2001059978A2 (en) * 2000-02-10 2001-08-16 Tellabs Operations, Inc. Methods and apparatus for selecting the better cell from redundant streams within a cell-oriented environment
US6307834B1 (en) * 1997-03-27 2001-10-23 Siemens Aktiengesellschaft Redundant transmission system with disconnection of a transmission path exhibiting faulty transmission behavior
EP1168714A2 (en) * 2000-06-27 2002-01-02 Rockwell Electronic Commerce Corporation, Corporation of the State of Delaware Redundant channels over a packet network
US20020080823A1 (en) * 2000-12-23 2002-06-27 Alcatel Network device and method for delay compensation of data packets
US20020147569A1 (en) * 2001-04-09 2002-10-10 Lay Samuel C. Automatic testing of redundant switching element and automatic switchover

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0507022A1 (en) * 1989-10-11 1992-10-07 Gpt Limited Method and apparatus for identifying valid cells in a redundant path combining unit of an asynchronous transfer mode switch
JPH0787065A (en) * 1993-09-16 1995-03-31 Fujitsu Ltd Data changeover device
DE19712144A1 (en) * 1997-03-22 1998-09-24 Bosch Gmbh Robert Process for reducing redundant transfers of data groups
US6307834B1 (en) * 1997-03-27 2001-10-23 Siemens Aktiengesellschaft Redundant transmission system with disconnection of a transmission path exhibiting faulty transmission behavior
WO2001059978A2 (en) * 2000-02-10 2001-08-16 Tellabs Operations, Inc. Methods and apparatus for selecting the better cell from redundant streams within a cell-oriented environment
EP1168714A2 (en) * 2000-06-27 2002-01-02 Rockwell Electronic Commerce Corporation, Corporation of the State of Delaware Redundant channels over a packet network
US20020080823A1 (en) * 2000-12-23 2002-06-27 Alcatel Network device and method for delay compensation of data packets
US20020147569A1 (en) * 2001-04-09 2002-10-10 Lay Samuel C. Automatic testing of redundant switching element and automatic switchover

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009088725A1 (en) 2008-01-02 2009-07-16 Cisco Technology, Inc. Packet comparator
US8265139B2 (en) 2008-01-02 2012-09-11 Cisco Technology, Inc. Packet comparator
EP2238759B1 (en) * 2008-01-02 2021-02-03 Cisco Technology, Inc. Packet error correction

Also Published As

Publication number Publication date
GB0225569D0 (en) 2002-12-11
GB2395096B (en) 2004-11-10

Similar Documents

Publication Publication Date Title
US8750385B2 (en) Video data loss recovery using low bit rate stream in an IPTV system
US5887187A (en) Single chip network adapter apparatus
US5914955A (en) Switched network hub on a chip
US6026506A (en) Concealing errors in transport stream data
US6026088A (en) Network architecture
US5864554A (en) Multi-port network adapter
US6104757A (en) System and method of error control for interactive low-bit rate video transmission
KR101330907B1 (en) Method for reducing channel change times in a digital video apparatus
US20020064177A1 (en) Method and apparatus for forming and utilizing a slotted mpeg transport stream
WO2000030356A1 (en) Decoder buffer for streaming video receiver
CA2570439A1 (en) Method and apparatus for delivering compressed video to subscriber terminals
CN100527712C (en) Systems and methods for processing packet streams
FR2797549A1 (en) METHOD AND DEVICE FOR SYNCHRONIZING AN MPEG DECODER
US6195403B1 (en) Pulse generator for a voltage controlled oscillator
GB2395096A (en) Extracting packets from identical data streams in a multiple redundant system
EP2218256A1 (en) Device for the continuous reception of audio and/or video data packets
GB2177877A (en) Packet systems
JP3801043B2 (en) Data receiving apparatus and method
EP0781480B1 (en) Data packet routing device
EP1483916A1 (en) Method and arrangement for converting a first data stream into a second data stream
JP2006014153A (en) Packet-error monitoring mpeg decoder, mpeg image transmitting system and mpeg image transmission method
JP4326211B2 (en) Video transmission device and video transmission system
Shae et al. Capture and playback synchronization in video conferencing
Hartanto et al. Effects of interaction between error control and media synchronization on application-level performances
JP2001148717A (en) Data server device

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20141104