1 / 22

Chapter 11

Chapter 11. by David G. Messerschmitt. Algorithms and protocols. by David G. Messerschmitt. Algorithm. Specified sequence of steps that accomplish a designated task in a finite number of steps Representation: simple algorithm: flowchart complicated algorithm: program.

Download Presentation

Chapter 11

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 11 by David G. Messerschmitt

  2. Algorithms and protocols by David G. Messerschmitt

  3. Algorithm • Specified sequence of steps that • accomplish a designated task • in a finite number of steps • Representation: • simple algorithm: flowchart • complicated algorithm: program

  4. Example: one turn at monopoly Move token number of squares indicated on dice Start turn Throw dice Land on “go to jail”? Yes Move to “jail” square No Do not move; follow policies for square (like “pay rent”) Finish turn

  5. Algorithm building blocks Start Start Start Programming languages support these three building blocks Action Action Decision Test Action Action Action Action Finish Finish Finish Loop Sequence Selection

  6. 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

  7. Monopoly players protocol Player 1 Player 2 One-turn algorithm This is a protocol interaction diagram Time

  8. Application and infrastructure The application defines its own application-level protocols Internally, the network uses protocols to implement the services it provides

  9. Three simple protocols • One-way message: send-receive • Two-way interaction: request-response • Push: publish-subscribe

  10. Client Server send receive request response subscribe responses Time

  11. Example: HTTP  User activates URL  HTTP request HTTP client (browser) HTTP server  HTTP response (embedded document)  Browser displays document (if HTML) or invokes “helper application” HTML documents

  12. Example: Stock trading Customer wants to purchase 10 shares of MSFT if price is below $90 Customer StockTrader What is application protocol?

  13. Locating things by David G. Messerschmitt

  14. Three ways of locating things • Name • “Joe Bloe” • Address • “1299 Hearst St, Berkeley, CA” • Reference • “Postmaster of Berkeley CA”

  15. 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)

  16. 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

  17. Address • Route or path to entity • is directly specified, or • can be inferred • Independent of who or what is locating entity • Topological specification

  18. Example 4 3 1 2 Path from to is (1,2,2,2,1,1,1,1) Not an address, because it depends on starting point

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

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

  21. Reference Client Server address

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

More Related