The Horizontal Internet CS241, Internet Services © 1999-2001 Armando Fox

The Horizontal Internet
CS241, Internet Services
© 1999-2001 Armando Fox
fox@cs.stanford.edu
Outline

The horizontal Internet

Internet service composition (intro)

Implications for software structure (intro)

A few words about the Project
Early Internet Services: “Vertical”

TWA reservations, CIRRUS banking network


Proprietary, closed systems (Tandem NonStop hardware)
America Online (pre-Web)

PC and Mac proprietary client S/W

Proprietary mainframe-based back end

Modem banks connect directly to terminal concentrators
Early WWW Portals: “Diagonal”


Commodity protocols & software...

HTTP, TCP/IP, SSL, off-the-shelf client (Navigator, MSIE)

Farms of off-the-shelf servers
…augmented with proprietary “secret sauce”

Web-based email (Hotmail, Yahoo, …)

Industrial-scale homebuilt email servers (EarthLink)

Search engine portals (AltaVista, Infoseek, Lycos...)

Customizable news (My Yahoo, Netcenter…)

AOL is now a Web portal + world’s largest ISP
Portal Evolution (1)

All operations at server site

Infrastructure vendor (e.g. Cisco) sells directly to destination
sites (e.g. Yahoo.com)

Client requests go to destination site operations center
PortalCo
InfraCo
Content
Advertisements
Search
User profiles
Mobile-friendly pages
Portal Evolution (2)

Operations migrate to “server farms” (e.g. Exodus)

Infrastructure vendors sell primarily to IDC’s

All client traffic and peering handled via IDC

Peering relationships between IDC’s (not operators)
Data
Center
PortalCo
InfraCo
Data
Center
InfraCo
Content
Advertisements
Search
User profiles
Mobile-friendly pages
Data
Center
Administration,
site updates
InfraCo
Portal Evolution (3)

Services migrate to hosted application providers

Typically paid per use or similar metering

Client doesn’t visit arms merchants directly (still sees portal’s
brand)
Some portal Data
services outsourced
Center
to “arms merchants”
PortalCo
InfraCo
AdTarget
Co
Data
Center
Data
Center
InfraCo
InfraCo
Content
User profiles
Mobile-friendly pages
SearchCo
Portal Evolution (4)

“Arms merchants” provide individual services to
destination sites/brands

Inktomi Traffic Server, Cisco Hosted Apps Initiative, others
DevelopmentData
platform for various
Center
services
PortalCo
InfraCo
Data
Center
AdTarget
Co
Data
Center
AppDevCo
InfraCo
InfraCo
Content
User profiles
Mobile-friendly pages
SearchCo
AppDevCo
The Arms Merchants Model
What
Hosted Service
Search
Email
Calendar
Cache/mirror
Shop
Ads
Thin access
“Sensitive” info
Notify on
update
Email CRM
Inktomi
CriticalPath
When.com (AOL acq)
Sandpiper/Inktomi
Inktomi
DoubleClick
ProxiNet (Puma acq)
VerticalOne
NetMind (Puma acq)
General Interactive
Sell Iron (or S/W)
Excite, Infoseek
Software.com, NetApp
Netscape Server
Network Appliance, Cisco
NetGravity
Unwired Planet
??
??
??
The Food Chain

Who’s at each level?
Aggregators/Brands
Value-Added Svcs
Arms
Arms Infrastructure
Physical Plant
Infrastructure Vendor
Advantages of Large Hosted Services


Amortization of infrastructure costs (at IDC’s)

Physical plant, physical security & human monitoring

Network connectivity

Scale of 100’s of nodes requires serious infrastructure
Large scale can increase service sophistication

Inktomi search DB over 2x competitors’

Doubleclick ad selection uses large DB, cross-site history,
compute-intensive selection algorithm

Tracking usage/buying/etc. patterns of specific user
populations (mobile users, leisure travelers, etc.)

Direct-to-consumer wholesale-style e-commerce (Paul Allen,
Mercata) aggregates buying power of many individuals
Disadvantages...

“In a society where knowledge is power, centralized
knowledge is centralized power”
--Richard Sobel, HLS Fellow, Berkman Center for Internet & Society


Do you want your user profile, portfolio balances, etc. stored
at one place or many? (VerticalOne)
Business model highly dependent on partners

