13.07.2015 Views

Quality of Service in Internet

Quality of Service in Internet

Quality of Service in Internet

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Quality</strong> <strong>of</strong> <strong>Service</strong> <strong>in</strong> <strong>Internet</strong>Introduction1. With the <strong>in</strong>creas<strong>in</strong>g importance <strong>of</strong> <strong>Internet</strong> services, it is imperative for companiesrely<strong>in</strong>g on web-based technology to <strong>of</strong>fer predictable, consistent, as well asdifferentiated quality <strong>of</strong> service to their consumers. <strong>Internet</strong> services are commonlyhosted us<strong>in</strong>g clustered architectures where a number <strong>of</strong> mach<strong>in</strong>es, rather than a s<strong>in</strong>gleserver, work together <strong>in</strong> a distributed and parallel manner to serve requests to all<strong>in</strong>terested clients. Implement<strong>in</strong>g service quality guarantees scalable <strong>in</strong> such adistributed sett<strong>in</strong>g is a difficult challenge. Traditional approaches to solv<strong>in</strong>g this QoSchallenge treat the problem as a capacity plann<strong>in</strong>g matter and rely on over-provision<strong>in</strong>gthe resources and on physically partition<strong>in</strong>g groups <strong>of</strong> cluster nodes for different classes<strong>of</strong> service. Unfortunately, the necessity to handle enormous and unpredictablefluctuations <strong>in</strong> load results <strong>in</strong> these techniques suffer<strong>in</strong>g from high cost and low resourceutilization. Moreover, such a static approach does not <strong>of</strong>fer much flexibility, requir<strong>in</strong>ghardware reconfiguration for any modification <strong>of</strong> the QoS policy or change <strong>in</strong> therecurr<strong>in</strong>g load pattern. Furthermore, although these hardware-based approaches cancerta<strong>in</strong>ly improve the quality <strong>of</strong> the service, they cannot provide QoS guarantees unlesseach <strong>of</strong> the partitions are always kept from be<strong>in</strong>g overloaded. As a result, s<strong>of</strong>twarebasedapproaches have been suggested that embed the QoS logic <strong>in</strong>to the <strong>in</strong>ternalsFig1: System Model for <strong>Internet</strong> <strong>Service</strong>s<strong>of</strong> the operat<strong>in</strong>g system, distributed middleware or application code runn<strong>in</strong>g on thecluster. Operat<strong>in</strong>g System techniques have been shown to provide a tight control on theutilization <strong>of</strong> resources (e.g., disk bandwidth or processor usage) while techniques that


