Providing Reliability In Home Networks Peter Kriens CEO aQute Technical Director OSGi OSGi Fellow
Mar 27, 2015
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