Search This Blog

Thursday, March 25, 2010

Computer Acronyms

ADSL - Asymmetric Digital Subscriber Line
AGP - Accelerated Graphics Port
ALI - Acer Labs, Incorporated
ALU - Arithmetic Logic Unit
AMD - Advanced Micro Devices
APC - American Power Conversion
ASCII - American Standard Code for Information Interchange
ASIC - Application Specific Integrated Circuit
ASPI - Advanced SCSI Programming Interface
AT - Advanced Technology
ATI - ATI Technologies Inc.
ATX - Advanced Technology Extended

--- B ---
BFG - BFG Technologies
BIOS - Basic Input Output System
BNC - Barrel Nut Connector

--- C ---
CAS - Column Address Signal
CD - Compact Disk
CDR - Compact Disk Recorder
CDRW - Compact Disk Re-Writer
CD-ROM - Compact Disk - Read Only Memory
CFM - Cubic Feet per Minute (ft�/min)
CMOS - Complementary Metal Oxide Semiconductor
CPU - Central Processing Unit
CTX - CTX Technology Corporation (Commited to Excellence)

--- D ---

DDR - Double Data Rate
DDR-SDRAM - Double Data Rate - Synchronous Dynamic Random Access Memory
DFI - DFI Inc. (Design for Innovation)
DIMM - Dual Inline Memory Module
DRAM - Dynamic Random Access Memory
DPI - Dots Per Inch
DSL - See ASDL
DVD - Digital Versatile Disc
DVD-RAM - Digital Versatile Disk - Random Access Memory

--- E ---
ECC - Error Correction Code
ECS - Elitegroup Computer Systems
EDO - Extended Data Out
EEPROM - Electrically Erasable Programmable Read-Only Memory
EPROM - Erasable Programmable Read-Only Memory
EVGA - EVGA Corporation

--- F ---
FC-PGA - Flip Chip Pin Grid Array
FDC - Floppy Disk Controller
FDD - Floppy Disk Drive
FPS - Frame Per Second
FPU - Floating Point Unit
FSAA - Full Screen Anti-Aliasing
FS - For Sale
FSB - Front Side Bus

--- G ---
GB - Gigabytes
GBps - Gigabytes per second or Gigabits per second
GDI - Graphical Device Interface
GHz - GigaHertz

--- H ---
HDD - Hard Disk Drive
HIS - Hightech Information System Limited
HP - Hewlett-Packard Development Company
HSF - Heatsink-Fan

--- I ---
IBM - International Business Machines Corporation
IC - Integrated Circuit
IDE - Integrated Drive Electronics
IFS- Item for Sale
IRQ - Interrupt Request
ISA - Industry Standard Architecture
ISO - International Standards Organization

--- J ---
JBL - JBL (Jame B. Lansing) Speakers
JVC - JVC Company of America

- K ---
Kbps - Kilobits Per Second
KBps - KiloBytes per second

--- L ---
LG - LG Electronics
LAN - Local Area Network
LCD - Liquid Crystal Display
LDT - Lightning Data Transport
LED - Light Emitting Diode

--- M ---
MAC - Media Access Control
MB � MotherBoard or Megabyte
MBps - Megabytes Per Second
Mbps - Megabits Per Second or Megabits Per Second
MHz - MegaHertz
MIPS - Million Instructions Per Second
MMX - Multi-Media Extensions
MSI - Micro Star International

--- N ---
NAS - Network Attached Storage
NAT - Network Address Translation
NEC - NEC Corporation
NIC - Network Interface Card

--- O ---
OC - Overclock (Over Clock)
OCZ - OCZ Technology
OEM - Original Equipment Manufacturer

--- P ---
PC - Personal Computer
PCB - Printed Circuit Board
PCI - Peripheral Component Interconnect
PDA - Personal Digital Assistant
PCMCIA - Peripheral Component Microchannel Interconnect Architecture
PGA - Professional Graphics Array
PLD - Programmable Logic Device
PM - Private Message / Private Messaging
PnP - Plug 'n Play
PNY - PNY Technology
POST - Power On Self Test
PPPoA - Point-to-Point Protocol over ATM
PPPoE - Point-to-Point Protocol over Ethernet
PQI - PQI Corporation
PSU - Power Supply Unit