2are closer to the application layer are able to satisfy QoS requirements that are moreimportant to the clients. However the majority <strong>of</strong> exist<strong>in</strong>g s<strong>of</strong>tware approaches <strong>of</strong>ferguarantees with<strong>in</strong> the scope <strong>of</strong> a s<strong>in</strong>gle mach<strong>in</strong>e or for an <strong>in</strong>dividual application, and failto provide global service quality throughout the site. Most current <strong>Internet</strong> sites arecomposed <strong>of</strong> a myriad <strong>of</strong> different hardware and s<strong>of</strong>tware platforms which areconstantly evolv<strong>in</strong>g and chang<strong>in</strong>g. The largest drawback to s<strong>of</strong>tware-based approachesis the high cost and complexity <strong>of</strong> reprogramm<strong>in</strong>g, ma<strong>in</strong>ta<strong>in</strong><strong>in</strong>g, and extend<strong>in</strong>g theentirety <strong>of</strong> the complex s<strong>of</strong>tware system such that it can provide QoS guarantees for allhosted services. Moreover, many components <strong>of</strong> a service are commonly third-party,proprietary s<strong>of</strong>tware (e.g., Commercial Databases, Application Servers, etc) for whichthe source code is not available. Approaches that rely on embedd<strong>in</strong>g QoS supportdirectly <strong>in</strong>to each application are difficult to implement <strong>in</strong> these cases. When theapplications themselves have embedded QoS support, it is <strong>of</strong>ten a mechanism that isunique to a particular application which makes enabl<strong>in</strong>g QoS and <strong>in</strong>teroperability verydifficult. Therefore, QoS should be provided through the use <strong>of</strong> traffic shap<strong>in</strong>g andadmission control techniques at the entrance <strong>of</strong> <strong>Internet</strong> sites.WHAT IS QUALITY OF SERVICE2. <strong>Quality</strong> <strong>of</strong> <strong>Service</strong> (QoS) is a set <strong>of</strong> service requirements to be met by thenetwork while transport<strong>in</strong>g a packet stream from a source to a dest<strong>in</strong>ation (unicast ormulticast). The common QoS parameters used <strong>in</strong> <strong>Internet</strong> services are• bandwidth: the average usable and available bandwidth over the l<strong>in</strong>k at anytime;• delay: the average end-to-end delay caused at network level at any time;• delay jitter: the average difference <strong>of</strong> the various delay times over the l<strong>in</strong>k;• packet loss probability: the average probability <strong>of</strong> packet loss over the l<strong>in</strong>k overa length <strong>of</strong> time.Different applications have different requirements for bandwidth, delay, and packet lossprobability. Therefore, QoS must also be a measurable level <strong>of</strong> service delivered tonetwork users. Such QoS can be provided by network service providers <strong>in</strong> terms <strong>of</strong> anagreement, known as a <strong>Service</strong> Level Agreement (SLA) made between network usersand service providers. QoS features provide the ability to manage traffic <strong>in</strong>telligentlyacross a network. Some applications require bandwidth and delay guarantees, referredto as quantitative applications, while others are more qualitative. For example, voiceapplications have str<strong>in</strong>gent delay requirements and can tolerate m<strong>in</strong>imal packet loss.Conversely, an FTP file transfer may be <strong>in</strong>sentitive to delays but very sensitive to packetdrops. To accommodate these differences, QoS generally assigns traffic flows to one <strong>of</strong>two categories:• Guaranteed service (quantitive) reserves a designated amount <strong>of</strong> bandwidthfrom end to end and can guarantee a specified delay tolerance for the exclusive


3use <strong>of</strong> an application or even aggregated sessions. This type <strong>of</strong> service is bestfor applications that require a specific amount <strong>of</strong> bandwidth with long duration e.g.a video conference call may require at least 64 kbps for 30 m<strong>in</strong>utes.• Differentitated service (qualitative) provides simple prioritisation. Applicationsare detected at the <strong>in</strong>gress and assigned SLAs. It is the SLA that drive whichQoS mechanisms the router will use, for example, which queue will be used toplace traffic, and, if congestion requires packets to be dropped, which droppriority will be designated.Integrated <strong>Service</strong>s (IntServ)3. Its fundamental philosophy is that routers need to reserve resources <strong>in</strong> order toprovide quantifiable QoS for specific traffic flows. RSVP (Resource ReservationProtocol) serves as a signal<strong>in</strong>g protocol for application to reserve network resources.Fig2: RSVP signal<strong>in</strong>gRSVP adopts a receiver-<strong>in</strong>itiated reservation style which is designed for a multicastenvironment and accommodates heterogenous receiver service needs. The flow sourcesends a PATH message to the <strong>in</strong>tended flow receiver(s), specify<strong>in</strong>g the characteristic <strong>of</strong>the traffic. As the PATH message propagates towards the receiver(s), each networkrouter along the way records path characteristics such as available bandwidth. Uponreceiv<strong>in</strong>g a PATH message, the receiver responds with a RESV message to requestresources along the path recorded <strong>in</strong> the PATH message <strong>in</strong> reverse order from thesender to the receiver. Intermediate routers can accept or reject the request <strong>of</strong> theRESV message. If the request is accepted, l<strong>in</strong>k bandwidth and buffer space areallocated for the flow, and the flow-specific state <strong>in</strong>formation is <strong>in</strong>stalled <strong>in</strong> the routers.Reservations can be shared along branches <strong>of</strong> the multicast delivery trees. RSVP takesthe s<strong>of</strong>t state approach, which regards the flow-specific reservation state at routers ascached <strong>in</strong>formation that is <strong>in</strong>stalled temporarily and should be periodically refreshed bythe end hosts. State that is not refreshed is removed after a timeout period. If the route


