Скачать презентацию Introduction CS 241 Internet Services Armando Fox Скачать презентацию Introduction CS 241 Internet Services Armando Fox

cefda448f992fcb5c8ee5d5e7db6e0ac.ppt

  • Количество слайдов: 27

Introduction CS 241 Internet Services © Armando Fox fox@cs. stanford. edu Introduction CS 241 Internet Services © Armando Fox fox@cs. stanford. edu

Today’s Travel Photo: Where Are You? For extra credit on the diagnostic exam. : Today’s Travel Photo: Where Are You? For extra credit on the diagnostic exam. : ) Be specific.

Goals n What’s an Internet service? Where did they come from? l l n Goals n What’s an Internet service? Where did they come from? l l n Where is the Internet headed? What are the challenges in getting there? Methodology: l relevant literature: systems, networks, applications… l Case studies (specific service examples) & guest speakers l Systematic characterization of application space l Build something

Ground Rules n No whining or spectating, lots of building and reading n Be Ground Rules n No whining or spectating, lots of building and reading n Be on time! Especially for guest speakers! n This quarter’s featured project topic: n Project is really important Appliance Computing l Don’t even think about asking for an extension l Lots of heavy-duty tools will be made available l “Best project” judged by panel will receive a prize (probably an expenses-paid trip to a major Internet conference) l Referees will include both technical personnel and investors

Short Course Outline n Overview l l n Basics, intro, history, programming & deployment Short Course Outline n Overview l l n Basics, intro, history, programming & deployment models, ASP model, proxies and middleware, caching & aggregation Appliance computing The customized Internet l l n Mass customization, personalization, privacy/security issues Adapting to wireless Software structure for Internet scale l software structure of Internet applications, software techniques for scalability and robustness, application decomposition, failure management l Building cluster-based systems

Short Course Outline, cont’d. n The future and the real world l l n Short Course Outline, cont’d. n The future and the real world l l n Internet infrastructure meets reality, Internet business/economics A research agenda for future work in Internet and related software infrastructure Non-topics (except in passing): l l low-level networking l practicum (“how to build a Web site”) l n security “how to do an Internet startup” (but we will talk about business aspects) Recommended optional readings will be posted

Features This Quarter n Guest speakers and Technical Advisory Board (on Web) n Loose Features This Quarter n Guest speakers and Technical Advisory Board (on Web) n Loose coupling to Internet Infrastructure Lab n Project themes: ubiquitous and appliance computing l Why these are very similar to “traditional” (Web-based) services l Focus on user experience and “end-to-end” application functionality

Administrivia n Web site always under construction l Also class mailing lists, cs 241 Administrivia n Web site always under construction l Also class mailing lists, cs 241 -all@lists and cs 241 -staff@lists l Also class calendar using Yahoo calendar: username cs 444 i password tcseq 101…please don’t mess it up! l We may use this to schedule joint lectures n No class Monday 1/15 (MLK day) n HW #1 due by email Wed 1/17 l n HW is posted on the Web site already Diagnostic exam! Woohoo! l Enrollment results announced by email to cs 241 -all by Friday

Outline n Prehistory and History n HTTP and HTML as foundations n Characterizing Services Outline n Prehistory and History n HTTP and HTML as foundations n Characterizing Services n Service-Centric View of the Internet n Engineering Challenges

One-Slide Internet Timeline n 1969: four-node ARPAnet l n 1973 -75: Internetworking & TCP/IP One-Slide Internet Timeline n 1969: four-node ARPAnet l n 1973 -75: Internetworking & TCP/IP l n Common standards connect networks of networks 1980: Ethernet, Berkeley UNIX, free TCP/IP l n Computers can communicate Internetworking becomes real 1990: World Wide Web prototype at CERN l Anyone can access and publish rich content

(Pre)-History: Early Internet Services n DNS n rlogin, rsh, rwho, telnet, ftp n Archie (Pre)-History: Early Internet Services n DNS n rlogin, rsh, rwho, telnet, ftp n Archie & Veronica n gopher n email & news (non-interactive)

What’s Changed? n Universal client, least-common-denominator output format (HTML & friends) n Universal stackable What’s Changed? n Universal client, least-common-denominator output format (HTML & friends) n Universal stackable client-server protocol (HTTP) n Client extensibility via Java and Java. Script n Mass deployment: new audience with different expectations n Exponential growth

A student’s view of the Internet then. . . Long flows, thin pipes, infrequent A student’s view of the Internet then. . . Long flows, thin pipes, infrequent losses ftp B SD 4 . 2 gue o ftp r Typical late-1980’s grad students Internet (56 kbps) ucbvax. berkeley. edu Thanks: © Stefan Savage, Univ. of Washington

