Providing Reliability In Home Networks Peter Kriens CEO aQute Technical Director OSGi OSGi Fellow

Preview:

Citation preview

Providing Reliability In Home Networks

Peter KriensCEO aQute

Technical Director OSGi OSGi Fellow

Contents

• What’s wrong?

• Why is it wrong?

• What can we do about it?

What?

The Future of the Past• Jetsons (sixties)

– Sunny Future, all Jetson had to do at the Spacely Sprockets factory was pushing a button

• The 21st Century (1967)– By Walter Cronkite. Predicting

the technologies of the year 2001

• A Space Odysee 2001– A truly intelligent computer,

HAL

• Marvin (1997)– A Personal Assistant Project

for Ericsson Research

• Smart Homes (2000)

Speakers

Dockable Cameraand microphone

XSRW

SurfBoa

rd

The Future of Today• My father recently bought a

Personal Video Recorder• He spent 4 days trying to get

it connected• It was connected ..

– But he never used it until I visited him

• It turned out that the PVR could not control the satellite decoder

– Decoders were mentioned in the manual though

• Making the PVR virtually useless for him

• Then he also bought DVD-R instead of DVD+R discs …

The Future of Today• Connecting a home Cinema

system is magic today– Digital Audio, S-Video, RCA

plugs, 5.1, Dolby, THS, and all configurable

• We have 6 remote controls– Have been able to reduce this to

3! After 3 days hard work• My family is puzzled why

they can not watch another channel on the second TV

– A satellite receiver can only handle a single channel

• I have given up on synchronizing my Bluetooth phone

– Too much work, too painful

The Future of Today• My Router

– About twice a day it looses the external connection

• My Printer– > 20 pages fail to print

• My GoVideo Networked Music player often can not find the music server

– And it only find one of the 3 “standard” UPnP servers on my network

• My PC internal network card fails

– Replaced twice, spent countless hours on support calls

– Use a USB key now

• Switched several PCs to fixed IP number

– The automatic number assignment was too unreliable

Why?

Jetsons Revisited

Stupidity of Computers• Y2K “bug”

– Too silly to even talk about

• Viruses– Attack is often to simplistic to fool even a 3 year old

• Blindly repeating the same mistake• Preventing user mistakes only with a lot of hard work • It is not the user, it is our fault …

• Computers have no common sense

Human Nature• Users have very little

patience to setup computers– Their primary motivation lies

elsewhere• Lots people think computers

are intelligent, – Which does not reflect well on

their IQ– Eliza, Weizenbaum– Marketing does not help

• People tend to blame themselves

• Abstractions Impedance Mismatch

– For most people, abstractions are very complex

– For us, they are our bread and butter

Stupid Computers/Humans

• "On two occasions, I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able to rightly apprehend the kind of confusion of ideas that could provoke such a question."-- Charles Babbage (1791-1871)

Configuration and Setup

• Too much flexibility– Requires too many choices

• Huge gap between the developer and the user – And marketing: check lists

• Security makes it beyond silly– 10 letter non mnemonic

passwords– Change them every month

• It took the telephone industry 120 years to invent covers!!

Too Much Functionality• Systems are being made too

complex.• Look at Telephony …

– The functionality offered is as simple as it gets

• Connect one number to another number

• 10-18 keys is all you need• 2 pages explanation

– Still the system complexity is horrendous

• Simple products have manuals that run into the hundreds of pages …

– Feature Interaction– Usability

Stupidity of Programmers• Software quality is, on average,

abominable– Bad design– Bad structure– Bad Coding– Very redundant

• Most programmers think they can program better than the average programmer

– Programmers are often very pedantic– Very few established best practices

• Mixing too many different technologies

• Testing is too often a tool to create quality, not to verify its presence

– Too often going for new (and exciting) technologies

• Too little knowledge of existing solutions

• Ignoring lessons of the past– Coupling– Cohesion

Programming is Inhumane• On June 4, 1996 an

unmanned Ariane 5 of $500 million exploded after lift-off. A 64 bit floating point number was converted to a 16 bit signed integer, and it was larger than 32,768

• if ((options == (__WCLONE|__WALL)) && (current->uid = 0))

retval = -EINVAL;

How?

Simplicity

• Reduce functionality – Resist feature creep– Do not add a function

because it is easy– Make it work well (and

safe) in all cases

• Reduce setup and configuration– Make it work out of the box

• Make the life of the user easy, not yours

Keep It Simple

Reliability

• We are trying to get away with cheap solutions– Reliability is not as important

as price– But we pay for support and the

consequences of the problems

• We have the solutions, why don’t we use them– Redundant hardware– Distributed Transactions– Proven Solutions– Inspections and Reviews– Root cause analysis

Learn, Learn, Learn

But …

Common Sense• With the current model,

programmers will not be able to keep up with the complexities raised by

– the application domains – the development process

• Home networks and computers in general will not work until we understand “common sense”.

• The Artificial Intelligence debacle of the sixties is still holding us back but breakthroughs must happen in the coming years

• We need more research in this area, much more

Peter Kriens

Mob +33633746480Tel +33467542167Tel +15123514821

9C, Avenue St. Drézéry, 34160 Beaulieu, France

AOL,Yahoo, Skype pkriens, ICQ 255570717Email: Peter.Kriens@aQute.biz

www.aQute.biz

Recommended