Second Life Grid
Encyclopedia
The Second Life Grid is the platform and technology behind 3D online virtual world Second Life
Second Life
Second Life is an online virtual world developed by Linden Lab. It was launched on June 23, 2003. A number of free client programs, or Viewers, enable Second Life users, called Residents, to interact with each other through avatars...

. In April 2008, IBM announced that it would explore future deployment of a portion of the Second Life Grid behind a corporate firewall.

Technical information

The flat, Earth-like world of Second Life is simulated on a large array of Debian
Debian
Debian is a computer operating system composed of software packages released as free and open source software primarily under the GNU General Public License along with other free software licenses. Debian GNU/Linux, which includes the GNU OS tools and Linux kernel, is a popular and influential...

 servers, referred to as the Grid. The world is divided into 256x256 m areas of land, called Regions. Each Region is simulated by a single named server instance, and is given a unique name and content rating (PG, Mature or Adult). Multiple server instances can be run on a single physical server, but generally each instance is given a dedicated CPU core of its own. Modern servers with two dual-core processors usually support four separate server instances.

The Second Life world runs on Linden Time, which is identical to the Pacific Time Zone
Pacific Time Zone
The Pacific Time Zone observes standard time by subtracting eight hours from Coordinated Universal Time . The clock time in this zone is based on the mean solar time of the 120th meridian west of the Greenwich Observatory. During daylight saving time, its time offset is UTC-7.In the United States...

. The virtual world follows the North American Daylight Saving Time
Daylight saving time
Daylight saving time —also summer time in several countries including in British English and European official terminology —is the practice of temporarily advancing clocks during the summertime so that afternoons have more daylight and mornings have less...

 convention. Hence it runs 7 hours behind UTC most of the year, and 8 hours behind
UTC-8
UTC−08:00 is an identifier for a time offset from UTC of −08. This time is used in:-As standard time :*Canada**Northwest Territories***Tungsten and the associated Cantung Mine*Mexico...

 when Standard Time is in effect during the winter. The servers' log files actually record events in UTC, however.

Physics simulation

Each server instance runs a physics simulation to manage the collisions and interactions of all objects in that region. Objects can be nonphysical and nonmoving, or actively physical and movable. Complex shapes may be linked together in groups of up to 255 separate primitives. Additionally, each player's avatar is treated as a physical object so that it may interact with physical objects in the world.

As of April 1, 2008, Second Life simulators use the Havok
Havok (software)
Havok Physics is a physics engine developed by Irish company Havok. It is designed primarily for video games, and allows for real-time collision and dynamics of rigid bodies in three dimensions. It provides multiple types of dynamic constraints between rigid bodies , and has a highly optimized...

 4
physics engine for all in-game dynamics. This new engine is capable of simulating thousands of physical objects at once. However, more than 500 constantly interacting collisions have noticeable impact on simulator performance. The previous Havok 1 installment of the physics engine caused what is known as the Deep Think condition; processing overlapping object collisions endlessly. It has been alleviated through the introduction of an overlap ejection capability. This allows overlapped objects to separate and propel apart as if compressing two springs against each other.

Asset storage

Every item in the Second Life universe is referred to as an asset. This includes the shapes of the 3D objects known as primitives, the digital images referred to as textures that decorate primitives, digitized audio clips, avatar shape and appearance, avatar skin textures, LSL scripts, information written on notecards, and so on. Each asset is referenced with a universally unique identifier or UUID.

Assets are stored in their own dedicated MySQL
MySQL
MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...

 server farm
Server farm
A server farm or server cluster is a collection of computer servers usually maintained by an enterprise to accomplish server needs far beyond the capability of one machine. Server farms often have backup servers, which can take over the function of primary servers in the event of a primary server...

, comprising all data that has ever been created by anyone who has been in the SL world. As of December 2007, the total storage was estimated to consume 100 terabyte
Terabyte
The terabyte is a multiple of the unit byte for digital information. The prefix tera means 1012 in the International System of Units , and therefore 1 terabyte is , or 1 trillion bytes, or 1000 gigabytes. 1 terabyte in binary prefixes is 0.9095 tebibytes, or 931.32 gibibytes...

s of server capacity. The asset servers function independently of the region simulators, though the region simulators request object data from the asset servers when a new object loads into the simulator.

