Distributed Virtual Environment (DVE) is a shared application consisting many objects
INTRODUCTIONVirtual Environment (VE) as a simulation application is widely studied and used for the development of computer generated synthetic environments and analysis purposes. To involve many users in a VE, Distributed Virtual Environment (DVE) is often needed. Many users in separated places can come together to collaborate in a VE. For instance, they can use DVE to collaborate virtually with each other to carry out a work such as surgery training, automotive assembly simulations, etc. They can also go to a virtual music concert or attend a virtual classroom.Virtual world is one of the most popular applications of DVE. For instance is Second Life [1], which is the state of the art of virtual worlds. On May 2012, the world of Second Life was made up of thousands of regions, which if they are linked together will spread over 1,962.93 km 2 of virtual lands [2]. The world consists of avatars, terrains, trees, buildings, and other objects. Each region is a process run by a simulator. With Second Life, users can enjoy the 3D scenery, walk, drive, interact with other avatars, play games, or create objects. In fact, 99% of objects in Second Life are user created [3]. This virtual world is often used commercially by users to sell their properties to others. Therefore, DVEs may have a very large number of objects and users at one time and this can easily overload a fast network, as well as impose huge processing requirements at the server and client computers. As computing resources are limited, there are obvious problems that arise once the number of objects and users in a simulation reach a certain limit. If no special mechanisms are provided, one may expect a DVE to produce undesirable effects such as choppy rendering, and loss of interactivity, due to lack of processing power to handle the increasing load.Scaling a DVE depends on two aspects, i.e. scaling the number of concurrent users interacting with each other, or scaling the scene complexity (number of objects and the complexity of their behaviours and appearances). Several methods have been generated to scale DVEs such as dividing simulation workload [4-6], using dynamic load balancing among servers [7], and creating alternative architectures [8][9][10][11]. Scaling the DVEs can be done at the server"s side (using cluster or cloud computing) or the client"s side (using peer-to-peer model). However, these techniques are not enough to accommodate DVEs with huge number of objects and thousands of concurrent users. Other than that, increasing the number of objects and users decreases the performance of DVE.In this paper, we determine the characteristics of the present DVEs. These characteristics are then used to determine the present viewpoint to develop the DVEs. To address the limitation of current approaches, we propose a novel viewpoint, called object-based viewpoint, to generate a new DVE architecture. The novelty of the proposed approach is that, unlike the existi...