As Second Life strains to keep up with recent popularity, InformationWeek looks at the real-world technology foundations of the make-believe world and developer Linden Lab's plans to stay on top of growth.
To maintain the illusion that Second Life is a virtual world, avatars and their associated attachments and processes need to be able to transition from one sim to another seamlessly. Avatars near the edge of one sim need to be able to look over and see activity in the next sim, just like people in the real world can see activity going on in the next lot of land. All of this needs to happen even if the sims are located on different servers -- even if the handoff between sims must bridge 1,700 miles between Dallas and San Francisco.
However, Linden Lab has designed the network so that the handoff between co-location facilities doesn't result in increased lag, Miller said. One method is to cluster the sims so that regions that are in proximity to each other in Second Life are running on servers in the same real-world location.
"If a Texas-based simulator needs data from a database in San Francisco, it gets it, and it doesn't block action on the part of the user," Miller says.
To help make the user experience more pleasant, Linden Lab is looking to improve performance of the scripting language used in Second Life. The language is called LSL, for Linden Scripting Language. The language is similar to C.
Objects in Second Life are built using a combination of primitive shapes, or "prims," which are sized, scaled, and stretched as needed, with images, called "textures," applied to the surface of the prim to alter its appearance. For example, on the exterior wall of a virtual skyscraper, textures would be use to provided the appearance of bricks, windows, and other features.
LSL determines how the objects behave, controlling the waving of virtual hair, driving a virtual boat or automobile, or behavior of a virtual gun. Everything in Second Life is composed of some combination of prims, textures, and LSL scripts.
In an August video, Ondrejka described how he wrote LSL. "It got written in a week, like all scripting languages," Ondrejka said. He decided he needed to roll his own scripting language for Second Life after he determined that he knew more about writing a scripting language than he did about modifying another language, like Java, to meet Second Life's requirements.
Performance is slow, at only 150 million instructions per second, with inconsistent syntax and limited support outside of Second Life. "Nobody's using LSL to do real-world things," he said.
To improve performance, Linden Lab is porting LSL to Mono, the open source implementation of Microsoft.Net. In tests, the Mono implementation of LSL runs 1,000 times faster than Linden Lab's current version.
Linden Lab plans to begin testing the Mono implementation in the second quarter. Later, Second Life's transition to Mono will enable the software to support scripting in other Mono-compliant languages, such as Visual Basic and C#.
5 Top Federal Initiatives For 2015As InformationWeek Government readers were busy firming up their fiscal year 2015 budgets, we asked them to rate more than 30 IT initiatives in terms of importance and current leadership focus. No surprise, among more than 30 options, security is No. 1. After that, things get less predictable.