27
Introduction Introduction CS 241 Internet Services CS 241 Internet Services © Armando Fox © Armando Fox [email protected] [email protected]

Introduction CS 241 Internet Services © Armando Fox [email protected]

  • View
    218

  • Download
    2

Embed Size (px)

Citation preview

IntroductionIntroduction

CS 241 Internet ServicesCS 241 Internet Services© Armando Fox© Armando Fox

[email protected]@cs.stanford.edu

Today’s Travel Photo: Where Are Today’s Travel Photo: Where Are You?You?

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

GoalsGoals

What’s an Internet service? Where did they What’s an Internet service? Where did they come from?come from? Where is the Internet headed?Where is the Internet headed?

What are the challenges in getting there?What are the challenges in getting there?

Methodology:Methodology: relevant literature: systems, networks, applications…relevant literature: systems, networks, applications…

Case studies (specific service examples) & guest Case studies (specific service examples) & guest speakersspeakers

Systematic characterization of application spaceSystematic characterization of application space

Build somethingBuild something

Ground RulesGround Rules

No whining or spectating, lots of building and No whining or spectating, lots of building and readingreading

Be on time! Especially for guest speakers!Be on time! Especially for guest speakers!

This quarter’s featured project topic: This quarter’s featured project topic: Appliance ComputingAppliance Computing

Project is Project is really importantreally important Don’t even think about asking for an extensionDon’t even think about asking for an extension

Lots of heavy-duty tools will be made availableLots of heavy-duty tools will be made available

““Best project” judged by panel will receive a prize (probably Best project” judged by panel will receive a prize (probably an expenses-paid trip to a major Internet conference)an expenses-paid trip to a major Internet conference)

Referees will include both technical personnel and investorsReferees will include both technical personnel and investors

Short Course OutlineShort Course Outline

OverviewOverview Basics, intro, history, programming & deployment models, Basics, intro, history, programming & deployment models,

ASP model, proxies and middleware, caching & aggregationASP model, proxies and middleware, caching & aggregation

Appliance computingAppliance computing

The customized InternetThe customized Internet Mass customization, personalization, privacy/security issuesMass customization, personalization, privacy/security issues

Adapting to wirelessAdapting to wireless

Software structure for Internet scaleSoftware structure for Internet scale software structure of Internet applications, software software structure of Internet applications, software

techniques for scalability and robustness, application techniques for scalability and robustness, application decomposition, failure managementdecomposition, failure management

Building cluster-based systemsBuilding cluster-based systems

Short Course Outline, cont’d.Short Course Outline, cont’d.

The future and the real worldThe future and the real world Internet infrastructure meets reality, Internet Internet infrastructure meets reality, Internet

business/economicsbusiness/economics

A research agenda for future work in Internet and related A research agenda for future work in Internet and related software infrastructuresoftware infrastructure

Non-topics (except in passing): Non-topics (except in passing): securitysecurity

low-level networkinglow-level networking

practicum (“how to build a Web site”)practicum (“how to build a Web site”)

““how to do an Internet startup” (but we how to do an Internet startup” (but we willwill talk about talk about business aspects)business aspects)

Recommended optional readings will be postedRecommended optional readings will be posted

Features This QuarterFeatures This Quarter

Guest speakers and Technical Advisory Board (on Web)Guest speakers and Technical Advisory Board (on Web)

Loose coupling to Loose coupling to Internet Infrastructure LabInternet Infrastructure Lab

Project themes: ubiquitous and appliance computingProject themes: ubiquitous and appliance computing Why these are very similar to “traditional” (Web-based) Why these are very similar to “traditional” (Web-based)

servicesservices Focus on user experience and “end-to-end” application Focus on user experience and “end-to-end” application

functionalityfunctionality

AdministriviaAdministrivia

Web site always under constructionWeb site always under construction Also class mailing lists, Also class mailing lists, cs241-all@listscs241-all@lists and and cs241-staff@listscs241-staff@lists

Also class calendar using Yahoo calendar: username Also class calendar using Yahoo calendar: username cs444i cs444i password password tcseq101tcseq101…please don’t mess it up!…please don’t mess it up!