--- R ---
RAID - Redundant Array of Inexpensive Disks
RAM - Random Access Memory
RAMDAC - Random Access Memory Digital Analog Convertor
RDRAM - Rambus Dynamic Random Access Memory
ROM - Read Only Memory
RPM - Revolutions Per Minute

--- S ---
SASID - Self-scanned Amorphous Silicon Integrated Display
SCA - SCSI Configured Automatically
SCSI - Small Computer System Interface
SDRAM - Synchronous Dynamic Random Access Memory
SECC - Single Edge Contact Connector
SODIMM - Small Outline Dual Inline Memory Module
SPARC - Scalable Processor ArChitecture
SOHO - Small Office Home Office
SRAM - Static Random Access Memory
SSE - Streaming SIMD Extensions
SVGA - Super Video Graphics Array
S/PDIF - Sony/Philips Digital Interface

--- T ---
TB - Terabytes
TBps - Terabytes per second
Tbps - Terabits per second
TDK - TDK Electronics
TEC - Thermoelectric Cooler
TPC - TipidPC
TWAIN - Technology Without An Important Name

--- U ---
UART - Universal Asynchronous Receiver/Transmitter
USB - Universal Serial Bus
UTP - Unshieled Twisted Pair

--- V ---
VCD - Video CD
VPN - Virtual Private Network

--- W ---
WAN - Wide Area Network
WTB - Want to Buy
WYSIWYG - What You See Is What You Get

--- X ---
XGA - Extended Graphics Array
XFX - XFX Graphics, a Division of Pine
XMS - Extended Memory Specification
XT - Extended Technology

Mobile Computing Tradinational TCP


In this unit,  difficulties  involved in providing  Internet support – browsing, email etc - to the mobile devices such as pagers, PDAs and cell phones etc.  are discussed.  

Traditionally, TCP / IP protocol stack is used for  providing  connectivity to the stationary devices. To provide support for the mobile devices, lower layers up to   network layers are not sufficient.  While network layer  addresses the  host, port, transport (TCP / IP ) layer  provides dedicated application (lying above them in  protocol stack) by way of multiplexing data  to and from applications.    In addition,  while UDP provides a connectionless, TCP  can give  certain guarantee  such as in-order delivery or reliable data  transmission using retransmission technique etc.  However, these are designed  non mobile applications. 

Based on unique problems associated with the  mobile nodes, a set of solutions have been developed.  These are : Indirect TCP, Snooping TCP, Mobile TCP, Fast Retransmit/fast recovery, Transmission / time out freezing, selective  retransmission, transaction oriented TCP etc  Brief description of each is given below:

Traditional TCP:  To start with,  a bit of under standing of the   tradition  protocol stack is discussed.   Salient features  that enhances  the TCP performance are:

i. Congestion Control: Once the network system (consisting of routers, bridges, hubs) are established, the hardware and software become matured  and  they are not likely to  drop packets or flip bits (0 to 1 or vice versa).   However, temporary overload  that occurs  when   a number of input data (different input links) being addressed to a particular output   link  This results in a congestion of a node.  Congestion may occur from time to time.  In this case, the router drops the packets which is observed by the receiver. When the senders does not receive the  ACK for the lost packets,  each of them  assume congestion in the network.  As sending the  data at full rate is unwise,   each of the senders reduce the data rate which removes the congestion over a period of time. So even under heavy load, TCP  guarantees at lest sharing of the bandwidth.

ii. Slow Start:  An important  features of as a response to congestion is  Slow Start mechanism. In this once, congestion is indicated, the sender  reverts to  slow start mechanism.  It works as follows:
            The sender starts sending one packet and waits for its response.  The waiting period is   equal  to  RTT. If ACK is received, he doubles the size of the packet and waits of ACK.    This process  is repeated till he reaches a   threshold limit.  That is till he reaches the threshold level, the   message size  increases exponentially. Once it  is reached,  the increment changes to linear.  Here  again,  increment is not for ever.  Now whenever time out occurs due to missing ACKs, the threshold  level is set to half and   the congestion is set to one  segment and the sender start sending a single segment.  Now the exponential  growth  goes upto new threshold level.
  
