Anda di halaman 1dari 11

Copyright 1998, David G. Messerschmitt. All rights reserved.

4-Aug-99

Understanding Networked Applications: A First Course

Chapter 11
by David G. Messerschmitt

Understanding Networked Applications: A First Course

Algorithms and protocols


by David G. Messerschmitt

Copyright 1998, David G. Messerschmitt. All rights reserved.

4-Aug-99

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 Course

Example: one turn at monopoly


Start turn Throw dice Move token number of squares indicated on dice

Move to jail square

Yes

Land on go to jail? No

Finish turn

Do not move; follow policies for square (like pay rent)

Understanding Networked Applications

A First Course

Copyright 1998, David G. Messerschmitt. All rights reserved.

4-Aug-99

Algorithm building blocks


Start Action Decision Action Action Action Finish Loop 5
A First Course

Start

Start
Programming languages support these three building blocks

Action

Test Action

Finish Sequence

Finish Selection

Understanding Networked Applications

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 Course

Copyright 1998, David G. Messerschmitt. All rights reserved.

4-Aug-99

Monopoly players protocol


Player 1 Player 2

One-turn algorithm

This is a protocol interaction diagram

Understanding Networked Applications

Time 7

A First Course

Application and infrastructure


The application defines its own application-level protocols

Internally, the network uses protocols to implement the services it provides


Understanding Networked Applications

A First Course

Copyright 1998, David G. Messerschmitt. All rights reserved.

4-Aug-99

Three simple protocols


One-way message: send-receive Two-way interaction: request-response Push: publish-subscribe

Understanding Networked Applications

A First Course

Client
send request

Server

receive

response subscribe responses

Time
Understanding Networked Applications

10

A First Course

Copyright 1998, David G. Messerschmitt. All rights reserved.

4-Aug-99

Example: HTTP
User activates URL HTTP request

HTTP client (browser)

HTTP server

Browser displays document (if HTML) or invokes helper application

HTTP response (embedded document) HTML documents 11


A First Course

Understanding Networked Applications

Example: Stock trading


Customer wants to purchase 10 shares of MSFT if price is below $90

Customer

StockTrader

What is application protocol?

Understanding Networked Applications

12

A First Course

Copyright 1998, David G. Messerschmitt. All rights reserved.

4-Aug-99

Understanding Networked Applications: A First Course

Locating things
by David G. Messerschmitt

Three ways of locating things


Name
Joe Bloe

Address
1299 Hearst St, Berkeley, CA

Reference
Postmaster of Berkeley CA

Understanding Networked Applications

14

A First Course

Copyright 1998, David G. Messerschmitt. All rights reserved.

4-Aug-99

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

15

A First Course

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

16

A First Course

Copyright 1998, David G. Messerschmitt. All rights reserved.

4-Aug-99

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

17

A First Course

Example
4 3 2 Path from to is (1,2,2,2,1,1,1,1) 1

Not an address, because it depends on starting point


Understanding Networked Applications

18

A First Course

Copyright 1998, David G. Messerschmitt. All rights reserved.

4-Aug-99

Example
(1,1) (1,2) (1,3) (1,4) (1,4) (2,1) (2,2) (2,3) (2,4) (2,5) Address of Route from is (2,5) can be inferred 19
A First Course

Understanding Networked Applications

Reference
Abstract representation of an entity Interaction is with representation
infrastructure arranges redirection to actual entity especially appropriate for things that move

Understanding Networked Applications

20

A First Course

10

Copyright 1998, David G. Messerschmitt. All rights reserved.

4-Aug-99

Reference Client Server

address

Understanding Networked Applications

21

A First Course

Name services
1. name 2. address or reference Name service 3. interaction

Understanding Networked Applications

22

A First Course

11

Anda mungkin juga menyukai