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.

Geospatial Appliance MapSnack at FOSS4G

Abstract

Virtualization is an emerging technology on x86 platform simplifying deployment and configuration of complex information technologies. In free and open source software for geoinformatics area, however, this trend is not yet fully reflected or leveraged.  Contribution  introduces results and experiences with FOSS geospatial virtual appliance called ‘MapSnack’. MapSnack is a fully pre-installed and pre-configured geospatial virtual appliance that runs on any standard x86 machine in a self-contained, isolated  environment.

  A vision of MapSnack is to accompany raw geospatial data which comes in different formats with functionality to explore, query, share and manage content. That is merge data with functionality logic to simplify their absorption by consumer. MapSnack  eliminates the installation, configuration and maintenance effort  associated with deploying complex stacks of software for web mapping.

  There are basically two approaches how to achieve that. First is traditional and nowadays very popular  LiveCD  appliance, second is a virtual appliance

 

1. Geospatial LiveCD Appliance:

This approach takes Knoppix LiveCD concept  for fast deployment on user’s machine. LiveCD on one hand simplifies deployment and readiness to use geospatial appliance but on other hand remastering and maintenance of such system is difficult since intrinsic system is read only. LiveCD advantage is however in that it can run on any virtual or real machine which supports x86 ISA (Instruction Set Architecture) thus decision to let geospatial appliance run on real or virtualized (partitioned) hardware is left up to user. Another advantage of LiveCD system is embedded compressed file system which is automatically extracted during the boot up.

 

2. Geospatial Virtual Appliance -   Mapsnack

Recently much attention of IT have been drawn towards virtualization on x86 platform. Although there are many different levels of virtualization (hardware, operating system, application) virtualization in this contribution is treated as  ability to run multiple operating system on one CPU or one single computer. Important differentiation from the term emulation is that virtualization partition real hardware into multiple running context while emulation does it all in (higher) software layer. Virtualization is used in different areas such as server consolidation, running  legacy applications within legacy OS’es,  running untrusted applications in secure isolated sandboxes,  application mobility, clean/single service design and many others. MapSnack as geospatial virtual appliance is minimum sized Linux virtual machine with web user interfaces for deploying instant geospatial infrastructure and applications. Thus provides to the consumer advantage of quick deployment with  nearly zero-based installation and minimum skills to get it running.

MapSnack consist  of latest UMN MapServer and  P.Mapper with sample dataset. Underlying operating system is Debian Sarge 3.1r2 with latest updates. VMware Player has been chosen as virtualization platform to run MapSnack. Since it is not optimal to stick to one virtualization platform, future version will be virtualization platform independable, thus running a microinstall in the first run of appliance. Virtualized environment has an advantage that anybody can extend or modify it. User gets all necessary preinstalled and preconfigured software without even need to change his current production environment. This opens doors for Windows users who would like to combine comfort of Windows based GUI with performance and effectivity of single service virtual appliance based on Linux..

This approach of geospatial virtual appliance  answers also areas of MapSnack usability :

 1.  Portable map browsing – nowadays map browsers rely on internet connections. In case connection or server is broken and maps are urgently needed MapSnack can be quickly deployed as off-line /backup (or stand alone) map server.

2.  Encapsulating geospatial data with functionality – geospatial data providers  might want to add value to customers by providing not only processed data coming from various electromagnetic sensors  but also by providing software appliance for viewing and manipulating geospatial content.

 

3. Education of OGC standards (WxS) on stable and ‘always available’ source of geospatial content.

 

MapSnack can be downloaded from :http://mapsnack.mendelu.cz

 

 

 

 

 

 

 

 

First drop of term “Geospatial Virtual Appliance”

I am very suprised that no one ever used term “Geospatial Virtual Appliance” on interent – at least Google returned only 2 references… So from now on I will start to monitor number of Google responses on this term…try it too.. btw. MapSnack (Geospatial Virtual Appliance) got ‘HONORABLE MENTION’ sign by VMWare in ‘Ultimate Virtual Appliance Challange’ competition. check here