As the popularity of Second Life has increased, the strain on the database
Database
A database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...

 engine to quickly and efficiently store and retrieve data has also continued to increase, frequently outpacing the ability of the Linden staff to keep their asset farm equipped to handle the number of users logged into the world at the same time.

Under severe load conditions it is common for the database engine to simply not reply to requests in a timely fashion, causing objects to not rez or delete as expected, or for the client inventory to not load, or the currency balance to not appear in the client program. Searching for locations, people, or classifieds may also fail under heavy load conditions. The database load is typically the most severe on weekends, particularly Sunday afternoons (Second Life Time), while the system can function just fine when accessed during low-load times such as at night or in the middle of the week during the day.

Software

The Second Life software comprises the viewer (also known as the client) executing on the Resident's computer, and several thousand servers operated by Linden Lab. There is an active beta-grid that has its own special client, which is updated very regularly, and is used for constant software testing by volunteers. This testing software was introduced to eliminate the short amounts of time between real updates, and increase its overall quality. The beta-grid reflects the standard main-grid, except that the actions taken within it are not stored by the servers; it is for testing purposes only. Every few months, the standard software is replaced by the beta-grid software, intended as a big upgrade. The Second Life user-base is growing rapidly, and this has stimulated both social and technological changes to the world; the addition of new features also provides periodic boosts to the growth of the economy.

Linden Lab pursues the use of open standard
Open standard
An open standard is a standard that is publicly available and has various rights to use associated with it, and may also have various properties of how it was designed . There is no single definition and interpretations vary with usage....

s technologies, and uses free
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 and open source software such as Apache
Apache HTTP Server
The Apache HTTP Server, commonly referred to as Apache , is web server software notable for playing a key role in the initial growth of the World Wide Web. In 2009 it became the first web server software to surpass the 100 million website milestone...

, MySQL
MySQL
MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...

 and Squid
Squid cache
Squid is a proxy server and web cache daemon. It has a wide variety of uses, from speeding up a web server by caching repeated requests; to caching web, DNS and other computer network lookups for a group of people sharing network resources; to aiding security by filtering traffic...

. The plan is to move everything to open standards by standardizing
Standardization
Standardization is the process of developing and implementing technical standards.The goals of standardization can be to help with independence of single suppliers , compatibility, interoperability, safety, repeatability, or quality....

 the Second Life protocol. Cory Ondrejka, former CTO of Second Life, has stated that some time after everything has been standardized, both the client and the server will be released as free and open source software.
  1. The current in-house virtual machine will soon be replaced with Mono
    Mono (software)
    Mono, pronounced , is a free and open source project led by Xamarin to create an Ecma standard compliant .NET-compatible set of tools including, among others, a C# compiler and a Common Language Runtime....

    , which will reportedly produce a dramatic speed improvement.
  2. uBrowser, an OpenGL
    OpenGL
    OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...

     port of the Gecko rendering engine, which has been used in the client since version 1.10.1 to display the Help documentation, will also be used to display webpages on any of the surfaces of any 3D object the Resident creates.


Linden Lab provides viewers for Microsoft Windows 2000/XP, Mac OS X, and most distributions of Linux. As of mid-2007, Microsoft Windows Vista is not yet officially supported although the viewer will generally run on Vista systems. In the past, viewer upgrades were usually mandatory; the old viewer would not work with the new version of the server software. However, Linden Lab is working on a more flexible protocol that will allow clients and servers to send and take whatever data they may require, hence differing versions would nonetheless be able to work together. The project is known as Het-Grid or heterogeneous grid and the first iteration of the server software was deployed to the Main Grid over a few weeks in August 2007.

As of January 8, 2007, the Viewer is distributed under version 2 of the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

, with an additional clause allowing combination with certain other free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 packages which have otherwise-incompatible licenses. Currently not all of the required dependencies have been released.

Modified viewer software is available from third parties. The most popular is the Nicholaz Edition; this viewer, produced by Nicholaz Beresford, includes bug fixes developed outside Linden Lab that are not yet included in the Linden Lab code. The Electric Sheep Company has introduced the OnRez Viewer, which makes substantial changes to the design of the user interface. ShoopedLife is a commonly used Second Life client that generates randomized hardware details and sends them to the Second Life server as part of the login, rendering the user anonymous, save for their IP address.

