Monday, January 27, 2020

Tcp Congestion Control Methods Tutorial Information Technology Essay

Tcp Congestion Control Methods Tutorial Information Technology Essay Transmission Control Protocol (TCP) is one of the two core protocols of the Internet protocol suite. Together with IP, they constitute the backbone stack of many internet applications like the World Wide Web, the e-mail and file transfer (FTP). Its main function is to provide a reliable stream service utilizing an unreliable packet delivery system inherited by its underlying IP layer. By the term reliable, we mean the reliable ordered delivery of a stream of bytes from one peer to another that runs the same TCP protocol stack. To add this substantial functionality and reliability, TCP imposes complexity. It is a much more complex protocol than its underlying IP protocol. The main mechanism TCP uses to offer reliability is the positive acknowledgement and retransmission scheme. Transmitted segments must be acknowledged and if there is a loss, a retransmission takes place. To make the network utilization more efficient, instead of transmitting each segment only after reception of an acknowledgement for the previously transmitted segment, TCP uses the concept of a window. The window includes all those segments that are allowed to be sent without waiting for a new acknowledgment. TCP allows end to end adjustment of the data flow a sender introduces to the network by varying the window size. How can a sender know what is the suitable window size? A receiver indicates it in a window advertisement which comes to the sender as part of the acknowledgment. Since modern internet applications are hungry for bandwidth, there is a high possibility that network becomes congested at some time. Routers have a finite storage capacity for handling IP packets. If the packet flow rate becomes excessive, routerà ¢Ã¢â€š ¬Ã¢â€ž ¢s queue buffers will become full and their software will start to discard any new packets arrived. This has a negative impact in the TCP operation and performance in general. Increased delays and losses will impose retransmissions and hence increased traffic. In its turn, increased traffic will make congestion more severe and in this way, Internet will experience what is known as congestion collapse, exhibiting a performance fall of several orders of magnitude. To overcome this problem, TCP uses many mechanisms-algorithms to avoid congestion collapse and achieve high performance. The main idea behind these algorithms is to control the rate of data entering the network and keep it below a threshold rate. If this threshold we re to be crossed, a new collapse phase could be triggered. Data senders can infer from an increasing number of delays that the network is congested and so adjust the flow in order to mitigate the phenomenon and give the network the necessary time to clear the queues and recover from congestion. TCP Congestion Algorithms RFC5681 describes four congestion control algorithms. Slow start, congestion avoidance, fast retransmit and fast recovery. All these algorithms work with the admission that sender infers network congestion by observing segment losses. As mentioned above, in TCP, receiverà ¢Ã¢â€š ¬Ã¢â€ž ¢s buffer capability can be advertised backwards in the acknowledgement messages. This helps the sender to adjust its window size. Congestion algorithms introduce a second limit which is named congestion window. This new window is used for restricting the data flow of sender below the limit that main window determines. Actually, in a congested phase, the TCP window size used is the minimum value between the normal and congestion windows sizes. Reducing the congestion window reduces the injecting data flow to the network. Congestion avoidance algorithm reduces the congestion window by half upon each segment loss. For those segments that remain in the window, it also backs off the retransmission timer exponentially. In this way, quick and significant traffic reduction is achieved. Upon loss of successive segments, the algorithm uses an exponential rate to drop the data flow and increase the retransmission timers. This gives enough time for the network to recover and become stable again. Slow start algorithm is used when the network has recovered from the congestion and the windows start to increase again. To prevent oscillation between network congestion and normal conditions coming immediately after recovery, slow start indicates that congestion window must start at the size of a single segment and increase by one segment for each acknowledgement arrived. This effectively doubles the transmitted segments during each successive round trip time. To avoid increasing the window size too quickly, once congestion window reaches one half of its size prior to congestion, TCP enters a congestion avoidance phase and the rate of increment is abruptly slowed down. During this phase, congestion window increases by just one segment and only after all segments in the current window have been acknowledged. Upon detection of a duplicate acknowledgment, sender cannot deduce if there was a loss or a simple delay of a segment. If ordinary out-of-order conditions are present, one or two duplicate acknowledgements are typically expected. If however, sender receives three or more acknowledgements, it can infer that there is loss of segments due to congestion and so it retransmits the segment (indicated by the position of the acknowledgement in the byte stream) without waiting for the retransmission timer expiration. This constitutes the fast retransmit algorithm. Fast recovery follows fast retransmit algorithm and in the real TCP implementations these two algorithms are usually working together. Since reception of duplicate acknowledgements is a clear sign that data is still flowing in the receiver, fast recovery algorithm puts the sender in the congestion avoidance phase instead of the slow start phase. Therefore, if losses are not due to congestion, there will be a faster recovery of data flow without the penalty experienced by the use of slow start. However, fast recovery only works well for moderate congestion conditions. Newer algorithms Although the aforementioned four algorithms offer substantial congestion control, newer techniques have emerged in the bibliography as a result of extensive research in this specific area. These new algorithms try to build upon the old methods, enhancing TCP performance and increasing the responsiveness to congestion. One limitation of normal TCP operation is that if a transmitted segment is lost but subsequent segments in the same window are delivered normally, the receiver cannot send acknowledgements for these last segments. The reason for this is that receiver can acknowledge only contiguous bytes that it has received. Sender will be forced, once retransmission timer for the lost segment expires, to resend not only the lost segment, but all subsequent segments in the window too. This was identified as a potential case for improvement which led to the creation of the selective acknowledgments (SACK) algorithm (Jacobson and Braden, Oct. 1988). The algorithm helps to reduce the number of unnecessary retransmissions by allowing the receiver to send some feedback to the sender about the contiguous byte stream blocks it has already received. In order to take advantage of the new technique though, the two TCP endpoints must agree on using SACK upon negotiation (by using the option field of the TCP he ader). Two TCP original software implementations in the BSD Unix environment were named Tahoe and Reno. Tahoe includes the slow start, congestion avoidance and fast recovery algorithms whereas Reno includes all four basic algorithms described in the second section of this tutorial. NewReno is a slight modification of the Reno implementation and aims in boosting the performance during the fast retransmit and fast recovery phases. It is based on the notion of partial acknowledgements. In the case where multiple segments are dropped from a single window, sender enters fast retransmit phase and gets information about the retransmitted segments in terms of the first acknowledgment it gets. If only a single segment was dropped, then the acknowledgment will probably contain all segments previously transmitted before entering fast retransmit phase. If on the other hand, there were losses of multiple segments, the acknowledgment will be partial and will not contain all segments transmitted prior to fast retransmit phase entry. Using partial acknowledgements, fast recovery performance is enhanced as described in RFC2582. NewReno also improves round-trip and back-off timer calculations. In the literature, it is found that its main drawback is the poor performance in bursts of losses of segments within the same window (Wang and Shin, 2004). Non-TCP congestion control There are also some non-TCP techniques that can indirectly affect congestion control performance of TCP. These methods are not directly implemented in TCP software. The most popular technique of this kind is Random Early Detection (RED). In order to understand the method, one first has to consider what is called the global synchronization problem (D. Comer, 2000). Routers in the global Internet use the tail-drop policy for handling datagrams. When their input queue is full, any incoming datagram is discarded. Since datagrams are usually multiplexed in the Internet, severe problems can occur regarding congestion. Instead of dropping many segments of one TCP connection, tail-drop router policy actually causes single segment drops from many TCP connections. This, in turn, put the senders of these connections in slow start mode at almost the same time causing the global synchronization problem, which degrades performance considerably. To overcome this problem, RED (which is implemented in router software) defines two different thresholds that are associated with its internal queue, Tmin and Tmax. The following three rules govern the operation of RED It the queue size is less that Tmin, add any new incoming datagrams to it If the queue size is bigger that Tmax, drop any new incoming datagrams If the queue size is between Tmin and Tmax, randomly discard incoming datagrams with the help of a probability p. The main reason for this approach is to drop datagrams as congestion increases so as to avoid a queue overflow and a subsequent transition of many TCP connections to the slow start phase. As it is obvious, success of RED algorithm is based upon careful selection of the two thresholds Tmin and Tmax along with the probability p. Tmin must ensure high network utilization whereas Tmax must take into account the TCP round trip time so that it can accommodate the increase in queue size. Usually, Tmax is at least twice large as Tmin, or otherwise the same global synchronization problem may occur. Probability p computation is a complex task that is repeated for every new datagram. Non-linear schemes are used for this calculation in order to avoid overreacting to short bursts and protect TCP from unnecessary discards. These schemes usually take into account a weighted average queue size and use that size for determining the probability p. Details of RED are described in (S. Floyd and V. Jacob son, Aug. 1993). Research simulations show that RED works pretty well. It successfully handles congestion, eliminates the global synchronization problem that results from tail-drop policy seen before, and manages to allow short bursts without the need for extensive discards that could compromise TCP performance. When implemented by routers together with the TCP congestion control methods already built in the various network software implementations, it provides the necessary protection for network performance, securing its high utilization. Conclusions TCP performance is essential for providing true experience to single users, enterprises and everyone connected to the global Internet. One of the biggest challenges TCP faces as years come by, is congestion control (along with security which is another hot topic for TCP and other protocols). The original TCP standards described four methods that succeeded to almost eliminate congestion. As Internet increases in size and applications are becoming bandwidth hungry, new techniques that enhance inherent limitations of the four original algorithms are introduced and overall performance is kept in acceptable levels. Ongoing TCP research still focuses on congestion control and many new methods or variations are coming to fill any gaps that are gradually discovered by the ever-increasing Internet utilization.

