Issues Video Streaming Services Over Manets

Print   

02 Nov 2017

Disclaimer:
This essay has been written and submitted by students and is not an example of our work. Please click this link to view samples of our professional work witten by our professional essay writers. Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of EssayCompany.

CHAPTER 2

In recent years, the demand for multimedia services has increased exponentially and its requirement is essential in deploying the video-streaming services over MANETs. Video formats to create a video-streaming service, video platforms and formats are reviewed.

There exist different formats, the most popular ones are as follows

• Adobe Flash

• Windows Media

• RealMedia

• MPEG

• Quicktime

Each one of these video formats has advantages and disadvantages in terms of performance.

The methods used to transmit a video file are

MPEG-4 Download: The file is downloaded completely by the receiver user, and once it has completely been received the file can be played.

Progressive download: The file is downloaded although in this case playing begins as soon as there is certain number of frames to start the reproduction. Additionally, all the video is being stored in local memory, so that the user is able to replay previous scenes of the video. Receiver buffers are used to achieve this (e.g. YouTube service).

Streaming: Users can start playing practically as soon as the transmission starts. There are no waiting times associated. It can be used to broadcast live events or TV channels, for instance. The video is not stored in memory, and so replaying previous scenes is not possible. Anyhow, a very small buffer is needed to store just a few frames in order to avoid unpleasant gaps.

The use of MPEG-2 is hierarchically scalable for multi-layer encoded video format [1], Due to its low Central Processing Unit (CPU) decoding requirements. This feature is of major importance since the devices involved in typical adhoc scenarios may have low CPU power.

2.1.1 MPEG-2 format

MPEG stands for Moving Picture Experts Group (MPEG). It is a standard method to transmit digital video and audio in a compressed format using less bandwidth as compared with the traditional analog method. MPEG-2 is becoming the de-facto standard in the digital TV world [2]. MPEG-2 fixes many of the problems inherent in MPEG-1, such as resolution, scalability and handling of interlaced video. It allows for a much better picture (studio quality and up to HDTV -High Definition TV- levels) and allows multiple channels at various bitrates to be multiplexed into a single data stream. It was officially adopted by International Organization for Standardization (ISO) and has the catalog number ISO 13818-1. It is less powerful than MPEG-4, but it also requires less CPU power.

2.1.2 MPEG-4 format

The MPEG-4 standard defines three types of video frames for the compressed video stream, which includes Intra-coded(I) frame, Predictive-coded(P) frame, and Bi-directionally predictive-coded (B) frame.

The MPEG I frame is just a frame coded as a still image, without any relationship to any previous or successive frames which is encoded independently and decoded by itself. The P frame requires the information of the most recent I frame or P frame for encoding and decoding using prediction from the preceding I or P frame in the video sequence. The B frame is encoded using predictions from the preceding and succeeding I or P frames. According to the coding relation, in MPEG-4 video stream the most important video type is the I frame, with the P frame being more important than B frame.

The video sequence can be decomposed into smaller units, Group Of Picture (GOP), similar to a deterministic periodic sequence of frames. A GOP pattern is characterized by two parameters, G (N, M): N is the I-to-I frame distance and M is the I-to-P frame distance. For example, G (9, 3) means that the GOP includes one I frame, two P frames, and six B frames. Similarly, the second I frame in the figure marks the beginning of the next GOP. The arrows indicate that the B frames and P frames decoded are dependent on the preceding or succeeding I or P frames.

2.1.3 QoS support for video-streaming

The common technique used to assist the provision of QoS to video-streaming services is video compression and application-layer QoS control techniques.

Video compression

Video compression techniques are employed to reduce the amount of data when storing digital video images. Most widely used video compression codecs are Divx, Xvid, FFmpeg MPEG-4 and 3ivx. They are different implementations of MPEG-4.

Application-layer QoS control

Application layer techniques assist the provision of QoS in order to control packet losses and transmission delays due to network congestion. They can be classified into congestion control mechanisms and error Control mechanisms. The congestion control mechanisms can be further classified into rate Control methods and rate shaping methods whereas error Control mechanisms comprise Forward Error Correction (FEC), Automatic Repeat Request (ARQ), Error Resilient Coding and Error Concealment.

Rate control can be done either by the source or the receiver, or by both. Source based rate control techniques are either probe based or model based. Probes based approaches at the source, are experimental in nature and rely on obtaining feedback from the receiver in order to adapt to the sending rate to the network bandwidth, whereas model based approaches are based on the throughput model of the TCP.

Receiver based rate control mechanisms require that the source should transmit data in separate levels of different quality. If the receiver detects no congestion then it optionally can increase the service quality (e.g. it adds an enhancement level to the video flow) in order to improve the visual quality of the video, whereas if congestion is detected then the receiver can just perform a graceful degradation of the visual quality of the video. A hybrid approach in which both the source and receiver cooperate to achieve rate control is also prevalent. Rate shaping is another technique used to perform congestion control. The basic idea behind it is to adapt the transmission rate according to the different bandwidth requirements.

Error control techniques that employ FEC add redundant information to the bit stream in order to facilitate the reconstruction of the data in case of packet losses. Retransmission schemes (ARQ) are applicable only in scenarios where it is possible to obtain a lost packet through retransmission without violating its presentation deadline.

Error resilient techniques employ multiple encoding description methods to compensate packet losses. Finally, Error Concealment methods use spatial and temporal interpolation to reconstruct the lost information within or between video frames. In this section, a remark on Multiple Description Coding as a technique to enhance the performance of vide-streaming services is discussed. Our framework has been built over a multipath routing scheme.

MDC has traditionally been considered for non-real-time data transmission, where the traffic is split on the bit level in a random manner. For transmission of compressed video streams obtained using temporal prediction and variable length coding, such as random splitting, can make the received information bits on one path useless, if any bit in the other path is lost. Therefore, one must jointly design source coding and traffic splitting strategies for multipath transmission.

Two viable options for source coding are Multiple Description Coding (MDC) and layered Coding (LC). Both the techniques produce multiple sub-streams that can be carried on separate paths. MDC is an alternative to the layered coding for streaming video over unreliable channels. With MDC, the sub-streams (each called a description) have equal importance in the sense that each received description alone can guarantee a basic level of reconstruction quality, and additional description can further improve the quality. As the loss of one description does not influence other descriptions, a lost packet in any path does not require any retransmission. On the other hand, with Layered Coding, the base-layer stream is more important and can provide a basic level of quality, whereas remaining enhancement-layer streams serve to refine the base-layer quality and the enhancement layers alone are not useful. The path carrying the base-layer packets should have a higher reliability, either naturally or through Forward Error Correction (FEC) and any lost base-layer packets should ideally be retransmitted. Obviously, the choice of the coding strategy depends on the path conditions and the delay required of the underlying application. So to achieve low delay and good quality multimedia streaming, MDC in Application Layer is used

