Second Life Grid Glossary

From Second Life Wiki
Jump to navigation Jump to search

A glossary of terms with specific meanings within the project, defined so that discussions can be concise and misunderstandings fewer. We also encourage you to take a look at the IEEE 1471 article on designing an effective system architecture which addresses all of the project goals.

Please note that this glossary is specific to the SL Architecture Working Group and is intended for use only within the context of Second Life. The definitions are not expressed in a generic manner, and should not be interpreted that way.

Agent

A entity (can be a real person or a bot) interacting via an avatar with other avatars (representing other agents) and with one or more regions.

Architecture

An abstraction (or mental model) of the SL system which corresponds to its system design. It is revealed through architectural descriptions and multiple views (ADV).
Alternatively, the end product of a set of processes yielding a set of normative documents which define compliance to the architecture. This is not, inherently in opposition to the first definition as it captures the architecture at different points in its evolution.

Architectural descriptions and views (ADV)

Documents which describe (textually and/or graphically) how the various pieces of the SecondLife system fulfil their expected goals. More precisely, ADVs express in detail how the system architecture is conformant with the concerns expressed in viewpoints. Some examples:
For a message flow viewpoint, ADVs describe how system components interact with one another by describing their relations, protocols and message formats.
For a scalability-oriented viewpoint, ADVs describe the relevant system resource pools and their capacities, the flow paths and choke points, the bandwidth of links and access mechanisms, the means of expanding capacity, and the analysed scalability of key elements.
For a client capability viewpoint, ADVs ennumerate and detail the client-related capabilities, client-server capability negociation mechanisms and protocols, means of activating capability negociation, and client-side capability state transitions.

Asset

An entity which can be transferred from agent to agent or from agent to region or from region to agent. It can be something like an object, texture, sound, link, landmark.
Structurally, an asset is a piece of data plus some meta data (also called properties).
  • (temp note): We need some clarity here, and elsewhere in the glossary between a Web Services description of resources such as an asset, and an in use description. If we view all assets as having URLs and a singular place in an asset server where the definitive copy of the asset exists, then we need to separate that from the potentially many places where copies of that set of information may be cached and used. -- Zha

Avatar

The representation of an agent in a region (or somewhere else, like on the web)

Meta data

Part of an asset. Contains data about (meta) the asset data itself; for example, permissions, owner UUID, creator UUID.

Permissions

A kind of license digest that specifies what rights the creator of an asset grants to a user of that asset (or what rights she doesn't want to grant) [see also Protecting content in an open grid]

Region

Some space. It can have any form. It can be grouped together with other regions. It is part of a region domain.

Region domain

Set of regions group operated by the same service provider.

Resource

Any finite architectural component or property or behaviour that is subject to exhaustion or which can become a bottleneck to system performance. Resources are the primary focus in designing for scalability. Examples: client-server bandwidth, agent pool depth, database access mechanism, locks, transaction times, utilities, services.

Scalability

The ability of a system to grow effectively in a given dimension in proportion to the amount of resource or capacity provided. The given dimension is often associated with a related dimension. A specific system may attempt to be scaled by adding resources, but this is effective only if the system is scalable. Example: scalability in the number of avatars at an event, viewed against the size of the user population, in proportion to the hardware allocated.

Service

A Web Services invocable resource which performs some task on behalf of a region

Simulation (sim)

A computation over time that mimics real world events within a part of the virtual world.

Stakeholder

Anyone who has a technical viewpoint that impacts on AWG work on system architecture.
Non-technical viewpoints exist and have validity, but do not fall within the current scope.

Use case

A technique used to capture the requirements of a system or architecture. Use cases avoid technical jagon although this often depends on the scope and actors of the use case. Generally, the archtectural terms in this glosary are valid (i.e. Identity, Viewer, Service) while specific technical terms are not (C++, REST, XML). Detail of a AWG use case can vary:
  • A brief use case consists of a few sentences summarizing the use case.
  • A casual use case consists of a few paragraphs of text or a minimal template, summarizing the use case.
  • A fully dressed use case is a formal document based on a detailed template with fields for various sections; and it is the most common understanding of the meaning of a use case.

Utility

A Service, or collection of services which provides a utility which does not manifest as a region, agent or avatar within the virtual world. Examples: Currency, Identity, Asset Storage, Messaging, Presence, Topology Management.

Viewer

Currently, a monolithic client-side program which establishes communication with system servers and displays a visual image of the virtual world. It usually controls an agent represented by an avatar, eventually inside a region. As client programming evolves, the viewer per se may become only a client subprogram which deals with 3D rendering and UI handling exclusively, assisted by other subprograms.

Viewpoint

A set of related concerns about the architecture, and the representations or views used to describe the architecture to address those concerns. Examples: Client viewpoint, Client UI viewpoint, Functional viewpoint, REST Services viewpoint, Scalability viewpoint, Region Scalability viewpoint, Network viewpoint, Manpower viewpoint.