Web Page Delivery
CS6204: Java and the WWW
Reference:
Whit Andrews, "Planning for PUSH," Internet World, May 1997,
48-52.
"Pull" vs. "Push"
Original Web model:
One Example: Marimba's CastaNet
Overview
-
Used primarily for Java applets
-
Can be used for many media types (especially html)
-
Castanet downloads and installs software,automatically updates it, and
automatically removes obsolete versions.
-
Castanet is scalable through repeaters to distribute channels to
thousands or millions of users from a single administrative sites.
-
Castanet proxies make the system work efficiently across corporate
firewalls.
"Channels are a cross between Java applets and conventional applications.
Like applets, channels are:
-
Multi-platform: The same code can run on Wintel, Solaris, and other
computers.
-
Downloaded: You get channels from the Internet.
-
Secure: Channels are subject to the same constraints (with one relaxation)
as applets.
Like applications, channels are:
-
Stand-alone: Channels run in their own windows, not in a Web page.
-
Local: Channels are stored on your hard disk where they are available
when the network isn't.
-
Persistent: Channels can read and write into one designated directory
of your hard disk, preserving channel documents and preferences without
threatening files that don't belong to them.
Unlike either applets or applications, channels are:
-
Automatically updated: You don't discover new versions, the tuner
brings them to you; a channel can even be updated while it's running.
-
Bidirectional: Channels can return user-provided data to developers,
such as counts of feature usage and errors.
-
Customizable: developer software called transmitter plug-ins can
modify channels as they are transmitted to users."
Some uses of channels:
-
Automatically distribute the latest version of software to a large organization.
(No more loading new versions of software onto your PC by hand.)
-
Education channels could distribute a new lesson each week.
-
Sports channels could distribute new sports scores every fifteen minutes.
-
Software developers can distribute enhancements, bug fixes, and patches
frequently. (You could have a new release of your software every
week!)
Subscribing to a channel
-
"You subscribe to channels with the Castanet tuner.
-
Subscribing downloads the channel, installs it on your hard disk, and launches
it.
-
Subscribing also initiates the automatic update schedule (hourly or weekly,
for example) saved in the channel by its developer; you can also direct
the tuner to update a channel whenever you wish.
-
You can launch a subscribed channel from the tuner, from a Web Browser,
or, from a platform-specific launch facility such as a shortcut or alias."
Castanet Tuner
-
"The receiver component of the Castanet software distribution system.
-
Tuner is a small Java application that does three main things:
-
Subscribes to new channels by downloading and installing them on the users
disk.
-
Updates subscribed channels by pulling changes from transmitters; updates
can be performed automatically or manually.
-
Sarts and monitors execution of channels."
-
Each channel carries an update schedule provided by its developer.
-
When it's time to update a channel, or you direct the tuner to so so, the
tuner connects to the channel's transmitter.
-
The tuner and transmitter compare the files constituting the channel. If
the transmitter has a newer version of a channel file (or a new file) it
sends the file to the tuner.
-
Channel updates are differential: only files that have changed since the
channel was last updated are transmitted to the tuner.
-
If a running channel's developer has indicated that the channel can be
updated on the fly, the tuner installs the new files immediately; otherwise
it waits until the channel stops.
-
Channel updates are performed under the protection of a transaction so
that channel files are always consistent with one another, even if power
fails in the midst of an update.
-
Tuners are themselves channels, and automatically update themselves once
a week.
Castanet Transmitter
-
Transmitter is analogous to Web server
-
Transmitter can be stand-alone software or Web server extension
-
"Unlike HTTP servers, transmitters send tuners only the files that are
out of date on the tuner's machine, and they send all of the files in a
single connection"
-
When developer wants to send new version of files to users,
-
developer points Castanet publisher to new files
-
Publisher copies changed files to channel
-
Transmitter serves updates to tuners while rest of files are being loaded
-
Per-channel plug-ins available:
-
Could select language (e.g., French vs. English) that tuner user prefers
-
Could report how often tuner user clicked on advertisements
Push product offerings:
The list changes weekly!
| Company |
Description |
Price |
| PointCast |
First offered push, in 1996
Got bad reputation for poor technological implementation that quickly consumes
network bandwidth
Content provider
Uses advertisements to generate additional revenue
News, weather, sports, stock quotes
|
$995/server
Client is free |
| Marimba |
Not a content provider!
Used to deliver software; offers auto-update of software Enterprise-wide
User sees client window that looks like a file browser box; clicking on
link downloads and opens app
Marimba sells transmitter, repeater, proxy, and tuner.
Uses delta-encoding of software updates to save bandwidth
You an customize exactly what features groups of users see in their apps
Used by Corel for their Java-based Office suite
|
Transmitter is
$1k to $25k.
Tuner is free. |
iFusion
Com |
Wants to obtain look/feel of TV, right down to the remote control
IFusion works with content providers to develop and produce content.
|
Complex
pricing |
| InCommon |
User sees news-ticker interface that scrolls headlines across title bar
of active application
|
$10k one-time
charge to
content-provider
plus monthly
fee for user
volume. |
| BackWeb |
Delivers InfoPaks
Arrive as floating banners or other multimedia elements
Delivers mostly content, but also McAfee virus signature files
|
$10.5k/mo
for server w/
25k InfoPaks/
month |
| NETdelivery |
|
|
| Intermind |
|
|
Wayfarer
Communications |
|
|
Partnerships
Netscape and Microsoft are incorporating push into their browsers.
Netscape's Netcaster is based on Marimba. It will have channels for
(see http://www.pagecrafter.com/lighthouse/push.html):
-
Marimba
-
ABCNews.com
-
CBS Sportsline
-
CNNfn
-
Gartner Group
-
Sesame Street
-
Planet Out
-
City Search.
Microsoft will offer Active Channels for business oriented publications:
-
Wall Street Journal Interactive Edition
-
Fortune
-
Forbes
-
first Call
-
Newspage
-
Dun and Bradstreet Online Channel
-
Lexis Nexis and several other publications from Reed Elsevier.
Pull Acceleration: Caching Proxy Servers
Caching automatically migrates document copies from servers to browsers
(But caching has limitations.)
How proxies work:
-
Client configures Web browser to use a proxy P either for caching
or as firewall
-
When client requests URL http://S/doc.html, request is sent to P
(not S).
-
If P has doc.html, and it's not expired, P returns doc.html to client.
-
Else if doc.html is expired, send GET-IF-MODIFIED with last modification
time to server S. S either returns new version of doc, or a return code
indicating P's copy is still up to date.
-
Else P doesn't have doc.html, and issues GET to server S.

Popular as proxy-only in US, essential as caches outside US
Caches can optimize one of three things:
1. Bandwidth: Bytes transferred over network perhaps retain large documents
2. Server hit rate perhaps retain popular documents
3. Time users wait to load document perhaps retain documents from other
countries
Caching proxies be used in four locations

Inter-cache protocol ICP allows caches to share data items.
Some popular proxies:
-
Harvest (outdated today, but introduced ICP)
-
Squid (public domain decendant of Harvest, used by most ISPs worldwide)
-
Cache3D (commercialized version of Harvest, owned by NetApp)
-
Netscape Proxy Server (department level proxy; comes with SuiteSpot)
-
Microsoft Proxy (department level proxy, and semi-firewall; comes with
BackOffice)
-
CERN Proxy
Return to CS6204 home
page.
Last modified on 30 May 1997.
Send comments to abrams@vt.edu.
[This is http://ei.cs.vt.edu/~jwww/courseNotes/PushPullProxy/index.html.]