iii Fast Recovery / Fast Retransmit:  In  TCP, loss  in receipt of the data at the destination can be due to two reasons.   One is occasional loss due to error. Other may be due to congestion.  In case of occasional loss, the  receiver  sends ACK for the last packet repeatedly for three or four times.  This is an indication for the sender  that  a  packet is lost the  and the sender now retransmits the same.  This is called fast retransmit which takes place without much loss of time.

Contrary to this, when a congestion takes place which results in non receipt of ACK for a time which is much more than RTT, it reverts to slow start mechanism which is called fast recovery .
 

Implications on Mobility:

While slow start is one of most useful mechanism in a fixed network, it  drastically reduces the efficiency of the TCP if used  in a mobile receiver or sender.  The reason for this is that slow start mechanism may be initiated for wrong reasons.  Missing ACK in case of mobile nodes  is very common  which may be due to mobility or due to   any interruption.

            Also error rates, packet loss  on wireless links are order of magnitude and cannot be always compensated by  retransmissions or error correction mechanisms.

            Mobility itself can cause packet loss. There are many  situation when a soft handover is not possible for mobile end system.  This  results in loss of packet that are in transit to the old foreign agent while the nodes move to the new foreign agent.   This loss is nothing to do with  wireless access but it is a rerouting problem.

            As already brought out,  receipt of the three or more ACK for the same packet is identified as  loss of a single packet and appropriate action is taken  and loss of ACK  for a time that is much more than RTT is identified as congestion and slow start mechanism is  invoked.   Both these cannot be applied for the Mobile devices as more often,  loss of packet can take place for  reason other than these as well

            Also, for the sake of mobile devices, on cannot change the TCP protocol that encompasses the inter globe.  Hence new methods were devised that are discussed below:

Classical TCP
i) Indirect TCP (I-TCP):
 This method has been  developed based on two premises.
1.      TCP performs poorly together with wireless links
2.      TCP within the fixed   network cannot be changed.
I-TCP  segments  a TCP connection to a mobile device  into a fixed part and a wireless part. As shown below.  In this,  the standard TCP is connected  between fixed host and the foreign agent (Access Point).  Where as the ‘Wireless TCP’ is connected  between the Access point and the Mobile host. 

IN this  the access point acts as a proxy for both fixed and mobile nodes.  In case of fixed nodes, it is the  mobile node proxy and in case of mobile host, it is the fixed node proxy.   Foreign agent (access point ) is selected as proxy as it controls the mobility of the most host. However one can identify the TCP connection separation at a special server at the entry point  to a mobile network (eg IWF - Inter Working Function in GSM, GGSN in GPRS etc)

            The foreign acts as proxy and relays all  data in both directions.  What is important  to note in this case is that the foreign agent  itself responds to the  receipt of data from either hosts and send ACKs by itself.   In case the packet is lost in the wireless medium, the fixed (correspondent ) node will not notice this as the ACK is already sent by the foreign  agent.  However, the foreign  agent tries to retransmit this packet locally to maintain reliable data transport.  Similarly while the mobile node sends data to foreign agent, if it  is lost, the mobile nodes identifies this much faster as the RTT upto  proxy is very much smaller and it retransmits the lost packet.

            IN case of mobility of a mobile to  a new access point, this is intimated to the old access point and the data are cached.  This data is rerouted to new access point along with the  current TCP state such as sequence number, address, ports etc. 

There are several advantages of this methods .  these are :
i)                    I-TCP does not required any change in the existing TCP.
ii)                   Transmission in the wireless link  like  lost packets, cannot propagate into the fixed network.
iii)                 With I-TCP, new mechanism can be introduced in the fixed network.
iv)                 Partitioning into  two connections also allows the use of different transport layer protocol between the foreign agent and mobile host.

Some of the disadvantages of the systems are  listed below;
i)                    End to end semantics of TCP is lost.  The correspondent always assumes that   the receiver has received the packet once it  receives the ACKs which  always may not be case.
ii)                   Increased handover latency may be more problematic.  The old foreign agent needs to buffer the packet that are destined for the mobile  node till it receives any information  regarding its current position.   This may strain the resources of the foreign agent.
The foreign agent is to be a  trusted agent.  If the user applies end to end encryption, the foreign 

