Welcome, Guest. Please Login
 
  HomeHelpSearchLogin FAQ Radified Ghost.Classic Ghost.New Bootable CD Blog  
 
Pages: 1 2 
Send Topic Print
Using virtualization: a practical example (spam filters test) (Read 37954 times)
Dan Goodell
Special Guest
*****
Offline



Posts: 552
N California


Back to top
Using virtualization: a practical example (spam filters test)
Mar 29th, 2009 at 5:10am
 
In other threads, we've occasionally discussed virtualization as an alternative to conventional multibooting.  I thought I'd share with the group a two-week experiment I just concluded this weekend that illustrates a practical use of virtualization.  For those who are familiar with and use virtualization products (VMware, VirtualPC, VirtualBox, et al), this will be old hat.  For those who are just beginning to use them or who are still trying to grasp what they could be good for, this real-life example may be enlightening.


The Objective:  Recently a few people have asked me to recommend spam filtering software to use with Outlook Express, so I thought I'd run a test comparing a few of these programs head to head.

This is an ideal use for virtualization.  I would setup several virtual machines to provide identical environments, then give each anti-spam program its own virtual machine.  At the end of 2 or 3 weeks, I'd see how each one did.  (Turns out I didn't need 3 weeks--results were obvious within 2 weeks.)


The Test Candidates:  After some google searches and scanning a few newsgroup discussions, I chose 10 mail filtering programs for the test.


Providing Content for the Test:  Since I have control over my own domain mail server, I created 10 temporary mail accounts.  To get some junk mail, I activated the domain's "catch-all" mailbox (to collect mail that isn't addressed to a valid username) and configured the server to replicate copies of each incoming message to all 10 temporary mailboxes.  To get some legitimate mail, I had the server replicate incoming mail from my real mailbox to all 10 temporary mailboxes.  Now each of the 10 mailboxes would fill with identical collections of junk and non-junk mail.


The Virtual Machines:  I used VirtualPC for this experiment.  I first created one virtual machine with a 4GB virtual hard disk, and set it up with a bare-bones installation of XP Home Edition and Outlook Express.  I placed the virtual machine file ("spamtest.vmc") and the virtual hard disk file ("spamtest.vhd") in a folder on an external USB hard drive, then copied that folder 10 times.  That gave me 10 identical virtual machines.

I imported the 10 virtual machines into VirtualPC's launch console.  Unless I wanted to run only one at a time, however, slight adjustments would be needed so they wouldn't collide with each other.  I booted each virtual machine, changed the network 'computer name' for each copy of XP, and ran SysInternal's 'newsid' utility to generate a unique sid for each.  That gave me 10 copies of XP that could coexist simultaneously on my home lan.

A different anti-spam program was installed on each virtual machine, and one of the temporary mail accounts was associated with each copy of OE.


Running the Test:  Once a day, I started up the VirtualPC console and launched the virtual machines.  Given ram and screen space considerations, I had no more than 4 or 5 vms running at a time as I cycled through all 10.  Each OE downloaded its mail, and I did whatever spam processing was called for with each program.  Then I deleted all downloaded mail and closed each vm, using VirtualPC's "save state" option (akin to hibernating each machine).  That saved time, since each vm was restoring and hibernating daily instead of booting and shutting down.

Remember that all the mail messages were duplicates anyway, so I didn't need to read or save anything.  All I was doing was checking and correcting what the programs were identifying as spam so they could improve their accuracy.  The whole process to check 10 vms took less than 10 minutes a day.


The Conclusion:  Virtual machines provided an ideal platform for tests such as this.  It was extremely beneficial to be able to compare the test subjects working with identical content in identical environments.  In just two weeks, it was very clear which anti-spam programs stood out from the rest.

Oh... you mean you want the results of the comparison?  Okay, I'll make that the subject of another thread, and keep this one on the topic of practical uses for virtualization.

[Rad edit] That thread is located here » http://radified.com/cgi-bin/yabb2/YaBB.pl?num=1238321569
 
 
IP Logged
 

Spanky
Radmeister
**
Offline


Rad's non-Admin Test profile
in Seamonkey

Posts: 73
Same as Rad


Back to top
Re: Using virtualization: a practical example (spam filters test)
Reply #1 - Mar 29th, 2009 at 11:29am
 
Dan Goodell wrote on Mar 29th, 2009 at 5:10am:
configured the server to replicate copies of each incoming message to all 10 temporary mailboxes

how do you do that?
 
WWW  
IP Logged
 
