Abstract — Chernyaev Anton — Methods and ways of organizing storage for distributed interactive virtual reality systems
DonNTU Master's Portal
Student of Donetsk National Technical University Chernyaev Anton
Chernyaev Anton
Faculty of computer science and technology (CST)
Department of applied mathematics and informatics
Speciality "Software Engineering"
Methods and ways of organizing storage for distributed interactive virtual reality systems
Scientific adviser: prof. Bashkov Evgeniy

Abstract

Introduction

Virtual world — is an interactive simulated environment, to which many users have access through an online interface [3]. Virtual worlds are sometimes called "digital worlds", "artificial worlds" and "MY" (multi-user online games, MMOG). At present, there are many different virtual worlds, all of which are six characteristics that are common to all worlds:

  1. Joint space: to participate in the life of the world can be simultaneously a lot of users.
  2. Graphical user interface: the space is reflected in the world virtually, and range in style from 2D «cartoon" image to a more impressive 3D images.
  3. Efficiency: communication occurs in real time.
  4. Interactivity: the world allows participants to modify, develop, build or make the content chosen just for him.
  5. Constancy: The existence of the world goes on regardless of whether individual users in the system.
  6. Community/society: the world allows and promotes the formation of social groups in the world, such as teams, guilds, clubs, cliques, neighborhood, community, and so on.

In Fig. 1 shows a virtual room.

The Virtual Room

Figure 1 — The Virtual Room

Virtual worlds are created for different purposes. The most popular and most common peace is MMORGP, which means "massively multiplayer online role-playing game." But there are worlds that are created and not for games. In general terms, describe several ways that you can now use virtual worlds.

Cash Games

Commercial game worlds are usually focused on one functional theme, they have a lot of attention paid to formal attributes, such as personal avatars, online promotion through the evolving history, as well as a sequence of events. Most virtual worlds that exist today — it's commercial realms, which were created under the influence of fantasy, science fiction and anime genre in literature and film. As examples of these worlds include Everquest, Lineage 2 and World of Warcraft.

There are many websites that contain extensive lists of commercial realms. Among them: MPOGD.com, Gamespot, Gamespy.

Communication/Building Online Communities

In addition to traditional role-playing worlds "fantasy", today there are many commercial virtual worlds based on the concept of community that are more focused on dialogue than on the game. These worlds typically offer more types of communication open, and have their origin from the text-based chat rooms. Although it happens that in the social worlds, and included a small, light game, but people come into this world not to play or win, but to communicate with other users, and often to create and decorate a personal space — a house, room or apartment. Social worlds often use idealized configuration options of the real world. Many of them are from the very start basic tools enable users to perform actions and organizing events that relate to a variety of topics.

Education

Some virtual worlds are for educational purposes. Most often, the creation of educational virtual worlds is sponsored by academic institutions or non-profit organizations, although some of them are sponsored by corporations. Educational worlds are carried out in various formats, including three-dimensional maps of museums and galleries, obuchatelnye computer software, virtual libraries, as well as space for meeting the educational university courses. One of them — Active Worlds Educational Universe, it is one of the oldest and largest educational networks. Adobe Atmosphere can also be used to build virtual worlds for educational purposes. A good example of the educational world, which is sponsored by a corporation, Mokitown [7].

Political views

Virtual worlds can also act as a forum for expression and debate on political issues. While the political issues of this world can be discussed in the gaming, social and educational worlds, there are several completely independent virtual worlds that were created for political debate and even conduct experiments in a variety of online self-managed communities. An example of such worlds, focusing on the policy is AgoraXchange.

Military training

Some of the technology of virtual worlds are used in unusual ways, and the U.S. military. For example, U.S. Army is used as a way of hiring potential soldiers, and companies such as Forterra Systems are working with military groups to simulate the situation for the study.

With further development of such technologies over the next years, virtual worlds can be used for various purposes, as more people spend their time.

In Fig. 2 shows a virtual space where people can interact with each other.

Figure 2 — A virtual workspace

Figure 2 — A virtual workspace

1. Relevance of the topic

Virtual worlds are composed of a large number of different information, including textures, sounds, avatars, various scripts and images. With the increase in the amount of information increases the time of sampling data from the storages.

Master's thesis is devoted to actual scientific problem of organizing databases for virtual reality systems, development of methods for retrieving data to improve performance in data warehousing systems, virtual reality.

2. The purpose and objectives of the study, expected results

The aim of the study is to improve the performance of storage systems in virtual reality by improving the existing methods of warehousing and their implementation on distributed computer systems.

The main objectives of the study:

  1. Analyze existing ways of organizing storage systems in virtual reality and identify ways to improve them.
  2. Suggest ways to modify the organization of storage to reduce the response time with the ability to implement on distributed computer systems.
  3. Show the organization of the proposed method for distributed cluster systems.
  4. Identify and investigate the characteristics of the proposed method of warehousing.
  5. To solve the practical problem of constructing a data warehouse for the simulator system based on the principle of virtual reality.

Object of study: data storage systems, virtual reality.

Subject of research: how the organization stores and their implementation on a distributed cluster systems.

