Sei sulla pagina 1di 27

Introduction

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

Todays Travel Photo: Where Are You?


For extra credit on the diagnostic exam. :) Be specific.

Goals

Whats an Internet service? Where did they come from?


Where is the Internet headed? What are the challenges in getting there?

Methodology:

relevant literature: systems, networks, applications


Case studies (specific service examples) & guest speakers Systematic characterization of application space

Build something

Ground Rules

No whining or spectating, lots of building and reading

Be on time! Especially for guest speakers!


This quarters featured project topic:

Appliance Computing

Project is really important


Dont even think about asking for an extension Lots of heavy-duty tools will be made available

Best project judged by panel will receive a prize (probably an expenses-paid trip to a major Internet conference)
Referees will include both technical personnel and investors

Short Course Outline

Overview

Basics, intro, history, programming & deployment models, ASP model, proxies and middleware, caching & aggregation Appliance computing

The customized Internet


Mass customization, personalization, privacy/security issues Adapting to wireless

Software structure for Internet scale

software structure of Internet applications, software techniques for scalability and robustness, application decomposition, failure management Building cluster-based systems

Short Course Outline, contd.

The future and the real world

Internet infrastructure meets reality, Internet business/economics A research agenda for future work in Internet and related software infrastructure

Non-topics (except in passing):


security low-level networking practicum (how to build a Web site) how to do an Internet startup (but we will talk about business aspects)

Recommended optional readings will be posted

Features This Quarter


Guest speakers and Technical Advisory Board (on Web) Loose coupling to Internet Infrastructure Lab Project themes: ubiquitous and appliance computing

Why these are very similar to traditional (Web-based) services Focus on user experience and end-to-end application functionality

Administrivia

Web site always under construction


Also class mailing lists, cs241-all@lists and cs241-staff@lists Also class calendar using Yahoo calendar: username cs444i password tcseq101please dont mess it up! We may use this to schedule joint lectures

No class Monday 1/15 (MLK day)


HW #1 due by email Wed 1/17

HW is posted on the Web site already

Diagnostic exam! Woohoo!

Enrollment results announced by email to cs241-all by Friday

Outline

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

One-Slide Internet Timeline

1969: four-node ARPAnet

Computers can communicate

1973-75: Internetworking & TCP/IP

Common standards connect networks of networks

1980: Ethernet, Berkeley UNIX, free TCP/IP

Internetworking becomes real

1990: World Wide Web prototype at CERN

Anyone can access and publish rich content

(Pre)-History: Early Internet Services


DNS

rlogin, rsh, rwho, telnet, ftp


Archie & Veronica gopher

email & news (non-interactive)

Whats Changed?

Universal client, least-common-denominator output format (HTML & friends)

Universal stackable client-server protocol (HTTP)


Client extensibility via Java and JavaScript Mass deployment: new audience with different expectations Exponential growth

A students view of the Internet then...


Long flows, thin pipes, infrequent losses

Internet (56kbps)
Typical late-1980s grad students

ucbvax.berkeley.edu

Thanks: Stefan Savage, Univ. of Washington

and the Internet now


Short flows, fat pipes, frequent losses

Internet (>155Mbps) Typical 1999 grad students 5% drop rate

www.etrade.com

Thanks: Stefan Savage, Univ. of Washington

HTTP/1.0 Problems

Chatty: 1 object request per HTTP transaction Terrible use of TCP


Slow start, short connections, terrible congestion behavior

Background: What was TCP designed for?

Cant trust caching No standard extensibility mechanisms Naming completely broken for things like CGI 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

Caching directives standardized


But will people use them? (cache busting) Caching semantics are complicated (cookies) Still expiration based

Persistent connections

Client and server complexity Can servers afford to keep connections open?

Request pipelining and partial requests

Client parsing is much more complicated

Services Emerge From the Ooze


Conclusion: HTTP is flawed, but it doesnt matter CGI-bin, servlets, etc.: RPC all over again? Web front ends (databases, shells, ) What are the problems with using the Web (HTML/HTTP) as a substrate for...

Ecommerce/transaction services? session oriented services?

Push services?
Non-PC clients and slow networks?

Where Do Internet Services Live?


At the server? (common case) At the client? (Java, JavaScript, ActiveX extensions) In between? (proxies)

Server-Based Applications

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

Extending the Client

Client extension mechanisms


Java applets JavaScript ActiveX

When are these useful?


Latency (& disconnection) Common example: input validation Are standalone applets Internet services?

Which extension mechanism is best?

Metrics: speed, security, ubiquityothers?

Proxy-based
Client Svr ISP ISP Client Proxy Svr

Client

Network

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

What can you do with one but not the other?


Groupware Web databases (Four11, WhoWhere, search engines) Anonymizer Character set translation, language translation MyCoolNewsFromLotsOfSites.com Transformations for weird clients

What about security?

Other objections to proxies too; well explore them later

Service-Centric vs. Content-Centric

Content is king -> Services are king


Most Yahoo! user loyalty is for Yahoo mail--not content Approx. 70% of securities trading in Finland done online 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

Availability 24x7

Robust fault tolerance--self maintenance Replication/redundancy & distribution How about exploiting clusters? How do we measure availability?

State management: why not just use a big database? Incremental growth Rapid deployment

Client Diversity

The Post-PC world

Moores 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

Building Internet services today is hard


Unforgiving novice users demand perfect availability Enormous traffic loads Exponential growth along all axes Current user experience is indefensible and problem is about to worsen

Is this

A systems problem?

A networking problem?
An application design problem?

Yes.

Todays Travel Photo (Wailea Point)

Potrebbero piacerti anche