Multiple Description Coding:

Most of the coding and transmission schemes proposed for image and video transport over wireless channels employ layered coding with unequal error protection[3]–[5]. A signal is split into a base layer and one or more enhancement layers in the scheme. The base layer is transmitted with a high priority and with strong error protection, including the use of automatic repeat request (ARQ), while the enhancement layer is transmitted with fewer error control bits and is simply discarded in the case of channel congestion. These methods can tolerate a certain degree of burst errors. There will be a break down if the channel carrying the most important layer fails. To overcome a path failure, one could switch over to an alternative route, this may take an unacceptably long period of time. The use of Multiple Descriptions Coding (MDC) for compression of image and video signals enhance the robustness to channel errors and failures. A better signal reproduction is achieved with more descriptions of MDC, and the quality of the decoded signal is acceptable even with only one description. MDC was first studied from the rate-distortion point of view [6]–[8]. Many practical coders have been developed since then, including [9]–[14]. A comprehensive review of MDC principle, theoretical bound, and practical multiple description (MD) coders can be found in [15].

An MD coder can directly produce multiple coded streams from a given signal. It first decomposes the signal into multiple subsignals and then codes each signal independently. The decomposition should be nonhierarchical so that the reconstructed signal from any one description is acceptable under a prescribed criterion. Such a decomposition is very different from the commonly used transform/subband type of decomposition, which is hierarchical in that some subsignals are more important than the others. Although hierarchical decomposition can lead to greater compression gains, it requires that the channel carrying the most important subsignal be essentially error-free.

[16] Ali C-Began et al, proposed a packet scheduling algorithm that maximizes the quality of video rendered at the client under the given rate constraint. The proposed algorithm jointly considers the timeliness requirement of the streaming application, dependency structure of the streamed video, network conditions as well as the error resilience features of MDC. [17] Shiven Mao et al, proposed a system to combine multistream coding with multipath transport, to show that, in addition to traditional error control techniques, path diversity provides an effective means to combat transmission error in ad-hoc networks. The feedback based reference picture selection, layered coding with selective automatic repeat request, and multiple description motion compensation coding are examined and these techniques are based on the motion compensated prediction technique found in the modern video coding. [18] Ali.C.Began et al, proposed a new framework for multimedia streaming that integrates the application and network layer functionalities to meet such stringent application requirement on delay and losses. The multiple description source code is used to produce multiple independently decodable streams that are routed over partially link disjoint paths to combat busty packet losses.

[19] Sudheendra Murthy et al, has proposed different metrics for multipath computations that should be used when different schemes such as MDC & layered coding are used for video encoding. [20] Shernan Lin et al has proposed a feedback reference picture selection scheme for video transmission over adhoc networks. The encoded video streams are transmitted over multiple paths and the reference frames for motion compensation predictions are selected according to the feedback information about the path conditions.

[21] Yiting Liao et al, proposed a Refined Error Concealment(REC)methods on a Macro block (MB)basis for a popular MDC method called Multiple State Video Coding(MSVC)to improve the transmitted video quality over the lazy network. The performance of the MSVC method with refined error concealment(MSCV REC) was evaluated over two-hop, two path wireless adhoc network models.

[22] Yao Wang et al, proposed a multiple description video coding that employs a second order predictor for motion compensation, where the coder generates two descriptions containing the coded even and odd frames. The previous even frames are used for prediction by the decoder when only a single description containing even frames is received. The mismatch between the predicted frames at the encoder and decoder is explicitly coded to avoid error propagation in the ideal MD channels. When packets in either description are lost, the second order predictor is used along with coded mismatch signal, to suppress the error propogation. The objective of MDC is to encode a source into two bit streams such that a high-quality reconstruction is decodable.

[23] Brian A. Heng et al, proposed an adaptive MD coding approach which adapts the use of adaptive MD mode selection. The encoder of the system is able to accurately estimate the expected end-to-end distortion, accounting for both compression and packet loss-induced distortions, as well as for the bursty nature of channel losses and the effective use of multiple transmission paths. In the expected end-to-end distortion, the encoder selects between MD coding modes in a Rate-Distortion (R-D) optimized manner. The approach adapts to both the local characteristics of the video and network conditions and demonstrates the resulting gains in performance using an H.264-based adaptive MD video coder.

[24] Shiwen Mao et al, proposed a new video coding technique called MD coding that is uniquely suitable for video transport over wireless adhoc networks. The supporting of video multicast with MD video in adhoc networks has been discussed. It also proposes an MD video multicast scheme where multiple source trees are used. Each video description is coded into multiple layers in order to cope with diversity in wireless link bandwidths. This multicast model uses the cross-layer multicast routing as a combinatorial optimization problem and an efficient Genetic Algorithm (GA)-based metaheuristic solution procedure were formulated. Performance comparison with existing approaches show significant gains for a wide range of network operating conditions.

[25] David Comas et al, proposed an unbalanced MDC video system where two bitstreams are generated, both independently decodable and compliant with the standard H.263 video decoder, the performance of the system in providing robustness in transmission over a packet network was carried out. Prediction loop mismatch problem is the major limitation of this work. The work also demonstrates that it is possible to achieve some robustness with MDC while preserving few features with the existing standard codecs. In an unbalanced MDC system, (D0=D1<D2), one of the descriptions has a high quality and the other a low, but an acceptable quality. The Low-Resolution (LR) description is explicitly used for redundancy, in order to perform decoding when there is loss in the high-resolution description (HR). The H.263 video encoder is used to generate the HR description. The LR description uses the syntax of H.263 but is not obtained from a standard H.263 encoder; rather it is obtained from parsing the HR stream. A H.263 decoder can decode the LR stream, but unlike LR signals in layered coding, is not meant to be usable by itself. The system avoids prediction loop mismatch problem because its central decoder is the same as the high resolution decoder. The LR description is used only for the lost data in the HR description.

