Danny's Tech: Where West and East Intersect

Wednesday, October 15, 2008

Cloud Computing: problems and potential solutions

Cloud computing is hot enough for Microsoft to get involved. However there are at least 2 big issues with CC: security and vendor lock-in.

To avoid vendor lock-in, one needs to be able to save the data locally which are sent exclusively out to the Cloud. This means that the browser has to be modified to be able to save a copy as well as send it out to Cloud. Also be able to restore it from the saved data to alternate Cloud. Note that this "saved data" can be encrypted and preserved onto yet another Cloud.

To improve security, one way is to encrypt the data at the point of the browser so that the entered data isn't directly sent: Names can be scrambled and sent as "bogus" string. Bigger challenges are numbers and dates. As long as these data belong to one person, then unique offset constant can be used to store data. The problem is with sharing the data among more than one person. One alternative method would be to use unique offset per, say, date field. (For example, birth dates are all offset by 250 days while "entry date" (or due date) is offset by 3 days and these offsets are stored and shared via a different Cloud service [and encrypted as well, of course.]) For numbers, common numbers would need same offsets, unfortunately, or else the math won't add up. (Hmm: maybe a new math is possible? Like, if one is Safesforce.com customer, using predefined algorithm to construct an encrypted processing engine?)

Copyright 2008, DannyHSDad, All Rights Reserved.

Labels: , ,

Tuesday, February 21, 2006

Computer Security: blame the victims

"The Sorry State of Security" pokes fun at everyone involved in the "security" business but they blame the victims the most: us users. The biggest hammer should be swung at OS (operating system) writing companies (Microsoft, Apple, etc.) not the users. OS needs to be rock solid, no matter what. Programs should be solid (maybe not as rock solid as OS, depending on the application) but OS should be able to recover from anything fatal.

I guess virtualization technology would help keep every program isolated rather than co-mingling various programs in one virtual memory space (file system is equally accessable by all programs).

But the arrogant attitudes of software developers from OS to various programs are unacceptable. And what's worse is that bugs are introduced by the developers yet us users are told to deal with it and wait for a patch or even pay for the fix! And then we aren't even allowed to fix on our own!

Granted, open soure allows more control to the underlying programs but due to babel of programming languages, you can't just fix it -- you have to learn the programming language, the programming development environment/tools and then the program itself before you can fix it.

Even if the programs were stable, programs are written by programmers for programmers so the usage are never intuitive. I know because my wife drives me up the wall trying to do something as simple as attaching photos to her email (the email program is where I'm frustrated not her -- she's got every right to her expectations: the programmers never think about usability in a real way). My wife and I complain about too many men (or women who do not have children) designed stuff that just aren't well made (like sinks which are made flat at the top surface such that water always pools there rather than draining down in the sink or worse drain way from the sink). Idiot engineers! (I'm not guiltfree but at least I'm painfully aware of these issues.)

Labels: ,

Friday, December 02, 2005

remote assistance

Things like Fog Creek "Copilot" gets at the problem of computers today: all too often someone has to maintain or unstuck a computer and usually someone you know remotely (by phone of course). Copilot allows control remotely but what if all the smarts were packaged in a program in a CD which can boot by itself and connect to a server? What if this software also did backups and restores to a server? And what if the data (and program) can be transparently be copied to a new machine? Or on a remote location? With virtualization technology, being able to run and restore portions of old environment would be easy to do.

[Some of the ideas above was shared to me by a coworker but I doubt if anything above is really new...]

Labels: ,