Archive

Posts Tagged ‘hypergrid’

Opensim gets a currency system

March 22nd, 2009
Comments Off

DeepThink integrated the first currency system to Opensim, where from it will be available for realXtend users via modrex. The currency system is home-grown at DeepThink and it is based on a transaction model. It’s simplistic, but will allow operators and grids to run fictional currencies out of the box. Anyone doing RMT [Real Money Transaction] will still need to implement additional security and all the conversion infrastructure.

screenshot_az_1

Screenshot from Deepthink estates at Second Life.

The first payment system being custom made is a wise move and does not give the toll-booth position to any one commercial Payment Service Providers.

Michael Huntington is sponsoring this project for DeepThink: ”I decided to sponsor this project because I saw how currency, whether fictional or RMT, could play a major part in OpenSim’s success. My initial plan was to use this technology for a commercial grid I am launching soon and not release it to the public … but later I realized how much this could help OpenSim if it was available to all grid owners. This isn’t the last project DeepThink and I will be working together on, we also plan to implement a fully functional groups system into OpenSim. Hopefully many other projects will follow.”

Jani: Have you thought of integrating commercial payment service providers such as Fatfoogoo, Paymo or PayPal?

Adam Frisby, DeepThink CEO: We’ve had some interest from Payment Service Providers to write in gateways for them, but we dont have anything planned at the very moment.

Jani: How does the currency work when teleporting from grid to grid using Hypergrid

Adam Frisby: It’s going to be hypergrid-aware. We’re tagging users with their loginserver address, so we’re able to keep your balance when visiting other grids that share a currency system. We’ve begun the work here on this, but it’s not in the current alpha version on the forge.

The payment system is a critical success factor for the platform. It allows merchants from Second Life to move into Opensim based commerce, where the cost structure is much lighter and not tied to any one hosting solution.

CTN wrote earlier that Opensim based Openlifegrid has developed a currency system with RMT capabilities using PayPal. However they have not released code to Opensim.

OpenSim , , , , , ,

realXtend Modrex status update

March 21st, 2009
Comments Off

Lot of things are happening around Modrex because it is being actively developed by the realXtend team and it glues Opensim and realXtend together.  Modrex is a DLL that makes stock Opensim to be a realXtend server.

Albert from Hispagrid uploaded Modrex binaries. The download package includes all the servers you need to run realXtend server side. Thank you Albert and everyone at Hispagrid! Albert intends to upload more realXtend content in the near future.

For instructions how to compile Modrex yourself can be found from Opensim wiki. Check it also if you don’t know what Modrex actually is.

Paul Fishwick opened a new blog modrex.wordpress.com to record experiences and issues, the contents, when suitable for republishing, will be aggregated also to CyberTech News.

Hypergrid works with Modrex – this is great news! One problem seems to be that OGRE rendering in the realXtend viewer is inefficient with prims – it is performing really well only with realXtend native 3D meshes.

OpenSim, realXtend , , , ,

Virtual Worlds, Virtual Robots, and AI: beyond gaming and social spaces

March 11th, 2009

In the last two years since Linden Lab released the source code for their client, a vibrant open source community has grown around the Second Life protocol. With projects such as the first version of realXtend, the possibility of moving beyond the limitations of that protocol are starting to be explored. Features such as inverse-kinematics-based avatar control and mesh-based prims extend the platform in ways that go beyond the capabilities of Second Life. There are also parallel open source virtual world efforts, such as Qwaq (based on Open Croquet), Sun’s Wonderland platform, and the Web3D/X3D set of formats and runtime tools.

One of my core interests in this space has been to find a way to bring some of my and other’s work in robotics, AI, and advanced simulation into this arena of shared virtual worlds. There are numerous reasons why this would be beneficial. Firstly, it would allow researchers to leverage a common set of tools, fostering collaboration and improving our ability to reproduce and critique each other’s work. Perhaps even more importantly, it could open the way for large numbers of people to interact with virtual entities (AI’s, if you prefer). This is a potentially major advance in AI research, as it represents a real-world, renewable source of training data, which many researchers think is critical for advancement in the field. It would also be ultra cool.
(Editor’s note: See also earlier article What do virtual worlds have to offer AI?)