[26] John G. Apostolopoulos et al, proposed a Content Delivery Networks (CDNs) that is widely used to provide reduced delay and packet loss, fault tolerance, and improved scalability for web content delivery. Moreover CDNs were developed to overcome performance problems, such as network congestion and server overload, that arise when many users access popular content. CDNs improve end-user performance by caching popular content on edge servers located closer to users. For the benefits of video streaming John has designed a Streaming Media CDN (SM-CDN) for either conventional Single Description (SD) or Multiple Description (MD) coding. When the precise information about network conditions and topology are known,the performance of MD-SM-CDN provides reduced distortion, when compared with a conventional SD-SM-CDN.

MDC at Application layer with UDPLite at transport layer and Multipath Routing in Network Layer will provide a good quality of video streaming, in the section 2.2 Transport layer issues and in section 2.3 Network layer issues will be discussed.

2.2 TRANSPORT PROTOCOL

The notion of application-layer over transport-layer protection is not new and hence traditional real- time multimedia services have been realized as Real-time Transport Protocol (RTP) over User Datagram Protocol (UDP).

The table 2.1 denotes the requirements and characteristics of transport protocol

Requirements

Characteristics

Transport protocol

Classification according to the traffic profile:

continuous data sources

eg: Real time simulations

on-off data sources

eg: Audio conferencing

variable length packet

eg: Digitized video

Voice quality is characterized in terms of:

Qualitative measures:

Voice fidelity and intelligibility

Quantitative measures:

Reflect the performance of the underlying transport mechanisms.

Classification:

Transmission control protocol (TCP)

User datagram protocol (UDP)

Bandwidth :

Large (1-10 Mbps) for continuous data sources

Performance metrics:

Packet loss and end-to-end delay

Real-time Transport Protocol (RTP) is an application layer protocol that supports real-time traffic when UDP is used.

Due to bandwidth limitations of wireless networks, bandwidth reservation at peak-rates leads to poor utilization

Range of end-to-end delay:(ITU recommendation)

Less than 150ms – toll quality speech

150-200ms - cause degradation of voice quality but are still acceptable in international calls and satellite transmission.

More than 300ms - significant voice quality degradation

100ms – for an effective jitter buffer

Transmission control protocol (TCP) :

Provides a reliable connection between the hosts and guarantees packet delivery in order

Reliable data transfer is achieved using acknowledgements and packet retransmissions.

TCP HEADER:

Connection is identified by the source and the destination IP addresses and port numbers

Protection of the data by checksum with flow and congestion control.

The TCP header is at least 20 bytes long.

The optional field in the header is used for extensions to TCP as described in RFC 2018 [24] and RFC 768 [25].

Delay sensitivity:

End-to-end: Total delay experienced by a packet that consists of compression (decompression), packetization (depacketization), propagation and queuing delays.

Delay variation(jitter) : Non-uniform arrival of packets at the destination (jitter).

USER DATAGRAM

PROTOCOL (UDP) :

connectionless unreliable service with low overhead

UDP HEADER:

Header length is 8 bytes and consists of four fields, each being two bytes in length. These fields are source and destination port numbers, length of the entire UDP segment, and an optional checksum.

Table 2.1. Overview of Transport Protocol

RTP [30] is designed to handle end-to-end network transport functions for real-time applications by using sequence numbers and timestamps. The sequence numbers help solve the problems of packet loss, duplication and out-of-order delivery. The lost packets are detected and replaced by dummy packets while the out-of-order packets, if not too late, are reordered in a buffer. The timestamp is used for packet synchronization at the destination using a delay buffer.

The Real-Time Transport Control Protocol (RTCP) is a companion protocol to RTP. Each connection participant periodically issues an RTCP packet to provide information about the quality of reception. The primary function of RTCP is to provide feedback on the quality of service (QoS) in media distribution by periodically sending statistics information to participants in a streaming multimedia session.

An important issue for the implementation of IP/UDP/RTP is the associated overhead, a total of 40 bytes (20+8+12). The problem becomes larger in the case of voice traffic due to small payload sizes, usually 20-30 bytes. However, the compression of IP, UDP and RTP headers on a link-by-link basis reduces the total overhead to two bytes when no UDP checksums are sent and to four bytes when the checksums are sent [31].

The header compression helps RTP run more efficiently, especially over low speed links where both the associated overhead and transmission delay are reduced significantly. On the other hand, the compression of the packet header adds significant complexity in the case of multi hop networks because each intermediate node has to decompress and then compress a packet before its transmission to the next node.

User Datagram Protocol (UDP) is an unreliable protocol that is suitable for delay sensitive applications such as real-time media applications that are sensitive to network delays and do not benefit from retransmission in case of packet loss / error.

UDPLite is an extension to UDP that needs damaged data to be delivered rather than discarded by networks, so it allows partial checksums on multimedia data by enabling the applications to specify, the sensitive and insensitive parts of the multimedia stream on a per-packet basis.

The UDPLite protocol allows the application layer to receive the corrupted packets instead of dropping them. This is achieved by a partial checksum which covers only a fixed amount of sensitive data.

A wireless video system had been built using the error resilient low bit rate video coder by implementing UDPLite and PPPLite in transport and link layer protocols for cellular video was discussed in [32]. The H.264 had been transmitted for video over an adhoc scenario using UDPLite has reduced retransmission using unequal error protection was discussed in [33].

A multimedia network ASIC design had been implemented that includes the characteristics of H.264 with UDPLite to reduce packet loss was discussed in [34].

2.3 NETWORK LAYER ISSUES

Routing is a technique used by the network to determine a path for packets from a source to a destination. In each node, destination address is examined by the router and through that the packets are forwarded. The routing information is related to the topology and conditions of the network. The routing information needs to be updated frequently in a MANET where the topology changes, are compared with the fixed networks.

2.3.1 Conventional Routing Protocols [35]

In the Network layer, there are two types of widely used routing protocols in packet switched networks:

Link state routing algorithms: In link-state routing, each router maintains a database that describes the topology of the entire network with a cost for each link. Whenever the network topology is changed, a message known as Link State Advertisement (LSA) floods throughout the network. The nodes take the information and update their database by using the shortest path algorithm, usually Dijkstra’s, to estimate the next hop for each destination.

Distance vector routing algorithms: In distance vector routing, each node informs its neighbors of its routing table by periodically broadcasting an estimate of the shortest distance to every other node in the network. Each router, as it receives an update for each destination in each table, compares the metric in its table with that in the neighbor’s table plus the cost of reaching that neighbor. These protocols are based on the distributed Belman-Ford routing algorithm.