4changes, the refresh messages automatically <strong>in</strong>stall the necessary state along the newroute. The s<strong>of</strong>t state approach helps RSVP to m<strong>in</strong>imize the complexity <strong>of</strong> connectionsetup and improves robustness, but it can lead to <strong>in</strong>creased flow setup times andmessage overhead. The IntServ architecture adds two service classes to the exist<strong>in</strong>gbest-effort model, guaranteed service and controlled load service. Guaranteed serviceprovides an upper bound on end-to-end queu<strong>in</strong>g delay. This service model is aimed tosupport applications with hard real-time requirements. Controlled-load service providesa quality <strong>of</strong> service similar to best-effort service <strong>in</strong> an underutilized network, with almostno loss and delay. It is aimed to share the aggregate bandwidth among multiple trafficstreams <strong>in</strong> a controlled way under overload condition. By us<strong>in</strong>g per-flow resourcereservation, IntServ can deliver f<strong>in</strong>e-gra<strong>in</strong>ed QoS guarantees. However, <strong>in</strong>troduc<strong>in</strong>gflow-specific state <strong>in</strong> the routers represents a fundamental change to the current<strong>Internet</strong> architecture. Particularly <strong>in</strong> the <strong>Internet</strong> backbone, where a hundred thousandflows may be present, this may be difficult to manage, as a router may need to ma<strong>in</strong>ta<strong>in</strong>a separate queue for each flow.Differentiated <strong>Service</strong>s (DiffServ)4. To address some <strong>of</strong> the problems associated with IntServ, differentiated services(DiffServ) has been proposed which is a per-aggregate-class based servicediscrim<strong>in</strong>ation framework us<strong>in</strong>g packet tagg<strong>in</strong>g. Packet tagg<strong>in</strong>g uses bits <strong>in</strong> the packetheader to mark a packet for preferential treatment. DiffServ def<strong>in</strong>es a byte as the DSfield, <strong>of</strong> which six bits make up the DSCP (Differentiated <strong>Service</strong> Code Po<strong>in</strong>t) field, andthe rema<strong>in</strong><strong>in</strong>g two bits are unused. DiffServ uses DSCP to select the per-hop behavior(PHB) a packet experiences at each node. A PHB is an externally observable packetforward<strong>in</strong>g treatment which is usually specified <strong>in</strong> a relative format compared to otherPHBs, such as relative weight for shar<strong>in</strong>g bandwidth or relative priority for dropp<strong>in</strong>g. Themapp<strong>in</strong>g <strong>of</strong> DSCPs to PHBs at each node is not fixed. Before a packet enters a DiffServdoma<strong>in</strong>, its DSCP field is marked by the end-host or the first-hop router accord<strong>in</strong>g to theservice quality the packet is required and entitled to receive. With<strong>in</strong> the Diff-Serv doma<strong>in</strong>,each router only needs to look at DSCP to decide the proper treatment for the packet.No complex classification or per-flow state is needed. DiffServ has two important designpr<strong>in</strong>ciples, namely push<strong>in</strong>g complexity to the network boundary and the separation <strong>of</strong>policy and support<strong>in</strong>g mechanisms. The network boundary refers to application hosts,leaf (or first hop) routers, and edge routers. A network boundary has relative smallnumber <strong>of</strong> flows, whereas core router may have a larger number <strong>of</strong> flows, it shouldperform fast and simple operations. The differentiation <strong>of</strong> network boundary and corerouters is vital for the scalability <strong>of</strong> Diff- Serv. The separation <strong>of</strong> control policy andsupport<strong>in</strong>g mechanisms allows these to evolve <strong>in</strong>dependently. DiffServ only def<strong>in</strong>esseveral per-hop packet forward<strong>in</strong>g behaviors (PHBs) as the basic build<strong>in</strong>g blocks forQoS provision<strong>in</strong>g, and leaves the control policy as an issue for further work. The controlpolicy can be changed as needed, but the support<strong>in</strong>g PHBs should be kept relativelystable. The separation <strong>of</strong> these two components is key for the flexibility <strong>of</strong> DiffServ.