ii) Snooping TCP:
In this method,  the foreign agent buffers all packets with destination mobile host and additionally snoops the packet flow in both directions to recognize  acknowledgements.  Buffering enables  the foreign agent to   perform local retransmission in case of packet loss on the wireless link.  IF the FA does not receive ACK within a certain amount of time, either the packet or ACK is lost.  Also, FA agent could reeive a duplicate ACK (similar to TCP) which alsl shows the loss of  a packet.  Now the FA directly  retransmits the packet. From the buffer.  Which considerably reduced the  retransmission time if it was to be done by the correspondent node.  In addition, end to end  TCP semantics is maintained.  Towards this end, the ACK is not done by  the FA. It only forwards the same in either direction.   However, the FA can filter the duplicate ACKs.
 IN case of transmission of data from Mobile node to Correspondent node, the FA snoops on the data sequence number and if it identifies  a missing packet, it  returns negative ACK to the mobile host.  The mobile can now retransmit the missing packet immediately.  Reordering is done at the CN.

iii) MOBILE TCP :
In case of  Mobile deices, dropping packets  when they are out of coverage area are common. When it happens,  In case of normal TCP, a sender tries to retransmit data controlled by retransmission timer that doubles with each unsuccessful retransmission attempt, upto a maximum of one minute.  This means that the sender tries to retransmit an unacknowledged packet every one minute and will give up after 12 retransmissions.  If connectivity is back  earlier than this one, the sender waits for a minimum of one minute. Later he goes into slow start mechanism as he assumes  congestion. 

            IN M-TCP this problem is attempted.  In this, M-TCP tries to improve the overall throughput, lower delay and maintain end to end semantics of TCP and provides more efficient handover.  It is more suitable for lengthy  or frequent  disconnections.

            M-TCP splits the TCP connections into two parts.  An unmodified TCP is used on the standard host – Supervisory host (SH) connection while an optimized TCP is used on the SHJ-MH connection The SH is responsible for exchanging  data between both parts similar to the proxy in I-TCPAs it assumes low bit rate error it does not perform caching and  retransmission of data via SH>  If a packet is lost on the wireless link, it has to be retransmitted by the original sender.  This maintains end to end semantics.

            The SH monitors all packets sent to the MH and ACKs returned from the MH.  IF the SH does not receive an ACK for some time, it assumes that the MH is disconnected.  It then chokes the sender by setting the sender’s window size to 0. Setting the window size to 0 forces the sender to go into  persistent mode. That is the state of the sender will not change no matter  how long the receiver  is disconnected.  This means that the sender will not try to retransmit  data.  As soon as the SH detects connectivity, it opens the window  of  the sender to the old value.  The sender can continue sending  at full speed.  This mechanism does not required  changes to the sender’s TCP.
 
Advantages:
i)                    It maintains TCP end to end semantics.
ii)                   If the MH is disconnected, it avoids useless retransmissions, slow start or breaking the connection  etc by simply shrinking the sender window’s  size to 0.
iii)                 As lost packets are automatically retransmitted to the new SH, there is no need to buffer the data whenever, the MH moves to new SH.
Disadvantages:
i)                    As SH is not a proxy,  bit errors are propagated to the sender.
ii)                   In this case, when a number of  nodes move to a new SH, the bandwidth need to be  managed

WIRELESS APPLICATION ENVIRONEMNT

The purpose  of the  WAE  is to create a general purpose application  environment based mainly on existing  technologies  of the WWW.  This should allow service providers, software manufacturers  or hardware vendors to integrate  their application  so that  they can reach wide  variety of different  wireless platforms in an efficient way.  Some of the features of the  Wireless Application Environment are given below:
  • Device and network independent application environment
  • Designed  for  low-bandwidth, wireless devices
  • Considerations of slow links, limited memory, low computing power, small display, simple user interface (compared to desktops)
  • Integrated Internet/WWW programming model
  • High interoperability

WAP  Architecture:

WAP architecture is  shown below. 



  • Wireless Application Environment Specifies

        WML Microbrowser
        WMLScript Virtual Machine
        WMLScript Standard Library
        Wireless Telephony Application Interface (WTAI)
        WAP content types

 Wireless Protocol Stack :
