protocols and interaction models for web services
Download
Skip this Video
Download Presentation
Protocols and Interaction Models for Web Services

Loading in 2 Seconds...

play fullscreen
1 / 98

Protocols and Interaction Models for Web Services - PowerPoint PPT Presentation


  • 59 Views
  • Uploaded on

Protocols and Interaction Models for Web Services. CSCI 8710 Fall 2006. Outline. Networks Client/Server Peer-to-Peer Web Service Protocols. Networks. Originated with ARPANET Packet-switched Started in late 1960’s ARPA - Advanced Research Projects Agency (now known as DARPA)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Protocols and Interaction Models for Web Services' - india-guzman


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
outline
Outline
  • Networks
  • Client/Server
  • Peer-to-Peer
  • Web Service Protocols
networks
Networks
  • Originated with ARPANET
    • Packet-switched
    • Started in late 1960’s
    • ARPA - Advanced Research Projects Agency (now known as DARPA)
    • Then: about 10 nodes (~100 million today)
    • Goal: resource sharing
    • Result: reached goal + demonstrated importance of networks as tool for communication and interaction via email
networks1
Networks
  • Kleinrock at UCLA
    • Did much of the early work in queueing models of networks, measurement and management of networks and network protocols
networks2
Networks
  • 1983: ARPANET split into two networks:
    • MILNET (military purposes)
    • ARPANET (reduced version)
    • Term “Internet” first introduced
    • -- came into being in 1983
today s internet
Today’s Internet
  • Worldwide collection of interconnected WANs
  • Characterized by:
    • IP - networking protocol
    • TCP - process-to-process protocol
types of networks
Types of Networks
  • WANs
  • LANs
  • LAN-to-WAN connection
  • Home-to-WAN connection
slide8
WANs
  • Wide-area network
    • City-wide, muti-city, country-wide, continent …
  • Uses packet switching:
    • Messages transmitted between hosts are broken down into chunks called packets with some max size
    • Packet header has routing and sequencing info
  • Consists of:
    • Packet switches or routers
    • High speed links connecting the routers
routers
Routers
  • Communication computers that:
    • Store incoming packets
    • Examine headers
    • Look up routing tables
    • Decide next router to send packet to
    • Place packet on output queue for selected link
  • Known as “store and forward”
technologies used to build wans
Technologies used to build WANs
  • X25 - a standard of the ITU (International Telecommunications Union)
  • ISDN - Integrated Services Digital Network
    • Service offered by telephone companies; integrates voice and data over ordinary telephone lines
  • Frame Relay
    • A high-speed WAN service offered by long-distance carriers
technologies used to build wans cont d
Technologies used to build WANs (cont’d)
  • SMDS - Switched Multi-megabit Data Service
    • Another high-speed WAN service offered by long-distance carriers
  • ATM - Asynchronous Transfer Mode
    • Packet-switched technology that uses small fixed-size packets (53 bytes), called cells, to provide fast switching to voice, video, and data over WANs
slide12
LANs
  • Typically confined to a building or set of closely located buildings
  • Both wired and wireless
  • Most popular:
    • 10-Mbps Ethernet
    • 100-Mbps Ethernet
    • 4- or 16-Mbps Token Ring
    • 100-Mbps FDDI
ethernet
Ethernet
  • Invented by Metcalfe in the early 1970s
  • Have bus topology:

Shared bus

computer

Network interface card (NIC)

ethernet1
Ethernet
  • Computers connect to a shared coaxial cable through NICs
  • Packets transmitted by one NIC can be received by all others: broadcast communication
    • But, since packets have destination addresses, only destination NIC will (typically) copy the packet to the computer’s main memory
ethernet2
Ethernet
  • All NICs can try to talk at once
    • which reminds EK of a faculty meeting ;^)
    • No central coordinator
  • CSMA/CD is used:
    • Carrier Sense with Multiple Access / Collision Detection
    • NIC that wants to transmit “listens” to see if a transmission is in progress (carrier sense)
      • If so, it waits
    • But two may start “talking” at about the same time (collision)
    • Collisions are detected and NICs stop “talking”, wait for a randomly selected time period(so they don’t just collide again), and then try to retransmit