Link state protocols compared to distance vector are more stable, have faster convergence and discover more easily a network topology. On the other hand, distance vector protocols are easier to implement and require less memory. Finally, the associated overhead in distance vector protocols is constant regardless of the amount of topology changes in the network.

2.3.2 Overview of adhoc Routing Protocols

In [35], [36] Due to the distinct characteristics of MANETs, the design of an efficient routing protocol is a challenging task. The main reason is that the traditional routing protocols described above are designed for a relatively stable network topology. In addition, the conventional protocols rely on some form of distributed routing databases. The MANETs cannot be assumed to have persistent data storage, and they cannot always be trusted routers.

The basic difference between the on-demand and a table-driven category is related to the way the routing information is collected. On-demand routing protocols collect routing information only when needed by using the route discovery procedure. On the other hand, table-driven protocols constantly propagate routing information.

Table-driven routing protocols, such as Dynamic Destination Distance Vector (DSDV) [37,38] and Wireless Routing Protocol (WRP), continuously evaluates and routes (proactive). In contrast, on-demand or source-initiated protocols creates and routes only when needed (reactive)

2.3.3 Proactive protocols:

The main concept of these protocols is to continuously monitor the network status by flooding with routing messages, to know the routes to all the nodes in the network from each one of the nodes. Those routes are stored in route tables at each node and they are updated frequently in order to have consistent information about the network. The fact of having this information stored in tables decrease the delay to find a path to a node when required. However, high overhead is incurred on the network in comparison with the overhead of reactive protocols. Paths found to other nodes can be multiple, but usually the shortest one is used, as it has a lower breakage probability than a longer path.

The main differences among these protocols are the number of tables a node contains, the information stored in those tables and the way of maintaining them updated. Some examples of proactive protocols are as follows

Destination-Sequenced Distance Vector (DSDV), 1994 [37].

Adaptative Distance Vector (ADV), 2000 [38].

Distance Routing Effect Algorithm Mobility (DREAM), 1998 [39].

Hierarchical State Routing (HSR), 2000 [40].

Multimedia support in Mobile Wireless Networks (MMWN), 1998 [41].

Optimized Link State Routing (OLSR), 2003 [42].

Source-Tree Adaptative Routing (STAR), 1999 [43].

Topology Dissemination Based on Reverse-Path Forwarding (TBRPF),

In contrast, on-demand or source-initiated protocols creates and routes only when needed (reactive).

2.3.4 Reactive protocols:

Discover the route to a node only when source requires it. Then, a route discovery is launched and a route reply is expected. Unfortunately, the route discovery process introduces a delay in the transmission of the packet. The advantage is that reactive protocols add lower routing information overhead than proactive protocols. Latency in the network is lower than that of proactive protocols, as routes are established just before sending a packet.

Reactive protocols suitable for MANETs are:

The few examples of reactive protocols suitable for MANETS are as follows

adhoc on Demand Distance Vector Routing (AODV), 2003 [44].

Associativity-Based Routing (ABR),1996 [45].

Cluster-Based Routing Protocol (CBRP), 1999 [46].

Dynamic MANET On demand (DYMO), 2005 [47]

Dynamic Source Routing (DSR), 2004 [48].

Location-Aided Routing

Protocols that belong to this category are Dynamic Source Routing (DSR), Temporary Ordered Routing Algorithm (TORA) and Associative Based Routing (ABR). Finally, hybrid routing protocols, such as adhoc On-demand Distance Vector (AODV) [44] and Zone Routing Protocol (ZRP) [49], have both proactive and reactive characteristics.

The DSDV is the only suitable proactive protocol when a reasonable time is allowed in order to converge. DSR and AODV provide the best performance in most scenarios according to simulation studies [35]. Notably, DSR outperforms AODV in lower traffic density and mobility and when the number and size of the network is low (e.g., less than 20 nodes). The main drawback of DSR that leads to performance degradation in large or multihop networks is the need to include the entire route in each packet. ZRP divides the network into zones/clusters and provides a good solution for large networks using a reactive approach for routing between the zones and proactive approach within a zone.

Clearly none of the proposed adhoc routing protocols provide the best performance in all scenarios. Certain protocols are well suited for specific situations. In this thesis, the Split Multipath Multimedia Dynamic Source Routing protocol (SMMDSR), a DSR-based routing protocol is able to improve the performance of video streaming services by applying cross layer algorithms and multipath routing techniques. Multipath schemes are used to increase robustness of the ongoing communications as well as to keep the load balance. The Classification of adhoc routing protocols are as shown in Figure 2.1

Figure 2.1: Classification of adhoc routing protocols

2.3.5 Dynamic Source Routing (DSR) [35], [36]

The DSR is a reactive protocol, its operation is based on source routing. In source routing, each packet carries a list of the nodes leading to the destination in its header. Each node updates its route cache whenever a new route is learned. If a source node has a packet to send and no route is available to the destination in its cache, it floods the network with a Route Request (RREQ) packet, which contains the address of both the sender and the destination. The nodes that receive the RREQ, if they do not know a route to the destination, forward the RREQ packet after adding their own address to the list. In order to reduce the control packets in the network, a DSR node does not forward a RREQ packet when it finds its own address in the list. Finally, a reply packet is sent back to the source by either an intermediate node, which knows a route to the destination by the destination.

Multipath routing

Victoria carascal et al, proposed a multipath routing as a technique to enhance the performance of video-streaming services. There are several proposals of routing protocols exploiting path diversity in adhoc networks, such as [50]-[55]. Many proposals are modifications or extensions of well-known unipath routing protocols, such as AODV [44] or DSR [48]. In [56] the author used DSR protocol to find two disjoint paths between two nodes, using two consecutive RREQ messages. Finding disjoint paths over adhoc networks is a difficult task specially on low density networks, as it is difficult to obtain two paths that do not share any node.

In general, adhoc routing algorithms have the ability to just discover more than one path, if they exist. This is mainly due to the broadcast characteristic of the wireless interfaces and the flooding mechanisms used for path discovery. Unipath adhoc routing protocols enable and maintain just one path for data transmission between sender and receiver (usually the shortest path with respect to a specific metric or a set of metrics). On the other hand, multipath routing protocols try to find several (or all the possible) paths existing during the discovery phase between the sender and receiver (again, based on a certain metric or set of metrics).

