Second Life Grid Glossary

From Second Life Wiki
Revision as of 11:16, 20 October 2007 by Dzonatas Sol (talk | contribs) (added div's for pad)
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

An Agent is a virtual device with spatial characteristics such that it virtually exists in the space of a Region. Prims and Avatars interact with each other through the use of Agents. Region Domains host Agents as guests. Agents originate from the Agent Domain.

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 Asset is an abstract data type, which is a set of properties and metadata that provides the mechanism to access a form of intellectual property.

Avatar

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

Component

A logical composition that is proportional to a whole. In the domain architecture of the AWG, these compositions include viewpoints and views. In software and hardware, these include modules, units, and devices.

Domain

A partition of architectural resources, and services. A domain can be characterized by its membership and the set of properties that the members share. In Internet usage, a domain is commonly tied to DNS namespace, with the shared property being name resolution. In terms of our architectural structure, domains share a set of properties, and gain some benefit from this distinction.
The architecture may expose domain membership, and the properties which define the domain through a standard web service.
Examples of domains might include
  • All the region servers supporting Linden Lab's mainland
  • All the corporate hosted servers supporting XYZ Co's private islands. (Which might include Region, Asset, and Utility serviced specific to XYZ co.)
  • All the servers and services within HostingCorps trusted firewall.
In each case, the partition permits the members to act differently with respect to each other, than members outside the partition.


To understand the rationale for this definition, see Domain rationale discussion.

Meta data

Meta data is data about data: it describes the data and its properties. In the architecture discussions we use meta data for assets.

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 sharing one or more properties, permitting them to be grouped into a Region Domain

Examples of region domains might include:

  • All of the regions forming a continent run by a service provider
  • All of the regions hosted by the XYZ corporation
  • All of the regions which support a new release of a physics engine

Resource

  • [REST]: software entity, or stored value which can be addressed via a URL One basic design point of the architecture is that it follows RESTful web practices.
  • [Scalability]: 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.

User

An person in control of an agent.

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.

See Also