Upload
cherokee-merritt
View
77
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Appliance-Based Computing. Reference. Appliance Data Services: Making Steps Towards and Appliance Computing World by A. Huang, B. Ling, J. Barton and A. Fox. Introduction. A digital appliance is defined as a single-purpose device. Examples include the following: - PowerPoint PPT Presentation
Citation preview
Reference
Appliance Data Services: Making Steps Towards and Appliance Computing World by A. Huang, B. Ling, J. Barton and A. Fox
Introduction
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
Introduction
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.
Introduction
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.
Introduction 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.
Problems 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 need…The one lesson that 100 years of consumer marketing should have taught us: In the picture business, simple tramps megapixels, every time.”
Illustrating the Problem
digital cameras
PDAs
digital photo frames
wall-mounted displays
Web pages
Move this picture from my camera to my Web page
Display the notes taken on my PDA on this wall
monitor
Illustrating 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 it’s at the desired
location.
Appliance 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.
Attributes of Appliance Computing World People move data using concrete artifacts
People think of devices in terms they understand• People don’t care how pictures are stored, but only that
camera takes a picture, film stores it, end of story.• People don’t 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.
Attributes 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
Principles 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 file’s actual location and format should be
hidden from everyday users.
Principles 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.
Principles 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?
Principles 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.
Appliance 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
Scenario 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.
Architecture: 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
Architecture: 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
Architecture: 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 Jan’es application options.
Architecture: 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.
Architecture: 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.
Architecture: 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.
Architecture: App. Control Stage Template Database
This is where templates are stored. Templates are looked up by command-tag
+ userid Templates describe application’s 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.
Architecture: 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.
Architecture: 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.
Architecture: Services Execution
Application Dispatcher Invoke the services specified in the
application template on the data it receives. Example:
• For Jane’s 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.
Developmental 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 people’s pictures and business card information.
XML application template used to describe the input data and services to invoke.