Expected outcomes:

  1. Development of methods for data warehousing, focused on reducing response time.
  2. The map of the proposed method on the architecture of clustered computer systems.
  3. Getting the temporal and spatial characteristics of the developed methods.

Practical results:

  1. The development of the database structure for storing information about the virtual environment in the simulator system.
  2. Implementing a test virtual scene and make it available to the store with the proposed structure.
  3. Creating a storage subsystem of virtual worlds in the simulator system.

3. Analysis of the data structures

Virtual reality systems must contain all information about the structure of the inner world, in some repositories, databases. An example of such information may be data about the characters, textures, details of the interaction of objects, object types, etc. There are many ways to store information in databases, but the best option is a logical separation between the tables. For example, for users to create a table of users, which will be attended by all the fields needed to describe the data about the user to create table structures textures, which will store information about the texture, etc. Table 1 shows examples of simple tables to describe the data.

Table 1. An example of simple tables to store objects
The table name Field name Field Assignment
Users   contains data about the users
  Id_user a unique user ID
  Email e-mail
  Pass password
  Name user name will be displayed in the virtual world
  Id_avatar identification number of the avatar
Avatars   contains information about avatars
  Id_avatar identification number of avatars
  Id_sex type of sex avatar
  Id_hair hair type
  Id_face type of person
  Id_body type of body structure
  Id_clothes type of clothing
Textures   contains information about texture
  Id_texture identification number of the texture
  Path path to the image texture
  Id_type type of texture
  Height height
  Width width

In addition, each avatar can be your inventory, a list of friends and people that do not want to communicate the message list. For information about all of this data must also be stored in a database. All of the above table can be attributed to the general mandatory to be implemented in all multiplayer games (worlds). In addition, there are specific features that can be implemented, not all virtual worlds (eg, addition of experience, character assassination, etc.). Consequently, what data to store the data in the database, which means to share data between the tables depending on what will be the appointment of the virtual world [10].

In real systems, the number of fields and their functions may differ from those listed in Table 1. An example is the database platform Opensim [2] and UEF [1]. Opensim platform is quite popular with other similar systems (designed for communication between people, holding virtual conferences, exhibitions, galleries). The project is a UEF future multiplayer game, the main goal of the game — pumping character [8].

Opensim is an extensible platform that can simulate three-dimensional virtual worlds. In these virtual worlds is possible to dynamically create, modify, delete entities in space. To demonstrate the power of such a platform, it is configured by default, so that was compatible with the application Second Life, released by Linden Lab [6]. In Fig. 3 shows the created world by using Second Life.

Figure 3 — The virtual world of Second Life

Figure 3 — The virtual world of Second Life

In SL it is possible to create their own region. Based on the basic configuration of Linden Lab, each region contains five servers that are necessary for the operation. These are the server as: User, Grid, Asset, Inventory, Messaging [5].

UserServer — is responsible for identifying the user, creates a unique session identifier for the client, which can be used to identify the other servers on the same network.

GridServer — is responsible for identifying regions that are in the network.

AssetServer — a database that stores all the sounds, textures, scripts, images, etc. But keep in mind that if you add an element in this framework, it is not possible to change the settings. If, for example, need to change some texture, it will have to change in the graphical editor, and then upload to the server. And the old version will remain, it will only be possible to remove.

InventoryServer — a server that is responsible for inventory. If the user switches between different servers, you need to inventory remained the same.

MessagingServer — helps to communicate with different people inside the simulator.

In Fig. 4 shows the interaction of these servers.

Figure 4 — Scheme of interaction of servers in Opensim(анимация: объем — 96.3 кБайт, количество кадров — 7, количество повторов — 6, размер — 563х715)

Figure 4 — Scheme of interaction of servers in Opensim(анимация: объем — 96.3 кБайт, количество кадров — 7, количество повторов — 6, размер — 563х715)

All information about users and the world around them is stored in different databases, logically divided into three types: Common (Common), Services (Services), Simulator (Simulator). In Common contains only one table migrations, designed to upgrade the platform. Services — contains settings for the avatar, its inventory, user authorization. Simulator — set of regions and areas.

In Fig. 5 shows the sequence of actions performed when a client connects

Figure 5 — Connect the SL client to the server

Figure 5 — Connect the SL client to the server

As can be seen from Fig. 2 SL client connects to the user, which in turn informs the server of the region on a new client, and sends the parameters to connect to the client. The server collects information about the region surrounding regions and users in them, passes this information to SL client. SL is connected to the region and connects to the nearby regions as a child agent [9].

To parse what fields may be in the tables, three tables were tear: assets, inventoryfolders, inventoryitems.

  • Assets — net assets, including such things as things, textures and sounds:
    1. name — the name of the asset invertare
    2. description — a description of the asset, its purpose
    3. assetType — an integer that indicates the type of asset
    4. local — for future use
    5. temporary — for future use
    6. data — This field contains the actual data of an asset: a binary image, script or other type of data
    7. id — an identifier which uniquely characterizes an asset in the system
    8. create_time — date and time when the asset was established
    9. access_time — date and time when it was last modified on
    10. asset_flag — Flag
    11. CreatorID — ID avatar
  • Inventoryfolders — folder for inventory related items:
    1. folderName — the name of the folder
    2. type — an integer indicating the type of folder
    3. version — this field is incremented when a folder is added a new element
    4. folderId — a unique identifier for the folder
    5. agented — ID agent, who created this folder
    6. parentFolderId — the ID of the parent folder.
  • Inventoryitems — all of an item found in inventory
    1. assetsID — identification number of the asset (an item)
    2. assetsType — type of asset (script, texture or pattern)
    3. inventoryName — the text to be displayed in the title of an item in your inventory at the customer
    4. inventoryDescription — describe the purpose of an item
    5. inventoryNextPermissions — the resolution that can be done with the item is, if it is moved to another avatar
    6. inventoryCurrentPermissions — the resolution that can be done with the item is the current holder of
    7. invType — type of an item
    8. CreatorID — creator ID
    9. salePrice — selling price of the object
    10. creationDate — the date of creation
    11. avatarID — the ID of the owner
    12. parentFolderId — the ID of the folder in which to store an item

The second project — UEF, is a multiplayer game, the main purpose of which is the character development. All the information about the original world is stored in the database. Given that this game will focus on character development, rather than communicating in Opensim, it must still be some kind of thread. For example, characters can raise your level, opening up a new skills and capabilities. This information must also be stored in a database.

Scalable architecture originally laid [2]. All processes will revolve around a database that will store the dynamically changeable properties of objects. And a group of objects can be brought to the individual bases that can be transferred to a separate server (or cluster) with associated event handlers. Up to the allocation of special-loaded stellar systems or advanced planets, and possibly large (galactic scale) associations, in a separate database with the program managers of the events in this particular group of objects.

The master database will be kept general concepts about the world: information about the user's inventory and achievements. In order to create larger objects will be expedient to allocate a separate database to store data on it to relieve the load on the master server. As a result, the creation of the planet will be accompanied by a set of database management module, and by nature: light and temperature, clouds and precipitation, filling the rivers and tides in the seas and oceans, the activity cycles of plants and animals, the emergence and development of settlements.

In addition, in the main database stores all data about the world: constants, formulas, algorithms are simple, static and dynamic data. The system has a decentralized system of management event. It runs instances of event handlers in accordance with the requirement of the system (the emergence of new developments) cease their activities when not in use, or hang (infinite recursion), and compares the versions of the event handlers on the stability and efficiency. The main task of managers to recognize the emergence of a new event handler and run the appropriate

Findings

Studies have shown that there are many different database configurations for distributed systems. There is no specific way to create configurations, depending on the purpose for which the project is created [4].

There are several basic types of data to be stored in the database:

  • Data about the user.
  • Data on the texture.
  • Data about the relationship of objects.
  • Data about the objects.

In some systems, in order to achieve good performance, neglect of quality textures, sound logic and good physics. Consequently, the database for such systems may be easier to implement, and the load on the system may be reduced by several times.

Creating new ways of organizing databases for interactive systems are attractive to developers. Each new method can provide storage of large amounts of data, their efficient processing and fast search through the database.

Bibliography

  1. Технические аспекты проекта UEF [Электронный ресурс]. — Режим доступа: http://uef.me/content/...
  2. Developer Documentation — OpenSim [Электронный ресурс]. — Режим доступа: http://opensimulator.org/wiki/Development
  3. Влияние реального и виртуального миров. SecondLife. [Электронный ресурс]. — Режим доступа: http://world2.ru/story/1234.html
  4. Graham Morgan. Scalable Massively Online Games — University of Newcastle upon Tyne, 2005 — 10pp.
  5. OpenSim Archives — Opensim [Электронный ресурс]. — Режим доступа: http://opensimulator.org/wiki/OpenSim_Archives
  6. Как установить Opensim на свой домашний компьютер [Электронный ресурс]. — Режим доступа: http://secondrussia.ru/blogs/2935.html
  7. В виртуальном мире журналистов учат освещать чрезвычайные ситуации [Электронный ресурс]. — Режим доступа: http://slinside.ru/story378.html
  8. Walker White, Christoph Koch, Nitin Gupta, Johannes Gehrke, and Alan Demers. Database Research Opportunities in Computer Games — Cornell University — 7pp.
  9. Philip Mildner, Tonio Triebel, Stephan Kopf, Wolfgang Effelsberg. A scalable Peer-to-Peer-overlay for real-time massively multiplayer online games — University of Mannheim — 8pp.
  10. Sergio Caltagirone, Bryan Schlief, Matthew Keys and Mary Jane Willshire, PhD. Architecture for a Massively Multiplayer Online Role Playing Game Engine — School of Engineering The University of Portland — 10pp.

Изображения

  1. Виртуальная комната [Электронный ресурс]. — Режим доступа: http://www.wallpaper.ru/room.php?r=14.
  2. Виртуальное рабочее пространство [Электронный ресурс]. — Режим доступа: http://commonslearningalliance.org/content/p2p-shift-immaterial-material-production.
  3. Виртуальный мир Second Life [Электронный ресурс]. — Режим доступа: http://opensimulator.org/wiki/File:Osgrid_wright_plaza_shops_kg.png.