Sunday, January 19, 2020

Assignment About Google Essay

The question requires the student to evaluate how successful Nintendo Wii has been in meeting the needs of today’s gaming through new product development. The answer here is dependent on the student’s ability to analyse and evaluate the case study. The students are expected to make reference to retail marketing mix in their answer. Students’ answer should include the following or other equivalent answers: – Considerations when developing new product strategy: i. Ongoing Corporate Planning ii. Ongoing Market Planning iii. Ongoing Technology Management iv. Opportunity Analysis/Serendipity . Market Penetration vi. Market Development vii. Product Development viii. Diversification Application of Pearson’s Uncertainty Map: i. Exploratory Research ii. Development Engineering iii. Applications Engineering iv. Combining Market Opportunities Question 2 Based on the case study, how can Nintendo Wii better manage innovation as a competitive tool in the field of developmental gaming? Answer: The question requires the student to identify organization characteristics and further recommend organization changes to facilitate innovation process within Nintendo Wii. The answer here is dependent on the student’s ability to analyse and give reason for choosing any relevant issues. The organization characteristics that facilitate the innovation process, students’ answer should include the following or other equivalent answers: – i. Growth orientation ii. Vigilance and external links iii. Commitment to technology and R&D intensity iv. Acceptance of risks v. Cross function cooperation and coordination within the organization structure vi. Receptivity to change vii. Space for creativity viii. Strategy towards innovation ix. Diverse range of skills Question 1 | Percentage| | Background of the case should be clearly discussed. | 15%| 2| Feasible application should be discussed in depth| 15%| 3| Identify the multi-dimensional concept of float glass technology. | 10%| 4| Use of proper language, grammar, referencing, and acknowledgement of external sources| 10%| | | | | Total| 50%| | | | Question 2 | | 1| Explain the dilemma, recog nize the difficulties of managing uncertainty. | 20%| 2| Answers should be justified and must be logical and critical. | 20%| 3| Use of proper language, grammar, referencing, and acknowledgement of external sources| 10%| | Total| 50%| Marking Scheme

