Copyright 2005 John Wiley & Sons, Inc4 - 1 Business Data Communications and Networking 8th Edition Jerry Fitzgerald and Alan Dennis John Wiley & Sons,

Slides:



Advertisements
Similar presentations
William Stallings Data and Computer Communications 7th Edition
Advertisements

1 Chapter 4. Data Link Layer Business Data Communications and Networking Fitzgerald and Dennis, 7th Edition Copyright © 2002 John Wiley & Sons, Inc.
Dwayne Whitten, D.B.A Mays Business School Texas A&M University
Assessment 1 Review Network Layers. Computer 1Computer 2 2.
1 Topic 5: Data Link Layer - Chapter 9: Data Link Control Business Data Communications, 4e.
Chapter 6 Errors, Error Detection, and Error Control
Chapter 6 Errors, Error Detection, and Error Control.
Data Link Layer – Part 1 V.T.Raja Oregon State University.
Chapter Six Errors, Error Detection, and Error Control Data Communications and Computer Networks: A Business User’s Approach Sixth Edition.
1 Chapter Six - Errors, Error Detection, and Error Control Chapter Six.
The Data Link Layer Chapter 3. Position of the data-link layer.
1 K. Salah Module 4.0: Data Link Layer The Logical Link Control (LLC) sublayer –Framing –Flow Control –Error Control The Media Access Control (MAC) sublayer.
Chapter 9: Data Link Control Business Data Communications, 4e.
Chapter 6: Errors, Error Detection, and Error Control
Chapter 2 Data Communications Concepts. Data Digitization The process of process of transforming humanly readable characters into machine readable code.
Chapter 6 Errors, Error Detection, and Error Control
Chapter 4 Chapter 4 Data Link Layer MIS Chapter 4 Data Link Layer Functions Media access control – when computers can transmit Detects and corrects.
Chapter 10 Data Link Control Protocols. Agenda Definition Functions Attributes Concepts Types Conversion.
Gursharan Singh Tatla DATA LINK PROTOCOLS 24-Mar
5-1 Business Data Communications and Networking, 6 th ed. FitzGerald and Dennis.
Midterm Review - Network Layers. Computer 1Computer 2 2.
5-1 Business Data Communications and Networking, 6 th ed. FitzGerald and Dennis.
Chapter 5 Data Link Layer.
Lecture 06 Errors, Error Detection, and Error Control.
Data Link Control Protocols Dr. Muazzam A. Khan. Flow Control Ensuring the sending entity does not overwhelm the receiving entity —Preventing buffer overflow.
Aegis School of Telecommunication Chapter 7 Data Link Control Protocols Telecom Systems I by Dr. M. G. Sharma, Phd.
11.1 Chapter 11 Data Link Control Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Data Link Layer We have now discussed the prevalent shared channel technologies  Ethernet/IEEE  Wireless LANs (802.11) We have now covered chapters.
Data Link Layer Chapter 4. Announcements and Outline Announcements Review Assignment Due next Thurs., 9/17 Assessment #1 – Tues., 9/22 MC Short Answer.
Dwayne Whitten, D.B.A Mays Business School Texas A&M University
ECS 152A 4. Communications Techniques. Asynchronous and Synchronous Transmission Timing problems require a mechanism to synchronize the transmitter and.
1 Chapter 6 Errors, Error Detection, and Error Control Data Communications and Computer Networks: A Business User’s Approach.
Chapter Six Errors, Error Detection, and Error Control Data Communications and Computer Networks: A Business User’s Approach Eighth Edition.
Layer Two Data Link Layer Collects bits from layer 1 and organizes into frames Passes bits that make up frames to layer 1 for transmission Concerned with.
1 Message Delineation Identify the start and end of messages by: Identify the start and end of messages by:
CS3505: DATA LINK LAYER. data link layer  phys. layer subject to errors; not reliable; and only moves information as bits, which alone are not meaningful.
1 Chapter Six - Errors, Error Detection, and Error Control Chapter Six.
Data Communications & Computer Networks, Second Edition1 Chapter 6 Errors, Error Detection, and Error Control.
Chapter 6: Errors, Error Detection, and Error Control Data Communications and Computer Networks: A Business User’s Approach Third Edition.
Chapter 11 Data Link Protocols A data link protocol is a set of specifications used to implement the data link layer [A protocol is the set of rules or.
Copyright ©2011 Cengage Learning. All rights reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible web site, in whole.
11.1 Chapter 11 Data Link Control Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Chapter 9: Data Link Control Business Data Communications, 4e.
Recap of Layers Application, Data Link and Physical.
Data Link Control. The two main functions of the data link layer are data link control and media access control. The first, data link control, deals with.
Chapter 4 Data Link Layer.
Dwayne Whitten, D.B.A Mays Business School Texas A&M University
24/11/1013-Datalink1 The Data Link Layer Role Services Functions –Framing –Encapsulation –Addressing –Connection Control –Ordered Delivery –Flow Control.
Simple Parity Check The simplest form of error detection is the parity check used with ASCII codes, originally on asynchronous modem links Each 7 bit ASCII.
Chapter 9: Data Link Control
Data Link Layer.
Chapter 4 Data Link Layer.
Topic 5: Data Link Layer - Chapter 9: Data Link Control
CIS 321 Data Communications & Networking
Chapter Six - Errors, Error Detection, and Error Control
Chapter 4 Data Link Layer
Ken Gunnells, Ph.D. - Networking Paul Crigler - Programming
Chapter 4 Data Link Layer 9/18/2018 5:27:13 AM9/18/2018 5:27:13 AM.
CIS 321 Data Communications & Networking
Chapter 4 Data Link Layer.
Packetizing Error Detection
Packetizing Error Detection
Business Data Communications
Chapter 4 Data Link Layer.
Packetizing Error Detection
Dwayne Whitten, D.B.A Mays Business School Texas A&M University
Chapter 9: Data Link Control
Data Link Layer. Position of the data-link layer.
Presentation transcript:

Copyright 2005 John Wiley & Sons, Inc4 - 1 Business Data Communications and Networking 8th Edition Jerry Fitzgerald and Alan Dennis John Wiley & Sons, Inc Prof. M. Ulema Manhattan College Computer Information Systems

Copyright 2005 John Wiley & Sons, Inc4 - 2 Chapter 4 Data Link Layer

Copyright 2005 John Wiley & Sons, Inc4 - 3 Outline Media Access Control –Controlled Access, Contention, Relative Performance Error Control –Sources of Errors, Error Prevention, Error Detection, Error Correction via Retransmission, Forward Error Correction Data Link Protocols –Asynchronous Transmission, Asynchronous File Transfer Protocols, Synchronous Transmission Transmission Efficiency

Copyright 2005 John Wiley & Sons, Inc4 - 4 Data Link Layer - Introduction Responsible for moving messages from one device to another Controls the way messages are sent on media Organizes physical layer bit streams into coherent messages for the network layer Major functions of a data link layer protocol –Media Access Control Controlling when computers transmit –Error Control Detecting and correcting transmission errors –Message Delineation Identifying the beginning and end of a message Data Link Layer Physical Layer Network Layer

Copyright 2005 John Wiley & Sons, Inc4 - 5 Media Access Control (MAC) Controlling when and what computer transmit –Important when more than one computer wants to send data (at the same time over the same circuit); e.g., Point-to-point half duplex links –computers to take turns Multipoint configurations –Ensure that no two computers attempt to transmit data at the same time Main approaches –Controlled access –Contention based access

Copyright 2005 John Wiley & Sons, Inc4 - 6 Controlled Access Controlling access to shared resources –Acts like a stop light Commonly used by mainframes (or its front end processor) –Determines which circuits have access to mainframe at a given time Also used by some LAN protocols –Token ring, FDDI Major controlled access methods –X-ON/X-OFF and Polling

Copyright 2005 John Wiley & Sons, Inc4 - 7 X-ON / X-OFF A B X-ON not busy Request to Transmit transmitting Pausing (periodically done) busy X-OFF X-ON not busy transmitting data An older controlled access protocol Still used on some half duplex circuits, but it is fading Still used between a computer and a printer

Copyright 2005 John Wiley & Sons, Inc4 - 8 Polling Process of transmitting to a client only if asked and/or permitted –Client stores the info to be transmitted –Server (periodically) polls the client if it has data to send –Client, if it has any, sends the data –If no data to send, client responds negatively, and server asks the next client Types of polling –Roll call polling –Hub polling (also called token passing)

Copyright 2005 John Wiley & Sons, Inc4 - 9 Roll Call Polling Involves waiting: Poll and wait for a response Needs a timer to prevent lock- up (by client not answering) Server E B C D A Check each client (consecutively and periodically) to see if it wants to transmit : A, B, C, D, E, A, B, … Clients can also be prioritized so that they are polled more frequently: A, B, A, C, A, D, A, E, A, B,.. Clients

Copyright 2005 John Wiley & Sons, Inc Hub Polling (Token Passing) E B C D A token One computer starts the poll: sends message (if if any) then passes the token on to the next computer Continues in sequence until the token reaches the first computer, which starts the polling cycle all over again

Copyright 2005 John Wiley & Sons, Inc Contention Transmit whenever the circuit is free Collisions –Occurs when more than one computer transmitting at the same time –Need to determine which computer is allowed to transmit first after the collision Used commonly in Ethernet LANs

Copyright 2005 John Wiley & Sons, Inc Relative Performance Depends on network conditions Work better for smaller networks with low usage Work better for networks with high traffic volumes When volume is high, performance deteriorates (too many collisions) Network more efficiently used Cross-over point: About 20 computers

Copyright 2005 John Wiley & Sons, Inc Error Control Handling of network errors caused by problems in transmission –Network errors e.g., changing a bit value during transmission Controlled by network hardware and software –Human errors: e.g., mistake in typing a number Controlled by application programs Categories of Network Errors –Corrupted (data changed) –Lost data

Copyright 2005 John Wiley & Sons, Inc Error Control (Cont.) Error Rate –1n –1 bit error in n bits transmitted, e.g., 1 in 500,000 Burst error –Many bits are corrupted at the same time –Errors not uniformly distributed e.g., 100 in 50,000,000  1 in 500,000 Major functions –Preventing errors –Detecting errors –Correcting errors

Copyright 2005 John Wiley & Sons, Inc Sources of Errors Line noise and distortion – major cause –More likely on electrical media –Undesirable electrical signal –Introduced by equipment and natural disturbances –Degrades performance of a circuit –Manifestation Extra bits “flipped” bits Missing bits

Copyright 2005 John Wiley & Sons, Inc Source of Error What causes itHow to prevent it Line Outages Faulty equipment, Storms, Accidents (circuit fails) White Noise (hiss) (Gaussian Noise) Movement of electrons (thermal energy) Increase signal strength (increase SNR) Impulse Noise (Spikes) Sudden increases in electricity (e.g., lightning, power surges) Shield or move the wires Cross-talk Multiplexer guard bands are too small or wires too close together Increase the guard bands, or move or shield the wires Echo Poor connections (causing signal to be reflected back to the source) Fix the connections, or tune equipment Attenuation Gradual decrease in signal over distance (weakening of a signal) Use repeaters or amplifiers Intermodulation Noise Signals from several circuits combine Move or shield the wires Jitter Analog signals change (small changes in amp., freq., and phase) Tune equipment Harmonic Distortion Amplifier changes phase (does not correctly amplify its input signal) Tune equipment Sources of Errors and Prevention mostly on analog More important

Copyright 2005 John Wiley & Sons, Inc Error Detection Mathematical calculations ?=?= Mathematical calculations Data to be transmitted Sender calculates an Error Detection Value (EDV) and transmits it along with data Receiver recalculates EDV and checks it against the received EDV –If the same  No errors in transmission –If different  Error(s) in transmission EDV Larger the size, better error detection (but lower efficiency)

Copyright 2005 John Wiley & Sons, Inc Error Detection Techniques Parity checks Longitudinal Redundancy Checking (LRC) Polynomial checking –Checksum –Cyclic Redundancy Check (CRC)

Copyright 2005 John Wiley & Sons, Inc Parity Checking One of the oldest and simplest A single bit added to each character –Even parity: number of 1’s remains even –Odd parity: number of 1’s remains odd Receiving end recalculates parity bit –If one bit has been transmitted in error the received parity bit will differ from the recalculated one Simple, but doesn’t catch all errors –If two (or an even number of) bits have been transmitted in error at the same time, the parity check appears to be correct –Detects about 50% of errors

Copyright 2005 John Wiley & Sons, Inc Examples of Using Parity senderreceiver EVEN parity parity number of all transmitted 1’s remains EVEN To be sent: Letter V in 7-bit ASCII: senderreceiver ODD parity parity number of all transmitted 1’s remains ODD

Copyright 2005 John Wiley & Sons, Inc LRC - Longitudinal Redundancy Checking Adds an additional character (instead of a bit) –Block Check Character (BCC) to each block of data –Determined like parity but, but counting longitudinally through the message (as well as vertically) –Calculations are based on the 1st bit, 2nd bit, etc. (of all characters) in the block 1st bit of BCC  number of 1’s in the 1st bit of characters 2nd bit of BCC  number of 1’s in the 2ndt bit of characters Major improvement over parity checking –98% error detection rate for burst errors ( > 10 bits) –Less capable of detecting single bit errors

Copyright 2005 John Wiley & Sons, Inc Letter D A T A Using LRC for Error Detection Note that the BCC’s parity bit is also determined by parity BCC Parity bit Example: Send the message “DATA” using ODD parity and LRC ASCII

Copyright 2005 John Wiley & Sons, Inc Polynomial Checking Adds 1 or more characters to the end of message (based on a mathematical algorithm) Two types: Checksum and CRC Checksum –Calculated by adding decimal values of each character in the message, –Dividing the total by 255. and –Saving the remainder (1 byte value) and using it as the checksum –95% effective Cyclic Redundancy Check (CRC) –Computed by calculating the remainder to a division problem:

Copyright 2005 John Wiley & Sons, Inc P / G = Q + R / G Cyclic Redundancy Check (CRC) –Most powerful and most common –Detects 100% of errors (if number of errors <= size of R) –Otherwise: CRC-16 (99.998%) and CRC-32 ( %) Message (treated as one long binary number) A fixed number (determines the length of the R) Remainder: –added to the message as EDV) –could be 8 bits, 16 bits, 24 bits, or 32 bits long Quotient (whole number) Example: P = 58 G = 8 Q = 7 R = 2

