Hi from Matt,
first i want to wish all of you a happy new year !
Then i would like to share an idea with you :)
You may have already heard of the new virtual-3D world "Second Life".
(if yes, pls skip the next paragraph)
Here a short explanation what "Second Life" is :
"Second Life" is a MMORPG (e.g. similar to "World of Warcraft") where
thousands of users can login simultaneously to a virtual "world" simulation
and live their "second lifes". Unlike other MMORPG's "Second Life" is not really
a game but a marketing place where users can buy, sell and create all kinds of objects
(houses, walls, furnitures, plants, animals, ... everything you can think of).
Those self-created objects are programmable by a special scripting language
and they can have all kinds of diffrent attributes and states.
Basically you can create really "everything" you have in mind in this virtual-reality.
Here the idea :
The idea is to create a data-center within the "Second Life" virtual-reality and to "connect"
this to my real-world (physically existing) data-center in my lab (managed by openQRM).
Basically it is about using "Second Life" as an User-Interface for openQRM.
(if you cannot wait please find a link to a demo-video below)
The challenge :
In "Second Life" all kinds of diffrent objects can be created by the users.
(basically everything in "Second Life" is created by users expect the land itself)
Those objecs are "primitives" like quaders, cubes, globes, etc.
The objects can have a "content" which can be e.g. one or more scripts written in
a special "Second Life" programming language (called (LSL).
With LSL users can give "live" to their objects.
I found out that there is a way to let those objects communicate to the outside (real) world
using a llhttprequest function in LL. Then my plan was to use this function to map and
connect virtual objects in "Second Life" to real-world objects e.g. the servers in my lab.
What is working so far :
Ok, to map and connect the virtual objects in "Second Life" to the real-world
a kind of proxy-server is needed since those objects can only communicate with
a web-server in the internet but not directly with my openQRM-server in
my lab since my openQRM-server is in a separated network behind a fire-wall.
So I implemented an initial SL-to-openQRM proxy-server based on PHP.
It supports to transfer objects status and actions from the virtual-world to
the real-world including a basic two-sided authentication.
(authentication from SL to the proxy and from openQRM to the proxy)
A server-service on my openQRM-server takes care to feed this proxy with informations
about the data-center, its resources, virtual-environments, etc.
In the same step it also gets eventual actions for resources or virtual-environments
from the proxy and applies them on the openQRM-server (e.g. starting/stopping a VE).
In "Second Life" the virtual-objects (like a Rack with some nodes in it) can get
their status from the proxy-server and post action to the proxy-server.
As a prove-of-concept I created a small, virtual data-center in a sandbox (developer playground)
in "Second Live" and captured a video of it. This video shows basic administrative
tasks like starting a virtual-environment or shutting down a node within "Second Life"
Here the link to the video :
Pls notice there is no audio in this video but everything is explained in the chat dialog!
If you plan to build your own data-center in "Second Life" please feel free to
contact me anytime. I can e.g. provide the code for the SL-to-openQRM proxy-server
and the initial Data-center, Rack and Virtual-Environments SL-objects.
Comments/Questions/Suggestions/further-Ideas are of course welcome ;)
I am interested in this
hehehe, cool :) sadly the second-life integration is only available for the "old" openQRM version 3.x (java based).
Still, of course not a big deal to adapt the command+status proxy for the SL ui to the new openQRM version.
I show you how and you port the integration to new openQRM !?
many thanks + stay tuned,
Project Manager openQRM
thank you Matt!!