Fox, Armando. Introduction Internet Services CS 241 Internet Services

Download Report

Transcript Fox, Armando. Introduction Internet Services CS 241 Internet Services

Introduction
CS 241 Internet Services
© Armando Fox
[email protected]
Today’s Travel Photo: Where Are You?
For extra credit on the diagnostic exam. :) Be specific.
Goals


What’s 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 quarter’s featured project topic:
Appliance Computing

Project is really important

Don’t 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, cont’d.



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 tcseq101…please don’t 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


1973-75: Internetworking & TCP/IP


Common standards connect networks of networks
1980: Ethernet, Berkeley UNIX, free TCP/IP


Computers can communicate
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)
What’s 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 student’s view of the Internet then...
Long flows, thin pipes, infrequent losses
Internet
(56kbps)
ucbvax.berkeley.edu
Typical late-1980’s
grad students
Thanks: © Stefan Savage, Univ. of Washington
… and the Internet now
Short flows, fat pipes, frequent losses
Internet
(>155Mbps)
www.etrade.com
Typical 1999
grad students
5% drop rate
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?

Can’t 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 doesn’t 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, ubiquity…others?
Proxy-based
Client
Svr
ISP
Network
Client
ISP
Client
Proxy
Svr
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; we’ll 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

Moore’s Law has made computing
power smaller, cheaper, faster, lowerpower
•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.
Today’s Travel Photo (Wailea Point)