Copyright 2005 John Wiley & Sons, Inc Error Correction Once detected, the error must be corrected Error correction techniques –Retransmission (a.k.a, Backward error correction) Simplest, most effective, least expensive, most commonly used Corrected by retransmission of the data –Receiver, when detecting an error, asks the sender to retransmit the message Often called Automatic Repeat Request (ARQ) –Forward Error Correction Receiving device can correct incoming messages itself

Copyright 2005 John Wiley & Sons, Inc Automatic Repeat Request (ARQ) Process of requesting that a data transmission be resent Main ARQ protocols –Stop and Wait ARQ (A half duplex technique) Sender sends a message and waits for acknowledgment, then sends the next message Receiver receives the message and sends an acknowledgement, then waits for the next message –Continuous ARQ (A full duplex technique) Sender continues sending packets without waiting for the receiver to acknowledge Receiver continues receiving messages without acknowledging them right away

Copyright 2005 John Wiley & Sons, Inc Stop and Wait ARQ Sends the packet, then waits to hear from receiver. Sends acknowledgement Sends negative acknowledgement Resends the packet again Sends the next packet SenderReceiver

Copyright 2005 John Wiley & Sons, Inc Continuous ARQ Sender sends packets continuously without waiting for receiver to acknowledge Notice that acknowledgments now identify the packet being acknowledged. Receiver sends back a NAK for a specific packet to be resent.