Multipath routing protocols are of greater interest in finding every path between source and destination hosts. This is important to avoid failure at possible critical points. Multiple paths between sender and receiver can be robust in the network by allowing a fast path recovery in case of failures. Path diversity also makes it possible to manage the applications which require some minimum resources that cannot be provided by just one path (e.g. bandwidth), by transmitting data through several paths simultaneously from source to destination. In addition, multipath routing can enable load balancing mechanisms, which is an important feature for multimedia applications over MANETs.

[57] Peter P. Pham et al, analyzed and compare a reactive single-path and multi-path routing with load balance mechanisms in adhoc networks, in terms of overhead, traffic distribution and connection throughput. The comparison has been made with general single-path routing protocol and multipath routing mechanism that creates many overheads but provides better performance in congestion and capacity.

[58] Shigang Chen et al, proposed a distributed QoS routing scheme that selects a network path with sufficient resources to satisfy a certain delay (or bandwidth) requirement in a dynamic multihop mobile environment. The algorithms work with imprecise state information. Multiple paths are searched in parallel to find the most qualified one. Fault tolerance techniques are brought in for the maintenance of the routing paths when the nodes move, join, or leave the network. The algorithms consider not only the QoS requirement, but also the cost optimality of the routing path to improve the overall network performance. The algorithms can tolerate a high degree of imprecision in the information. This way, applications can obtain better throughput as well as decrease the end-to-end delay.

Multipath routing and load balancing using multiple description video streams in adhoc networks makes possible to achieve QoS provision and transmission security enforcement [59].

[60] Nitin Gogate et al, proposed a system that combines MDC and Multiple Path Transport (MPT) for video and image transmission in a multihop mobile radio network. The video and image information is encoded nonhierarchically into multiple descriptions with the following objectives. The received picture quality should be acceptable, even if only one description is received and every additional received description contributes to the enhanced picture quality. Typical applications will need a higher bandwidth/higher reliability connection than that provided by a single link in the current mobile networks. For supporting these applications, a mobile node may need to set up and use multiple paths to the desired destination, either simply because of the lack of raw bandwidth on a single channel or because of its poor error characteristics, which will reduce its effective throughput. The proposed architecture by Nitin et al provided high bandwidth and more robust end-to-end connections

Monica Aguilar Igartua , Víctor Carrascal Frías proposed a routing protocol which is able to self-configure dynamically depending on the state of the network. An analytical model is used to estimate the path error probability and used by the routing scheme to estimate the lifetime of the paths. The limitation is special type of packet called probing packet is sent periodically to each path to estimate the RTT for each path which takes more time[61].

Shiwen Mao, Shunan Lin, Shivendra S. Panwar proposed multiple description motion compensation coding with path diversity and this scheme provides an effective means to combat transmission error in ad hoc networks the limitation is sending feedback is an overhead in MANETS[17].

Gui XieM. N. S. Swamy, and M. Omair Ahmad proposed a minimal possible distortion due to the packet skipping prior to the transmission and the distortion introduced during the transmission, which can be achieved by computing the optimal skipping pattern for the path . The limitation is suitable to be implemented with the proactive ad hoc routing paradigm not for reactive protocol[62].

Shiwen Mao; Hou, Y.T proposed an Application-centric cross-layer approach by formulating an optimal routing problem that minimized the application layer video distortion by the GA-based approach. The limitation is suitable for proactive adhoc routing paradigm not for reactive protocol[63].

Wei Wei and Avideh Zakhor proposed an A heuristic interference-aware multipath routing protocol based on the estimation of concurrent packet drop probability of two paths, taking into account interference between links. The limitation is mac layer retransmissions are required increasing the flow rate little by little which are all not possible in MANETS[64].

Muñoz et al developed a cross-layer design with a routing protocol for video-streaming service characteristics . no extra signaling overhead has been introduced to monitor reputation since standard video-streaming end-to-end signaling has been used [65]..

Wen-Jiin Tsai et al developed a joint spatial-temporal estimation method which takes advantages of data correlation in these two domains for better recovery of the lost information. The method is designed for the hybrid multiple description coding which splits video signals along spatial and temporal dimensions. In particular, the proposed method includes fixed and content-adaptive approaches for estimation method selection. The fixed approach selects the estimation method based on description loss cases, while the adaptive approach selects the method according to pixel gradients[66]..

Pengye Xia et al has done a work called simulated annealing for MDC bandwidth assignment (SAMBA) to assign bandwidth to each description given the distribution of user bandwidth requirement. A receiver, depending on its available bandwidth, joins different descriptions to meet their bandwidth requirements. But this concept suits well when the number of descriptions is smaller[67].

Chunyu Lin et al worked out a concept called novel multiple description video coding scheme which has been proposed to insert and control the redundancy at macro block (MB) level. By analyzing the error propagation paths, the relative importance of each MB is determined. The paths, in practice, depend on both the video content and the adopted video coder. Considering the relative importance of the MB and the network status, an unequal protection for the video data can be realized to exploit the redundancy effectively. In addition, a simple and effective approach has been introduced to tune the quantization parameter for the variable rate coding case.[68].

Biswas et al developed a modified tree structure for 3D-SPIHT for MD coding. A branch-pruning technique to generate multiple descriptions. rate-distortion optimization has been incorporated into the MDC framework to develop an efficient MD video coding system[69]..

Jurca et al had chosen a streaming policy which consists of a joint selection of the network path and of the video packets to be transmitted, along with their sending time. A careful timing analysis has been done to compute the quality perceived by the receiver for a constrained playback delay, as a function of the streaming policy. An optimization problem has been derived based on a video abstraction model, under the assumption that the server knows, or can predict accurately the state of the network[70]..

Ahuja et al considered the problem of placing a set of servers in the network such that a desired quality of service can be provided to a community of clients that request MDC-coded traffic. They formulate d the server placement (SP) problem, with the goal of identifying the minimum number of server locations that can provide r descriptions to a set of clients such that the delay associated with each path from a chosen server location to a given client is bounded by a given delay constraint[71].

Yiting Liao; Gibson, J.D et al Routing-aware MDC (RAMDC) approach with MPT to alleviate error propagation caused by packet losses. This approach uses ad-hoc routing messages available in the standard routing protocols to estimate the packet loss and then select the reference frames accordingly. The limitation is estimation of the frame loss probability, and applying a threshold-based algorithm to select the reference frames to mitigate error propagation takes more time. If 2 paths fail at the same, Losses will be more [72].