We may use this to schedule joint lecturesWe may use this to schedule joint lectures

No class Monday 1/15 (MLK day)No class Monday 1/15 (MLK day)

HW #1 due by email Wed 1/17HW #1 due by email Wed 1/17 HW is posted on the Web site alreadyHW is posted on the Web site already

Diagnostic exam! Woohoo!Diagnostic exam! Woohoo! Enrollment results announced by email to Enrollment results announced by email to cs241-allcs241-all by by

FridayFriday

OutlineOutline

Prehistory and HistoryPrehistory and History

HTTP and HTML as foundationsHTTP and HTML as foundations

Characterizing ServicesCharacterizing Services

Service-Centric View of the InternetService-Centric View of the Internet

Engineering ChallengesEngineering Challenges

One-Slide Internet TimelineOne-Slide Internet Timeline

1969: four-node ARPAnet1969: four-node ARPAnet Computers can communicateComputers can communicate

1973-75: Internetworking & TCP/IP1973-75: Internetworking & TCP/IP Common standards connect Common standards connect networks of networksnetworks of networks

1980: Ethernet, Berkeley UNIX, free TCP/IP1980: Ethernet, Berkeley UNIX, free TCP/IP Internetworking becomes realInternetworking becomes real

1990: World Wide Web prototype at CERN1990: World Wide Web prototype at CERN Anyone can access Anyone can access and publishand publish rich content rich content

(Pre)-History: Early Internet (Pre)-History: Early Internet ServicesServices

DNSDNS

rlogin, rsh, rwho, telnet, ftprlogin, rsh, rwho, telnet, ftp

Archie & VeronicaArchie & Veronica

gophergopher

email & news (non-interactive)email & news (non-interactive)

What’s Changed?What’s Changed?

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

Universal Universal stackablestackable client-server protocol client-server protocol (HTTP)(HTTP)

Client extensibility via Java and JavaScriptClient extensibility via Java and JavaScript

Mass deployment: new audience with different Mass deployment: new audience with different expectationsexpectations

Exponential growthExponential growth

A student’s view of the Internet A student’s view of the Internet then...then...

ftp rogue

ftp BSD4.2

ucbvax.berkeley.edu

Internet(56kbps)

Typical late-1980’s grad students

Long flows, thin pipes, infrequent losses

Thanks: © Stefan Savage, Univ. of Washington

… … and the Internet nowand the Internet now

panic

buy

sell

call

put

www.etrade.com

Typical 1999grad students

Internet(>155Mbps)

5% drop rate

Short flows, fat pipes, frequent losses

Thanks: © Stefan Savage, Univ. of Washington

HTTP/1.0 ProblemsHTTP/1.0 Problems

Chatty: 1 object request per HTTP “transaction”Chatty: 1 object request per HTTP “transaction”

Terrible use of TCPTerrible use of TCP Slow start, short connections, terrible congestion behaviorSlow start, short connections, terrible congestion behavior

Background:Background: What was TCP designed for? What was TCP designed for?

Can’t trust cachingCan’t trust caching

No standard extensibility mechanismsNo standard extensibility mechanisms

Naming completely broken for things like CGINaming completely broken for things like CGI

““When all you have is a hammer, everything looks When all you have is a hammer, everything looks like a nail”: every protocol on earth has been like a nail”: every protocol on earth has been tunnelled over HTTPtunnelled over HTTP

HTTP/1.1 Fixes Some ProblemsHTTP/1.1 Fixes Some Problems

Caching directives standardizedCaching directives standardized But will people use them? (cache busting)But will people use them? (cache busting)

Caching semantics are complicated (cookies)Caching semantics are complicated (cookies)

Still expiration basedStill expiration based

Persistent connectionsPersistent connections Client and server complexityClient and server complexity

Can servers afford to keep connections open?Can servers afford to keep connections open?

Request pipelining and partial requestsRequest pipelining and partial requests Client parsing is much more complicatedClient parsing is much more complicated

Services Emerge From the OozeServices Emerge From the Ooze

Conclusion: HTTP is flawed, but it doesn’t Conclusion: HTTP is flawed, but it doesn’t mattermatter

