Second Life Grid

Last updated
Second Life Grid
Slgridlogo.png
Second Life Grid logo
Developer(s) Linden Lab
Publisher(s) Linden Lab

The Second Life Grid is the platform and technology behind 3D online virtual world Second Life . In April 2008, IBM announced that it would explore future deployment of a portion of the Second Life Grid behind a corporate firewall. [1]

Contents

Technical information

The flat, Earth-like world of Second Life is simulated on a large array of Debian servers, referred to as the Grid. [2] 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. The virtual world follows the North American Daylight Saving Time convention. Hence it runs 7 hours behind UTC most of the year, and 8 hours behind 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. [3]

As of April 1, 2008, Second Life simulators use the Havok 4 physics engine for all in-game dynamics. This new engine is capable of simulating thousands of physical objects at once. [4] However, more than 500 constantly interacting collisions have noticeable impact on simulator performance. [5] 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. [6]

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 . [7]

Assets are stored in their own dedicated MySQL server farm, 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 terabytes of server capacity. [8] 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.[ citation needed ]

As the popularity of Second Life has increased, the strain on the database 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.[ citation needed ]

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.[ citation needed ]

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 standards technologies, and uses free and open source software such as Apache, MySQL and Squid. [9] The plan is to move everything to open standards by standardizing the Second Life protocol. Cory Ondrejka, former CTO [10] 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. [11]

  1. The current in-house virtual machine will soon be replaced with Mono, [12] which will reportedly produce a dramatic speed improvement.
  2. uBrowser, an OpenGL port of the Gecko rendering engine, which has been used in the client since version 1.10.1 [13] 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. [14] 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. [15]

As of January 8, 2007, the Viewer is distributed under version 2 of the GNU General Public License, [16] [17] with an additional clause allowing combination with certain other free software packages which have otherwise-incompatible licenses. Currently not all of the required dependencies have been released. [18]

Modified viewer software is available from third parties. The most popular is the Nicholaz Edition; [19] 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, [20] 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. [21]

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

The OS X viewer is a universal binary and is about twice the size of the Windows and Linux binaries. [24]

Animation editors using the Biovision Hierarchy file format such as Poser, and Avimator are compatible with SL.

Further development

In 2007, Linden Lab 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, 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 was set up to further the effort. [25]

Since this project produced some useful software, Linden Lab modified the TOS to allow third-party programs to access Second Life, [26] enabling the project to be formalized under the name libsecondlife. Among functions developed are a map API, the ability to create objects larger than normally allowed (recently disabled), and other unforeseen capabilities such as CopyBot.

OpenSimulator

In January 2007 OpenSimulator was founded as an open-source simulator project. The aim of this project is to develop a full open-source 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 or Mono environments. The community is fast growing and there are some existing alternative Second Life grids which are using OpenSimulator.

Related Research Articles

Konqueror Web browser and file manager

Konqueror is a free and open-source web browser and file manager that provides web access and file-viewer functionality for file systems. It forms a core part of the KDE Software Compilation. Developed by volunteers, Konqueror can run on most Unix-like operating systems. The KDE community licenses and distributes Konqueror under GNU GPL-2.0-or-later.

Peer-to-peer Type of decentralized and distributed network architecture

Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the application. They are said to form a peer-to-peer network of nodes.

Virtual Network Computing Graphical desktop-sharing system

In computing, Virtual Network Computing (VNC) is a graphical desktop-sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse input from one computer to another, relaying the graphical-screen updates, over a network.

OpenAL

OpenAL is a cross-platform audio application programming interface (API). It is designed for efficient rendering of multichannel three-dimensional positional audio. Its API style and conventions deliberately resemble those of OpenGL. OpenAL is an environmental 3D audio library, which can add realism to a game by simulating attenuation, the Doppler effect, and material densities. OpenAL aimed to originally be an open standard and open-source replacement for proprietary 3D audio APIs such as DirectSound and Core Audio, though in practice has largely been implemented on various platforms as a wrapper around said proprietary APIs or as a proprietary and vendor-specific fork. While the reference implementation later became proprietary, there are open source implementations such as OpenAL Soft available.

<i>Second Life</i> Online virtual world

Second Life is an online multimedia platform that allows people to create an avatar for themselves and have a second life in an online virtual world. Developed and owned by the San Francisco-based firm Linden Lab and launched on June 23, 2003, it saw rapid growth for some years and in 2013 it had approximately one million regular users. Growth eventually stabilized, and by the end of 2017 the active user count had declined to "between 800,000 and 900,000". In many ways, Second Life is similar to massively multiplayer online role-playing games; nevertheless, Linden Lab is emphatic that their creation is not a game: "There is no manufactured conflict, no set objective".

Havok (software) Video game middleware

Havok is a middleware software suite developed by the Irish company Havok. Havok provides a physics engine component and related functions to video games.

COLLADA is an interchange file format for interactive 3D applications. It is managed by the nonprofit technology consortium, the Khronos Group, and has been adopted by ISO as a publicly available specification, ISO/PAS 17506.

Linden Lab American technology company

Linden Research, Inc., doing business as Linden Lab, is an American technology company that is best known as the creator of Second Life.

Opera Mini Mobile browser developed by Opera Software

Opera Mini is a mobile web browser developed by Opera. It was primarily designed for the Java ME platform, as a low-end sibling for Opera Mobile, but it is now developed exclusively for Android. It was previously developed for iOS, Windows 10 Mobile, Windows Phone 8.1, BlackBerry, Symbian, and Bada. As of 2018, the Android build is the only version still under active development.

Teen Second Life was a version of Second Life reserved for teenagers, running on the so-called "Teen Grid." It was officially opened to the public on February 14, 2005 for people aged 13–17 to use Second Life, without entering false information to participate in Second Life . On January 1, 2006, Teen Second Life's operating hours were increased to 24 hours a day, whereas it was previously open only from noon to 10 pm Pacific Time.