Dan Goodell
Special Guest
*****
Offline



Posts: 552
N California


Back to top
Re: Using virtualization: a practical example (spam filters test)
Reply #2 - Mar 29th, 2009 at 7:02pm
 
Spanky wrote on Mar 29th, 2009 at 11:29am:
configured the server to replicate copies of each incoming message to all 10 temporary mailboxes

how do you do that?  


Depends on whether you have access to that level of your mail server.  If you've got your own domain, your hosting service probably has a control panel of some sort that allows you to setup your own mail accounts.  Mine also allows me to enable or disable a "catch-all" account, and email forwarding.  I set the catch-all account to mailtest1@(mydomain), then setup forwarders to have anything sent to mailtest1 forwarded to mailtest2, mailtest3, etc.


 
 
IP Logged
 
MrMagoo
Übermensch
*****
Offline


Resident Linux Guru

Posts: 1026
Phoenix, AZ (USA)


Back to top
Re: Using virtualization: a practical example (spam filters test)
Reply #3 - Mar 29th, 2009 at 7:54pm
 
Dan Goodell wrote on Mar 29th, 2009 at 7:02pm:
Depends on whether you have access to that level of your mail server.If you've got your own domain, your hosting service probably has a control panel of some sort that allows you to setup your own mail accounts.

If you don't have that level of access, you could also set up a rule on your mail client that forwards all mail to a list of address you supply.  This could start to mean a lot of mail flowing in and out of your account, tho, so configure it carefully.

Another idea I had about how to do it is to set up all the clients in the test to leave copies of the email on the server when they download it.  Then they could all access the same account.
 
WWW  
IP Logged
 
Dan Goodell
Special Guest
*****
Offline



Posts: 552
N California


Back to top
Re: Using virtualization: a practical example (spam filters test)
Reply #4 - Mar 29th, 2009 at 8:02pm
 
MrMagoo wrote on Mar 29th, 2009 at 7:54pm:
Another idea I had about how to do it is to set up all the clients in the test to leave copies of the email on the server when they download it.Then they could all access the same account.  


Hmm.. I didn't think of that!  Yeah, that would have been a lot easier.

 
 
IP Logged
 
Dan Goodell
Special Guest
*****
Offline



Posts: 552
N California


Back to top
Re: Using virtualization: a practical example (spam filters test)
Reply #5 - Mar 29th, 2009 at 11:10pm
 
On second thought, that wouldn't work.  Some of the programs (like Mailwasher) deleted files from the server that they identified to be spam.  At the beginning of the test, I didn't know which programs might do that, so I'd have to let each program have its own mailbox.


 
 
IP Logged
 

slangtruth
Gnarly
*
Offline


I love YaBB 1G - SP1!

Posts: 25


Back to top
Re: Using virtualization: a practical example (spam filters test)
Reply #6 - Apr 7th, 2009 at 10:58am
 
Here's another practical, real-world example.  I help a nearby business with their computer needs, and the boss just bought a new laptop and was having trouble installing one of her programs on it. She called me over to take a look and sure enough it wouldn't install, giving an error message I'd never seen before ("This program is incompatible with this version of Windows"). Well, hell, it's Vista, I'd just put it on one of their other Vista machines a few weeks ago (tick,tick,tick - lightbulb!). Me: "Hey, is this by any chance 64-bit Windows?". She: "What's that?".

Yep. she'd just walked into the big-box store and bought an HP laptop off the shelf with 64-bit Vista. I could go into a whole sidebar about how irresponsible it is for the MegaloComputerMart to just be selling boxes with 64-bit Windows to anyone who walks in off the street. It's not even that easy to tell you've got Vista64. It looks the same. We had to Google and search the control panel to even find out what she had, and when we found out it was indeed 64-bit (and this old but necessary and unique business specific program hasn't been updated since it was released for for Win 3.1), I said "Sorry, you're hosed".

But, VM to the rescue! Like Dan did with the mail filters above, I built her up an XP Virtual machine with nothing on it but her program - it weighed in at about 3GB. I put it on her laptop, got her the VMware player, she starts it up and yipes, she's ready to party like it's 1999 again.

I'll still tell her to go back to 32-bit when she moves to Windows7, though.
 
 
IP Logged
 
MrMagoo
Übermensch
*****
Offline


Resident Linux Guru

Posts: 1026
Phoenix, AZ (USA)


Back to top
Re: Using virtualization: a practical example (spam filters test)
Reply #7 - Apr 7th, 2009 at 6:17pm
 