5Data Path Mechanisms5. Data path mechanisms are the basic build<strong>in</strong>g blocks on which <strong>Internet</strong> QoS isbuilt. They implement the actions that routers need to take on <strong>in</strong>dividual packets, <strong>in</strong>order to enforce different levels <strong>of</strong> service. Control path mechanisms are concerned withconfiguration <strong>of</strong> network nodes with respect to which packets get special treatment whatk<strong>in</strong>d <strong>of</strong> rules are to be applied to the use <strong>of</strong> resources. They are closely related, but theyaddress rather different performance issues. Queue management controls the length <strong>of</strong>packet queues by dropp<strong>in</strong>g or mark<strong>in</strong>g packets when necessary or appropriate, whileschedul<strong>in</strong>g determ<strong>in</strong>es which packet to send next and is used primarily to manage theallocation <strong>of</strong> bandwidth among flows.Fig3: Basic Data Path OperationBasic Packet Forward<strong>in</strong>g Operation6. As a packet is received, a packet classifier determ<strong>in</strong>es which flow or class itbelongs to based on the content <strong>of</strong> some portion <strong>of</strong> the packet header accord<strong>in</strong>g tocerta<strong>in</strong> specified rules. There are two types <strong>of</strong> classification viz General classificationand Bit-pattern Classification. General classification performs a transport-levelsignature-match<strong>in</strong>g based on a tuple <strong>in</strong> the packet header. It is a process<strong>in</strong>g-<strong>in</strong>tensiveoperation. This function is needed at any IntServ-capable router. In DiffServ, it isreferred as multifield (MF) classification, and it is needed only at network boundary. Bitpattern Classification sorts packet based on only one field <strong>in</strong> the packet header. It ismuch simpler and faster than general classification. In DiffServ, it is referred as behavioraggregate (BA) classification which is based only on DS field. It is used at network corerouters. After classification, the packet is passed to a logical <strong>in</strong>stance <strong>of</strong> a trafficconditioner which may conta<strong>in</strong> a meter, marker, shaper, and dropper. A marker markscerta<strong>in</strong> field <strong>in</strong> the packet, such as DS field, to label the packet type for differentialtreatment later. A meter is used to measure the temporal properties <strong>of</strong> the traffic streamaga<strong>in</strong>st a traffic pr<strong>of</strong>ile. It decides that the packet is <strong>in</strong> pr<strong>of</strong>ile or out <strong>of</strong> pr<strong>of</strong>ile, and then itpasses the state <strong>in</strong>formation to other traffic condition<strong>in</strong>g elements. Out <strong>of</strong> pr<strong>of</strong>ile packetsmay be dropped, remarked for a different service, or held <strong>in</strong> a shaper temporarily until


6they become <strong>in</strong> pr<strong>of</strong>ile. In pr<strong>of</strong>ile packets are put <strong>in</strong> different service queues for furtherprocess<strong>in</strong>g. A shaper is to delay some or all <strong>of</strong> packets <strong>in</strong> a packet stream <strong>in</strong> order tobr<strong>in</strong>g the stream <strong>in</strong>to compliance with its traffic pr<strong>of</strong>ile. It usually has a f<strong>in</strong>ite buffer, andpackets may be discarded if there is <strong>in</strong>sufficient buffer space to hold the delayedpackets. A dropper can be implemented as a special case <strong>of</strong> a shaper by sett<strong>in</strong>g shaperbuffer size to zero packets. It just drops out-<strong>of</strong>-pr<strong>of</strong>ile packet.Queue Management7. One goal <strong>of</strong> <strong>Internet</strong> QoS is to control packet loss. It is achieved ma<strong>in</strong>ly throughqueue management. Packets get lost for two reasons: damaged <strong>in</strong> transit or droppedwhen network congested. Loss due to damage is rare, so packet loss is <strong>of</strong>ten a signal <strong>of</strong>network congestion. To control and avoid network congestion, we need somemechanisms both at network end-po<strong>in</strong>ts and at <strong>in</strong>termediate routers. At network endpo<strong>in</strong>ts,we depend on the TCP protocol which uses adaptive algorithms such as slowstart, additive <strong>in</strong>crease and multiplicative decrease. Inside routers, queue managementis used. Our goals are to achieve high throughput and low delay. The effectiveness canbe measured by network power, which is the ratio <strong>of</strong> throughput to delay. The bufferspace <strong>in</strong> the network is designed to absorb short term data bursts rather than becont<strong>in</strong>uously occupied. Limit<strong>in</strong>g the queue size can help to reduce the packet delaybound. Traditionally, packets are dropped only when the queue is full.Schedul<strong>in</strong>g8. Packet delay control is an important goal <strong>of</strong> <strong>Internet</strong> QoS. Packet delay has threeparts: propagation, transmission, and queu<strong>in</strong>g delay. Propagation delay is given by thedistance, the medium and the speed <strong>of</strong> light, roughly 5 s/km. The per-hop transmissiondelay is given by the packet size divided by the l<strong>in</strong>k bandwidth. The queu<strong>in</strong>g delay is thewait<strong>in</strong>g time that a packet spends <strong>in</strong> a queue before it is transmitted.Fig4: Policy Architecture