Photosynth

Photosynth is a discontinued app and service from Microsoft Live Labs and the University of Washington that analyzes digital photographs and generates a three-dimensional model of the photos and a point cloud of a photographed object. Pattern recognition components compare portions of images to create points, which are then compared to convert the image into a model. Users are able to view and generate their own models using a software tool available for download at the Photosynth website.

YUI Library

The Yahoo! User Interface Library (YUI) is a discontinued open-source JavaScript library for building richly interactive web applications using techniques such as Ajax, DHTML, and DOM scripting. YUI includes several core CSS resources. It is available under a BSD License. Development on YUI began in 2005 and Yahoo! properties such as My Yahoo! and the Yahoo! front page began using YUI in the summer of that year. YUI was released for public use in February 2006. It was actively developed by a core team of Yahoo! engineers.

Apache Taverna

Apache Taverna was an open source software tool for designing and executing workflows, initially created by the myGrid project under the name Taverna Workbench, then a project under the Apache incubator. Taverna allowed users to integrate many different software components, including WSDL SOAP or REST Web services, such as those provided by the National Center for Biotechnology Information, the European Bioinformatics Institute, the DNA Databank of Japan (DDBJ), SoapLab, BioMOBY and EMBOSS. The set of available services was not finite and users could import new service descriptions into the Taverna Workbench.

The virtual world Second Life has its own economy and a virtual token referred to as Linden Dollars (L$). In the SL economy, users buy from and sell to one another directly, using the Linden, which is a closed-loop virtual token for use only within the Second Life platform. Linden Dollars have no monetary value and are not redeemable for monetary value from Linden Lab. A resident with a surplus of Linden Dollars earned via a Second Life business or experiential play can offer to exchange with other users via the LindeX exchange provided by Linden Lab. This economy is independent of the price of the game, which users pay to Linden Lab, not to each other. Linden Lab reports that the Second Life economy generated US$3,596,674 in economic activity during the month of September 2005, and in September 2006 Second Life was reported to have a GDP of US$64,000,000.

This page is a comparison of notable remote desktop software available for various platforms.

OpenSimulator Open-source server platform for hosting virtual worlds

OpenSimulator is an open-source server platform originally launched in 2007 for hosting virtual worlds and metaverse environments. It is largely compatible with the virtual world Second Life but full compatibility is not a design goal.

A single-page application (SPA) is a web application or website that interacts with the user by dynamically rewriting the current web page with new data from the web server, instead of the default method of a web browser loading entire new pages. The goal is faster transitions that make the website feel more like a native app.

realXtend is a project for creating an open-source virtual world platform which is intended to extend the capabilities of OpenSimulator to include features which are not available in the original Second Life project.

Desura Digital distribution platform

Desura was a digital distribution platform for the Microsoft Windows, Linux and OS X platforms. The service distributed games and related media online, with a primary focus on small independent game developers rather than larger companies. Desura contained automated game updates, community features, and developer resources. The client allowed users to create and distribute game mods as well.

References

  1. "IBM Takes Second Life Behind Firewalls". Virtualworldnews.com. April 2, 2008. Archived from the original on May 13, 2008. Retrieved 2008-06-09.
  2. "Inside Second Life's Data Centers". InformationWeek. March 5, 2007. Retrieved 2007-03-17.
  3. Second Life - Physics Engine
  4. Second Life Havok 4 - no lag with 2000-3400 physical prims
  5. Second Life Havok 4 - Brownian Motion Lag
  6. Havok 4 - Ejection and separation of interpenetrating objects
  7. "Key". Linden Lab. August 25, 2007. Retrieved 2007-10-01.
  8. Rosedale, Philip (2007-12-13). "Philip Rosedale Answers Your Second Life Questions". The New York Times. Retrieved 2007-12-18.
  9. Greenemeier, Larry (October 17, 2005). "Open Doors To Innovation". InformationWeek . Retrieved 2006-11-14.
  10. Konrad, Rachel (2007-12-12). "Second Life CTO Resigns". The Boston Globe.
  11. "LugRadio Episode 42—I'm an excellent driver". LugRadio. January 16, 2006. Retrieved 2006-11-24.
  12. Linden, Babbage (August 1, 2006). "Second Life in Mono". Linden Lab . Retrieved 2006-11-24.
  13. "Version 1.10.1". SL History Wiki. Archived from the original on 2007-09-20. Retrieved 2006-11-24.
  14. Windows Vista
  15. "Het-Grid articles on the Official Linden Blog" . Retrieved 2007-08-24.
  16. "Linden Lab To Open Source Second Life Software". Linden Lab. January 8, 2007. Archived from the original on March 4, 2008. Retrieved 2007-01-08.
  17. Phoenix Linden (January 8, 2007). "Embracing the Inevitable". Linden Lab . Retrieved 2007-01-08.
  18. Open Source Portal – Second Life Wiki
  19. The "Nicholaz Edition" of the Second Life Viewer
  20. viewer.onrez.com
  21. "ShoopedLife:About - ShoopedLife". Archived from the original on 2009-02-09. Retrieved 2008-06-10.
  22. "libopenmetaverse". Archived from the original on 2016-01-22. Retrieved 2010-03-01.
  23. 1 2 Delta’s Online Corner | Second Life Archived 2008-05-14 at archive.today
  24. "Community: Downloads". Linden Lab. Archived from the original on 2006-11-05. Retrieved 2006-11-18.
  25. "SL Protocol Wiki". libsecondlife . Retrieved 2006-11-24.[ dead link ]
  26. "libsecondlife FAQ". libsecondlife.