appliance-based computing

32
Appliance-Based Computing

Upload: cherokee-merritt

Post on 02-Jan-2016

75 views

Category:

Documents


0 download

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

TRANSCRIPT

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: 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

digital cameras

PDAs

digital photo frames

wall-mounted displays

Web pages

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.

The Architecture

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.

Conclusion

Does this make good business? Could potentially be useful as digital

devices becomes more widespread. Just how powerful is this model of

computing?