Saturday, January 11, 2020

Fear in the Things They Carried

Tim O’Brien’s decision to go to Vietnam was out of the fear from disappointing his family and community. How does shame affect and play a role in the life of the soldiers in The Things They Carried? The Things They Carried is a book set in Massachusetts but the core of the book is based in Vietnam. A group of Soldiers go to war and Tim O’Brien decides to document the true effects of war but beneath his words, there were a lot of factors and double meaning to them.The motif ‘Shame† played a huge part in every character in this book as it was a trait they all shared in common Shame in this context is not necessarily a bad thing as with the power of hindsight, we found it to have been a motivating factor for them during the war in more ways than one. They could decide to inflict injury on themselves as a way to get discharged from their military service but the fear of shame further guided them to be heroes for their country. The interesting thing about this book is that shame was a common factor shared by all men.Their fear of shame and weakness propelled them to act braver than they were. It is not a secret knowing that the soldiers were a little bit afraid of the war but they all did a good job in masking their shame and fears. In The Things They Carried, â€Å"They carried the common secret of cowardice barely restrained, the instinct to run or freeze or hide, and in many respects this was the heaviest burden of all, for it could never be put down, it required perfect balance and perfect posture† (77).In analyzing this quote, their instinct to run or hide had to be restrained due to fear of being made fun of by colleagues and being called a coward. The chapter â€Å"On the Rainy River† summarizes Tim’s moral fight against being drafted into an unjust war. The Vietnam War was one he strongly opposed and his decision to fight is not down to his bravery or him being a patriot, but that of the ‘fear of sh ame’ and being tagged a coward. Therefore he succumbed to the pressure. â€Å"I survived, but it's not a happy ending. I was a coward. Related essay: Shame is Worth a TryI went to the war† (79). This statement is an example of how shame had him motivated. Him calling himself a coward was the fear of ‘shame’ out powering his principles. He initially thought of running off to Canada after being drafted but was scared that if he did not acknowledge the draft, he would be ridiculed/punished and that would be him disappointing his community and family. In order to avoid this shame facing him, he decided to be brave and go to war and fight for his country. He ended up going and survived the ains of the war due to shame being his motivating factor in his decision. Additionally, looking at Curt Lemons in â€Å"The Dentist†, shame was an igniting force leading to some of the characters bravery and heroism. Curt Lemon suffered an embarrassing fate in this chapter where he fainted before being observed by the visiting dentist. In fear of social acceptance and how the soldiers in the platoon would look at him, he decided to face his fears and shame by having his tooth removed although there was nothing wrong with it.One can attribute the survival of some of the soldiers to shame as it gave them the needed extra incentive to survive. With his renewed ego, this would make him feel stronger and ready for the worst (increasing his bravery while mitigating his shame). Shame, no matter how negative the definition seems to be, the characters in The Things They Carried made the most out of it by making it an unorthodox form of motivation for going to war and trying to survive it. Safe to say O’Briens characters (soldiers) value pride more than their life. Olumide Shodipo