rexrobot

Before I describe this work and the unique requirements it presents, let’s clarify some of the jargon. Linden Labs uses the term ’sim’, short for simulator, to signify a portion of virtual space supported by Linden’s servers. Opensim, the open-source, mostly Second Life-compatible server, inherits this usage. When I talk about simulation and simulators, I mean something quite different. In my work in robotics, I build software to simulate complex robots. This software uses some of the same underlying components as a Second Life or Opensim simulator – a physics engine, 3D representation of objects, and so on. However, the level of detail is quite different. The simulators I use in my robotics work are generally operating at a much higher degree of realism than a realXtend or SecondLife vehicle or avatar. They require proportionally greater resources in terms of CPU and memory, and of course the development time to get a simulation of this sort working is considerable.

While my own work in robotics requires a high degree of physical realism, there is work being done in this field that may have different requirements, such as robot swarms, where navigation and interaction are more important than physical realism. There is also a body of AI research into subjects such as language comprehension that may not need physical realism at all. However, my work is on physically realistic simulation, so I will be focused on that specific issue in this article.

There are several related issues that come up in the course of attempting to integrate ’serious’ simulation into the Second Life-derived model:

Basic Architecture

In Second Life (and related platforms), the user’s visual representation of the world consists of three major parts: the background (land, sky, sea); a set of objects (called ‘prims’ in Second Life); and avatars, representing the human (or possibly scripted) players. These three major elements have very different architectures, and present an almost mutually exclusive set of features to the system. Putting aside the background elements, let’s look at the prim and avatar systems.

Prims

Prims are physical objects that are described as a primitive shape (cube, cylinder, pyramid, sphere etc.), with various possible modifications such as cuts, tapers, skews, and hollows. Prims are controlled by the server software. Static prims, which generally don’t move unless they are being edited, make up architectural elements such as walls and other building elements. Other prims are allowed to move around the environment. They can be controlled by the physics engine (balls that roll), scripts (doors), or both (vehicles). They can have arbitrary textures, but do not have the ability to utilize deformable meshes, skeletons, or client-side animation.

Avatars