slangtruth wrote on Apr 7th, 2009 at 10:58am:
I could go into a whole sidebar about how irresponsible it is for the MegaloComputerMart to just be selling boxes with 64-bit Windows to anyone who walks in off the street.

In my experience, half of the salesmen at MegaloComputerMart don't know the difference anyway.  As you said - it looks the same.  You can't trust them to sell you what you need anymore than you can trust a real estate agent to pick the right house for you.  

Even if they have good product knowledge, I'm not sure we could expect some salesman at a big chain to know that she has a particular program written over 15 years ago she just can't let go of.  At some point, the industry has to move on, and those who remain chained to old technology need to solve it with things like virtualization, as you have done.  
 
WWW  
IP Logged
 
Rad
Radministrator
*****
Offline


Sufferin' succotash

Posts: 4090
Newport Beach, California


Back to top
Re: Using virtualization: a practical example (spam filters test)
Reply #8 - Apr 7th, 2009 at 8:50pm
 
slangtruth wrote on Apr 7th, 2009 at 10:58am:
she starts it up and yipes, she's ready to party like it's 1999 again

Smiley Yer funny. Made me chuckle.
 
WWW  
IP Logged
 
slangtruth
Gnarly
*
Offline


I love YaBB 1G - SP1!

Posts: 25


Back to top
Re: Using virtualization: a practical example (spam filters test)
Reply #9 - Apr 8th, 2009 at 8:41am
 
MrMagoo wrote on Apr 7th, 2009 at 6:17pm:
In my experience, half of the salesmen at MegaloComputerMart don't know the difference anyway.As you said - it looks the same.You can't trust them to sell you what you need anymore than you can trust a real estate agent to pick the right house for you.


She probably didn't even talk to a salesperson. I think she went in with a budget, picked something out that met the budget and had a big enough screen, and said "I'll take one of these". To a layperson, it's just a computer and they expect it to work just like their last one, only faster.

MrMagoo wrote on Apr 7th, 2009 at 6:17pm:
Even if they have good product knowledge, I'm not sure we could expect some salesman at a big chain to know that she has a particular program written over 15 years ago she just can't let go of.At some point, the industry has to move on, and those who remain chained to old technology need to solve it with things like virtualization, as you have done.  


