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 PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/22—Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
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)
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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009088725A1 (en) | 2008-01-02 | 2009-07-16 | Cisco Technology, Inc. | Packet comparator |
Citations (8)
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 |
-
2002
- 2002-11-04 GB GB0225569A patent/GB2395096B/en not_active Expired - Fee Related
Patent Citations (8)
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)
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 |
---|---|
GB2395096B (en) | 2004-11-10 |
GB0225569D0 (en) | 2002-12-11 |
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 | |
KR101330907B1 (en) | Method for reducing channel change times in a digital video apparatus | |
CN101466044B (en) | Method and system for synchronously playing stream medium audio and video | |
US20020064177A1 (en) | Method and apparatus for forming and utilizing a slotted mpeg transport stream | |
EP1050166A1 (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 | |
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 | |
JP2001148717A (en) | Data server device | |
Hartanto et al. | Effects of interaction between error control and media synchronization on application-level performances | |
Simpson | Uncompressed HD and SD video transport over IP networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PCNP | Patent ceased through non-payment of renewal fee |
Effective date: 20141104 |