Fault-Tolerant Algorithms for the Concurrent-Push Architecture in VS .NET

Drawing QR Code ISO/IEC18004 in VS .NET Fault-Tolerant Algorithms for the Concurrent-Push Architecture
Fault-Tolerant Algorithms for the Concurrent-Push Architecture
Denso QR Bar Code Recognizer In .NET Framework
Using Barcode Control SDK for .NET Control to generate, create, read, scan barcode image in Visual Studio .NET applications.
One potential problem with the concurrent-push architecture, and any parallel server architectures in general, is reliability. As the system distributes video data over multiple servers, failure of a single server will cripple the entire system. Worst still, as the system is scaled up to more users, more servers will be needed and consequently the system-wide reliability will decrease accordingly. Drawing similar principles from disk array researches, we present in this chapter fault-tolerant algorithms to improve the system reliability. In particular, we address three key problems pertaining to supporting fault tolerance in the concurrent-push architecture, namely, redundancy management, redundant data transmission protocol, and real-time fault masking. First, redundant data based on erasure codes are introduced to video data stored in the servers, which are then delivered to the clients to support fault tolerance. Despite the success of distributed redundancy striping schemes such as RAID-5 in disk array implementations, we discover that similar schemes extended to the server context do not scale well. Instead, we develop a redundant server scheme that is both scalable and consumes less server buffer. Second, two protocols are introduced to control the transmission of redundant data to the clients, namely, forward erasure correction (FEC) and progressive redundancy transmission (PRT). These two protocols achieve different tradeoffs between bandwidth overhead, implementation complexity, and client buffer requirement. Finally, we derive the amount of client buffers required so that non-stop, continuous video playback can be maintained during server failure.
QR-Code Generator In Visual Studio .NET
Using Barcode generation for .NET Control to generate, create Denso QR Bar Code image in VS .NET applications.
11.1 Redundancy Management
Decode QR Code JIS X 0510 In VS .NET
Using Barcode recognizer for .NET Control to read, scan read, scan image in .NET applications.
To support server-level fault tolerance, we need redundant data so that a client can re-compute the unavailable video data after server failures. The problem of correcting data errors has been studied extensively in the literature. According to coding theory [1], one can encode a set of symbols with redundancies so that errors occurring within the set can be corrected later. However, server failure is slightly different in the sense that there is really no error in the coding sense. Instead, a server failure introduces erasures the absence of data.
Barcode Printer In .NET
Using Barcode generator for Visual Studio .NET Control to generate, create bar code image in .NET applications.
Scalable Continuous Media Streaming Systems Jack Y. B. Lee C 2005 John Wiley & Sons, Ltd.
Scan Bar Code In Visual Studio .NET
Using Barcode decoder for VS .NET Control to read, scan read, scan image in VS .NET applications.
Scalable Continuous Media Streaming Systems
QR Creation In Visual C#
Using Barcode printer for .NET framework Control to generate, create QR Code image in Visual Studio .NET applications.
Errors and erasures are different, because, for errors, data are still being received but the content may be corrupted. In case of erasure, the expected data are simply missing and hence no erroneous data will be received. Here we have implicitly assumed that the server is fail-stop, i.e., it stops sending out data upon failure. This type of failure could be caused by disk subsystem failure, network failure, power loss, or even software crashes. In any case, erasures are introduced into the video stream because data stored in the failed server will become unavailable. According to coding theory, to recover an erased symbol (a unit of data) in a codeword (also called a parity group, or a stripe), one needs to encode the data with at least one redundant symbol per codeword. One well-known coding algorithm called Reed-Solomon Erasure correction (RSE) code [2, 3] can encode data with any codeword size and level of redundancies. If one needs to protect the system from only single-server failure, then an even simpler code parity can be used instead. For simplicity, we assume in this chapter a generic code where each additional redundant symbol can recover one erasure. Drawing related principles from RAID [4], Figures 11.1 and 11.2 depict the proposed redundant striping policies for block striping and sub-schedule striping. The basic idea is the same introduces one or more redundant stripe units in every stripe. The redundant units are
QR-Code Maker In Visual Studio .NET
Using Barcode maker for ASP.NET Control to generate, create QR Code image in ASP.NET applications.
S0 S1 S2 S3 S4 ... ... ... ... ... 9 10 P 8 11 5 6 7 P 4 0 1 2 3 P P ... 1 0
QR Code ISO/IEC18004 Generation In VB.NET
Using Barcode creator for Visual Studio .NET Control to generate, create QR Code 2d barcode image in VS .NET applications.
Playout Video Client
Barcode Generation In .NET
Using Barcode generation for Visual Studio .NET Control to generate, create barcode image in VS .NET applications.
Q bytes (Transaction/Striping Size)
Bar Code Printer In .NET
Using Barcode creator for .NET Control to generate, create bar code image in Visual Studio .NET applications.
Figure 11.1 Fixed-size block striping with redundancy of one
Code39 Encoder In .NET Framework
Using Barcode creator for Visual Studio .NET Control to generate, create Code39 image in VS .NET applications.
S0 S1 S2 S3 S4
Painting Code11 In Visual Studio .NET
Using Barcode drawer for Visual Studio .NET Control to generate, create USD8 image in Visual Studio .NET applications.
... ... ... ... ...
EAN13 Reader In .NET
Using Barcode recognizer for Visual Studio .NET Control to read, scan read, scan image in Visual Studio .NET applications.
P7 6 5 4 P3 2 1 0
EAN 13 Generator In VB.NET
Using Barcode creation for Visual Studio .NET Control to generate, create UPC - 13 image in .NET framework applications.
Playout Video Client
Painting UPC Symbol In VB.NET
Using Barcode generator for VS .NET Control to generate, create UPCA image in Visual Studio .NET applications.
Q bytes (Transaction Size)
Making Data Matrix In Visual C#.NET
Using Barcode maker for Visual Studio .NET Control to generate, create ECC200 image in VS .NET applications.
U bytes (Striping Size)
GS1-128 Generation In VB.NET
Using Barcode generation for .NET framework Control to generate, create EAN / UCC - 13 image in Visual Studio .NET applications.
Figure 11.2 Fixed-size sub-schedule striping with redundancy of one
Encoding Code-39 In VS .NET
Using Barcode creation for ASP.NET Control to generate, create Code 3/9 image in ASP.NET applications.
Fault-Tolerant Algorithms for the Concurrent-Push Architecture
Decoding Code-128 In .NET
Using Barcode recognizer for Visual Studio .NET Control to read, scan read, scan image in .NET applications.
precomputed and distributed to the servers in a round-robin manner similar to a RAID-5 disk array. Note that a parity group spans all servers and hence the parity group size equals the number of servers in the system. In 9, we introduced two approaches for transmitting redundant data to the clients, namely, forward erasure correction and progressive redundancy transmission. These two schemes represent different tradeoffs: FEC simpli es system implementation and has lower client buffer requirement and start-up delay in certain cases, at the expense of network bandwidth overhead during normal operation (i.e., no failure); PRT reduces this bandwidth overhead at the expense of more complicated system implementation and potentially larger buffer requirement and start-up delay. We present a FEC-based transmission scheme for concurrent push in the next section, and a PRT-based transmission scheme in Section 11.3.
Code 3 Of 9 Creation In Java
Using Barcode generator for Java Control to generate, create Code 39 Full ASCII image in Java applications.
11.2 Forward Erasure Correction (FEC)
As the name suggests, servers under FEC transmit redundant data regardless of server failure. As redundant data are always received, the client can re-compute unavailable data by erasure correction computation (see Figure 11.3 for the case under sub-schedule striping). Hence, one does not need to detect server failure for the sake of maintaining non-stop operation, and consequently system recon guration is also unnecessary. Clearly, this can greatly simplify the implementation and avoid other complications such as false alarm or undetected failure. The tradeoff is extra network bandwidth required to deliver redundant data during normal-mode operation. Speci cally, with N S servers and a redundancy level of K (i.e., up to K simultaneous server failures can be sustained), the network bandwidth overhead incurred will be given by HFEC = K NS K (11.1)
For a small-scale system (i.e., N S small) with high level of redundancy (i.e., K large), this overhead could become prohibitive. For example, with N S = 3 and K = 1, the overhead would become 50%. Considering that a VoD system is expected to operate mostly in normal mode,
... ... ...