ethernet3
Ethernet
  • What happens as number of nodes and/or traffic increases?
    • probability of collision increases
    • Network throughput decreases
      • Because more bandwidth spent on collisions and retransmissions
token ring
Token Ring
  • Invented at IBM Research Labs
  • Based on a ring topology:

= computer

= Network interface card (NIC)

ring

token ring1
Token Ring
  • Access to ring is controlled by a token (special bit pattern that circulates in the ring)
  • NIC with token can transmit
  • If NIC has nothing to transmit, just passes the token
token ring2
Token Ring
  • Sender (NIC with token) inserts the bits representing its packet into the ring
  • Packet goes around the ring, is copied by the NIC of the destination address
  • Packet flows back around to sender; sender removes packet and performs error checking (compares received packet with sent packet)
token ring3
Token Ring
  • As more stations are added to the token ring …
    • Delay in obtaining token increases
      • Token must circulate through more NICs
      • Probability that token is used by other NICs increases
slide21
FDDI
  • Uses optical fibers and token-passing
  • Differs in that it uses 2 rings

= computer

= Network interface card (NIC)

ring

slide22
FDDI
  • Benefits of 2nd ring?
    • Data flows in opposite directions in the 2 rings
    • If a station fails, the hardware can reconfigure the ring and turn it into a single functioning ring by bypassing the malfunctioning station
lans limits on size
LANs: limits on size
  • Two types of limits:
    • Physical limits
    • Performance limits
  • Examples:
    • Ethernet physical limits:
      • Cable no more than 500 m in length
      • Mininum separation of 3 m between stations
managing performance limits on lans
Managing performance limits on LANs
  • Number of stations may be limited because of adverse impact of additional stations on overall performance
  • Approach:
    • Can divide larger LAN into LAN segments with fewer stations each
    • Segments joined by connecting devices such as routers and bridges
    • Stations that communicate frequently should be in same segment
wireless lans
Wireless LANs
  • Stations communicate via RF (radio frequency)
    • Modulation of transmitted wave is interpreted as sequence of 0s and 1s
    • IEEE standard for LANs is the IEEE 802.11 protocol
      • Can transmit data at 1 or 2 Mbps depending on underlying modulation technology
ieee 802 11 protocol
IEEE 802.11 protocol
  • Provides a carrier sense signal that indicates if a transmission is in progress
  • Data sent by one station can be received by all stations in the coverage area
  • Subject to the “hidden terminal” problem
    • Happens when walls or other structures obstruct the RF signals
    • Station C may hear A and B, but they may not be able to communicate with one another
ieee 802 11 protocol1
IEEE 802.11 protocol
  • within their cells or basic service set (BSS), stations ( ) can communicate with one another and with an access point (AP).
  • Through the AP stations may communicate with stations in another BSS
  • Stations may also form an ad-hoc network (without an AP)

BSS

AP

BSS

AP

ieee 802 11 protocol handling interference
IEEE 802.11 protocol: handling interference
  • Uses CSMA/CA
    • Carrier Sense Multiple Access/Collision Avoidance
    • If channel is sensed idle for time equal to DIFS (distributed inter frame space), station may transmit
    • Receiver of a correct frame then sends ack frame to sender after short time (SIFS=short interframe spacing)
    • If channel is busy:
      • sender defers access, listens again
      • If quiet for DIFS, xmits after random backoff time expires
      • Use of random prevents all waiting from sending at same time
    • Doesn’t detect collisions, tries to avoid
    • Transmitted frame contains transmission duration; others know how long to wait
ieee 802 11 handling the hidden station problem
IEEE 802.11:handling the hidden station problem
  • Two stations (A and B) hidden from one another may transmit to same station (C)
    • Can use RTS (request to send) and CTS (clear to send) exchange of frames before actual transmission
    • B will “hear” C send the CTS to A and will not send.