Billing models being adopted slowly (pay per use,
subscription, …)

Shift of responsibility: HSP may have operations
responsibility (wearing a pager vs. not)
Other Arms To Be Marketed?


Geographic/location services: maps, directions, POI’s

Today: MapQuest, MapBlast, Yahoo Maps...

Tomorrow: “Powered by”
Extension to other platforms

Today: Yahoo to your pager, Fidelity Instant Broker, …

Tomorrow: “Powered by”

User profiles

Others

Directories (yellow/white pages, mail/news, encyclopediae)

Highly customized news feeds
Toward Service Composition


Services from building blocks

Can think of a particular destination Web site as providing
one or more autonomous “building block”

MapQuest: given a pair of addresses, return directions and
map

Amazon: given keywords, return listing and price info for
matching books

IMDB: given movie title or other keywords, return movie
reviews and production info
Can we create new Internet services simply by
composing these, without writing (much) new code?
Programming Via Service Composition

Remote invocation of several services in real time


Example: “Find the most highly reviewed James Bond movie
and locate the best price for it”
Observations

Typically services aren’t designed to be composed, and may
have do quite different tasks

“Compositor” only does remote invocation--not mobile code

Potential for good fault isolation

Potential for high availability through redundancy

Can compose “meta-services” into higher-level ones

management/heterogeneity issues in dealing with a
collection of autonomous services
Why Compose Web Services?

Highly available building blocks



We’ve learned to make heavily-used destination sites H/A
Autonomous services

Fault isolation through loose coupling

“Self-sufficient”

We don’t own or control them--so no control over their
interfaces--but...
Universally deployed open protocols

Self-describing services

No compile or link step needed for client (no issue of stale
interface stubs)

No mobile code: just “submit-and-scrape” invocation
Related Work

XML-RPC

SOAP

Idea: provide structural, programmatic-like interfaces
to Web services

Today: “fake” RPC using HTTP and HTML

What aspects of it are “fake”?
Composition Using Strong Types


How do you know when it’s “safe” to compose A and
B?

Output semantics of A match input semantics of B

Example: A maps keywords to movie titles and reviews; B
maps movie titles to prices at online vendors
The main problem is semantic mapping of arguments

In most systems to date, this requires human level
knowledge

If system is purpose-built for composition, semantic
mapping can be explicitly coded into service interfaces

Otherwise, we can “wrap” each service with a shell that
codes semantic mapping of that service
Example: IMDB and Netflix

A non-earth-shaking example...

Consider services M and N


M is IMDB: movie title --> critics’ reviews ranked by rating

N is Netflix: movie title --> vendors ranked by price

Example composition: (M,N) is “Identify highest-reviewed
James Bond film, and find the best price”
Common mundane problem…

M’s movie title includes a year: Tomorrow Never Dies (1998)

N’s doesn’t…must munge M’s movie title to feed to N

Problem: where to capture this transformation?
Composition and Appliance Computing
How can you exploit service composition for…

A TiVo box?

Digital photography?

Portable MP3 players?

Home-control applications?

etc.
It will be a feature for your project to leverage this
Composition Challenges


Economics

How is billing done? (Subscription? Per-use? Transactionbased? Subsidy?)

Is there incentive to provide user choice?
Technical challenges

Type system and semantics

Runtime system and error handling

You’ll hear more about these in future classes
Internet Evolution

Clients and servers (today)
S
S
S
C
S
C
S
C
C
S
Internet Evolution

Clients, servers, and caches (to reduce client latency and
backhaul congestion)
S
S
S
C
$
C
$
S
$
S
C
C
S
Internet Evolution

Add proxies and service compositors to provide various
kinds of intelligent information delivery
S
S
S
P
C
CS
P $
C
P $
S
$
S
C
C
S
A few words about the project

Appliance computing (1/24) & composition (2/12)



We will provide software infrastructure for both of these
You can build either an application or more
infrastructure (with a “toy” app to demonstrate it)

It is a feature to leverage existing Web services via
composition

We have a (limited) hardware and software budget
General project process

Pre-proposal (~1 page) posted on Web: 1/31

Revised proposal forms basis for project & discussions with
Advisors starting 2/5

No other explicit checkpoint/design review till end of qtr
Today’s Travel Photo: Where Am I?