Transmission of data is   carried out by  different bearer services. WAP does not specify  bearer services, but uses existing data services.  Examples are  SMS of GSM, circuit switched data of HSCSD (High Speed  Circuit Switched Data) in GSM, or packet switched data  such as GPRS or any other bearer services such as IS 136, CDMA etc. 
Brief details are given below:

  • WAE (Wireless Application Environment):
        Architecture: application model, browser, gateway, server
        WML: XML-Syntax, based on card stacks, variables, ...
        WTA: telephone services, such as call control, phone book etc.
  • WSP (Wireless Session Protocol):
        Provides HTTP 1.1 functionality
        Supports session management, security, etc.
  • WTP (Wireless Transaction Protocol):
        Provides reliable message transfer mechanisms
        Based on ideas from TCP/RPC
  • WTLS (Wireless Transport Layer Security):
        Provides data integrity, privacy, authentication functions
        Based on ideas from TLS/SSL
  • WDP (Wireless Datagram Protocol):
        Provides transport layer functions
        Based on ideas from UDP

WAE components:
    • Architecture  –Application model, Micro Browser, Gateway, Server
    • User Agents : –WML/WTA/Others
–content formats: vCard, vCalender, Wireless Bitmap, WML.
·        WML : –XML-Syntax, based on card stacks, variables,
·        WMLScript : –procedural, loops, conditions, ... (similar to JavaScript)
·        WTA : –telephone services, such as call control, text messages, phone book, ... (accessible from WML/WMLScript)
·        Proxy (Method/Push)

WAP architecture is  shown below.  



Wednesday, March 24, 2010

Mobile Transport Layer

• Motivation
• TCP mechanisms
• Indirect TCP
• Snooping TCP
• Mobile TCP
• Fast retransmit/recovery
• Transmission freezing
• Selective retransmission
• Transaction oriented TCP

Motivation


• Transport protocols typically designed for
- Fixed end-systems
- Fixed, wired networks
• TCP congestion control
• Packet loss in fixed networks typically due to (temporary) overload situations
• Routers discard packets as soon as the buffers are full
• TCP recognizes congestion only indirectly via missing acknowledgements
• Retransmissions unwise, they would only contribute to the congestion and make it even worse
• Slow-start algorithm as reaction


TCP Slow Start

  • Sender calculates a congestion window for a receiver
  • Start with a congestion window size equal to one segment
  • Exponential increase of the congestion window up to the congestion threshold, then linear increase
  • Missing acknowledgement causes the reduction of the congestion threshold to one half of the current congestion window
  • Congestion window starts again with one segment

TCP Fast Retransmit/Recovery

  • TCP sends an acknowledgement only after receiving a packet
  • If a sender receives several acknowledgements for the same packet, this is due to a gap in received packets at the receiver
  • However, the receiver got all packets up to the gap and is actually receiving packets
  • Therefore, packet loss is not due to congestion, continue with current congestion window (do not use slow-start)


Influences of mobility on TCP

  • TCP assumes congestion if packets are dropped
- Typically wrong in wireless networks, here we often have packet loss due to transmission errors
 - Furthermore, mobility itself can cause packet loss, if e.g. a mobile node roams from one access point (e.g. foreign agent in Mobile IP) to another while there are still packets in transit to the wrong access point and forwarding is not possible
·        The performance of an unchanged TCP degrades severely
- However, TCP cannot be changed fundamentally due to the large base of installation in the fixed network, TCP for mobility has to remain compatible
- The basic TCP mechanisms keep the whole Internet together

Indirect TCP I
·        Indirect TCP or I-TCP segments the connection
- No changes to the TCP protocol for hosts connected to the wired Internet, millions of computers use (variants of) this protocol
- Optimized TCP protocol for mobile hosts
- Splitting of the TCP connection at, e.g., the foreign agent into 2 TCP connections, no real end-to-end connection any longer
- Hosts in the fixed part of the net do not notice the characteristics of the wireless part


I-TCP socket and state migration



Advantages

*   No changes in the fixed network necessary, no changes for the hosts (TCP protocol) necessary, all current optimizations to TCP still work
*   Transmission errors on the wireless link do not propagate into the fixed network
* Simple to control, mobile TCP is used only for one hop between, e.g., a foreign agent and mobile host  Therefore, a very fast retransmission of packets is possible, the short delay on the mobile hop is known

Disadvantages