Copyright 2005 John Wiley & Sons, Inc Flow Control with ARQ Ensuring that sender is not transmitting too quickly for the receiver –Stop-and-wait ARQ Receiver sends an ACK or NAK when it is ready (to receive more packets) –Continuous ARQ: Both sides agree on the size of the sliding window –Number of messages that can be handled by the receiver without causing significant delays)

Copyright 2005 John Wiley & Sons, Inc Flow Control Example receiver sender ACK ACK 4... … ACK 7.. set window size to window size = (slide window) (slide window) (timeout)

Copyright 2005 John Wiley & Sons, Inc Forward Error Correction (FEC) Receiving device can correct incoming messages itself (without retransmission) Requires extra corrective information –Sent along with the data –Allows data to be checked and corrected by the receiver –Amount of extra information: usually % of the data Useful for satellite transmission –One way transmissions (retransmission not possible) –Transmission times are very long (retransmission will take a long time) –Insignificant cost of FEC (compare to total cost of eq.)

Copyright 2005 John Wiley & Sons, Inc Hamming Code – An FEC Example Each data bit figures into three EVEN parity bit calculations If any one bit (parity or data) changes  change in data bit can be detected and corrected Only works for one bit errors

Copyright 2005 John Wiley & Sons, Inc Data Link Protocols Classification –Asynchronous transmission –Synchronous transmission Differ by –Message delineation –Frame length –Frame field structure frame k frame k+1frame k-1

