Category Archives: MapSnack

semi-virtualized machine running from USB

In summer last year I was experimenting with what I call “Geospatial Operating Environment” – a client based virtual appliance for geospatialy related operations that would give to user immediate (instant) tools and applications. Well, there is already approach to have USB drive and put there portable applications that can be run directly from USB drive without any need of installation. This approach is fine but definitely not error-prone since ‘the virtualization’ level is just on top of operating system and more dependent on a  host OS state and health. Running any executable from USB can potentially crash whole OS. Another approach is to virtualize applications using ThinApps or App-V but again the level of separation of OS from applications is not always guaranteed (I mean look on a way how you define virtualized applications – you need to sequence them (or ‘capture them’) where differences between initial state of OS and state of the OS after installation of apps represent the ‘properly installed and configured application’ that can be virtualized). Is this a right way ? why the industry is not looking more for jeOS and virtual appliances ? May be virtualized applications will give us more robust application sandbox that will less crash OS and less side-interact with other applications. Well may be the whole point is to always assemble OS+Apps where producer has always under control fresh new OS plus set of apps on top of that (Actually both CITRIX and VMWare are promoting this dynamic approach). Simply said, I do not trust so far to virtualized applications. OS is still pretty complex piece that you can make better, reliable but not as stable as hardware operations  today.Virtual Appliances rely on thin layer of hypervisor and hw while virtualized applications have much more large stack of software underneath.

Back to my topic… so I have done experimental client-side virtual appliance with lot of installed open source and free applications. One of them GoogleEarth was performing very slowly in virtualized environment due to the fact that virtualized environmend can’t so far utilize special hardware (a typical problem of virtual machines or common denominator).  But why not to run same appliance either virtualized or on physical hardware ? with VMWare it is possible with physical disk – once appliance is installed, you can either boot it directly from hard drive (or USB) or if you want to run it virtualized in some host environment, then this is possible too:

vmdk file then look very simple and access in fact regural disk image of the ‘virtual appliance’ – this is not any more virtual appliance but somehow ‘semi-virtualized’ appliance :

# Disk DescriptorFile
version=1
CID=2ccad3f7
parentCID=ffffffff
createType="fullDevice"
# Extent description
RW 625137345 FLAT "\\.\PhysicalDrive1" 0
# The Disk Data Base
#DDB
ddb.toolsVersion = "0"
ddb.adapterType = "lsilogic"
ddb.virtualHWVersion = "4"
ddb.geometry.cylinders = "38913"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.geometry.biosCylinders = "38913"
ddb.geometry.biosHeads = "255"
ddb.geometry.biosSectors = "63"

Freedom from OS lock-in

quoting from http://blogs.vmware.com/console/2006/11/changing_role_o.html
“Once you have a pervasive virtualization layer that focuses exclusively on managing all the underlying hardware and can run any OS, developers will finally be able to adapt and integrate the operating system as a part of their application, ship both of those together as a virtual machine and be confident it can run in any environment.”

Caching WMS requests

Recently I was interested in caching WMS requests on MapSnack, that would allow off-line usage of WMS sources. Unfortunately there is no functional WMS discovery or search engine. Google is very weak in this area and even inurl: doesn’t bring too many results. There is one paper I found on this topics called “OpenGIS WMS-based prototype system of Spatial Information Search Engine” but to access this paper you nee to login to IEEE. pages. So how to help google to index WMS layers and pictures it produce ? one of the thoughts I have is to create simple set of pages on which each request for certain layer for certain zoom level and in particular tile would be referenced. Tiling is important as “sampling frequency” for the WMS cache. Actually last year I was working on prototype which enabled me to save for offline use WMS tiled layers (refer to http://www.sumbera.com/news/mapajax/mapajax.htm) what was missing was an automatic crawler on the area and layers – the saving was done only by manual navigation in the area. Last note : I expect the shift of the google search engine towards this freely available geospatail content (…. just right after I will start to generate my index pages ;)

MapSnack pilot run

MapSnack runs.
thanks to Jachym Cepicky and Peter Balogh we have now 2 pilot runs of MapSnack

1st: http://mapserver-slp.mendelu.cz – serving school forest enterprise maps SLP Krtiny
2nd : http://mapsnack.mendelu.cz – serving maps of southmoravia area

all 2 virtual geospatial appliances runs on server MapBistro with VMware Server installed on Debian

The only thing which is missing there is a button for downloading MapSnack.
So kind of Web WYSIWYG :))

Reading MapSnack virtual disks directly from DVD

Today I’ve tried to access virtual disks from DVD to run MapSnack. Interestingly enough it runs, the trick is to make snapshot which can be read-only and remain on DVD – so you don’t need to copy all Gigabytes to your hardrive. Instead you copy on your HD just few MB of ‘delta’ virtual disks which need to be writable. Of course it is slower to read from DVD but for saving a disk space that make sense. So let’s consider following modes of running MapSnack: 1. virtualized and runing from harddrive (current release) 2. virtualized but mostly run directly from DVD (this) 3. native run from DVD as LiveDVD (see previous post) 4. hybrid run – native: small booting iso image which mounts virtual disks virtual: see point 2. Number 4 is target which brings great flexibility.