Continuous Media Storage and Retrieval in VS .NET

Draw Quick Response Code in VS .NET Continuous Media Storage and Retrieval
Continuous Media Storage and Retrieval
Quick Response Code Scanner In Visual Studio .NET
Using Barcode Control SDK for Visual Studio .NET Control to generate, create, read, scan barcode image in VS .NET applications.
with capacity of k concurrent streams we can at most divide them into g = k groups under GSS. However, in this case the disk will serve the streams one by one in a round-robin manner, effectively reducing to FCFS! Knowing that FCFS has poor disk throughput, it raises the rst trade-off in using more groups under GSS. Speci cally, with k requests divided into g groups, each micro-round will retrieve only k/g data blocks. Since we are using worst-case analysis to dimension disk capacity, we will assume that the k/g data blocks are evenly spaced across the full span of the disk surface. Thus, with more groups, fewer requests are served in each micro-round, which in turn increases the worst-case per-request seek distance. Obviously this added overhead will result in longer service round length and thus reduces disk throughput. The second trade-off is more subtle and only occurs under heavy system load. Speci cally, if a new stream arrives to nd the next micro-round already fully occupied, then it will have to wait for a group with available capacity to join. Note that this scenario will not occur if the number of active streams in service is smaller than k/g, as none of the groups will be fully occupied. As more and more streams join the system, more and more groups will be fully occupied. In the worst case a new stream could arrive in the middle of the only group with available capacity, and thus will need to wait until that particular group cycles back again in the next macro-round. max In this worst-case scenario the admission delay will become (g + 1) tround (k/g). Nevertheless, the beauty of the GSS scheduler is that we can control the trade-off between throughput and buffer requirement/admission delay by dividing the streams into different number of groups. In fact, the GSS scheduler subsumes as special cases both the FCFS scheduler (when g = k) and the CSCAN scheduler (when g = 1). The same principle will also nd applications in multi-disk (Section 3.5.3) and multi-server streaming systems (Part II of the book).
Draw QR Code ISO/IEC18004 In .NET Framework
Using Barcode printer for .NET Control to generate, create QR Code image in Visual Studio .NET applications.
3.5 Multi-Disk Storage And Retrieval
Scanning QR Code JIS X 0510 In Visual Studio .NET
Using Barcode decoder for .NET framework Control to read, scan read, scan image in Visual Studio .NET applications.
So far, we have only considered media storage and retrieval in a single hard disk. In practice, the capacity of a single disk may not be suf cient to serve a large number of concurrent users. While disk storage capacity is advancing rapidly, improvements in disk throughput are far slower due to mechanical limits like spindle speed, disk seek, etc. Therefore in most, if not all, media servers, an array of disks will be needed to provide suf cient streaming capacity. The challenge then is how to ef ciently store and retrieve media data from multiple disks.
Make Barcode In .NET Framework
Using Barcode encoder for Visual Studio .NET Control to generate, create bar code image in .NET framework applications.
3.5.1 Partition and Replication
Recognize Bar Code In .NET
Using Barcode scanner for .NET Control to read, scan read, scan image in Visual Studio .NET applications.
First, if the disks are operated independently, i.e., each disk is accessed independently from other disks using, say, a separate logical disk drive or lesystem, then we can simply distribute the media objects such as movie les to the disks according to certain placement policy. For example, we may place media object 1 in disk 1, media object 2 in disk 2, and so on. When a user requests the streaming of media object 1, then the server will simply retrieve the media data blocks from disk 1 for transmission to the user. Each disk in this case is independent and thus the same disk schedulers discussed earlier in Sections 3.2 to 3.4 can be applied directly without modi cation.
Paint QR Code In C#.NET
Using Barcode printer for VS .NET Control to generate, create Denso QR Bar Code image in .NET framework applications.
Scalable Continuous Media Streaming Systems
QR Code Creator In VS .NET
Using Barcode generator for ASP.NET Control to generate, create QR Code image in ASP.NET applications.
0.9 Relative Popularity
QR Code 2d Barcode Generator In Visual Basic .NET
Using Barcode generator for Visual Studio .NET Control to generate, create QR Code image in .NET applications.
4 6 Media Object Index
Code 39 Full ASCII Maker In .NET Framework
Using Barcode printer for VS .NET Control to generate, create Code39 image in .NET applications.
Figure 3.7 Relative popularity of media objects following the Zipf law with c = 0.237
Printing UCC - 12 In .NET Framework
Using Barcode generation for Visual Studio .NET Control to generate, create GS1-128 image in .NET applications.
However, this data partition approach has a signi cant shortcoming. Speci cally, in most applications (e.g., entertainment videos) the popularity of media objects can vary signi cantly. Previous studies [2 3] using data collected from video rentals, for example, suggested that the popularity in those scenarios follows the Zipf law [4]: Pi 1 ic (3.9)
Data Matrix ECC200 Generation In Visual Studio .NET
Using Barcode encoder for Visual Studio .NET Control to generate, create Data Matrix 2d barcode image in VS .NET applications.
where {Pi | i = 1, 2, . . . , M} is the popularity of media object i, sorted in decreasing order of popularity; and c is a constant characterizing the skewness of the popularities. A value of c = 0 represents uniform popularity (i.e., Pi = P j i, j), and increasing values of c represent increasing skewness. Figure 3.7 shows the relative popularity for a 10-media system following the Zipf law with c = 0.237. The difference between the more popular media objects and the less popular media objects can be quite substantial. The implication of the Zipf-distributed popularity is that a small portion of the media objects often account for the majority of the user requests. Consequently, the disks storing the popular media objects will have a much higher load than the disks storing unpopular media objects. Researchers have long recognized this load imbalance problem and have proposed various solutions, e.g., careful placement of media objects to even out the load of the disks, or replicating the popular objects on multiple disks for load sharing. Interested readers are referred to the literature for more detail of these approaches [5 7]. At the other extreme, if we replicate all media objects onto all disks in the server, then the load balance problem can be eliminated altogether. However, this approach is only suitable for systems with a small set of media objects, where the extra storage incurred in replication is available and is cost effective. For systems serving a library of, say, hundreds or even thousands of feature-length movies, the multiplied storage costs will quickly become prohibitive.
Painting I-2/5 In .NET Framework
Using Barcode creator for .NET framework Control to generate, create Uniform Symbology Specification ITF image in .NET applications.
Data Matrix ECC200 Creation In Visual Studio .NET
Using Barcode generation for ASP.NET Control to generate, create DataMatrix image in ASP.NET applications.
Barcode Encoder In Visual C#
Using Barcode printer for VS .NET Control to generate, create bar code image in .NET applications.
Reading EAN 13 In Visual Studio .NET
Using Barcode scanner for .NET framework Control to read, scan read, scan image in .NET framework applications.
Code 128 Code Set A Creator In Java
Using Barcode drawer for Java Control to generate, create Code 128 Code Set B image in Java applications.