7This delay is determ<strong>in</strong>ed ma<strong>in</strong>ly by the schedul<strong>in</strong>g policy. Besides delay control, l<strong>in</strong>kshar<strong>in</strong>g is another important goal <strong>of</strong> schedul<strong>in</strong>g. The aggregate bandwidth <strong>of</strong> a l<strong>in</strong>k canbe shared among multiple entities, such as different organizations, multiple protocols(TCP, UDP), or multiple services (FTP, telnet, real-time streams). An overloaded l<strong>in</strong>kshould be shared <strong>in</strong> a controlled way, while an idle l<strong>in</strong>k can be used <strong>in</strong> any proportion.Although provid<strong>in</strong>g delay guarantee and rate guarantee, are crucial for schedul<strong>in</strong>g,schedul<strong>in</strong>g needs to be kept simple s<strong>in</strong>ce it needs to be performed at packet arrivalrates. There is variety <strong>of</strong> schedul<strong>in</strong>g discipl<strong>in</strong>es. First Come First Serve (FCFS) is thesimplest schedul<strong>in</strong>g policy. It has no flow or class differentiation, no delay or rateguarantee. Priority schedul<strong>in</strong>g provides a separate queue for each priority class.Basically, it is a multiple-queue FCFS schedul<strong>in</strong>g discipl<strong>in</strong>e with the higher priorityqueue be<strong>in</strong>g served first.Control Path Mechanisms9. Admission control implements the decision algorithm that a router or host uses todeterm<strong>in</strong>e whether a new traffic stream can be admitted without impact<strong>in</strong>g QoSassurances granted earlier. As each traffic stream needs certa<strong>in</strong> amount <strong>of</strong> networkresources (l<strong>in</strong>k bandwidth and router buffer space) for transferr<strong>in</strong>g data from source todest<strong>in</strong>ation, admission control is used to control the network resource allocation. Thereare three basic approaches for admission control: determ<strong>in</strong>istic, statistic, andmeasurement-based. The first two use a prior estimation, while the later one is basedon the current measurement <strong>of</strong> some criteria parameters. The determ<strong>in</strong>istic approachuses a worst-case calculation which disallows any QoS violation. It is acceptable forsmooth traffic flows, but it is <strong>in</strong>efficient for burst flows and leads to a lower resourceutilization. Both statistical and measurement-based approach allows a small probability<strong>of</strong> occasional QoS violation to achieve high resource utilization.10. Policy Control specifies the regulation <strong>of</strong> access to network resources andservices based on adm<strong>in</strong>istrative criteria. Policies control which users, applications, orhosts should have access to which resources and services and under what conditions.Instead <strong>of</strong> configur<strong>in</strong>g <strong>in</strong>dividual network devices, ISPs and corporate adm<strong>in</strong>istratorswould like to regulate the network through policy <strong>in</strong>frastructure, which provide supportsfor allow<strong>in</strong>g adm<strong>in</strong>istrative <strong>in</strong>tentions to be translated <strong>in</strong>to differential packet treatment <strong>of</strong>traffic flows. The policy server has access to a policy database as well as authorizationand account<strong>in</strong>g databases. Each policy entry specifies a rule <strong>of</strong> “if certa<strong>in</strong> conditionhappens, then take certa<strong>in</strong> action”. A human network operator work<strong>in</strong>g at amanagement console would use a GUI management application which <strong>in</strong>terfaces to thepolicy server through a set <strong>of</strong> Policy API (PAPI). This allows the operator to update andmonitor policy changes <strong>in</strong> the policy database. The policy server consists <strong>of</strong> a centralpolicy controller (CPC) and a set <strong>of</strong> policy decision po<strong>in</strong>ts (PDP). PDPs are responsiblefor determ<strong>in</strong><strong>in</strong>g which actions are applicable to which packets. The CPC is to ensureglobal consistency between decisions made by the PDPs. The enforcement andexecution <strong>of</strong> policy actions are done by policy enforcement po<strong>in</strong>ts (PEP). PEPs aretypically co-located with packet forward components, such as border routers. PDPs