Copyright 2005 John Wiley & Sons, Inc Asynchronous Transmission Each character is sent independently Sometimes called start-stop transmission Sent between transmissi ons (a series of stop bits) Used by the receiver for separating characters and for synch. Used on point-to-point full duplex circuits (used by Telnet when you connect to Unix/Linux computers)

Copyright 2005 John Wiley & Sons, Inc Asynchronous File Transfer Used on –Point-to-point asynchronous circuits –Typically over phone lines via modem –Computer to computer for transfer of data files Characteristics of file transfer protocols –Designed to transmit error-free data –Group data into blocks to be transmitted (rather sending character by character) Popular File transfer Protocols –Xmodem, Zmodem, and Kermit

Copyright 2005 John Wiley & Sons, Inc File Transfer Protocols SOH Packet # Packet # compl. (128 bytes) Checksum Start of Header One of the oldest async file transfer protocol Uses stop-and-wait ARQ. Xmodem-CRC: uses 1 byte CRC (instead of checksum) Xmodem-1K: Xmodem-CRC byte long message field Xmodem Zmodem Kermit Uses CRC-32 with continuous ARQ Dynamic adjustment of packet size (based on circuit) Very flexible, powerful and popular Typically uses CRC-24 and 1K size, but adjustable

Copyright 2005 John Wiley & Sons, Inc Synchronous Transmission Data sent in a large block –Called a frame or packet –Typically about a thousand characters (bytes) long Includes addressing information –Especially useful in multipoint circuits Includes a series of synchronization (SYN) characters –Used to help the receiver recognize incoming data Synchronous transmission protocols categories –Bit-oriented protocols: SDLC, HDLC –Byte-count protocols: Ethernet –Byte-oriented protocols: PPP

