providing reliability in home networks peter kriens ceo aqute technical director osgi osgi fellow
TRANSCRIPT
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: [email protected]
www.aQute.biz