On May 2, 2011, at 7:32 AM, Karl Haas wrote:
> I want to write an external service which manages all rooms of an 
> organisation (just a proof of concept). It should be possible to connect also 
> other virtual worlds or also a real world room management tool. The 
> management service has to be able to send a room configuration to the OpenSim 
> region module at a scheduled time (room reservation) and the region module 
> has to send the content or position of the objects to the management service. 
> It should be possible to save the state of the learning session for later 
> continuation. Therefore I need a two way communication.

This is actually quite interesting for us too, 'cause one of the parts of the 
TOY (open source) learning env thing we made last year (is just coming out for 
public now, and was piloted in some schools a few months ago) is exactly that 
there are pre-made room configurations (for splitting classes for group works 
etc), and saving scenes from sessions for continuation later. For saving we 
wrote a region module that utilizes the underlying save-xml2 functionality in 
Opensim (that is like OARs but without assets, so very light small saves of 
scene confs).

I'm not sure how I'd do that two way conn. HTTP of course has been fashionable 
for the past >10 years, and it would be possible to just make either side poll 
with that. But for realtime 2-way comms something over a TCP socket that stays 
open might be better, both faster and more reliable. That's why web browsers 
have now gotten websockets support too -- so that apps like gmail can better 
get notifications from servers, instead of doing periodic http polls.

One open source virtual world system that uses a persistent TCP connection from 
a management tool for a number of simulator services is the Overseer app in 
Metaverse 3d, http://www.mv3d.com/trac/wiki/StartYourOwnServer has screenshots. 
That GUI allows to select a configuration for a server, could be a room 
configuration, and launch servers with that content (template). After a server 
is launched, there is an always-on connection between the management tool and 
the sim, so the management GUI can show realtime info of the server load, 
number of users etc .. both sides can easily send whatever information is 
needed. The implementation uses the Twisted networking lib's Referenceable for 
remote function calls, so the managent gui can command the sim by saying things 
like self.subordinate.callRemote("startNewService", name, config) in 
http://www.mv3d.com/trac/browser/trunk/mv3d/tools/overseer/overseer.py#L883

If you only need the sim -> manager comms for the saving, and you need to save 
the full state of an opensim scene, I'd use that builtin xml saving to files 
and then just store/transfer those files. Could send the file over, e.g. with 
HTTP post, or with the possible custom TCP protocol somehow.

If there's some project page / plans for your tool, and if it becomes available 
as open source later, I'd like to keep posted .. perhaps we could utilize it, 
even. The guys have now been porting some of the TOY tools for Tundra too, 
there is a public demo server of that up actually .. if you wanna see how the 
lobby scene looks like, press 'try it' in http://www.realxtend.org/ (need 
Tundra 1.0.6 installed, the download button there points there). The floating 
round platforms in that public lobby are same/similar elements which we use for 
room configurations in the classroom spaces .. I put a screenshot of that 
scene, made for school kids originally, yesterday to 
http://wiki.realxtend.org/index.php/Getting_Started_with_Tundra . That instance 
is not running on opensim, but the same scene & tools as we have for opensim 
too .. so as you plan to allow usage of the config tool with any server, should 
work for Tundra usage as well (it supports modules, similar to 
region/app/whatever modules in Opensim, but no .net currently .. c++, python 
and javascript is what works now, can do http or custom tcp or whatever).

> Karl

~Toni

>> 
>>> Karl Haas
>> 
>> ~Toni
>> 
>> 
>> _______________________________________________
>> Opensim-users mailing list
>> [email protected]
>> https://lists.berlios.de/mailman/listinfo/opensim-users
> 
> _______________________________________________
> Opensim-users mailing list
> [email protected]
> https://lists.berlios.de/mailman/listinfo/opensim-users

_______________________________________________
Opensim-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-users

Reply via email to