lan to wan connection
LAN-to-WAN connection
  • LANS usually connect to WANS through dedicated leased lines at T1 (1.544 Mbps) or T3 (45 Mbps) speeds
  • LANS may be of any type
  • Example:
    • 3 LANS: 1 FDDI, 1 ethernet, 1 Token ring
    • Each connects to Frame Relay WAN through router and T1 line
home to wan connection
Home to WAN connection
  • Many alternatives:
    • Dialup modem, 14.4 - 15.6 Kbps
      • simple, cheap
    • ISDN Basic Rate Interface (BRI)
      • Dialup digital modem
      • Speed up to 128 Kbps
    • ISDN Primary Rate Interface (PRI)
      • 1.544 Mbps
    • Leased T1 line
      • 1.544 Mbps
home wan connection continued
Home-WAN connection, continued
  • High Bit Rate Digital Subscriber Line (HDSL)
    • 1.544 Mbps
  • Asymmetric Digital Subscribe Line (ADSL)
    • 640 Kbps outbound
    • 6 Mbps inbound
    • Good for web access (http requests are small, returned images, videos, etc. may be large)
  • Cable modems
    • Cable is shared; actual bandwidth seen by customer depends on load on network
    • Most cable modems are asymmetric
    • Typical speeds 1- 10 Mbps downstream, 128 Kbps upstream
protocols
Protocols
  • Purpose
  • IP
  • TCP
protocols1
Protocols
  • Protocol:(in this context)
    • A set of rules governing communication between two computers or two processes over a computer network
    • Consists of functions/rules for:
      • Addressing
      • Routing
        • Together ensure that message from A to B arrives at B
      • Error detection
      • Error recovery
      • Sequence control
        • Together handle situation in which messages from A are lost or corrupted due to noise or network failures
      • Flow control
        • To handle situation in which A sends at faster rate than B can consume
protocols2
Protocols
  • Connectionless
    • Messages from A to B are independent of one another; may arrive at destination in order different from transmission order
      • Think of mailing off a batch of postcards that together contain the content of a novel
      • Good when data to be exchanged fit into maximum data unit (all fits on one postcard)
protocols3
Protocols
  • Connection-oriented
    • Used when messages that are much larger than the maximum data unit are transmitted
    • Sequencing and data recovery important
    • Think of making a phone call: a connection is set up, and the channel remains open for transmission until you disconnect
protocol specification
Protocol specification
  • Syntax
    • Specifies the types of messages that can be sent, the format of those messages, and the meaning of each field in the message
  • Semantics
    • Specifies the actions taken by each entity when specific events occur
      • Example: when a message arrives, when a message times out, etc.
protocol specification1
Protocol specification
  • ISO (International Standards Organization) defined a seven-layer model, the Reference Model for Open Systems Interconnection
    • Physical
    • Data link
    • Network
    • Transport
    • Session
    • Presentation
    • Application
iso osi
(ISO) OSI
  • Each entity at layer n communicates only with remote nth-layer entities
  • Layer n uses local services provided by layer n-1

N-th layer protocol

N-th

layer

N-th

layer

(N-1)th

layer

(N-1)th

layer

network

protocol layers
Protocol Layers
  • Data exchanged between nth-layer entities have to be:
    • physically processed by layers n to 1 at the sending computer
    • Transported through the network
    • Moved from layer 1 to n at the receiving end
protocol layers1
Protocol Layers
  • Each entity at layer n exchanges a Protocol Data Unit (PDU) with a remote layer n entity
  • PDU has:
    • Layer n data
    • Layer n header
  • The layer n PDU becomes layer (n-1) data:

Layer (n-1)

header

Layer n

header

Layer n data

<---------- layer (n-1) data ---------------------->

tcp ip
TCP/IP
  • IP = Internet Protocol
    • a network layer protocol
  • TCP = Transmission Control Protocol
    • A transport layer protocol
    • Connection-oriented
  • UDP = User Datagram Protocol
    • A transport layer protocol
    • A connectionless protocol
  • Together: TCP/IP protocol suite; forms the core of the internet
