understanding networked applications: a first course chapter 11 by david g. messerschmitt
Post on 22-Dec-2015
219 Views
Preview:
TRANSCRIPT
Understanding Networked Applications:A First Course
Algorithms and protocols
by
David G. Messerschmitt
Understanding Networked Applications A First Course3
Algorithm
• Specified sequence of steps that– accomplish a designated task– in a finite number of steps
• Representation:– simple algorithm: flowchart– complicated algorithm: program
Understanding Networked Applications A First Course4
Startturn
Throwdice
Move token numberof squares indicated
on dice
Land on “goto jail”?
Move to“jail” square
Do not move;follow policies
for square(like “pay rent”)
Finishturn
Yes
No
Example: one turn at monopoly
Understanding Networked Applications A First Course5
Start
Action
Action
Action
Finish
Decision
Finish
ActionAction
Start
Finish
Test
Action
Start
Sequence Selection Loop
Algorithm building blocks
Programming languages support these three building blocks
Understanding Networked Applications A First Course6
Protocol
• Distributed algorithm realized by two or more modules to coordinate their actions or accomplish some shared task
• Module interoperability requires a protocol– Prescribed order of method invocations– Part of interface documentation
Understanding Networked Applications A First Course7
Player 1 Player 2
Time
One-turnalgorithm
Monopoly players protocol
This is a protocol interaction diagram
Understanding Networked Applications A First Course8
Application and infrastructure
Internally, the networkuses protocolsto implement the services it provides
The application defines its ownapplication-level protocols
Understanding Networked Applications A First Course9
Three simple protocols
• One-way message: send-receive
• Two-way interaction: request-response
• Push: publish-subscribe
Understanding Networked Applications A First Course10
Client Server
Time
sendreceive
request
response
subscribe
responses
Understanding Networked Applications A First Course11
HTTP serverHTTP client
(browser)
HTML documents
User activates URL HTTP request
HTTP response(embedded document)
Browser displaysdocument (if HTML)or invokes “helper application”
Example: HTTP
Understanding Networked Applications A First Course12
Example: Stock trading
What is application protocol?
StockTraderCustomer
Customer wants to purchase 10 shares of MSFT if price is below $90
Understanding Networked Applications A First Course14
Three ways of locating things
• Name– “Joe Bloe”
• Address– “1299 Hearst St, Berkeley, CA”
• Reference– “Postmaster of Berkeley CA”
Understanding Networked Applications A First Course15
Name
• Symbolic (character string) representation
• Easy for people to remember or guess
• Identifies but does not locate directly– Distinction important for mobile entities
• Not unique: entities can have more than one name (called aliases)
Understanding Networked Applications A First Course16
Hierarchical names
• Hierarchy makes names easier to remember or guess
• Host domain names:– “info.sims.berkeley.edu”– designates administrative hierarchy
• File names:– “c:\My Documents\Docs\Resume.doc”– designates folder hierarchy
Understanding Networked Applications A First Course17
Address
• Route or path to entity– is directly specified, or– can be inferred
• Independent of who or what is locating entity
• Topological specification
Understanding Networked Applications A First Course18
Example
1
2
3
4
Path from to is (1,2,2,2,1,1,1,1)
Not an address, because it depends on starting point
Understanding Networked Applications A First Course19
Example
Address of is (2,5)
(1,1) (1,2) (1,3) (1,4) (1,4)
(2,1)
(2,2)
(2,3)
(2,4)
(2,5)
Route from can be inferred
Understanding Networked Applications A First Course20
Reference
• Abstract representation of an entity
• Interaction is with representation– infrastructure arranges redirection to actual
entity– especially appropriate for things that move
top related