[vos-d] Listener notifications in S5

2007-06-07 Thread Reed Hedges

How do listener notifications fit in with the S5 
vobject-as-logical-thread idea? I'm thinking specifically about impact 
on ability to scale number of objects that one listener is listening to. 
   I'm guessing listener notifications are processed same as any other 
messages in the vobject's message queue/thread, right?   How would you 
set up parallel notification processing? Create a little listening 
vobject to recieve the notification on the main vobject's behalf, perhaps?

I wonder if we want to enrich the core listener types in S5 a bit, by 
adding conditions that can be checked before sending a notification for 
example.

Reed



___
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d


Re: [vos-d] Listener notifications in S5

2007-06-07 Thread Peter Amstutz
On Thu, Jun 07, 2007 at 07:31:42PM -0400, Reed Hedges wrote:
 
 How do listener notifications fit in with the S5 
 vobject-as-logical-thread idea? I'm thinking specifically about impact 
 on ability to scale number of objects that one listener is listening to. 

Well, my primary concern with the listener system is that if you are 
interested in a large number of vobjects, the s4 model of adding a 
listener to each vobject individually has a lot of overhead and 
redundancy.  However, because we want to be able to support multiple 
worlds hosted in the same process (or a world segmented over multiple 
sectors) it's not desirable to broadcast every update to every 
potentially interested party.

The general strategy I have in mind is to have updates sent to some 
intermediate vobject that represents a group of vobjects.  Then becoming 
a listener to that intermediate vobject would be sufficient to be able 
to listen to the entire group.

I'm not sure about the best way to define this group.  One possibility 
is to define the group as a vobject's subtree of children.  In this 
scheme, update messages would be sent to the vobject's parents and 
passed up to the hierarchy to the relay vobject.

Another way would be to maintain something more similar to the current 
system, continuing to maintain listener lists on each vobject, and 
permit an interested party to listen directly as well as having the 
relay vobject also listen to each vobject.

Generally speaking, some kind of chain of lists of listeners -- going 
from the most specific to the most broad -- seems like the right way to 
go.

I'm guessing listener notifications are processed same as any other 
 messages in the vobject's message queue/thread, right?   How would you 
 set up parallel notification processing? Create a little listening 
 vobject to recieve the notification on the main vobject's behalf, perhaps?

Parallel notification processing is one of the things that got us into 
the awful mess that is the s4 Crystal Space plugin to begin with, so 
requiring notifications to be processed serially is not something I 
consider to be a problem.  The vobject can pipeline requests (start 
processing the next one while waiting on something for a previous one) 
or spin off additional vobjects to do parallel processing if such a 
approaches make sense.

 I wonder if we want to enrich the core listener types in S5 a bit, by 
 adding conditions that can be checked before sending a notification for 
 example.

The main challenge with conditions is you either have to define a fixed 
set of predefined conditions, or create a minilanguage in which you 
write your arbitrary conditional expression.  Easier said than done, in 
other words.