Sure, but if I wanted to hear "If you buy this new computer, your old programs won't work any more. Buy new ones or do without.", I'd have bought a Mac.  For myself, I've got boatloads of 16-bit programs that I don't want to give up on. I wrote stuff in Clipper for a long time, and still have some legacy dbf databases. For new GUI type stuff I manipulate them with programs written in C++ Builder, but for a quick and dirty report or manipulation there's nothing faster than firing up my favorite 1991 text editor (which has at least one facility I've never seen in any other editor), banging it out, compiling and running it right from the command line. I could rewrite all the legacy stuff and with practice could probably get just as fast at Q&D cycles with more modern tools, but why should I have to?  I'm too lazy.
 
 
IP Logged
 
Pleonasm
Übermensch
*****
Offline



Posts: 1619


Back to top
Re: Using virtualization: a practical example (spam filters test)
Reply #10 - Apr 8th, 2009 at 9:40am
 
It is perhaps too obvious, but Windows Vista allows any application to be run in a “compatibility mode,” emulating versions of Windows all the way back to Windows 95.  In addition:

Quote:
Many 32-bit applications will not be updated for Windows Vista x64 Edition; however, most 32-bit software will still function because of a Microsoft emulation layer. This emulation layer, known as Windows on Windows 64 or WoW64, enables 32-bit programs to run as though on a 32-bit version of Windows by translating instructions passing in and out of 32-bit applications into 64-bit instructions. Emulated programs act as though they are running on an x86 computer and operate within the 2 GB of virtual memory that a 32-bit version of Windows allocates to every process.
Source:  A Closer Look at Windows Vista, Part III: 32-Bit vs. 64-Bit Windows

(Of course, perhaps not every application will work properly in an emulated environment.)

One issue that users of “old” software should consider is security.  The vast majority of security threats to a PC are not related to the operating system, but are due to faulty applications.  If, for example, you’re not running the most recent release of Acrobat (or J2SE runtime environment, or X, or Y, etc.), you’re at significant risk.  Thus, keeping current with new versions of software not only provides enhanced functionality, but in general it also improves security.
 

ple • o • nasm n. “The use of more words than are required to express an idea”
 
IP Logged
 

NightOwl
Radministrator
*****
Offline


"I tought I saw a puddy
tat..."

Posts: 5826
Olympia, WA--Puget Sound--USA


Back to top
Re: Using virtualization: a practical example (spam filters test)
Reply #11 - Apr 8th, 2009 at 10:02am
 
And another example of old programs not being compatible with newer hardware and/or software (or are they?!):

I have a DOS based business program that I have used up until about two years ago (my work situation changed so I didn't need to use that program--at least for now) that I purchased back in 1994.

In 2000, the company said it was migrating to a Windows only based version of the program and would no longer be updating and supporting the old DOS version--primarily because the old data base function in DOS was not FAT32 compatible--and all new versions of Windows were going to be FAT32 or NTFS going forward.

They, of course, were marketing their new version--and failed to mention that you can create a separate FAT16 partition on the HDD, that Windows is completely compatible with, along with those FAT32 and/or NTFS partitions, and you could then continue to run the program from within a *command window* under Windows--as long as the program was on the FAT16 partition and did all its read/writes to that partition!
 

____________________________________________________________________________________________

No question is stupid ... but, possibly the answers are Wink !
 
IP Logged
 
MrMagoo
Übermensch
*****
Offline


Resident Linux Guru

Posts: 1026
Phoenix, AZ (USA)


Back to top
Re: Using virtualization: a practical example (spam filters test)
Reply #12 - Apr 8th, 2009 at 8:10pm
 
slangtruth wrote on Apr 8th, 2009 at 8:41am:
She probably didn't even talk to a salesperson. I think she went in with a budget, picked something out that met the budget and had a big enough screen, and said "I'll take one of these"

All the more reason why I don't think it's fair assign (ir)responsibility to the store.

slangtruth wrote on Apr 8th, 2009 at 8:41am:
Sure, but if I wanted to hear "If you buy this new computer, your old programs won't work any more. Buy new ones or do without.", I'd have bought a Mac.  For myself, I've got boatloads of 16-bit programs that I don't want to give up on.

You don't have to give up on them.  You can run them in compatibility mode or a Virtual Machine.  Virtual Machines can even share files with their host and other virtual machines, so I'm hard pressed to think of a disadvantage in this case.  And, a virtual machine would work on a Mac, if that is the system you really want to use...

slangtruth wrote on Apr 8th, 2009 at 8:41am:
To a layperson, it's just a computer and they expect it to work just like their last one, only faster.

This is the heart of my point - the same people who want faster/better computers also want them to work exactly the same forever.  These goals are not entirely symbiotic.  I agree that we have to maintain some amount of compatibility as long possible, but sometimes you have to change the way things work a little bit to make them faster/better.  

In this case, a 32-bit processor can only address 3.2 GB of memory (along with a few other limitations.)  This was more than enough for any OS up until now, but its not uncommon to see Vista desktops shipping with 4 GB of memory.  Recommending to someone that they buy only 32-bit Windows7 guarantees them a computer with an amount of memory that will likely be below average by then, making the goal of a new computer being 'fast' difficult to achieve.  

On the other hand, solving it with Compatibility Mode or a virtual machine is free and allows the host computer to have up to a theoretical limit of 16.8 million terabytes of memory (which even at the rate M$ bloats their software, should be enough for several generations of software.)
 
WWW  
IP Logged
 
MrMagoo
Übermensch
*****
Offline


Resident Linux Guru

Posts: 1026
Phoenix, AZ (USA)


Back to top
Re: Using virtualization: a practical example (spam filters test)
Reply #13 - Apr 8th, 2009 at 8:13pm
 
Pleonasm wrote on Apr 8th, 2009 at 9:40am:
One issue that users of “old” software should consider is security.

Another fine side-effect of virtualization is that it isolates programs running on the virtual machine from the host, providing a fairly good security barrier.
 
WWW  
IP Logged
 
Brian
Demigod
******
Offline



Posts: 6345
NSW, Australia


Back to top
Re: Using virtualization: a practical example (spam filters test)
Reply #14 - Apr 8th, 2009 at 8:39pm
 
MrMagoo wrote on Apr 8th, 2009 at 8:13pm:
Another fine side-effect of virtualization is that it isolates programs running on the virtual machine from the host, providing a fairly good security barrier. 

MrMagoo,

If you are surfing the net from the virtual machine and download a few viruses, are they confined to the virtual machine and able to be removed by "Delete Undo Disk Changes"?
 
 
IP Logged
 
Pages: 1 2 
Send Topic Print