8<strong>in</strong>teract with PEPs via Common Open Policy <strong>Service</strong> (COPS). PDPs push configuration<strong>in</strong>formation down to the PEP’s as well as respond to queries from the PEP’s.Bandwidth Brokers11. A bandwidth broker is a logical resource management entity that allocates <strong>in</strong>tradoma<strong>in</strong>resources and arranges <strong>in</strong>ter-doma<strong>in</strong> agreements. A bandwidth broker for eachdoma<strong>in</strong> can be configured with organizational policies and controls the operations <strong>of</strong>edge routers. In the view <strong>of</strong> policy framework, a bandwidth broker <strong>in</strong>cludes the function<strong>of</strong> PDP and policy database, while edge routers serve as PEPs. In its <strong>in</strong>ter-doma<strong>in</strong> role,a bandwidth broker negotiates with its neighbor doma<strong>in</strong>s, sets up bilateral agreementwith each <strong>of</strong> them, and sends the appropriate configuration parameters to the doma<strong>in</strong>’sedge routers. Bilateral agreement means that a bandwidth broke only needs tocoord<strong>in</strong>ate with its adjacent doma<strong>in</strong>s. End-to-end QoS is provided by the concatenation<strong>of</strong> these bilateral agreements across doma<strong>in</strong>s, together with adequate <strong>in</strong>tra-doma<strong>in</strong>resource allocation. With<strong>in</strong> a doma<strong>in</strong>, a bandwidth broker performs resource allocationthrough admission control.Rout<strong>in</strong>g and QoSFig5: Bandwidth Broker12. Traffic eng<strong>in</strong>eer<strong>in</strong>g arranges traffic flows so that congestion caused by unevennetwork utilization can be avoided. Constra<strong>in</strong>t-based rout<strong>in</strong>g is an extension to thebasic topology-based rout<strong>in</strong>g. It routes packets based on multiple constra<strong>in</strong>ts.Constra<strong>in</strong>s <strong>in</strong>clude network topology (shortest path), network resource availability<strong>in</strong>formation (ma<strong>in</strong>ly l<strong>in</strong>k available bandwidth), flow QoS requirements, and policyconstra<strong>in</strong>ts. Constra<strong>in</strong>t-based rout<strong>in</strong>g can help to provide better performance andimprove network utilization. But it is much more complex, may consume more networkresource and may lead to potential rout<strong>in</strong>g <strong>in</strong>stability.


913. MPLS <strong>of</strong>fers an alternative to IP-level QOS. An MPLS packet has a header thatis sandwiched between the l<strong>in</strong>k layer header and the network layer header. When apacket enters an MPLS doma<strong>in</strong>, it is assigned an MPLS label which specifies the paththe packet is to take while <strong>in</strong>side the MPLS doma<strong>in</strong>. Throughout the <strong>in</strong>terior <strong>of</strong> theMPLS doma<strong>in</strong>, each MPLS router switches the packet to the outgo<strong>in</strong>g <strong>in</strong>terface basedonly on its MPLS label. At the same time, the packet gets marked with a new label priorto transmission. The COS field is used to choose the correct service queue on theoutgo<strong>in</strong>g <strong>in</strong>terface. At the egress to the MPLS doma<strong>in</strong>, the MPLS header is removedand the packet is sent on its way us<strong>in</strong>g normal IP rout<strong>in</strong>g. MPLS is a label-basedmessage forward<strong>in</strong>g mechanism. By us<strong>in</strong>g labels, it can set up explicit routes with<strong>in</strong> anMPLS doma<strong>in</strong>. A packet’s forward<strong>in</strong>g path is completely determ<strong>in</strong>ed by its MPLS label.If a packet crosses all MPLS doma<strong>in</strong>s, an end-to-end explicit path can be establishedfor the packet. Label also serves as a faster and efficient method for packetclassification and forward<strong>in</strong>g. MPLS also to route multiple network layer protocols with<strong>in</strong>the same network and can be used as an efficient tunnel<strong>in</strong>g mechanism to implementtraffic eng<strong>in</strong>eer<strong>in</strong>g.End Host Support for QoS14. There is an <strong>in</strong>creas<strong>in</strong>g need for server QoS mechanisms to provide overloadprotection and to enable tiered (or differentiated) service support. A request manager isused to <strong>in</strong>tercept all requests. It classifies the requests and places the requests <strong>in</strong> theappropriate queue. To ensure that server is not overloaded, admission control is usedby request manager. Request classification and admission control can be based on avariety <strong>of</strong> policies. After the requests are put on the appropriate queue, a schedul<strong>in</strong>gprocess determ<strong>in</strong>es the order <strong>in</strong> which the requests are to be served, and feeds thechosen requests to the server. Similar to the schedul<strong>in</strong>g <strong>in</strong> network routers, differentpolicies can be adopted, such as strict priority, weighted fair queu<strong>in</strong>g, or earliestdeadl<strong>in</strong>e first.Fig6: Server QoS