A Mathematical formulation had been done to optimize the video distortion in the context of path selection and rate allocation. Different sessions may choose different paths for rate allocation but it takes more computation time. Decoding deadline sets a maximum delay bound for a packet to be delivered to the receiver. Delays on each link due to interactions among competing video session are considered. Three paths per session are considered, decoding deadlines for a packet is given a maximum value as 0.2 for packets thereby decreasing the distortion. The limitation is cannot be used for mobile adhoc networks [73].

The algorithm explicitly considers packet-based distortion impact and delay constraints in assigning priorities to the various packets and then relies on priority queuing to drive the optimization of the various users transmission strategies across the protocol layers as well as across the multi-hop network.

The solution is enabled by the scalable coding of the video content (i.e. users can transmit and consume video at different quality levels) and the cross-layer optimization strategies, which allow priority-based adaptation to varying channel conditions and available resources.

The cross layer strategies – application layer packet scheduling, the policy for choosing the relays, the MAC retransmission strategies, the PHY modulation and coding schemes – are optimized per packet, at each node, in a distributed manner. The solution is a low-complexity, distributed, and dynamic routing algorithm, which relies on prioritized queuing to select the path and time reservation for the various packets, while explicitly considering instantaneous channel conditions, queuing delays and the resulting interference. The Limitation is not suitable for mobile adhoc network because it takes more time for the user to get the data since packet retransmission strategies are involved [74] .

A protocol that employs a reliable form of one-hop broadcast to build an efficient overlay network according to a multi-objective function that minimizes the number of packets injected in the network and maximizes the path diversity among descriptions has been discussed. Moreover a cross-layer congestion control strategy where the MAC layer is video-coding aware and adjusts its transmission parameters (namely, the RTS retry limit) via congestion/distortion optimization have also been dealt.

The limitation is multitude of mobile nodes are connected by wireless links in a mesh topology the nodes are placed randomly in a fixed-size playground and this is not suitable for mobile adhoc networks [75]. Congestion avoidance is also implemented in Network layer by QoS protocols.

OVERVIEW of QoS Protocols

Two widely used protocols for providing QoS are the Resource ReserVation Protocol (RSVP) and Differentiated Services (DiffServ). RSVP [76] provides QoS by reserving resources, such as bandwidth, during the signaling process. The source sends a PATH message to the receiver(s) containing the traffic specification information, such as upper and lower bounds of bandwidth, delay and jitter. The receivers send a RESV message that consists of the traffic specification and a request specification containing the packets for which the reservation is being made along with the type of service. When each intermediate router receives the RESV message, it sends a request to the next router. If the request is satisfied for the type of packets to whom the reservation is being made, the router sends the PATH upstream to the next router; otherwise, it returns an error back to the receiver. If the last intermediate router accepts the request, it sends a confirmation message back to the receiver and the path is established. RSVP allocates resources to individual flows, which can lead to scalability limitations since signaling information between the routers increase proportionally to the number of flows. Two reasons make this solution unsuitable for MANETs. First, MANETs are bandwidth limited, and the associated overhead from control (signaling) packets may causing congestion in the network. Second, topology changes often cause established routes to fail [77]. In contrast, in DiffServ [78], the need for per-flow resource reservations as well as signaling in each router along a data path are eliminated. Traffic is divided into a small number of forwarding classes that have similar QoS requirements, and resources are allocated on a per-class basis. Most classification and policing are done at the network edge. The classified and marked packets at the boundary of the network in ingress nodes receive a different Per-Hop forwarding Behavior (PHB) in interior nodes. The packet classifier selects packets in a traffic stream based on information in the packet header, such as the flow ID field in IPv6 or the Type of Service (ToS) field in IPv4. To address the issue of providing a QoS support for the transmission of flows from applications with different QoS requirements, different approaches are currently being developed, such as adaptive applications [79,80] proposed by C. Diot et al and M. D. de Amorim et. al E. Crawley et. Al., Costa et. Al.proposed a QoS-based routing [81,82], Blake et. al proposed the Differentiated Services (DS) architecture [83].

The DS proposal provides scalable discriminated services because there is no need of either one state per flow or signaling at every hop. The treatment offered by a DS compliant node is applied to an aggregation of flows, not to individual flows. Individual flows are classified into aggregations of related flows that will be differentially served within a DS domain. Aggregations are forwarded at each node within a DS domain following a Per-Hop Behavior (PHB). The PHB is selected by a mapping between a code point that identifies the aggregation and the expected behavior has been proposed by Jacobson et al [84]. The two PHBs are proposed by Davie et al. and Heinanen et al., as the Expedited Forwarding (EF) PHB [85,86] and Ziviani et al proposed the Assured Forwarding (AF) PHB [87]. Although papers by Dovrolis et al, Hao et al, Ziviani et al and Koenen et al [88,89,90,91] analyze distinct aspects of differentiated services, but the transmission of video traffic over a DS enabled network is not well explored.

2.4.1 QoS Schemes

The implementation of QoS protocols involves specific rules based on queuing algorithms that sort the arriving packets and/or prioritize them onto output links. These algorithms are called congestion control algorithms which can be divided into two categories: queue management and scheduling. Queue management QoS algorithms drop packets when necessary or appropriate in order to manage the length of the queue. Scheduling algorithms manage the allocation of the bandwidth among flows by determining which packet to be forwarded next [92].

Scheduling Algorithms

There are a number of scheduling algorithms proposed in the literature to make the Internet a QoS-capable network [93]. Each queuing algorithm has been designed to solve a specific network traffic problem and has a particular effect on network performance. The following schemes are widely used for scheduling.

First-in-First-out (FIFO), the simplest queuing scheme, let the packets to leave the queue in the order of their arrival. It also accepts the packet until the queue is full.

Custom Queuing (CQ) guarantees bandwidth at a potential congestion point by reserving a specific portion of the available bandwidth for one or more traffic flows. The remaining bandwidth is used to serve the other traffic.

Weighted Fair Queuing (WFQ) categorizes traffic flows into high and low priority, based on the volume of packets seen by a router or switch. Low-bandwidth flows are served first, and the remaining bandwidth is shared among the high bandwidth flows according to the assigned weights. As a result, WFQ favors low-bandwidth traffic.

Priority Queuing (PQ) provides better treatment for some packets by serving them first. For example, in case of two kinds of traffic, high and low priority, the high priority packets are served first.