Copyright 2005 John Wiley & Sons, Inc SDLC – Synchronous Data Link Control Destination Address (8 or 16 bits) Identifies frame type; Information (for transferring of user data) Supervisory (for error and flow control) data CRC-32 Ending ( ) Beginning ( ) Bit-oriented protocol developed by IBM Uses a controlled media access protocol

Copyright 2005 John Wiley & Sons, Inc Transparency Problem of SDLC Problem: Transparency –User data may contain the same bit pattern as the flags ( ) –Receiver may interpret it as the end of the frame and ignores the rest Solution: Bit stuffing (aka, zero insertion) –Sender inserts 0 anytime it detects (five 1’s) –If receiver sees five 1's, checks next bit(s) if 0, remove it (stuffed bit) if 10, end of frame marker ( ) if 11, error (7 1's cannot be in data) –Works but increases complexity

Copyright 2005 John Wiley & Sons, Inc HDLC – High-Level Data Link Control Formal standard developed by ISO Same as SDLC, except –Longer address and control fields –Larger sliding window size –And more Basis for many other Data Link Layer protocols –LAP-B (Link Accedes Protocol – Balanced) Used by X.25 technology –LAP-D (Link Accedes Protocol – Balanced) Used by ISDN technology –LAP- F (Used by Frame Relay technology)

Copyright 2005 John Wiley & Sons, Inc Ethernet (IEEE 802.3) Most widely used LAN protocol, developed jointly by Digital, Intel, and Xerox, now an IEEE standard Uses contention based media access control Byte-count data link layer protocol No transparency problem – uses a field containing the number of bytes (not flags) to delineate frames Error correction: optional