10Application Adaptation15. Instead <strong>of</strong> <strong>in</strong>dicat<strong>in</strong>g requirements to the network via resource reservationmechanisms, applications can adapt their rate to the chang<strong>in</strong>g delays, packet loss andavailable bandwidth <strong>in</strong> the network. Play out delay compensation allows applications t<strong>of</strong>unction with the lowest overall delay even as the network delay changes. A play outbuffer is a queue for arriv<strong>in</strong>g packets emptied at the playback rate. It converts avariable-delay <strong>in</strong>to a fixed delay, and it has to be large enough to compensate for thedelay jitter. For loss adaptation, several techniques have been explored, such asredundant transmission, <strong>in</strong>terleav<strong>in</strong>g, and forward error correction. Bandwidthadaptation depends on the media. For audio, applications can change the audio codec,while video applications can adjust the frame rate, image size and quality.Conclusions16. Scalability is a fundamental requirement for any <strong>Internet</strong> QoS scheme. It is anissue that impacts both data path and control path, <strong>in</strong>clud<strong>in</strong>g flow and queuemanagement, network device configuration, account<strong>in</strong>g and bill<strong>in</strong>g, authorization,monitor<strong>in</strong>g, and policy enforcement. Aggregation is one common solution to scal<strong>in</strong>gproblems, but it comes at the price <strong>of</strong> looser guarantees and coarser monitor<strong>in</strong>g andcontrol. By separat<strong>in</strong>g <strong>of</strong> control policy from data forward<strong>in</strong>g mechanisms, we can havea set <strong>of</strong> relative stable mechanisms on top <strong>of</strong> which <strong>Internet</strong> QoS can be built. At thesame time, we can easily adjust or add any control policy whenever needed with asimple re-configuration or remapp<strong>in</strong>g from policy to mechanisms. All support<strong>in</strong>gmechanisms can be kept unchanged. S<strong>in</strong>ce the <strong>Internet</strong> comprises multipleadm<strong>in</strong>istrative doma<strong>in</strong>s, <strong>in</strong>ter-doma<strong>in</strong> QoS and <strong>in</strong>tra-doma<strong>in</strong> QoS can be designedseparately. At the <strong>in</strong>ter-doma<strong>in</strong> level, pure bilateral agreement based on trafficaggregate is used. With<strong>in</strong> each doma<strong>in</strong>, variety <strong>of</strong> different choices can be adopted. Theconcatenation <strong>of</strong> doma<strong>in</strong>-to-doma<strong>in</strong> data forward<strong>in</strong>g provides end-to-end QoS delivery.Although important technical progress has been made, much work needs to be donebefore QoS mechanisms will be widely deployed. In general, pric<strong>in</strong>g and bill<strong>in</strong>g are theprimary issues that need to be resolved. Once services are billed for, customers willneed to be able to monitor that the purchased service is meet<strong>in</strong>g specifications. Whileadaptive applications have been built to respond to changes <strong>in</strong> network performance,<strong>in</strong>tegrat<strong>in</strong>g a mechanism to adapt to price changes over time adds yet anotherdimension. Incorporat<strong>in</strong>g wireless transmission <strong>in</strong>to the <strong>Internet</strong> adds additional QoSissues, such as mobile setup, limited bandwidth, and hand over.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!