Thursday, January 2, 2020

Verb Mood and Voice in Spanish

When we think about the properties that verbs might have, chances are that the first property that comes to mind is its tense: Does it refer to actions in the past, present or future? But verbs also have two other grammatical properties that are important to understanding how they are used: their mood and their voice. The mood of a verb (sometimes called the mode of a verb) is a property that relates to how the person using the verb feels about its factuality or likelihood; the distinction is made much more often in Spanish than it is in English. The voice of a verb has more to do with the grammatical structure of the sentence in which it is used in and refers to the connection between a verb and its subject or object. The three moods: Both English and Spanish have three verb moods: The indicative mood is the normal verb form used in everyday statements. In a sentence such as I see the dog (Veo el perro), the verb is in the indicative mood.The subjunctive mood is used in many statements that are contrary to fact, are hoped for or are in doubt. This mood is by far more common in Spanish, since it has mostly disappeared in English. An example of the subjunctive in English is the verb in the phrase if I were rich (si fuera rico in Spanish), which refers to a contrary-to-fact condition. The subjunctive is also used in a sentence such as I request that my pseudonym be published (pido que se publique mi seudà ³nimo), which indicates a type of desire.The imperative mood is used to give direct commands. The short sentence Leave! ( ¡Sal tà º!) is in the imperative mood. More about the subjunctive mood: Because it is so frequently necessary in Spanish yet unfamiliar to English speakers, the subjunctive mood is an endless source of confusion for many Spanish students. Here are some lessons that will guide you through its usage: Introduction to the subjunctive mood: This lesson gives examples of when the subjunctive mood is used and compares them with sentences in the indicative mood. In the mood: A more detailed list of examples where the subjunctive mood is used. Tenses of the subjunctive mood: Tenses in the subjunctive mood are seldom intuitive. Conjugation of the subjunctive mood. Future subjunctive: The future subjunctive is very rare in Spanish and is archaic in most uses, but it does exist. Subordinate conjunctions: Verbs in dependent clauses are often in the subjunctive mood. Translating might: Sentences translating the English auxiliary verb might often use a clause in the subjunctive mood. I dont believe ...: The negative form of the verb creer (to believe) is typically followed by a verb in the subjunctive mood. Ways of making requests: The imperative and subjunctive moods arent as distinct in Spanish as they are in English, and the subjunctive is often used to make requests. Sentence structure a nd the subjunctive: Although the subjunctive usually isnt used to refer to actual, real events, it can be when the structure of the sentence so requires. Statements of necessity: Verb phrases such as es necesario que (it is necessary that) are generally followed by a verb in the subjunctive mood. Statements of fear: These are sometimes followed by a verb in the subjunctive mood. Use with opinar: Although the subjunctive mood is usually used in giving opinions, it usually isnt used with opinar. More about the imperative mood: The imperative mood is used for making direct commands or requests, but it is far from the only way to ask that someone do something. These lessons look at the different ways of making requests: Direct commands. Making requests without using the imperative mood. Making polite requests. Active and passive voice: The voice of a verb depends primarily on the structure of a sentence. Verbs used in a normal fashion, in which the subject of the sentence is performing the action of the verb, are in the active voice. An example of a sentence in the active voice is Sandi bought a car (Sandi comprà ³ un coche). When the passive voice is used, the subject of the sentence is acted on by the verb; the person or thing performing the action of the verb isnt always specified. An example of a sentence in the passive voice is The car was bought by Sandi (El coche fue comprado por Sandi). In both languages, a past participle (bought and comprado) is used to form the passive voice. It is important to note that, while common in English, the passive voice isnt used as much in Spanish. A common reason for using the passive voice is to avoid stating who or what is performing the action of a verb. In Spanish, that same goal can be accomplished by using verbs reflexively.