… and the Internet now Short flows, fat pipes, frequent losses buy sell call … and the Internet now Short flows, fat pipes, frequent losses buy sell call put ic pan Typical 1999 grad students Internet (>155 Mbps) www. etrade. com 5% drop rate Thanks: © Stefan Savage, Univ. of Washington

HTTP/1. 0 Problems n Chatty: 1 object request per HTTP “transaction” n Terrible use HTTP/1. 0 Problems n Chatty: 1 object request per HTTP “transaction” n Terrible use of TCP l Slow start, short connections, terrible congestion behavior l Background: What was TCP designed for? n Can’t trust caching n No standard extensibility mechanisms n Naming completely broken for things like CGI n “When all you have is a hammer, everything looks like a nail”: every protocol on earth has been tunnelled over HTTP

HTTP/1. 1 Fixes Some Problems n Caching directives standardized l l Caching semantics are HTTP/1. 1 Fixes Some Problems n Caching directives standardized l l Caching semantics are complicated (cookies) l n But will people use them? (cache busting) Still expiration based Persistent connections l l n Client and server complexity Can servers afford to keep connections open? Request pipelining and partial requests l Client parsing is much more complicated

Services Emerge From the Ooze n Conclusion: HTTP is flawed, but it doesn’t matter Services Emerge From the Ooze n Conclusion: HTTP is flawed, but it doesn’t matter n CGI-bin, servlets, etc. : RPC all over again? n Web front ends (databases, shells, …) n What are the problems with using the Web (HTML/HTTP) as a substrate for. . . l Ecommerce/transaction services? l “session oriented” services? l “Push” services? l Non-PC clients and slow networks?

Where Do Internet Services Live? n At the server? (common case) n At the Where Do Internet Services Live? n At the server? (common case) n At the client? (Java, Java. Script, Active. X extensions) n In between? (proxies)

Server-Based Applications n The common case n Search engines, e-commerce sites, content, other “destination” Server-Based Applications n The common case n Search engines, e-commerce sites, content, other “destination” services n If content servers allow caching, where does the service live then?

Extending the Client n Client extension mechanisms l l Java. Script l n Java Extending the Client n Client extension mechanisms l l Java. Script l n Java applets Active. X When are these useful? l l Common example: input validation l n Latency (& disconnection) Are standalone applets Internet services? Which extension mechanism is “best”? l Metrics: speed, security, ubiquity…others?

Proxy-based Client Svr ISP Client Proxy Network ISP Svr Svr What does the proxy Proxy-based Client Svr ISP Client Proxy Network ISP Svr Svr What does the proxy do? Transducer (compression, filtering, anonymization, language translation. . . ) Aggregation from multiple servers (many-to-many vs. many-to-one) Possibly caching/firewalling HCI challenge: orthogonal user interfaces

Server vs. Proxy n What can you do with one but not the other? Server vs. Proxy n What can you do with one but not the other? l l Web databases (Four 11, Who. Where, search engines) l Anonymizer l Character set translation, language translation l My. Cool. News. From. Lots. Of. Sites. com l n Groupware Transformations for weird clients What about security? l Other objections to proxies too; we’ll explore them later

Service-Centric vs. Content-Centric n “Content is king” -> “Services are king” l l Approx. Service-Centric vs. Content-Centric n “Content is king” -> “Services are king” l l Approx. 70% of securities trading in Finland done online l n Most Yahoo! user loyalty is for Yahoo mail--not content Approx. 1 in 7 U. S. trades done online (estimate: Bill Burnham, CS First Boston, April 1999) Why this is especially important for mobile devices

“Utility Company” Requirements n Availability 24 x 7 l Robust fault tolerance--self maintenance l “Utility Company” Requirements n Availability 24 x 7 l Robust fault tolerance--self maintenance l Replication/redundancy & distribution l How about exploiting clusters? l How do we measure availability? n State management: why not just use a big database? n Incremental growth n Rapid deployment

Client Diversity n The “Post-PC” world l Moore’s Law has made computing power smaller, Client Diversity n The “Post-PC” world l Moore’s Law has made computing power smaller, cheaper, faster, lower -power • Wireless communication is pervasive and inexpensive enough for consumers • The Internet has become a mass market phenomenon: “Access Is the Killer App” • Now includes home appliances! How do we support all these?

Summary n Building Internet services today is hard l l Enormous traffic loads l Summary n Building Internet services today is hard l l Enormous traffic loads l Exponential growth along all axes l n Unforgiving novice users demand “perfect” availability Current user experience is indefensible and problem is about to worsen Is this… l A systems problem? l A networking problem? l An application design problem? …Yes.

Today’s Travel Photo (Wailea Point) Today’s Travel Photo (Wailea Point)