Symmetrical and asymmetrical system design
Here is a small social experiment I like to engage in during technical
design meetings. Whatever the problem under discussion, I will put
forward a solution which involves splitting the problem into exactly
*three* pieces. Without saying any more than that, a percentage of the
participants normally shift uneasily in their seats.
Why? Because three is an odd number. Both figuratively and literally. A
proportion of IT people feel more comfortable if there are an even
number of options in any logical decomposition of a problem.
Binary thinking is a powerful force in IT. We technologists think
George Boole's algebra[1] is very cool indeed. We appreciate it at two
levels. The logic of splitting things into binary camps appeals
strongly. But so too does the aesthetic balance and symmetry associated
with visualizations of binary logic. It appeals to both sides of the
brain (which has two sides). It also leads to more aesthetically
pleasing Powerpoint slides. How bad can that be?
Ad hoc field studies I have conducted lead me to believe that the
percentage who prefer even to odd numbers is around 50%. I hope it's
around 50% because that would be very symmetrical - a revelation that
tells you which side of the divide I am on.
My love affair with symmetrical logic has another side-effect. It makes
me very suspicious of designs that are *nearly* symmetrical. Pondering
such designs I find myself mentally re-working them either make them
completely symmetrical or completely asymmetrical. Completely
asymmetrical is fine. PKI for example, based as it is on asymmetrical,
"one way" functions is a good example of a completely asymmetrical
design which does not offend my highly strung design sensibilities. It
offends in other ways, but that is fodder for future articles.
Then of course, there is the biggest - in every sense of the word -
asymmetrical design in IT right now - the Internet. Of course, we do not
go around the place describing the Internet as an example of an
asymmetrical design. Indeed, we use phrases like 'client/server' which,
on the face of it, split Internet technologies nicely into two pieces -
the height of symmetric decorum.
To illustrate the asymmetric nature of the Internet, let me ask you a
question. When new mail arrives in your mailbox, does your computer
notify you through beeping or flashing? Do you use an RSS aggregator
that automatically updated when new entries appear in blogs? Both of
these technologies appear symmetric to the user. That is to say, stuff
can get pushed out and stuff can get pulled in, without human
intervention.
However, the push side of both of these technologies is a user-level
illusion. Under the hood, the protocols being used - POP3/IMAP4/HTTP -
are asymmetric. There is no such thing here as "push" in these
protocols.
Sign up for ITworld's Daily newsletter
Follow ITworld on Twitter @IT_world
jfruh
Apple syncing patent can't come soon enough
pasmith
New Twitter features borrow from 3rd party clients
Esther Schindler
Open Source Changes the Software Acquisition Process
mikelgan
How to set up continuous podcast play on the new iTunes
David Strom
Five important Windows 7 mobility features
sjvn
Guard your Wi-Fi for your own sake
Sandra Henry-Stocker
Grepping on Whole Words
Sidekick: The Good News & the Bad News
Either way you look at it Microsoft Data Center management did not follow standards or best practices in this failure. In which case it makes me wonder more about the outsourcing of corporate data much less personal data.
- mburton325
Join the conversation here
Quick, practical advice for IT pros. Made fresh daily.
Want to cash in on your IT savvy? Send your tip to tips@itworld.com. If we post it, we'll send you a $25 Amazon e-gift card.













hi
yjhghhfghhgghfggsrhtsdjy