An independent project, libopenmetaverse, offers a function library for interacting with Second Life servers. libopenmetaverse has been used to create non-graphic third party viewers, including SLEEK, a text browser using .NET, and Ajaxlife, a text viewer that runs in a web browser.

The OS X viewer is a universal binary
Universal binary
A universal binary is, in Apple parlance, an executable file or application bundle that runs natively on either PowerPC or Intel-manufactured IA-32 or Intel 64-based Macintosh computers; it is an implementation of the concept more generally known as a fat binary.With the release of Mac OS X Snow...

 and is about twice the size of the Windows and Linux binaries.

Animation editors using the Biovision Hierarchy
Biovision Hierarchy
The Biovision Hierarchy character animation file format was developed by Biovision, a defunct motion capture services company, to give motion capture data to customers...

 file format such as Poser
Poser
Poser is a 3D CGI rendering and animation software program optimized for models that depict the human figure in three-dimensional form, mostly used to pose and animate the figures in a similar way as a mannequin...

, and Avimator
Avimator
Avimator is a basic BVH editor, originally written for use with Second Life, as a simple inexpensive alternative to commercial 3D rendering and animation software, such as Poser and Maya. It is open source software, and is based on the FLTK toolkit.Avimator is available for Microsoft Windows,...

 are compatible with SL.

Further development

In 2007, Linden Lab
Linden Lab
Linden Research, Inc., d/b/a Linden Lab, is a privately held American Internet company that is best known as the creator of Second Life....

 began work on improving the User Experience of second life. On December 6, 2007, a new download client (commonly known as a viewer) was announced. 'Windlight', so it was codenamed, came with many improvements to system stability as well as having a completely new rendering engine to include the use of atmospheric shaders, a new sky, new water as well as hundreds of other improvements to improve the quality of Second Life. Until 2010, the download client known as Windlight was the default client available as the main client download from the Second Life website. However on February 19, 2008, Linden Lab announced the release of yet another client codenamed 'Dazzle'. This client came with changes to the stability of the client itself as well as an overhauled User Interface
User interface
The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...

, which was given mixed feedback by users who chose to download the client. As well as many fixes to the client, usability is also being improved. While the 'First Look' Dazzle client no longer exists, the further developed version of the client formerly known as Dazzle currently exists as a 'release candidate' from the Second Life test software page on their website.

Dazzle was finally released as v2 of the official client with many new user interface features in Spring 2010.

Protocol

In May 2006 it was announced that the Second Life protocol had been reverse-engineered. A wiki
Wiki
A wiki is a website that allows the creation and editing of any number of interlinked web pages via a web browser using a simplified markup language or a WYSIWYG text editor. Wikis are typically powered by wiki software and are often used collaboratively by multiple users. Examples include...

 was set up to further the effort.

Since this project produced some useful software, Linden Lab modified the TOS
Terms of Service
Terms of service are rules which one must agree to abide by in order to use a service. Unless in violation of consumer protection laws, such terms are usually legally binding...

 to allow third-party programs to access Second Life, enabling the project to be formalized under the name libsecondlife
Libsecondlife
libopenmetaverse is a software library that can be used in a third party application to communicate with the servers that control the virtual world of Second Life. It can be used both to query the state of the world and to send uploads and commands that will modify that state...

. Among functions developed are a map API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

, the ability to create objects larger than normally allowed (recently disabled), and other unforeseen capabilities such as CopyBot
CopyBot
CopyBot is a debugging tool used to access the virtual world, Second Life. It is able to, among other things, export objects within Second Life to an XML file, which can then later be imported for use in the game...

.

OpenSimulator

In January 2007 OpenSimulator was founded as an open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 simulator project. The aim of this project is to develop a full open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 server software for third-parties who wish to establish separate grids.

OpenSIM is BSD Licensed and it is written in C# and can run .NET Framework
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

 or Mono
Mono (software)
Mono, pronounced , is a free and open source project led by Xamarin to create an Ecma standard compliant .NET-compatible set of tools including, among others, a C# compiler and a Common Language Runtime....

environments. The community is fast growing and there are some existing alternative Second Life grids which are using OpenSimulator.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK