[Opensim-dev] Feature Request: Smart Regions - Idle Region Timeouts and "On The Fly" loading/unloading of inactive idle regions

Jeroen van Veen j.veenvan at gmail.com
Wed Jul 7 18:22:55 UTC 2010


Using some form of GIS with opensim isnt too difficult. Creating regions 
anywhere on a worldmap can be done with osmaps. Basically it takes a gridsize 
of openstreetmap on zoom 17 or 18, and places regions on top of osm-tiles. 
Gridlocations can then be transformed back into lon/lat. Only problem is that 
the viewers dont support teleports to regions that are positioned on positions 
like 130000,130000. Another problem is that the inworld mapviewer works with a 
different mappingsystem. Snowglobe and sl viewer 2 dont have this problem, but 
it's still clumpsy because the sl map is mirrored on it's y axis. I guess the 
first step is to remove that weird teleport restriction, and implement the new 
snowglobe mapper in a viewer like imprudence. Robust already has mapservice-
url support.

kind regards,

Jeroen

On Wednesday 07 July 2010 18:20:53 Mark Malewski wrote:
> *> perhaps, in a future, will be possible to build a *
> *> complet planet, a real scale*
> 
> Planets, galaxies and solar systems could probably all easily be rendered
> using procedural generation.  Whole galaxies could be rendered (on-the-fly)
> using procedural generation.
> 
> Planet terrain, star systems and a galaxy should/could all be easily
> created using procedural generation.
> 
> http://en.wikipedia.org/wiki/Procedural_generation
> 
> Elite (by David Braben and Ian Bell back in 1984) was developed using
> procedural generation.
> 
> It's quite common for modern games (such as Soldier of Fortune, or "Just
> Cause") to use procedural generation to create large and varied groups of
> tropical islands (or other terrain).
> 
> Space flight sims often use procedural generation to develop whole planets,
> terrain, and even galaxies.
> 
> I believe "Elite" (designed back in 1984) planned to contain 248
> (approximately 282 trillion) galaxies with 256 solar systems each, and
> easily could have, but they were afraid that such a gigantic universe
> would cause "disbelief" by players.
> 
> So instead of 282 Trillion Galaxies, they settled on just 8 Galaxies.
>  That's still plenty of space for you to travel around in.  ;-)
> 
> There are a lot of programs that use procedural generation.
> 
> SpeedTree is just one example of a "middleware" that is used to generate a
> large variety of trees (procedurally).  Yet it's leaf textures are fetched
> from regular files, thus creating "high resolution" real foliage.
> 
> http://www.speedtree.com/
> 
> http://en.wikipedia.org/wiki/SpeedTree
> 
> CityScape uses procedural generation and generates cities and terrain just
> from GIS data:
> http://pixelactive3d.com/Products/CityScape/
> 
> CityScape supports GIS data import:
> http://pixelactive3d.com/Products/CityScape/?FeatureId=GisData
> 
> It can also do procedural Traffic Data generation:
> http://pixelactive3d.com/Products/CityScape/?FeatureId=TrafficData
> 
> It's all possible... but we'd probably need thousands of developers just to
> get OpenSim to do 'everything' that we'd like it to do.  ;-)
> 
> 
> <http://en.wikipedia.org/wiki/SpeedTree>
> On Wed, Jul 7, 2010 at 10:44 AM, Gustavo Alberto Navarro Bilbao <
> 
> alberto.navarro.bilbao at gmail.com> wrote:
> > Excuse me if this is not the adecuate place to speak about it,but
> > ...perhaps, in a future, will be possible to build a complet planet, a
> > real scale, using the Pandromeda <http://www.pandromeda.com/products/>
> > fractal concept o a free licence similar one?
> > 
> > Alberto
> > 
> > 2010/7/7 Diva Canto <diva at metaverseink.com>
> > 
> >  There is a ton of interesting engineering challenges on the server side
> >  of
> >  
> >> these systems. We haven't even begun to scratch the surface. As such,
> >> it's completely unrealistic to expect things like what you describe to
> >> happen any time soon -- at least for interactive, shared, immersive
> >> spaces; non-interactive, non-shared, non-immersive (like Google Earth)
> >> it's another matter. It's also fairly unrealistic to expect those kinds
> >> of optimizations to happen spontaneously and for free. There needs to
> >> be a lot of money thrown in for those things to be prototyped and
> >> experimented with -- research money, for starters; that's the kind of
> >> thing that will keep a lot of graduate students busy for the next few
> >> years.
> >> 
> >> 
> >> On 7/6/2010 6:54 PM, Mark Malewski wrote:
> >> 
> >> OpenSim/RealXtend,
> >> 
> >>  Another thought is the issue of "scalability" with the current OpenSim
> >> 
> >> and/or realXtend Architecture.
> >> 
> >>  Running hundreds (or thousands) of IDLE regions require too many system
> >> 
> >> resources (RAM, CPU cycles, etc.)
> >> 
> >>  I believe that the basic server core (OpenSim) should eventually be
> >> 
> >> modified so that ALL regions should have a configurable "timeout" option
> >> field (in the regions.ini file).
> >> 
> >>  http://opensimulator.org/wiki/Configuring_Regions
> >>  
> >>  That way an idle "region timeout" can be set (on a region per region
> >> 
> >> basis), and this would allow the OpenSim server to shut down idle
> >> regions (based on the "idle timeout" configured in the regions.ini
> >> file).
> >> 
> >>  So if a region were completely empty for a particular number of minutes
> >> 
> >> (let's say a region were empty and idle for 5 minutes, then the idle
> >> region could be shut down automatically after the set "idle timeout"
> >> period for that particular region).
> >> 
> >>  This way idle (and empty) regions are not consuming valuable system
> >> 
> >> resources.
> >> 
> >>  Then as a user attempts to "teleport" to an idle (empty) region, the
> >> 
> >> server would simply start that idle region (on-the-fly) so that the user
> >> could teleport into the idle region.
> >> 
> >>  It may create a little bit of a slight "pause" (as an idle region is
> >> 
> >> started) while teleporting, but you normally experience a pause anyways
> >> while teleporting, so a few additional two or three seconds shouldn't
> >> make that much of a difference when teleporting to an empty or idle
> >> region.
> >> 
> >>  A second improvement upon this, would be a "smart idle regions" grid
> >> 
> >> option (configurable at the grid and/or region level).  The "smart idle
> >> regions" grid option would take things one step further, and would
> >> automatically allow the configuration option to bring nearby idle
> >> regions out of "sleep" mode, and start them automatically (if an avatar
> >> is within a certain number of meters from a nearby neighboring region).
> >> 
> >>  For example this number could be configurable at the Grid and/or region
> >> 
> >> level to be anything from 1 meter, to 100 meters, or even 256 meters
> >> (thus automatically loading the idle region to the North, the idle
> >> region to the South, the idle region to the East and the idle region to
> >> the West). So that nearby regions could be loaded (as an avatar gets
> >> close to the border of another nearby region).
> >> 
> >>  This way if avatars are using high speed vehicles (aircraft, boats,
> >> 
> >> trains, etc.) and they are getting close to a region crossing (to
> >> another region that may be idle) that region could automatically be
> >> started (if "smart regions" was enabled), thus making the region
> >> crossing seamless (and in real-time).  So that flight simulators and
> >> ship simulators could be developed (with large global high resolution
> >> land region maps of the whole world) that could easily be stored on any
> >> single server.  (The idle regions would simply load "on-demand" as
> >> needed).
> >> 
> >>  This way OpenSim core could be used for Science, Educational,
> >> 
> >> Flight/Train/Ship simulation or even gaming purposes.
> >> 
> >>  So that way an OpenSim/realXtend server could technically store
> >> 
> >> thousands of regions all on a single server instance (possibly even
> >> 50-60GB's of high resolution GIS/terrain/region maps of the whole
> >> world).
> >> 
> >>  So that things like high resolution "Global Scenery" could be created
> >> 
> >> (and downloaded) under a "Creative Commons" license for high resolution
> >> scenery (stored in Mega regions) for OpenSim.
> >> 
> >>  http://www.global-scenery.org/
> >>  
> >>  I do have a military GIS (Imagery Analysis/Intelligence) background,
> >>  and
> >> 
> >> don't mind working on things like basic high resolution
> >> OpenSim/realXtend region content creation (empty regions based on high
> >> resolution GIS/DTED data).  DTED data could be used to create elevation
> >> maps, and high resolution imagery could be used for terrain textures.
> >> 
> >>  I believe an OpenSim GIS project would be a very good "basis" for other
> >> 
> >> projects (educational, gaming, city planning, development, architectural
> >> development and multi-person Flight/Train/Ship simulation & training
> >> development) since terrain/region modules would be available free for
> >> download.
> >> 
> >>  The reason "Smart Regions" (idle region timeouts) would be necessary,
> >>  is
> >> 
> >> so things like modeling rural areas like "Yellowstone" National Park
> >> could easily be possible on a small single server (or even a small
> >> single workstation running a single OpenSim/osgrid/realXtend server
> >> instance), since the majority of those regions would usually remain
> >> idle/empty (and with the idle regions shutting down they would consume
> >> NO CPU clock cycles or RAM, thus making "idle" regions identical to
> >> idle web pages that take up nothing more than hard drive space).
> >> 
> >>  Certain regions (like a lobby, main Plaza, or high-traffic regions)
> >> 
> >> would need to remain active (no idle timeout) and would simply have a
> >> idle timeout value of "9999".  (Which would equate to requiring the
> >> region to be completely idle and empty for a minimum of 9999 minutes,
> >> or about 7 days) before going into a "sleep" or idle "shutdown" mode.
> >> 
> >>  I supposed a timeout value of "0000" could also be used for an
> >> 
> >> "infinite" time (no idle timeout or idle shut down) so that regions that
> >> want to remain up (forever) with no idle timeout period or idle shutdown
> >> could thus stay running all the time (consuming valuable RAM, CPU and
> >> system resources).
> >> 
> >>  But as we begin to look at global region mapping and developing large
> >> 
> >> regions (especially from a GIS perspective) then we need to look at the
> >> "flaws" in the current OpenSim server design architecture, and see that
> >> it would simply not be possible to create something like a virtual 3D
> >> world (on a 1:1 virtual/GIS scale) without having billions of physical
> >> servers (and trillions of dollars for physical hardware, let alone the
> >> costs of electricity and hardware just to even run a single instance). 
> >> It seems to be a major flaw in the basic design architecture to require
> >> the "always-on" concept of regions without having a region
> >> "idle-timeout" feature.
> >> 
> >>  Wasting RAM and CPU clock cycles on empty/idle regions (without having
> >> 
> >> an "idle timeout" option would seem like a huge waste of energy, and
> >> system resources, especially when those valuable system resources could
> >> be better spent on active regions with physical avatars that require
> >> the additional processing power and RAM that could be freed up by
> >> shutting down any idle regions (after a specified "time out" period).
> >> 
> >>  Since the majority of the regions would remain empty and idle on a
> >> 
> >> server (similar to static web pages that are not being accessed or
> >> viewed on a web server), it seems extremely foolish to waste such
> >> valuable system resources (such as server CPU clock cycles and server
> >> RAM, let alone the energy/power) wasted on idle regions that remain
> >> empty and idle (but must be loaded as "always on").
> >> 
> >>  Having an "on-the-fly" system that will shut down idle regions (based
> >>  on
> >> 
> >> their configurable regions.ini "time out" value in the regions.ini file,
> >> and automatically load idle regions "on-the-fly" would be much closer
> >> to the way the current web is designed, so that servers can hold
> >> thousands (possibly even millions) of web pages that consume no system
> >> resources (other than physical hard drive space) unless the web pages
> >> are being viewed.
> >> 
> >>  By allowing regions to startup/shutdown dynamically (with a "region
> >> 
> >> timeout" feature) thus making servers able to hold infinite amounts of
> >> idle regions/land (only limited by the amount of hard drive/disk
> >> storage space, which could easily be expanded via RAID or SAN devices).
> >> 
> >>  System Administrators could put "heavy load" regions on separate
> >> 
> >> dedicated servers, while keeping other "idle load" regions all on the
> >> same server (for regions that are generally idle and not visited very
> >> frequently).
> >> 
> >>  As we evolve and slowly get into simulation systems, such as aircraft,
> >> 
> >> train or ship simulators I can see how having large numbers of "idle"
> >> regions would be a requirement for realistic train/ship/aircraft
> >> simulation and gaming (as well as GIS and global flight) and how it
> >> simply would not even be possible to have millions of regions running
> >> all on a single server (due to the current "architectural" problems
> >> with OpenSim).
> >> 
> >>  It just wouldn't even be possible to even create a simple flight, train
> >> 
> >> or ship simulator using OpenSim (because OpenSim couldn't even store the
> >> image/region scenery maps).
> >> 
> >>  Yet, a small simple "X-Plane" flight simulator can store high
> >>  resolution
> >> 
> >> "global scenery" data for the WHOLE world on just 6 or 7 double layer
> >> DVD's (about 60+ GB of terrain data) all on a single workstation.
> >> 
> >>  http://www.global-scenery.org/
> >>  
> >>  I don't mind starting a Global-Scenery package for OpenSim/realXtend
> >>  and
> >> 
> >> I do think it would be extremely nice to offer the community high
> >> resolution realistic regions (free of charge under a "creative commons"
> >> license).
> >> 
> >>  The problem with even starting a large content creation project, is
> >>  that
> >> 
> >> the current OpenSim architecture is unable to even use it.
> >> 
> >>  It would be a complete waste of time and effort to have realistic
> >>  global
> >> 
> >> high resolution terrain regions available for OpenSim to use for
> >> Flight/Train/Ship (as well as Education & Science) simulation but the
> >> whole idea of a large scale GIS/terrain project for OpenSim/realXtend
> >> seems somewhat pointless since the current realXtend/OpenSim server
> >> architecture is not designed to currently even use/store thousands (or
> >> even millions) of idle regions (and the current server architecture of
> >> keeping ALL idle regions running is "flawed" by architectural design).
> >> 
> >>  It would seem to make much more sense (from an engineering standpoint)
> >> 
> >> to have the option to shut any idle regions down, and only leave active
> >> regions running (or at least give users/operators/grid owners the
> >> ability to configure regions & a grid to allow for idle region
> >> timeouts).  I believe this "region idle time out" time should be
> >> configured in the regions.ini configuration file.  With an option of
> >> "9999" for a 7 day idle timeout and a "0000" option to disable the idle
> >> timeout for a particular region (for regions that don't ever want to
> >> shut down due to an idle timeout).
> >> 
> >>  It would make sense to see OpenSim/realXtend support a "smart region"
> >> 
> >> type of system which servers would/could be configured to shut idle
> >> regions down by default (configurable in the regions.ini file for each
> >> region) and the server could load idle regions "On-The-Fly" freeing up
> >> valuable system resources on a physical server.
> >> 
> >>  By implementing "smart regions" into the OpenSim core, a high
> >>  resolution
> >> 
> >> global GIS/terrain project would seem like a viable project to start
> >> (and I wouldn't mind starting such a project) especially for future
> >> science/flight/ship/train simulation.  I could probably find other
> >> universities (and sponsors) that would be willing to host mirror copies
> >> of the empty raw .OAR global terrain region files.  So that other
> >> developers, educators or users could freely download high resolution
> >> realistic region terrains (for educational, gaming or simulation
> >> purposes).
> >> 
> >>  If OpenSim was able to shut down idle regions on the fly, then it could
> >> 
> >> be used for flight simulation, terrain simulation, or even realistic
> >> game simulation (could have large high resolution realistic global
> >> terrain maps).
> >> 
> >>  I don't mind starting/doing free "creative commons" (attribution by)
> >> 
> >> based global GIS/terrain content creation work for the OpenSim/realXtend
> >> community, but the current problem that I see is that the current
> >> OpenSim architecture design would NEVER even be able to support such a
> >> feature (since the current server architecture would require thousands,
> >> or millions or possibly even billions of OpenSim servers just to handle
> >> ONE single copy of "the world" terrain in high-res region data.
> >> 
> >>  Thus making it completely impossible to ever "sail a ship" or "fly an
> >> 
> >> aircraft" around the world on a standalone OpenSim server.
> >> 
> >>  I believe the basics of good simulation programs starts with high
> >> 
> >> resolution image maps (and scenery data).  A flight simulation program
> >> is fairly useless without realistic global imagery.
> >> 
> >>  Although the basic default high resolution terrain/region data would
> >> 
> >> probably only consume about 50-60 GB's of storage space (empty terrain
> >> regions stored in "mega region" OAR format), it would still be
> >> impossible to even store or use the terrain region data on a single
> >> OpenSim server (since an OpenSim server would require that all the
> >> regions be running at the same time, with no way to load/unload the
> >> regions (on-the-fly) as they are accessed or needed.  We would need to
> >> have an "idle time-out" feature and also a "load-on-demand" feature to
> >> load regions and shut down idle regions based on a region "idle
> >> time-out" system (and to load nearby regions, and load regions that
> >> users attempt to teleport to).
> >> 
> >>  I apologize for sounding repetitive.
> >> 
> >> _______________________________________________
> >> Opensim-dev mailing list
> >> Opensim-dev at lists.berlios.dehttps://lists.berlios.de/mailman/listinfo/op
> >> ensim-dev
> >> 
> >> 
> >> 
> >> _______________________________________________
> >> Opensim-dev mailing list
> >> Opensim-dev at lists.berlios.de
> >> https://lists.berlios.de/mailman/listinfo/opensim-dev
> > 
> > _______________________________________________
> > Opensim-dev mailing list
> > Opensim-dev at lists.berlios.de
> > https://lists.berlios.de/mailman/listinfo/opensim-dev



More information about the Opensim-dev mailing list