Avatars are always defined as skeletons with deformable mesh (skin and clothes). Their motion is usually controlled by the user’s input (walk, run, fly etc). They do react to the physics engine, but in a rudimentary way: avatars are represented at the physical level as ‘capsules’, egg or pill-shaped shells that provide basic collision with walls and other avatars. This is an important point: there is no physical representation of, say, your arm extending out and touching an object. Complex avatar motion is achieved through client-side animation, which in our case is based on the .bvh file format (see http://en.wikipedia.org/wiki/Biovision_Hierarchy). Again, it’s important to realize that the animation of an avatar is not reflected at the physics layer, at least not in the present implementation of Opensim.

There is one more subtle but critical point to keep in mind about avatars vs. prims: avatars, by definition, are associated with a user account. Users have abilities that go outside the physical and graphic simulation layer – they can buy and sell things; they can chat with each other, join groups, get banned for TOS violations, and so forth. They represent an entity within the social network of Second Life (or one of the Opensim grids, or the emerging hypergrid). There are complexities – avatars can have ‘prim’-based attachments – but fundamentally, if you want to be part of the Second Life society, you need an avatar.

Users

Users, through their avatars, can interact with each other (chat, give/receive items…). They can interact with prims, by creating and editing them (if they have the permissions), or through menus and scripts. It may seem obvious, but it’s worth pointing out the heirarchy: Prims cannot create or edit avatars (!); they cannot buy, sell, give, or receive assets on their own behalf. They are, by definition, owned and controlled by at least one user, which is by definition represented by a single avatar.

The problems this heirarchy and separation of capabilities poses to those of us working in AI is hopefully becoming evident. If I design a robot using prims, scripts, and physics, there is no obvious way to give that entity the same rights and privileges of a “real” user. I also can’t take advantage of graphics abilities such as skeletons, deformable skin, or animations. On the other hand, if I design a robot in the typical ‘bot’ fashion, by pretending to be a user (using libsecondlife for instance), right at the start I must accept a number of constraints that may not be desirable: I need to look roughly human (because of skeleton constraints); I must have skin; I can’t interact physically at a fine-grained level with the rest of the system; and my behavior must be animated – I cannot generate low-level behavior on-the-fly.

Distributed simulation and synchronization

Second Life started as a proprietary system run by Linden on a local server farm. They made the choice to divide up the simulation by geography; in essence, each 256×256 meter region of land is assigned its own processing stack (set of CPU threads), and operates in parallel with all the other regions. Interactions between region modules are achieved through network communication.

There are obvious objections to this model, the main one being that popular sims get overloaded, and sparsely visited sims waste resources. Some of this can be addressed with load balancing and clever thread management, but in my opinion it represents a fundamental flaw in the Second Life architecture. Putting the resource issue aside for the moment, there is a deeper flaw in this state of affairs. To build a useful and reliable simulated world for AI research, it is critical that you not introduce major defects (artifacts) into the simulation. Learning algorithms are notorious for finding devious ways to “cheat” researcher’s goals. If something in the simulation is non-physical, you can pretty much bet that your genetic algorithm or neural network will find that defect and use it to its advantage, avoiding the more difficult, “honest” approach you are trying to develop.

Boundaries between regions in Second Life, especially in the case where the regions are separated by network lag, are places where the physics of the simulation break down in nasty and difficult to predict ways. One reason for this is that events in Second Life have no concept of operative time. An event is sent over the wire, and the receiving node assumes that this event is happening ‘now’, in relation to that node’s local concept of time. This creates some issues on the client side (perhaps I’ll post about that later), but more fundamentally, it’s a problem at the server level. Region modules in Opensim pass messages back and forth between each other, for instance posting the position, rotation, linear and angular velocity of objects, so that you can visualize what is happening across region boundaries. Since these messages are subject to server lag, each sim in effect has its own version of reality. In my sim, your objects are delayed by the average network lag time between our sims; in your sim, my objects are similarly delayed. Clearly this is not acceptible if our goal is to have a coherent, realistic, detailed simulation of the environment.

Open Croquet, an alternative virtual world platform, has developed a concept of distributed, synchronized simulation that sounds pretty good to me (I haven’t actually deployed it, so I’m taking some of this on faith. Decide for yourself: http://www.opencroquet.org/index.php/TeaTime_Architecture).

In summary, I hope I’ve managed to outline some of the features and requirements that need to be considered for the development of sophisticated, high-fidelity simulated worlds in the context of a massively distributed, shared environment. In the future, I hope to post some ideas on what we can do to support these concepts in future releases of Opensim and realXtend.

Artificial Intelligence, OpenSim, realXtend , , , , , , , , , , , , , , ,

How ReactionGrid will Expand it’s HyperGalaxy

March 6th, 2009

(via ReactionGrid)

A question I full well knew was coming recently cropped up. ReactionGrid has promised a closer touch with it’s Gridizens, or virtual world inhabitants. How will ReactionGrid both technically handle the load of more Gridizens using the grid and how will you keep that personal touch as you expand in size?

The answer is HyperGrid technology recently introduced to OpenSim, the platform ReactionGrid is based on. HyperGrid is the start of what can be reduced to as being HyperLinks for 3D Virtual Worlds. This means we can keep ReactionGrid as a portal grid, like MSN, Yahoo etc. We can then branch off smaller grids connected to us via HyperGrid portals.

For example we recently had a growth spurt in K-12 educational simulators. As these expand on ReactionGrid we will form a partnership with one or more of the educators who will help us manage the new, completely isolated, spinoff grid focused on K-12 that can allow traffic to and from ReactionGrid via HyperGrid. This allows the grid to maintain its own local OpenSim database of users, scripts, prims, everything.

When this specialized grid wants to connect to ReactionGrid this is available to them at anytime. After the visit they can the de-establish the HyperGrid portal and know they are secure from any traffic other than their local users in their local database. All of this travelling carries clothes, hair, all inventory and requires no login from ReactionGrid at all.

I will be hosting an event soon to explain this technology and it can be experienced on our grid right now by going to the HyperGrid Core sim using our inworld map.

Below is a very early, still formative plan on how ReactionGrid will partner with specialists in each category of sims to expand and in fact bring a smarter personal touch over time as the managers we partner with will know much more than we about their profession/industry. I will translate the image below into a 3D model next that with some new HyperGrid tricks just coming out will make it a clickable model for traversing the Metaverse.

 

hg1sflbashx

Watch soon for an event to show HyperGrid to you personally when the 3D portal translation of the image above is complete.
Kyle “G” aka Dr_Manhattan

OSGrid, OpenSim , , , , ,

Virtual Vandalism at UCI

February 13th, 2009

Early this week three vandals entered UCI Opensim grid (ucigrid04.nacs.uci.edu:9003) and completely trashed the place. What they did not consider was that they left the server logs full of virtual fingerprints. 

uci_vandalism

“The place was completely unprotected, on purpose, as an on-going experiment about these trust issues”, said Crista Lopes (aka Diva Canto), Professor at UCI, ”Those 3 people happened to take the bait”.

The servers were restored from backups and are now accessible again. All precautions are taken to prevent future vandalism.

uci_vandalism31

This is the first reported case of vandalism in the short history of opensim hypergrid. Opensim hypergrid forms the early version of the future 3D web. This vandalism ends the era of leaving one’s sims unlocked.

Charles Krinke from Opensim project instructs on protecting regions: 

  1. In OpenSim.ini set permissionmodules = “DefaultPermissionsModule”
  2. In OpenSim.ini set serverside_object_permissions = true
  3. In OpenSim.ini set allow_grid_gods = false
  4. Go in-world and individually set parcel permissions as desired with the estate menu and the terrain menu.

uci_vandalism2

 

OSGrid, OpenSim, security , , , , ,

The Content Security in Virtual Worlds

February 5th, 2009
Comments Off

In metaverse, there are a lot of beliefs about the intellectual property of a content creator (IP).  Most users of the commercial systems do not read the terms of service (ToS) of their provider and are in the misleading opinion that their creations are owned by them. Because of that, we must first cover the content security at a general level. We get deeper in the solutions later, I promise.

security

Many countries have copyright laws.  There is no general international law in Metaverse.  Many western countries allow copies on copyright protected materials for private use (limited count, no trade). Often this is limited to materials that have no copyright protection (keep that in mind and re-think if I say cheers). Usually the items that can be copyrighted are limited to things that need high skill, talent or plenty of work – similar to patents. 

identety flow

After all, we talk about regular copyright laws and contracts based on terms of services. If it comes to a serious problem, you need to go to a real life court. If someone intends to avoid that, never mind about asset rights.

Having said all this, we have the copyright system by law – and maybe even more detailed extensions by contract. Even as we have laws against murder, we still have bulletproof vests and bodyguards. What is missing in the 3D web?

  • Bodyguards are people we trust and whom we may pay for trustworthy service
  • Bulletproof vests are tools to passively enforce the rules.

So we need domains of trusts, something quite usual in the daily life. You may give your house key to your neighbor, but not to a stranger. You trust godaddy.com (did you know?) if you go to a SSL encrypted website (https) with a certificate issued by godaddy.  Ok, if godaddy has fulfilled some rules and is trustworthy. Is your brother trustworthy?If a webpage is encrypted at the web server and decrypted at your computer, how the heck do I know whether the certificate issuer is trustworthy. Whether the browser is, the operating system is and there is no keylogger? 

identety-basec

Would you do your home banking in a internet café in Nairobi? Why not? But you would rezz your content on foreign land? why?

We need three simple things:

  1. A network of trust – gets very important in exchange of a virtual currency etc.
  2. A trust worth stack – from client over region to storage
  3. A standard for rights and claims (see later)

If had both, the next step would be to implement a rights management system. You probably know that from music file trading systems. The basic idea is to give the data(item) owner the control – not the server operator.

That way an item knows about its rights – and even if you would copy the whole inventory database, you would not be able to access items that you do not have rights for.

Claims are more advanced. Why only limit the user (identity) access to item?  Why not also limit system access to user’s items?  If I enter an adult only portal – why the heck should someone know about my street address?  just let him read my birthday from my identity and make sure it is approvable.

A big problem with rights management was that there was no open system that was powered by well capitalized company AND was able to use open standards like SAML and openID.

Microsoft now came up with an open source SDK for .Net – maybe a thing to look into?

They use it e.g. for collaborative engineering at Daimler automotive. A Typical Usecase is that you have to give your design details to a third party – and in always changing file formats. A compliance nightmare. J

collaborative engineering

And even if not that – the technology/technique outlined not the product is the key.

There IS hope for almost secure content – though there will never be 100% security. But at least you can make content theft more complicated and you can make clear that you do not like copying. (think about the first part..).

Hopefully on discussions about hypergrid functionality, content rights and identity management will be considerer by all parties  (Opensim team, realXtend team, Linden Labs, openID-providers, third party trust centers) in an early stage.

Cheers,

Ralf

PS:  I am happy to provide further information for developers, just email me.

read on:

http://blogs.msdn.com/card/archive/2008/11/04/microsoft-geneva-framework.aspx
http://xml.coverpages.org/ni2008-10-29-a.html
http://msdn.microsoft.com/en-us/security/aa570351.aspx
http://www.kuppingercole.com/articles/fg_micro_gen_271008

Article represents personal opinion – trademarks apply – www.ralf-haifisch.biz

security , , , , , , , , , ,

Teleporting methods in OpenSim

January 4th, 2009
Comments Off
realXtend teleport object (a coin) takes you to another world. Just click it!

just a click and the realXtend teleport coin takes you to another world.

Teleporting from a world to a different world is a basic enabler for the Immersive 3D Internet. What would web be without hyperlinks between web sites? This obvious feature has been missing from Opensim until recently.

OpenSim supports three different methods of teleport:

OGP, The Open Grid Protocol. It is demonstrated already a few months earlier. The OGP allows avatars to use same agent domain, but visit different grids. This technology is driven by Linden Labs, and it is supported in a special OGP version of SL Viewer.

realXtend. This works already on top of OpenSim and SL because it is viewer based. The viewer simply performs logout first and then logins again to a new server. When used between realXtend servers, the avatar appearance and inventory are teleported too via the use of a special avatar server. Almost all of the realXtend functionality is working on top of Opensim as a dll – this work is called modrex.

HyperGrid. It was originally introduced by Diva Canto. Hypergrid works with the standard SL Viewer. It is based on the idea that any external region can be linked to user’s home grid. When it is linked, it can be used as a teleport to the another grid actually containing the external region. Diva writes in her email to opensim-dev:

“In an hypergrid of p2p nodes there is no central authority for allocating nodes to grid positions. The position of peers in the map is determined locally by the node itself, and not by any global entity. As we move from peer to peer, we are presented completely different grids. For example, my node can connect to CNN’s world placing it in position 10, 10 of my grid; but when I TP to CNN, I am presented with a totally different grid: the node that I TP-ed to is probably not at position 10, 10 of its local grid; my own node is probably not in CNN’s grid at all.

“These links are the VW-equivalent of web hyperlinks. Some comparisons to the Web:
- Just like hypertext links, hyperworld links are uni-directional.
- The establishment of hyperworld links by region administrators is [sort of] equivalent to writing a web page with hypertext links to other web sites.
- A web page with external links can be thought of as a 1D Map. The VW Map happens to be 2D.

Having links, or teleports, between worlds is a big advantage to virtual world developers as they can get connected to the new 3D Internet easier.

OpenSim , , , , , , , ,