Active Queue Management Schemes

Random Early Detection (RED) is the most widely used queue management scheme for congestion avoidance. The Internet Engineering Task Force (IETF) recommends implementing the RED queuing scheme as the best solution to improve the performance in the Internet [93].

The RED algorithm was initially proposed by Floyd and Jacobson [94] as an effective mechanism to control congestion in a network. The main goal of the RED algorithm is to avoid congestion rather than to react . RED achieves this by detecting the onset of congestion in order to maintain the network in a region of low delay and high throughput [94].

In general, RED drops the packets randomly with increased probability as the queue size grows. Additionally, RED algorithm improves the performance in TCP-compatible flows by solving the global synchronization problem and by reducing the burst errors due to buffer overflow. Specifically, it takes advantage of the back-off mechanism in TCP by dropping packets at random when traffic exceeds a predetermined threshold. This causes one TCP connection at a time to back off, reducing the congestion. Therefore, the back-off of almost all TCP connections, known as global-synchronization problem is avoided .

Additionally, RED reduces the burst errors due to buffer overflow because it drops packets randomly instead of the newly arriving packets. However, in the case of flows that are unresponsive to congestion notification, like real-time traffic using UDP, RED does not solve the problem with burst errors because it cannot control the source rate. Dropping packets early increases the total error as compared to the error produced by the FIFO queuing scheme, which allows the smallest possible error for unresponsive flows.

There are several ways to characterize QoS related to network services. QoS is the ability of a network element (e.g. an application, a host or a router) to provide some level of assurance for consistent network data delivery. Some applications are more stringent about their QoS requirements than others. Basically, there are two basic types of QoS architectures namely the Integrated Services (IntServ) network resources are apportioned according to an application QoS request and subjected to the resource (e.g. bandwidth) management policy. In IntServ a resource reservation is provided per "flow".

A "flow" is defined as an individual, uni-directional, data stream between two applications (sender and receiver), uniquely identified by a 5-tuple (transport protocol, source address, source port number, destination address, and destination port number).

Differentiated Services (DiffServ)

The network traffic is classified into a few number of classes and apportioned according to the resource management policy. To enable QoS, network elements give preferential treatment to packets classified with higher priorities. In DiffServ, traffic is managed in "aggregates". An aggregate is simply constituted by a set of individual flows. Typically, the flows will have something in common (e.g. any one or more of the 5-tuple parameters, a label or a priority number, or perhaps some authentication information).

[95]Yu-bao-Cui et al , has proposed an active queue management algorithm PFRIO that is suitable for Diffserv model, which improve the overall performance of diffserv model effectively by RED with in/out(RIO) expanded RED to manage in packet and out packet in the same queue. It also introduces a RED-C algorithm RED with in/out queue in which each average queue length of different packets are calculated. Hence the average queue length of high drop precedence level is directly related to the number of packets of low drop precedence level.

[96] Scong-Ryong Kang et al, proposed a priority AQM algorithm that provides ‘optimal’ performance to video applications under arbitrary network conditions. The combined architecture Partitioned Enhancement Layer (PELs) streaming is defined to improve the quality of video delivered over the internet. The use of multi queue AQM allowed the scalable video application to maintain high useful link utilization without retransmitting the lost packets or sending any error correcting codes.

Various active queue management algorithms have been proposed for streaming multimedia in networks. The most widely used queue management algorithm is Random Early Detection (RED). RED detects congestion by computing the average queue size. When the average queue size is exceeded, the gateway drops or marks each arriving packet with a certain probability. However the inherent problem in RED is that, it does not work when running on individual queues in wireless nodes. Moreover there is no differentiation between video and data packets during marking or dropping.

K.Xu et al. implemented Neighborhood RED scheme (NRED) that used the channel utilization to estimate the queue length in a given neighborhood and to determine a packet-drop probability [97]. The above approaches were designed only for simple data communication, without considering the characteristics of multimedia communication.

Real-time media streaming is fundamentally different from traditional data communication and also there is rarely research focus on exploiting the active queue management mechanism to improve the video delivery quality. Most AQM mechanisms drop packets randomly without differentiating their importance. The traditional queue management, without considering the packets’ importance is not suitable for multimedia flow, which will damage the video flow quality seriously.

The available queue management algorithms include RIO[98], Weighted RED(WRED)[99], WRED with Thresholds(WRT)[100], that are able to differentiate packet priorities but they consider the video packets as normal packets. U.Bodin et al. proposed a concept for load tolerance differentiation with AQM. In order to avoid starvation and to properly control low drop precedence traffic, a new AQM mechanism, RED with thresholds (WRT), had been used. WRT offered sheltering without reconfiguration when there is proper control of low drop precedence traffic and relative differentiation otherwise[100]. J.chung et al. proposed a concept of priority based queue management in internet router with the rate based RED approach that supports 3 priority classes of video to achieve RED like congestion avoidance performance. Rate based AQM uses average packet arrival rate to determine impending congestion instead of average queue size. RbRED probabilistically drops packets by comparing the estimated packet arrival rate with link bandwidth[101]. Zivani et al. proposed a concept for improving the delivery quality of MPEG video stream by using differential service. The limitations of QOS had been overridden by the DiffServ architecture, which avoided the error propagation effect in the hierarchical structure of MPEG systems. Thus the delivered quality of MPEG video streams had been improved by avoiding waste of networks resources [102].

Shujie Wei et al. proposed an Active Queue Management based on bandwidth estimation for real time multimedia streaming over MANETS. The GM (1,1) was used to predict network bandwidth for determining queue length and queue length was adjusted dynamically [103]. Zheng Wan et al. proposed a Priority based adaptive video transmission over Ad hoc networks. Priority defined by video coding algorithm uses the idea of unequal protection to improve the quality of video in MANETS. Packet routing and frame scheduling algorithms had been devised using Machine Learning methods, and used to forward video data by submitting the video priority information to network layer and MAC layer [104]. Yan Li et al proposed an Active Queue Management mechanism with autonomic features, named Autonomic Active Queue Management (AAQM) where AAQM tries to adjust its behavior according to service and network condition information [105].