on top of tcp
On top of TCP:
  • HTTP- hypertext transfer protocol (web)
  • FTP - file transfer protocol
  • SMTP - simple mail transfer protocol
  • Telnet - an interactive login protocol
on top of udp
On top of UDP:
  • RPC - remote procedure call
    • NFS - network file sytem - runs on top of RPC
  • DNS - Domain Name Server
  • SNMP - Simple Network Management Protocol
internet protocol ip
Internet Protocol (IP)
  • Specifies:
    • the formats of packets sent across the Internet,
    • the mechanisms used to forward these packets through a collection of networks
    • Routers from source to destination
internet protocol ip1
Internet Protocol (IP)
  • Every host connected to the internet has a unique address: an IP address
    • A 32-bit number
    • Represented by a dotted notation: 129.192.4.5, for example
    • Each of the four numbers represents the value of 8 bits in the address
    • Divided into prefix and suffix
      • Prefix: indicates the network
      • Suffix: host within the network
internet protocol ip2
Internet Protocol (IP)
  • Number of bits allocated to prefix determines number of unique network numbers
  • Number of bits allocated to suffix determines number of hosts per network
  • Currently, IPv4 uses 32-bit address field
  • But … may be approaching limits of number of servers to be on …
  • IP v 6 uses 128 bits
internet protocol ip3
Internet Protocol (IP)
  • IP datagram: the data unit transported by IP
  • IP is connectionless and
    • can “lose” datagrams
    • can deliver datagrams out-of-order (may travel to destination by different routes)
    • is known as “best effort” service
internet protocol ip4
Internet Protocol (IP)
  • Header is 20 bytes long
    • 4 bytes for IP address of source
    • 4 bytes for IP address of destination
  • Performs routing of datagrams from source to destination
  • IP implementation at router maintains an in-memory routing table; used to search for next router or host to which to forward the datagram.
tuesday s class
Tuesday’s class
  • Kelly,
  • Stop here …
  • On Thursday, pick up here with TCP…
  • Thanks!
  • Ek
transmission control protocol tcp
Transmission Control Protocol (TCP)
  • Provides a:
    • Connection-oriented
    • Reliable
    • Flow-controlled
    • End-to-end

communication service between processes residing at hosts connected through a network

transmission control protocol tcp1
Transmission Control Protocol (TCP)
  • Guarantees that data is delivered and is in-order
  • Provides full-duplex communication
    • Both ends of the connection can communicate simultaneously
  • Provides a stream interface
    • Accepts a continuous stream of bytes from the application to be sent through the connection
transmission control protocol tcp2
Transmission Control Protocol (TCP)
  • PDU exchanged at the TCP level is called a segment
    • Header is 20 bytes long
    • Segments reside within IP datagrams
  • Connection must be established before data can be exchanged:
    • Three-way handshake is mechanism for establishing connections