-- 
[   Peter Amstutz  ][ [EMAIL PROTECTED] ][ [EMAIL PROTECTED] ]
[Lead Programmer][Interreality Project][Virtual Reality for the Internet]
[ VOS: Next Generation Internet Communication][ http://interreality.org ]
[ http://interreality.org/~tetron ][ pgpkey:  pgpkeys.mit.edu  18C21DF7 ]



signature.asc
Description: Digital signature
___
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d


Re: [vos-d] development status

2007-06-07 Thread chris

Hi, just a few comments on other status that may interest.
I have been testing tcp/ip networking with an implementation of the network
sensor nodes in Flux. I have been able to get the basic test examples to
work with two linux servers. An example of the nodes is given below. For the
mass avatar event at siggraph I will be working on modifying the
communications for UDP.

This raises the possibility of testing vos server with these nodes if ur
inteterested.

A description of the test examples and MM server is at
http://www.mediamachines.com/hydra/
my experience with installing / running the server is at:
http://planet-earth.org/smam/fluxServerInstallRun.html
tho u would be wanting to run your own vos server.

I am also running a 2 hr multisuer virtual world BOF at siggraph (August) so
if you want me to demo vos let me know. I would want something that would
not require old browser versions, old java etc if possible because I need to
be able to demo other stuff with current tech as well.

cheers,

chris

?xml version=1.0 encoding=UTF-8?
!DOCTYPE X3D PUBLIC ISO//Web3D//DTD X3D 3.0//EN
http://www.web3d.org/specifications/x3d-3.0.dtd

X3D profile='Immersive' 
Scene
Group
Transform DEF='CUBE_TRANSFORM'
Shape
 containerField='children'
 Appearance
  containerField='appearance'
  Material DEF='Blue'
   containerField='material'
   ambientIntensity='0.200'
   shininess='0.200'
   diffuseColor='0 0 1'/
 /Appearance
 Box
  containerField='geometry'
  size='1 1 1'/
/Shape
/Transform
PlaneSensor DEF='PS'/
/Group

NetworkSensor DEF='ES' networkSensorId='ES'
 field name='translation' type='SFVec3f' accessType='inputOutput'/
 Connection DEF='muserver'
  containerField='connection'
  url='swmp://84.20.147.209:13214/MM-6-12345678'/
/NetworkSensor


ROUTE fromNode='PS' fromField='translation_changed' toNode='ES'
toField='set_translation'/
ROUTE fromNode='ES' fromField='translation_changed' toNode='CUBE_TRANSFORM'
toField='set_translation'/
/Scene
/X3D


On 08/06/07, Peter Amstutz [EMAIL PROTECTED] wrote:


Ok, things have been a bit quiet lately, so I want to let everyone know
what's going on with VOS.

The first bit of news is that starting in July, I will be able to
dedicate half of my time (20-30 hours a week) to VOS development.  I
have made an arrangement with my current employer to work part time, so
this works out well for everyone.

Second, I am continuing to do design work on s5, and have spent some
coding time doing prototyping certain crucial features to better
understand them.  I've made some progress in understanding how better to
structure control flow in the presence of asynchronous requests (in s5,
*all* requests will be asynchronous) by using continuations and futures.
I'm also investigating some ideas for a new security design, which I
hope to write about to the list shortly.

Third, s5 is going to use a Python-based build system called Scons,
which I described in my email about build systems a little while ago.  I
hope that this will enable a degree of automation and cross-platform
support that is impossible with autotools.  I've spent some time hacking
on it and I'm comfortable with it, and it is under active development so
it seems like a safe bet.

Fourth, my intention is that come July, I will hit the ground running
with implementing s5 -- you will start seeing real progress and not just
talk.  My hope is that in as little as a month or two, I can have enough
of the s5 kernel written that other people interested in helping can
contribute.

Fifth, I've set up a task tracking system called XPlanner at
http://interreality.org/xplanner (login: guest, password: guest).  You
can view a detailed breakdown of our development roadmap, and see both
how long we expect things to take and what progress (if any) has been
made.

I think that about covers it.  Comments?

--
[   Peter Amstutz  ][ [EMAIL PROTECTED] ][ [EMAIL PROTECTED] ]
[Lead Programmer][Interreality Project][Virtual Reality for the Internet]
[ VOS: Next Generation Internet Communication][ http://interreality.org ]
[ http://interreality.org/~tetron http://interreality.org/%7Etetron ][
pgpkey:   pgpkeys.mit.edu  18C21DF7 ]


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFGaMhzaeHUyhjCHfcRAvU7AKCPAPAnl4kSpM2ygePmufUY/A0XPgCgsNfW
PoQTZ7Vcj94J7BjwAo/CKpA=
=3m95
-END PGP SIGNATURE-

___
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d





--
http://ping.com.au
http://systemic.com.au
http://planet-earth.org/Rez/RezIndex.html
--
It be a great secret: there be more truth at the centre.
___
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d