CGI-bin, servlets, etc.: RPC all over again?CGI-bin, servlets, etc.: RPC all over again?

Web front ends (databases, shells, …)Web front ends (databases, shells, …)

What are the problems with using the Web What are the problems with using the Web (HTML/HTTP) as a substrate for...(HTML/HTTP) as a substrate for... Ecommerce/transaction services?Ecommerce/transaction services?

““session oriented” services?session oriented” services?

““Push” services?Push” services?

Non-PC clients and slow networks?Non-PC clients and slow networks?

Where Do Internet Services Live?Where Do Internet Services Live?

At the server? (common case)At the server? (common case)

At the client? (Java, JavaScript, ActiveX At the client? (Java, JavaScript, ActiveX extensions)extensions)

In between? (proxies)In between? (proxies)

Server-Based ApplicationsServer-Based Applications

The common caseThe common case

Search engines, e-commerce sites, content, Search engines, e-commerce sites, content, other “destination” servicesother “destination” services

If content servers allow caching, where does If content servers allow caching, where does the service live then?the service live then?

Extending the ClientExtending the Client

Client extension mechanismsClient extension mechanisms Java appletsJava applets

JavaScriptJavaScript

ActiveXActiveX

When are these useful?When are these useful? Latency (& disconnection)Latency (& disconnection)

Common example: input validationCommon example: input validation

Are standalone applets Internet services?Are standalone applets Internet services?

Which extension mechanism is “best”?Which extension mechanism is “best”? Metrics: speed, security, ubiquity…others?Metrics: speed, security, ubiquity…others?

Proxy-basedProxy-based

Network

ProxyISP

ISP

Svr

Svr

Svr

SvrClient

Client

Client

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. ProxyServer vs. Proxy

What can you do with one but not the other?What can you do with one but not the other? GroupwareGroupware

Web databases (Four11, WhoWhere, search engines)Web databases (Four11, WhoWhere, search engines)

AnonymizerAnonymizer

Character set translation, language translationCharacter set translation, language translation

MyCoolNewsFromLotsOfSites.comMyCoolNewsFromLotsOfSites.com

Transformations for weird clientsTransformations for weird clients

What about security?What about security? Other objections to proxies too; we’ll explore them Other objections to proxies too; we’ll explore them

laterlater

Service-Centric vs. Content-Service-Centric vs. Content-CentricCentric

““Content is king” -> “Services are king”Content is king” -> “Services are king” Most Yahoo! user loyalty is for Yahoo Most Yahoo! user loyalty is for Yahoo mailmail--not --not

contentcontent

Approx. 70% of securities trading in Finland done Approx. 70% of securities trading in Finland done onlineonline

Approx. 1 in 7 U.S. trades done online (estimate: Bill Approx. 1 in 7 U.S. trades done online (estimate: Bill Burnham, CS First Boston, April 1999)Burnham, CS First Boston, April 1999)

Why this is especially important for Why this is especially important for mobile mobile devicesdevices

““Utility Company” RequirementsUtility Company” Requirements

Availability 24x7Availability 24x7 Robust fault tolerance--self maintenanceRobust fault tolerance--self maintenance

Replication/redundancy & distributionReplication/redundancy & distribution

How about exploiting clusters?How about exploiting clusters?

How do we measure availability?How do we measure availability?

State management: why not just use a big State management: why not just use a big database?database?

Incremental growthIncremental growth

Rapid deploymentRapid deployment

Client DiversityClient Diversity

The “Post-PC” worldThe “Post-PC” world Moore’s Law has made Moore’s Law has made

computing power smaller, computing power smaller, cheaper, faster, lower-powercheaper, 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?

SummarySummary

Building Internet services today is hardBuilding Internet services today is hard Unforgiving novice users demand “perfect” availabilityUnforgiving novice users demand “perfect” availability

Enormous traffic loadsEnormous traffic loads

Exponential growth along all axesExponential growth along all axes

Current user experience is indefensible and problem is Current user experience is indefensible and problem is about to worsenabout to worsen

Is this…Is this… A systems problem?A systems problem?

A networking problem?A networking problem?

An application design problem? An application design problem? …Yes.…Yes.

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