tcp three way handshake
TCP: three-way handshake
  • host A establishes connection with host B
    • A sends SYN(synchronization) segment to B (#1)
    • B replies with a SYN segment(#2); places A in queue of incomplete connections
    • A sends ACK to B (#3 of 3-way handshake)
    • Connection complete when B receives ACK
    • Data may now be exchanged in both directions
  • Note: Denial of Service attack:
    • fills queue of incomplete connections(A never sends the ACK) -- host can’t accept new connections
tcp closing the connection
TCP - closing the connection
  • TCP connection closing is half-close
    • Host closing connection indicates that host won’t send more data but is still willing to receive
  • Host A to host B
    • Host A sends FIN to host B
    • B replies with ACK
    • B can still send to A
  • To completely close the connection
    • Host B sends FIN to host A
    • A replies with ACK
  • So, total of 4 segments to close the connection
slide56
TCP
  • Error control:
    • Handled via ACKs, timeouts, and retransmission
  • Flow control:
    • Implemented via a sliding window mechanism
      • Window = max num bytes sent before an ACK is received
      • Window size limited by
        • Buffer size at receiver
        • Network congestion perceived by sender
tcp flow control
TCP flow control
  • Connection first established
    • Receiver advertises Wm - its maximum window size
    • Sender’s window size can’t exceed this or receiver will have buffer overflow and packets will be lost
    • Network congestion causes some packets to be dropped at some router or to not be ack’d before a timeout occurs
      • Sender then reduces window size to Wc , which reduces its transmission rate and attempts to mitigate network congestion
tcp flow control1
TCP flow control
  • Two phases:
    • Slow start
      • Wc is initialized to 1, increased by 1 for each ACK received (note ACK count is cumulative)
      • Wc = 1, 1 packet sent, ACK’d in 1 RTT -> Wc now 2
      • Wc = 2, 2 packets sent, ACK’d in 1 RTT ->Wc now 4
      • Wc = 4, 4 packets sent, ACK’s in 1 RTT -> Wc now 8
      • … doubles every RTT up to max of Wm
    • Congestion avoidance
tcp control flow
TCP control flow
  • Network congestion detected by
    • Receipt of a duplicate ACK (receiver received an out-of-sequence segment)
    • Timeout at the sender
  • Response:
    • Save current value of window size to Wssthr (slow start threshhold window size)
    • Reduce Wc
tcp flow control2
TCP flow control
  • TCP actually has different versions.
  • TCP Reno (a common version) reduction of window size upon congest works like this:
    • If duplicate ACK received: Wc divided by two, enter congestion avoidance phase
    • If a timeout occurs, Wc set to 1; go back to slow start
    • When Wc reaches Wssthr during slow start, switch to congestion avoidance
tcp flow control3
TCP flow control
  • Congestion avoidance phase:
    • Wc increased by 1/Wc for every ACK received
  • XTCP, throughput of a TCP connection, measured in segments per second:
    • Decreases with RTT
    • Decreases with probability packets are dropped
    • Increases with Wm, measured in segments
    • Decreases with T0, TCP timeout value
tcp performance and limitations
TCP performance and limitations …
  • … some derivation of performance formulas, to be performed when EK returns …
client server
Client/Server
  • Client/Server paradigm
  • Server types
  • HTTP
client server paradigm
Client/Server Paradigm
  • Client process:
    • Runs on desktop or user workstation and provids GUI code for data capture and display
    • Makes requests for specific services to be performed by one or more server processes, usually located at remote machines
    • Executes a portion of the application code
client server paradigm1
Client/Server Paradigm
  • Server process
    • Executes a set of functionally-related services that usually require a specialized hardware/software component
    • Never initiates a message exchange with any client; a passive entity that listens to client requests, executes them, and replies to clients
    • Usually runs on a machine that is faster and has more main memory and disk space than a client machine
client server interaction protocol
Client-Server interaction protocol
  • Request-reply protocol
    • Clients send requests
    • Servers reply to client requests
    • May run on TCP, UDP, or other
client server1
Client-Server
  • Server may receive many requests
    • Forms a queue of requests at server
    • Serving only one request at a time may
      • Under-utilize machine
      • Limit server throughput
      • Increase response time to clients
    • Most servers create multiple processes or threads to handle the queue of incoming requests
      • As number of threads increases, response time will initally decrease (clients don’t need to wait as long) and then go up or flatten out as the multiple threads contend for resources
client server2
Client-Server
  • Two-tier architecture
    • Client runs: GUI + application logic
    • Server runs: SQL server
  • Three-tier architecture
    • Client runs: GUI
    • Application server runs: application logic (and acts as client to…)
    • SQL server
fat clients v thin clients
Fat clients v. thin clients
  • “Fat” clients
    • incorporate more of the transaction logic than thin clients
    • tend to require fewer interactions with server
    • cost: higher computing requirements for client
client server caching
Client-Server: caching
  • Cache = copy of data stored “closer” to client
    • client may keep cached copy of file
    • server may keep main memory cache of recently/frequently accessed files
    • web server may cache popular docs
  • use of caches can improve performance and increase system scalability
client server caching1
Client-server: caching
  • cache hit – data of interest found at the cache
  • cache miss – not found
  • Benefits: better performance
  • Costs: need to maintain consistency of cache, extra processing time for cache misses
caching example
Caching - example
  • File server receives requests to read 8-KB file blocks at a rate of 900 req/sec
  • What is the effect at the server if 30% of requests generate a cache hit at the client?
    • (1-0.30) * 900 req/sec = 630 req/sec at server
  • What if 25% of the requests that reach the server can be satisfied from server’s main memory cache?
    • (1-0.25) * 630 req/sec = 472.5 req/sec
server types
Server types
  • file servers
  • database servers
  • application servers
  • groupware servers
  • object servers
  • Web servers
  • software servers
file servers
File servers
  • provide networked computers with access to a shared files system
  • Example: NFS (networked file system)
    • can use UDP (usually) or TCP/IP
  • Client requests:
    • look up directory
    • retrieve file attributes
    • read and write blocks from files
database servers
Database servers
  • provide access to one or more shared databases
  • Client requests:
    • SQL statements
  • Server response:
    • list of records
application servers
Application servers
  • provide access to remote procedures invoked through the Remote Procedure Call (RPC) mechanism
    • typically implement business logic & make SQL calls to backend DB engine
transaction processing monitors tpms
Transaction Processing Monitors (TPMs)
  • perform load balancing amoung several servers that implement the same service
groupware servers
Groupware Servers
  • provide access to unstructured and semi-structured info such as text, images, mail, BBoards, workflows
object servers
Object servers
  • support remote invocation of methods in support of distributed object-oriented application development
  • ORB = Object Request Broker – the “glue” between clients and remote objects
software servers
Software servers
  • used to provide executables to Network Computers (NCs), which do not have hard drives
web servers
Web servers
  • provide access to documents, images, sound, executables, and downloadable applications through HTTP
html http
HTML/HTTP
  • HTML = markup language for documents: formatting, links to other documents, links to inline images, video, software, etc.
  • inline images impact performance:
    • single click -> multiple requests
slide85
HTTP
  • application-level protocol, runs on top of TCP
  • simple request-response interaction: “Web transaction”
    • map server name to IP address
    • establish TCP connection with server
    • transmit request
    • receive response
    • close TCP/IP connection
      • in HTTP 1.1 the connection remains open for embedded images
http request
HTTP request
  • request includes:
    • action (GET, HEAD, PUT, POST)
    • URL that identifies info requested
    • other: type of doc client will accept, authentication, payment authorization, etc.
http response
HTTP response
  • status line (success or failure)
  • meta-info about object returned and info requested
  • file or output generated by server-side app (CGI script, for example)
slide88
HTTP
  • “stateless”
    • single request/response, no continuing conversation
    • servers don’t have to keep track of clients and their histories
    • adverse effect on performance
      • new connection established for every request
      • in HTTP 1.0 – new connection for document + 1 for every image on the page
http 1 1
HTTP 1.1
  • persistent connection – leaves the TCP connection open between consecutive operations
  • avoids many RTT delays
  • supports “pipeline of requests”
    • can send multiple requests without waiting for a response
peer to peer model
Peer-to-Peer Model
  • used in sharing files, disk space, even computing cycles
  • two styles
    • meta-data server
      • more messages
    • purely distributed
      • more scalable
web service protocols
Web Service Protocols
  • Intro
  • SOAP
  • WSDL
  • UDDI
web service
Web Service
  • business functionality exposed by a company, for the purpose of allowing another company or software program to use the service
  • Components:
    • service provider
    • service registry
    • service requester
slide96
WSDL
  • Web services description language
    • XML format
    • describes services as endpoints operating on messages containing either document-oriented or procedure-oriented information
    • describes what service does, where it is, how to invoke it
slide97
UDDI
  • Universal Description, Discovery,and Integration
    • for finding services that meet requirements
ad