Title: ApplianceBased Computing
1Appliance-Based Computing
2Reference
- Appliance Data Services Making Steps Towards and
Appliance Computing World by A. Huang, B. Ling,
J. Barton and A. Fox
3Introduction
- A digital appliance is defined as a
single-purpose device. - Examples include the following
- Network-enabled household appliances like
NetFridge - Single-purpose computing facility such as a
storage server that can be plugged in and used
with minimal configuration. - Single-purpose handheld devices such as digital
cameras and PDAs
4Introduction
- Appliances are often thought of as
special-purpose devices that are less
computer-like than general-purpose PCs but they
are not embedded devices. - General purpose PCs may be more useful when
connected to the Internet, but they are useful
without the Internet. - An ActiveBadge is useless without infrastructure
software for location. - An appliance such as Netfridge would fall in
between.
5Introduction
- We can classify appliances by their degree of
sharing. - Mobile devices (e.g., PDA)s have little or no
sharing. - Environmental devices (e.g., household
appliances) is explicitly shared among a few
people. - Enterprise devices such as storage are shared
among many people.
6Introduction
- The intention of digital appliances is the
following - Make our life easier
- Provide powerful improvement over their
non-digital counterparts. - Infrastructure enabled
- Able to leverage computational power, network
b/w, content and aggregate user base of services
in infrastructure - Example Viewing Web content on handhelds made
possible by transformation proxies.
7Problems with Digital Appliances
- Usability
- Often the digital appliance is more difficult to
use. - May have too many features.
- Lack of an infrastructure
- Quote from Dan Carp, CEO of Kodak
- The industry has made picture-taking more
difficult and more complicated by cramming onto
digital cameras more features, more buttons and
more bells and whistles than most people want or
needThe one lesson that 100 years of consumer
marketing should have taught us In the picture
business, simple tramps megapixels, every time.
8Illustrating the Problem
Move this picture from my camera to my Web page
Display the notes taken on my PDA on this wall
monitor
9Illustrating the Problem
10Illustrating the Problem
- Current process for putting pictures from digital
camera on web page - We take the picture
- Transfer it to the PC
- Transform it
- Upload it to destination
- Edit the HTML
- Desired
- Take the picture
- Specify the destination
- Next thing you know its at the desired location.
11Appliance Computing World
- Vision of Appliance Computing World
- An appliance computing world is one in which
people move data effortlessly among artifacts to
accomplish a variety of simple and advanced tasks - Attributes
- Some attributes are inherent to the way people
interact with appliance computing world. These
are discussed next.
12Attributes of Appliance Computing World
- People move data using concrete artifacts
- People think of devices in terms they understand
- People dont care how pictures are stored, but
only that camera takes a picture, film stores it,
end of story. - People dont care what format the file is in.
They want it to be on a webpage. - Devices are simple, single-purpose appliances
- Moving functionality from the computer onto a
camera complicates things, as opposed to making
life easier.
13Attributes of Appliance Computing World
- People perform a variety of traditional tasks, as
well as a new set of advanced tasks with their
devices - The new cool digital device needs to perform at
least the tasks an old, traditional device was
able to perform and then some - Tradeoff between this, and the previous two
attributes
14Principles That Enable Appliance Computing
- Today dealing with digital devices is difficult
since extracting information from a digital
device usually requires interacting with a PC. - The user has to deal with both file location and
file format conversions. For example, a user may
have to take TIFF files (from a scanner) and
convert it to GIF or JPEG for a web page. - Bring devices to the forefront
- User deals only with source/destination, and not
with intermediate computation. - A files actual location and format should be
hidden from everyday users.
15Principles That Enable Appliance Computing
- Some features can make a device easier to use.
- Examples The voice command on cell phones or the
picture previewing on digital cameras. - This can still be a burden. For example, the
digital camera user has to learn how to set the
modes on the camera to preview a picture. - Keep the number of user-controllable features
users must learn to operate a device to a minimum - User should not have to know anything about
preview camera mode to turn camera on and off. - There is tension between ease of use and placing
potentially useful features on the device.
16Principles That Enable Appliance Computing
- The emphasis is on making the steps required to
perform a high-level task simple. - The implication of the previous two principles is
that devices are simple. - What if a user wants more complex functionality?
17Principles That Enable Appliance Computing
- Place the software required to accomplish tasks
in the Internet infrastructure. - Logically centralized software (easy upgrades)
- Functionality is moved from the PCs and devices
to the supporting infrastructure. - This can make upgrades and administration
simpler. - It is easier to reason about reliability and
availability.
18Appliance Data Services
- Appliance Data Services refers to a general
application framework on top of which appliance
computing applications are built. - The framework implements previously mentioned
principles
19Scenario Used
- Jane is traveling through Europe.
- During the trip, she uses her digital camera to
take pictures and her PDA to jot down
descriptions of her pictures. - She periodically goes to an ADS access point at
an Internet Café. - Jane logs in by inserting her SmartCard and
entering her PIN. - She selects the photoalbum application.
- She is prompted for her pictures followed by the
descriptions, both of which she transfers using
the IR ports on her digital camera and PDA.
20The Architecture
21Architecture Basic Data Unit
- Basic data unit controlling framework operation
is a triplet containing the following fields - User identifier
- Command to be executed
- Data to be operated on
- The triplet is useful for
- Application selection (command-tag)
- Access Control (userid)
- Other service features (command-tag userid)
- Billing, security
22Architecture Main Stages
- Data Receive Stage
- Collects data, and transfers to next stage once
userid/command-tag/data received - Application Control Stage
- Determines desired application, determines all
needed parameters, sends to Services Execution
Stage - Services Execution Stage
- Invokes required service on a template it
receives - Services are very modular and composable
23Architecture Data Receive Stage
- Access Point
- Receive data from Appliances
- Isolates device heterogeneity to a single
architectural component. - Possible Implementations
- A commodity PC outfitted with the appropriate
hardware interfaces or it can be designed as a
special-purpose network appliance. - Example The Access Point Jane uses requires a
Smartcard reader, IR receiver and software and a
touch-screen monitor to display Janes
application options.
24Architecture Data Receive Stage
- Access Point (continued)
- The software on the Access Point is organized as
a set of device adapters, each enabling the
access point to speak a different device
communication protocol. - This isolation of device heterogeneity to one
component allows the rest of the system
independence from device-specific communication
protocols. - Key Challenge Extensibility in supporting
devices and protocols this arises from the lack
of standardization among device vendors and the
increase in the variety of devices being
introduced.
25Architecture Data Receive Stage
- Aggregator
- Manages session state
- Gathers data sent from the Access Point and sends
to the data to the next stage once all pieces of
(userid, command-tag,data) triple are received. - Simplifies adding support for new devices in a
robust, easy-to-deploy way - Scenario
- Jane enters janedoe for the user identifier and
photoalbum for the command-tag. - The aggregator maintains this state so that each
picture and text description from Jane creates a
triple (janedoe, photoalbum, picture or
description). This is forwarded to the next
stage.
26Architecture App. Control Stage
- The user identifier and command tag are used to
determine the chosen application. - Command Canonicalizer
- Converts command-tag from its original data type
to plain text - Facilitates the design of devices with simple
user interfaces - Example from scenario
- Jane takes a picture and speaks the desired
command-tag into the camera. - When the pictures are transferred into an Access
Point, the command-tag has been specified.
27Architecture App. Control Stage
- Template Database
- This is where templates are stored.
- Templates are looked up by command-tag userid
- Templates describe applications behavior by
describing data, and specifying services to be
performed. - Minimizes device configuration
- Provides a level of indirection between
application selection and application
specifications which separates the concerns of
applications users and applications creators.
28Architecture App. Control Stage
- Template Database (continued)
- Templates may be developed by the manufacturer
and placed within the infrastructure. - Customers can get new applications (or an
upgrade) without having to worry about
configuring the applications on their devices. - Example
- Kodak wants to make a set of ADS applications
available to customers who purchase a Kodak
camera. - If templates are shipped with the application, it
makes it more difficult to upgrade or add new
applications Pirating is easier.
29Architecture App. Control Stage
- Dataflow Manager
- Coordinate data received from the user to make
certain that an application has all the data it
requires. - Uses application template to place data into
proper parameter slots. - Data from different devices at different times
may be coordinated. - Example
- Photos could be input from the camera, and their
description from the PDA at a later time. Later
these can be combined.
30Architecture Services Execution
- Application Dispatcher
- Invoke the services specified in the application
template on the data it receives. - Example
- For Janes photoalbum application, these services
include a service that scales her pictures by an
appropriate amount and FTPs the pictures and
descriptions to the appropriate site.
31Developmental Experience
- Set of services and device adaptors to support
two applications Web Photo album and Guest book - Web Photo album
- Users create and publish web-based photo albums.
- Guest Book
- Takes input from a web cam, business card scanner
and PDA to create a web-based guest book
containing peoples pictures and business card
information. - XML application template used to describe the
input data and services to invoke.
32Conclusion
- Does this make good business?
- Could potentially be useful as digital devices
becomes more widespread. - Just how powerful is this model of computing?