One of the problems faced frequently by users in Video-on-Demand (VoD) streaming, is a long waiting time for multimedia streaming. In Existing System, a Network Coding Equivalent Content Distribution (NCECD) scheme [Yung-Cheng Kao, Chung-Nan Lee, Peng-Jung and Hui-Hsiang Kao,2012] is used to handle interactive Video-on-Demand (VoD) operations in peer-to-peer systems. Using NCECD, videos are divided into equal sized segments that are then further divided into blocks. These blocks are encoded into independent blocks that are distributed to different peers for local storage. By this, a new client only needs to connect to a sufficient number of parent peers and able to view the whole video, and rarely needs to find new parents when performing random access operations. The proposed work focuses on Fibonacci Based Content Distribution (FBCD) scheme to efficiently handle interactive VoD operations in distributed systems. In FBCD, videos are divided into n number of variable size chunks. The chunk size is progressively increased to reduce delay improve performance and reduce the loading time. Since the video data is divided into chunks and stored at peers' local storage in a distributed manner, a peer can discover and access a neighbour quickly through the middleware. The streaming processes are handled by the middleware system. The middleware will monitor all the distribution server loads and client request. This may not allow direct communication between Client and Server and Server offline problem is also managed. The proposed scheme achieves low start-up and jump searching delays and requires fewer server resources.
Online video is increasing diffusion of Internet-based multimedia applications and the heterogeneity of client devices call for distributed techniques [W.P.K. Yiu, X. Jin and S.H.G. Chan, 2007] of multimedia data management able to face the enormous storage capacity that is required to provide services opportunely tailored to the user equipments. The term “tailoring” refers to the steps needed to adapt media files to the actual characteristics of client devices, the set of possible steps ranging from the whole media. In order to adapt the requested service to the type of terminal used Video-On-Demand (VOD) systems [T.T. Do, K.A. Hua, and M.A. Tantaoui, 2004] we can have two types of tailoring techniques: the Client-side adaptation and the Server-side adaptation. Client-side adaptation suffers from both the resource overload restriction and the channel overload due to the transmission of high quality media.
Peer-to-Peer Systems are distributed systems consisting of interconnected nodes able to self-organize into network topologies with the purpose of sharing resources such as content, CPU cycles, storage and bandwidth, capable of adapting to failures and accommodating transient populations of nodes while maintaining acceptable connectivity and performance without requiring the intermediation or support of a global centralized server or authority.
A Peer-to-Peer (P2P) computer network is one in which each computer in the network can act as a client or server for the other computers in the network, allowing shared access to various resources such as files, peripherals, and sensors without the need for a central server. P2P networks can be set up within the home, a business, or over the Internet. P2P networks can be used for sharing content such as audio, video, data, or anything in digital format.P2P is a distributed application architecture that partitions tasks or workloads among peers. Figure 1 illustrates architecture of a typical hybrid decentralized peer-to-peer system.
Figure 1. Typical Hybrid Decentralized Peer-to-peer Architecture
The owner of each computer on a P2P network would set aside a portion of its resources - such as processing power, disk storage, or network bandwidth - to be made directly available to other network participant, without the need for central coordination by servers or stable hosts. With this model, peers are both Suppliers and Consumers of resources, in contrast to the traditional client–server model where only the server supply (send), and clients consume (receive).
Multimedia streaming is now a popular Internet service. However, efficient streaming to a large client population is hampered by server bandwidth constraints and the fact that IP-layer multicast is not universally supported. Peer-to-Peer collaborative streaming [8] is a promising solution to the problem of efficiency. In a P2P system, each peer requests multimedia content from specific supplying peers. Then, after receiving the data, the peer caches it in local storage so that the receiving peer can now become a new supplier for other peers.
Interactive Video on Demand (IVOD) is the standard version of video on demand with following features :
An important challenge in a P2P collaborative Video-on Demand streaming system is to develop an effective content distribution scheme that can support a dynamic network among peers, where autonomic peers can join or leave the system at any time and any place in the network.
The situation is further complicated by the need to support random access, such as the trick plays of pause/resume, jump, Fast Forward (FF), and rewind [D. Wang and J. Liu, 2008]. Such trick plays may occur frequently.
HTTP Live Streaming allows you to send live or prerecorded audio and video, with support for encryption and authentication, from an ordinary web server to any device running iOS, or any computer. HTTP Live Streaming [T.T. Do, K.A. Hua, and M.A. Tantaoui, 2004] is shown in Figure 2. Itconsists of three parts: Server component, Distribution component, and Client software.
Figure 2. Basic HTTP Streaming Configuration
The server component is responsible for taking input streams of media and encoding them digitally, encapsulating them in a format suitable for delivery, and preparing the encapsulated media for distribution. The distribution component consists of standard web servers.
The client software is responsible for determining the appropriate media to request, downloading those resources, and then reassembling them so that the media can be presented to the user in a continuous stream. Input can be live or from a prerecorded source. It is typically encoded as MPEG-4 and packaged in an MPEG-2 The server requires a media encoder, which can be off-the-shelf hardware, and a way to break the encoded media into segments and save them as files.The stream segmenter is a process—typically software—that reads the Transport Stream from the local network and divides it into a series of small media files of equal duration.
Even though each segment is in a separate file, video files are made from a continuous stream which can be reconstructed seamlessly. The file segmenter performs the same tasks as the stream segmenter, but it takes files as input instead of streams.The media segment files are normally produced by the stream segmenter, based on input from the encoder. The client software begins by fetching the index file, based on a URL identifying the stream. The index file in turn specifies the location of the available media files, decryption keys, and any alternate streams available. For the selected stream, the client downloads each available media file in sequence. Each file contains a consecutive segment of the stream. Once it has a sufficient amount of data downloaded, the client begins presenting the reassembled stream to the user. The client is responsible for fetching any decryption keys, authenticating or presenting a user interface to allow authentication, and decrypting media files as needed.
When a child peer wants to view a segment, it first locates the peers that have cached the requested segment and then makes a request to these peers for downloading and playing this segment. Figure 3 depicts the method and shows how it handles new segment searches or lost peers. When the child requests a new segment, it has to search for p new parents that have this new segment.
Figure 3. Basic Interleaving scheme
In basic interleaving scheme [Yung-Cheng Kao, Chung-Nan Lee, Peng-Jung and Hui-Hsiang Kao, 2012] each peer caches interleaving data from all segments of the video. Parent peer 1 caches the 1st block of all N segments, parent peer 2 caches the 2nd block of all N segments, . . . , parent peer M caches the Mth block of all N segments. When a newly arrived child connects to M parents each caches N blocks, they, together, cache all M_N blocks for N segments of the video.
Furthermore, whenever a parent holding block X of all segments leaves, the child peer pays the cost of locating a new parent that has the same block X. This motivated us to integrate linear network coding into the proposed basic interleaving scheme to further reduce the startup time and search cost. NCECD [Yung-Cheng Kao, Chung-Nan Lee, Peng-Jung and Hui-Hsiang Kao, 2012] uses a novel content distribution strategy to avoid the high new parent searching cost. Figure 3 shows the basic interleaving scheme
A novel based data distribution scheme called NCECD technique, provides interactive VoD services in a P2P network. In the NCECD scheme, videos are divided into smaller segments, which are further divided into blocks. The NCECD scheme applies network coding technology to generate several encoded blocks by combining the encoding of all blocks in one segment. These encoded blocks are distributed to peers on the system. A child peer needs only to find and link to a sufficient number of Parent peers to view the entire video, thus eliminates the search for new parent peers. In this way, interactive functionality can be supported efficiently.
Network coding techniques naturally provide failure-tolerant streaming services as a client on the system connecting to multiple Parent peers who have stored equivalent media data and are able to stream media data in parallel and collaboratively. An appropriate number of extra parent peers is found to provide low block loss probability. Experimental results shows that the NCECD scheme substantially relieves server stress by optimally matching supply of demand for segments in a P2P network. Simulation and analyses demonstrate that the proposed scheme outperforms other competing schemes such as VMesh, BBTU, and DSL in terms of start-up delay, jumping delay, and server stress. Additionally, NCECD can achieve very low block loss probabilities under various system parameters by connecting to an appropriate number of extra Parent peers, allow for failure-tolerant streaming services in a P2P network.
The dissemination of the media chunk over the Grid nodes is carried out “offline,” leading to a static distribution that is not able to respond to system overloading (for example, by using load-balancing techniques). Moreover, the adoption of a Grid node acting as a streaming proxy reduces the system reliability with respect. P2P architectures strongly improve the VOD system scalability in terms of both computational and storage requirements. In fact, when new users access the system, they add both streaming load and streaming capacity to the system. However, the highly dynamic characteristics of such systems (where peers suddenly enter and leave the network) can give rise to system instability and unreliability.
To reduce the cost of finding parents, the NCECD scheme utilizes linear network coding technology for media data distribution. When a sufficient number of encoded blocks are read from M different parents, the original segment can be decoded. The NCECD scheme is a significant advance over the approach shown in Figure. 4 Because it has a much faster parent search time. Whereas the basic interleaving scheme requires the child to find a specific parent with the desired block, the NCECD scheme does not require the search for specific parents. This scheme can naturally support Fast-Forward and Fast-Rewind (FR) operations [D. Wang and J. Liu,2008]. If the video is played in FF, then the video needs to be downloaded faster, necessitating a larger bandwidth.
Figure 4. Proposed NCECD scheme
One video is divided into N segments and each segment is divided into M blocks. Via network coding, M blocks of a segment become an encoded block. In this way, different encoding coefficients are used to generate Q independent encoded blocks. Each parent peer caches one encoded block; one child peer connects to M parent peers to receive M independent encoded blocks to decode original segment X.
When New users access the system, it involves the addition of streaming load and streaming capacity to the system. The following drawbacks are identified from the existing system.
The two tier architecture is extended to a three tier Grid Video, a Grid-based multimedia application for the distributed tailoring and streaming of media files. Relevant performance aspects are analysed, regarding both user-oriented (in terms of responsiveness) and provider-oriented (in terms of system efficiency) requirements. This focuses on mesh-based, or unstructured, P2P TV systems that adopt a swarm-like delivery of the video stream, based on organizing the information to be transmitted into small “chunks”. Different multimedia data dissemination strategies have been analysed and an innovative technique, based on the Fibonacci series, is proposed. To respond to the stringent Quality-Of-Service (QOS) requirements, typical of soft real-time applications, a reservation based architecture is presented. Such architecture is able to manage the Grid resource allocation, thus enabling the provisioning of advanced services with different QOS levels.
The design process must balance technical functionality and visual elements (e.g., mental model) to create a system that is not only operational but also usable and adaptable to changing user needs.
The Multimedia Upload activity copes with the storage of multimedia contents on the Grid. First of all, the original media file is uploaded in a Grid node and then split (Splitting phase) into number of chunks in order to allow the data dissemination and then the parallel tailoring at provision time. The chunk splitting has a critical role on the design of the whole application. In fact, the number of chunks and the adopted splitting strategies influence the system performances in terms, for example, of delays during the streaming. Finally, during the Storage phase, each chunk is sent to the Grid storage system and registered on the Replica Catalog. Scalability could be improved by creating more replicas of each chunk and by disseminating them in a geographically distributed manner.
Performance of the Grid- Video application is strictly influenced by the strategy adopted to split the media file into several chunks and to disseminate them among Grid nodes. First of all, the number of chunks used for the splitting improves the system performance, allowing the distributed and parallel execution of the tasks needed to the service provisioning.
Splitting strategies influence different aspects of the system performance by applying Fibonacci strategy to improve the streaming throughput. The initial delay perceived by user, the service continuity is improved by this FBCD strategy. This process helps to overhead due to the parallel execution, in terms of system efficiency. The size of the ith chunk is assumed to be proportional to the ith Fibonacci number, that is,
Where F(1) = 1, start with first chunk, F(2) = 1 , F(3) = 2 , F(4) = 3 and so on.
Figure 5. Network Coding Technique to encode video blocks
The middleware system maintains the video file list which uploads the video files from the middleware system to back up server system. When the client systems connect to the middleware to access the online videos the client should know the video files in server. The middleware system is responsible to show the video file list to the connected clients.
The Multimedia Streaming activity deals with end-user requests. Users request a content with specified characteristics (in terms of resolution, color depth, audio reproduction, and media format supported) using a GUI. The different chunks are then recovered and tailored, according to the requested characteristics, by a number of Grid nodes equal to the chunks number (Tailoring phase).
Once the first chapter has been tailored, the Streaming phase allows users to watch the entire stream in a transparent way over a set of plain connections. This gather the video files from different servers with in a network area. In this module various video chunks are stored in number of servers. When end user/client use our application list of videos, it will display in the user browsing window. The user can select any of the video from the window what he/she wish to watch, that particular file is send as a request to the middleware, that middleware tailors the chunks from different servers and response to the client those who request the video. The media player is not aware of the whole Grid Video architecture; in fact, the application automatically composes a playlist that contains the reference to each chunk in the correct order.
Multimedia streaming services involve stringent QOS requirements, typical of soft real-time applications. Parameters such as throughput have to be managed through a careful control of network resources (in terms, for example, of bandwidth) and through adoption of client-side mechanisms (i.e., buffers) able to overcome sudden service interruptions. One of the most critical aspects is related to job scheduling, due to best effort model adopted by current Grid middleware.
The proposed FBCD scheme is compared to some existing approaches, such as NCECD, Vmesh BBTU, and DSL. Performance is evaluated by executing the system and throughput is listed in Figure 6 which shows the comparison between NCECD and proposed FBCD scheme.
Figure 6. Throughput for FBCD and NCECD scheme.
First, we listed the startup and jump searching time, which only includes the delay for searching target Parent peers; we do not consider buffering or decoding time. Figure 7 lists the startup searching time, and Figure 8 shows the Jump delay under different average peer populations.
Figure 7. Startup delay under different average peer populations.
Figure 8. Jump delay under different average peer populations.
Table 1 shows the performance comparison between the NCECD and Proposed FBCD scheme. All the merits and demerits are analysed as shown in Table 1 which consists of the parameters such as Algorithm used, Prediction Accuracy, Loading & Buffering time, Server Type Chunk size, Optimization and Startup Delay.
Table 1. Performance Analysis
The system handles video streaming process for all websites where a novel data distribution scheme called NCECD technique is applied to handle the interactive VoD Streaming services in Peer to Peer systems. In the NCECD scheme, videos are divided into smaller segments, which are further divided into blocks. The NCECD scheme applies network coding technology to generate several encoded blocks by combining the encoding of all blocks in one segment. In this way, interactive functionality can be supported efficiently. Network coding techniques naturally provide failure-tolerant streaming services as a client on the system connecting to multiple Parent peers who have stored equivalent media data and are able to stream media data parallel and collaboratively.
The second phase extends on reducing the loading and buffering time, start-up and jumping delay by applying Fibonacci strategy to improve the streaming throughput. Being Grid Video a distributed Grid-based multimedia streaming system, other issues are also involved in the provisioning of QOS guaranteed services. In fact, the proposed distributed tailoring approach calls for an accurate management of the Grid resources that can strongly influence both the system responsiveness and the service continuity.