Copyright 2005 John Wiley & Sons, Inc Ethernet (IEEE 802.3) Frame (number of bytes in the message field) Data ( bytes) Repeating pattern of 1’s and 0’s ( ) Used by Virtual LANs; (if no vLAN, the field is omitted If used, first 2 bytes is set to: 24,832 (8100H) Used to exchange control info (e.g., type of network layer protocol used) Used to hold sequence number, ACK/NAK, etc., (1 or 2 bytes)

Copyright 2005 John Wiley & Sons, Inc Point-to-Point Protocol (PPP) Byte-oriented protocol developed in early 90s Commonly used on dial-up lines from home PCs Designed mainly for point-to-point phone line (can be used for multipoint lines as well) (up to 1500 bytes) Specifies the network layer protocol used (e.g, IP, IPX)

Copyright 2005 John Wiley & Sons, Inc ProtocolSizeError DetectionRetransmissionMedia Access Asynchronous Xmission1ParityContinuous ARQFull Duplex File Transfer Protocols XMODEM1328-bit ChecksumStop-and-wait ARQControlled Access XMODEM-CRC1328-bit CRCStop-and-wait ARQControlled Access XMODEM-1K10288-bit CRCStop-and-wait ARQControlled Access ZMODEM*32-bit CRCContinuous ARQControlled Access KERMIT*24-bit CRCContinuous ARQControlled Access Synchronous Protocols SDLC*16-bit CRCContinuous ARQControlled Access HDLC*16-bit CRCContinuous ARQControlled Access Token Ring*32-bit CRCStop-and wait ARQControlled Access Ethernet*32-bit CRCStop-and wait ARQContention SLIP*None Full Duplex PPP*16-bit CRCContinuous ARQFull Duplex * Varies depending on message length. Data Link Protocol Summary

Copyright 2005 John Wiley & Sons, Inc Transmission Efficiency An objective of the network: –Move as many bits as possible with min errors  higher efficiency and lower cost Factors affecting network efficiency: –Characteristics of circuit (error rate, speed) –Speed of equipment, Error control techniques –Protocol used Information bits (carrying user information) Overhead bits ( used for error checking, frame delimiting, etc.) Total number of info bits to be transmitted Total number of bits transmitted =

Copyright 2005 John Wiley & Sons, Inc Transmission Efficiency of Protocols Async Transmission: 7-bit ASCII (info bits), 1 parity bit, 1 stop bit, 1 start bit Transmission Efficiency = 7 / 10  70% e.g., V.92 modem with 56 Kbps  39.2 Kbps effective rate SDLC Transmission Assume 100 info characters (800 bits), 2 flags (16 bits) Address (8 bits), Control (8 bits), CRC (32 bits) Transmission Efficiency = 800 / 64  92.6% e.g., V.92 modem with 56 Kbps  51.9 Kbps effective rate Bigger the message length, better the efficiency However, large packets likely to have more errors (more likely to require retransmission)  wasted capacity

Copyright 2005 John Wiley & Sons, Inc Throughput A more accurate definition of efficiency Total number of information bits received per second; takes into account: –Overhead bits (as in transmission efficiency) –Need to retransmit packets containing errors Complex to calculate; depends on –Transmission efficency –Error rate –Number of retransmission Transmission Rate of Information Bits (TRIB) –Used as a measurement of throughput

Copyright 2005 John Wiley & Sons, Inc Optimum Packet Size Trade-off between packet size and throughput (more costly in terms of circuit capacity to retransmit if there is an error) (less likely to contain errors) Acceptable range

Copyright 2005 John Wiley & Sons, Inc TRIB K (M – C) (1 – P) (M / R) + T Info bits per character Average number of non-info characters per block Probability that a block will require retransmission Time between blocks (in seconds) (propagation time + turnaround time) (a.k.a., reclocking time) Packet length in characters Data xmission rate in char per second = Number of info bits accepted / total time required to get the bits (number of info bits) (Prob. Of successful xmission) time it takes to transmit these bits + propagation delay TRIB = Ex: K=7 bits/character M = 400 char/block R= 4.8 Kb/s C = 10 char/block P = 1% T = 25 ms 7(400-10)(1-0.01) (400/600)+0.025) = Kb/s TRIB =

Copyright 2005 John Wiley & Sons, Inc Implications for Management Provide a few, widely used data link layer protocols for all networks –Minimize costly customization –Minimize costly translation among many protocols –Less training, simpler network management –Bigger pool of available experts –Less expensive, off-the-shelf equipment

Copyright 2005 John Wiley & Sons, Inc Copyright 2005 John Wiley & Sons, Inc. All rights reserved. Reproduction or translation of this work beyond that permitted in section 117 of the 1976 United States Copyright Act without express permission of the copyright owner is unlawful. Request for further information should be addressed to the Permissions Department, John Wiley & Sons, Inc. The purchaser may make back-up copies for his/her own use only and not for distribution or resale. The Publisher assumes no responsibility for errors, omissions, or damages caused by the use of these programs or from the use of the information herein.