Ziviani et al proposed different Quality of Service (QoS) schemes and the tradeoffs of jointly adopting schemes to improve the delivery quality of an MPEG stream. From an analytical model, they evaluated the impact of frame losses on the quality of MPEG streams and on the waste of network resources. Their assessment considered the issues such as the use of redundancy by applying a Forward Error Correction (FEC) scheme to tolerate losses, the changing of the compression factor in MPEG encoding, the unequal protection of MPEG frames in a Differentiated Services environment, and to evaluate the impact of network losses onto application quality[106].

Bulent et al discussed about the the problems of redundancy allocation for providing effective error-resilience and service class distribution for enhanced quality of service (QoS) in real-time MPEG-2video transport. A real-time low-complexity content-based adaptive error-resilient approach is proposed for the transport of MPEG-2 video streams, encapsulated using real-time transport protocol (RTP) and delivered over heterogeneous networks. An algorithm is derived using spatial and temporal properties of MPEG-2 video for assigning weights to each packet based on the estimated perceptual error. These weights, which indicate the relative importance of RTP packets, together with the communication channel characteristics are used to determine the allocation of resources for providing improved error-resilience and for assigning data packets to various classes of service in order to enhance the quality of transmission.

Parameters extracted from the RTP header are used to determine the weights, so that the proposed algorithm can be implemented in real-time. This algorithm is used for adaptively allocating redundant forward error correction packets as well as for marking and forwarding of RTP packets in differentiated services [107].

Long Le et al proposed three prominent AQM designs the proportional integral (PI) controller, the random exponential marking (REM) controller, and adaptive random early detection (ARED). If ECN is not supported, ARED operating in byte-mode was the best performing design, providing better response time performance than drop-tail queueing at offered loads above 90% of link capacity.

In the case of REM, the benefit of ECN was dramatic. Without ECN, response time performance with REM was worse than drop-tail queueing at all loads considered. ECN was not beneficial to ARED. The improvement in response times with AQM is significant, depends heavily on the range of round-trip times (RTTs) experienced by flows. As the variation in flows' RTT increases, the impact of AQM and ECN on response-time performance is reduced AQM can improve application and network performance for Web or Web-like workloads. In particular, it appears likely that with AQM and ECN, provider links may be operated - at near saturation levels without significant degradation in user-perceived performance [108].

Lishui Chen et al, proposed a two marker delivery systems for delivery application for pre-marking important indices of compressed data at coding in the application layer, maps those important indices according to a simple rule and mark those packets to DSCP’s using two rate 3 color marker at the domain edge network in rate of the current network conditions. The limitation is an I frame packet with a green mark may be downgraded to a yellow or red mark if it is measured as out of profile protection from being dropped for important data will render a poor video quality delivery due to the hierarchical structure of MPEG video[109].

  The thesis is also aimed at an effective queue management in routers Significant Video Information Based Random Early Detection (SiVIRED) an Active Queue Management (AQM) mechanism is proposed along with UDPLite in transport layer for increasing the video stream delivery quality over MANETs. 

2.5 IEEE 802.11 NETWORKS

The wireless communication which uses the IEEE 802.11 is the main technology used in MANETs [110].

To provide QoS support, IEEE 802.11 standard group has specified a new IEEE 802.11e standard. The IEEE 802.11e supports QoS by providing differentiated classes of service in the MAC layer. Distributive coordination function (DCF) is the access method used for adhoc networks. It can work without infrastructure while Point coordination function (PCF) needs an Access Point (AP) to control the access to the medium of each one of the devices under its coverage area.

The IEEE 802.11 MAC uses the DCF and PCF which is mandatory to control the access under its coverage area.

2.5.1 IEEE 802.11x amendments

IEEE Standards Association [SA] has approved only one standard related to 802.11 networks, which has been revised over the past years. The current standard name is IEEE 802.11-2007, as it was approved in 2007. Also, the standard has been updated by means of amendments, which was created by Task Groups (TG). The task groups and their finished document are denoted by 802.11 followed by a non-capitalized letter.

Each one of these amendments focuses on improving certain aspects of the standard at a determined level. These are the existing standards and amendments:

IEEE 802.11 - Original WLAN standard.

IEEE 802.11b - 802.11 enhancements. 5.5 and 11 Mbit/s, 2.4 GHz (1999).

IEEE 802.11c - Specific MAC procedures to the ISO/IEC 10038 (2001).

IEEE 802.11d - International roaming (2001).

IEEE 802.11e - QoS enhancement, packet prioritization (2005).

IEEE 802.11F - Inter-Access Point Protocol (2003).

IEEE 802.11g - 802.11b improvement and compatibility. 54 Mbit/s (2003).

IEEE 802.11h - European 802.11a compatibility. 5 GHz (2004).

IEEE 802.11i - Enhanced security (2004).

IEEE 802.11j - Extensions for Japan (2004).

IEEE 802.11-2007 - Standard revision including (a, b, d, e, g, h, i & j).

IEEE 802.11k - Radio resource measurement enhancements.

IEEE 802.11m - Maintenance of the standard.

IEEE 802.11n - Higher throughput improvements using MIMO.

IEEE 802.11p - WAVE - Wireless Access for the Vehicular Environment.

IEEE 802.11r - Fast roaming.

IEEE 802.11s - ESS Extended Service Set Mesh Networking.

IEEE 802.11T - Wireless Performance Prediction (WPP).

IEEE 802.11u - Interworking with non-802 networks.

IEEE 802.11v - Wireless network management.

IEEE 802.11w - Protected Management Frames.

IEEE 802.11y - 3650-3700 MHz Operation in the U.S.

IEEE 802.11z - Extensions to Direct Link Setup (DLS).

IEEE 802.11l, o, q, x - These extensions are reserved and cannot be used.

In this thesis the work has been carried out on IEEE 802.11e.The IEEE 802.11e focuses on improving QoS on wireless networks as explained in following section.

IEEE 802.11e enhances both DCF and PCF by offering



rev

Our Service Portfolio

jb

Want To Place An Order Quickly?

Then shoot us a message on Whatsapp, WeChat or Gmail. We are available 24/7 to assist you.

whatsapp

Do not panic, you are at the right place

jb

Visit Our essay writting help page to get all the details and guidence on availing our assiatance service.

Get 20% Discount, Now
£19 £14/ Per Page
14 days delivery time

Our writting assistance service is undoubtedly one of the most affordable writting assistance services and we have highly qualified professionls to help you with your work. So what are you waiting for, click below to order now.

Get An Instant Quote

ORDER TODAY!

Our experts are ready to assist you, call us to get a free quote or order now to get succeed in your academics writing.

Get a Free Quote Order Now