·        Loss of end-to-end semantics, an acknowledgement to a sender does not any longer mean that a receiver really got a packet, foreign agents might crash
·        Higher latency possible due to buffering of data within the foreign agent and forwarding to a new foreign agent

Snooping TCP

  • Transparent extension of TCP within the foreign agent
  • Buffering of packets sent to the mobile host  
  • lst packets on the wireless link (both directions!) will be retransmitted immediately by the mobile host or foreign agent, respectively (so called “local” retransmission)
  • The foreign agent therefore “snoops” the packet flow and recognizes acknowledgements in both directions, it also filters ACKs
  • Changes of TCP only within the foreign agent (+min. MH change) 






  • Data transfer to the mobile host
* FA buffers data until it receives ACK of the MH, FA detects packet loss via duplicated ACKs or time-out
* Fast retransmission possible, transparent for the fixed network
·        Data transfer from the mobile host
* FA detects packet loss on the wireless link via sequence numbers, FA answers directly with a NACK to the MH
* MH can now retransmit data with only a very short delay

Advantages:

·        Maintain end-to-end semantics
·        No change to correspondent node
·        No major state transfer during handover

Problems

  • Snooping TCP does not isolate the wireless link well
  • May need change to MH to handle NACKs
  • Snooping might be useless depending on encryption schemes

Mobile TCP

  • Special handling of lengthy and/or frequent disconnections
  • M-TCP splits as I-TCP does
* Unmodified TCP fixed network to supervisory host (SH)
* Optimized TCP SH to MH
·        Supervisory host
* No caching, no retransmission
* Monitors all packets, if disconnection detected
- set sender window size to 0
- sender automatically goes into persistent mode
* Old or new SH reopen the window

Advantages

·        Maintains semantics, supports disconnection, no buffer forwarding

Disadvantages

·        Loss on wireless link propagated into fixed network
·        Adapted TCP on wireless link

Fast retransmit/fast recovery

  • Change of foreign agent often results in packet loss
* TCP reacts with slow-start although there is no congestion
·        Forced fast retransmit
* As soon as the mobile host has registered with a new foreign agent, the MH sends duplicated acknowledgements on purpose
* This forces the fast retransmit mode at the communication partners
* Additionally, the TCP on the MH is forced to continue sending with the actual window size and not to go into slow-start after registration

Advantage

·        Simple changes result in significant higher performance

Disadvantage

·        Further mix of IP and TCP (to know when there is a new registration), no transparent approach

Transmission/time-out freezing

·        Mobile hosts can be disconnected for a longer time
* No packet exchange possible, e.g., in a tunnel, disconnection due to overloaded cells or mux. with higher priority traffic
* TCP disconnects after time-out completely
·        TCP freezing
* MAC layer is often able to detect interruption in advance
* MAC can inform TCP layer of upcoming loss of connection
* TCP stops sending, but does not assume a congested link
* MAC layer signals again if reconnected

Advantage

·        Scheme is independent of data and TCP mechanisms (Ack,SN) => works even with IPsec
·         
Disadvantage

·        TCP on mobile host has to be changed, mechanism depends on MAC layer

Selective retransmission
·        TCP acknowledgements are often cumulative
·        ACK n acknowledges correct and in-sequence receipt of packets up to n
·        If single packets are missing quite often a whole packet sequence beginning at the gap has to be retransmitted (go-back-n), thus wasting bandwidth
·        Selective retransmission as one solution
* RFC2018 allows for acknowledgements of single packets, not only acknowledgements of in-sequence packet streams without gaps
* Sender can now retransmit only the missing packets

Advantage:

·        Much higher efficiency

Disadvantage

·        More complex software in a receiver, more buffer needed at the receiver
     
Transaction oriented TCP

·        TCP phases
§         Connection setup, data transmission, connection release
§         Using 3-way-handshake needs 3 packets for setup and release, respectively
§         Thus, even short messages need a minimum of 7 packets!
·        Transaction oriented TCP
§         RFC1644, T-TCP, describes a TCP version to avoid this overhead
§         Connection setup, data transfer and connection release can be combined
§         Thus, only 2 or 3 packets are needed
Advantage
·        Efficiency
Disadvantage
·        Requires changed TC
·        Mobility no longer transparent