11
An efcient caching algorithm for peer-to-peer 3D streaming in distributed virtual environments $ Jinyuan Jia a , Wei Wang a , Xiaojun Hei b,n a School of Software Engineering, Tongji University, Shanghai, China b Department of Electronics and Information Engineering, Huazhong University of Science and Technology, 1037 Luoyu Road, Wuhan, Hubei 430074, China article info Article history: Received 24 July 2013 Received in revised form 14 February 2014 Accepted 8 March 2014 Available online 24 March 2014 Keywords: Caching Peer-to-peer Distributed virtual environment 3D streaming abstract Recent technical progress on the Internet and virtual reality has enabled the proliferation of the applications of distributed virtual environments (DVEs). In a DVE, high-resolution 3D contents may generate huge data while peer-to-peer (P2P) streaming takes advantages to carry these huge trafc in a cost-effective manner. In this P2P paradigm, peers can cache and share DVE data cooperatively to reduce server workload and improve streaming quality. Nevertheless, it is critical to maintain and update the cached contents in each peer efciently. In this paper, we propose an efcient caching algorithm for a P2P 3D content streaming framework. The proposed caching algorithm is based on a new preservation metric that is dened for balancing visual saliency, reusability and potential relevance of cached 3D objects. Then, these cached 3D objects in each peer are updated adaptively with the ascendant order in importance quantied using this new metric. We implemented the proposed caching algorithm in a simulated DVE platform for P2P-based 3D streaming. We conducted a comprehensive simulation study and our experimental results demonstrate that the proposed peer-to-peer streaming method outper- forms the classic 3D streaming methods (including FLoD and MRM) in terms of ll ratio, base latency, requests by nodes and requests to the server. & 2014 Elsevier Ltd. All rights reserved. 1. Introduction With the advance of the Internet and virtual reality technologies, distributed virtual environments (DVEs) have become popular in recent years. By joining together in a virtual environment, users who are geographically dispersed are able to communicate and interact with each other on the Internet (Steed and Oliveira, 2009). For a high-resolution 3D visual environment system, the 3D content data are huge (e.g., more than 34 TB data in Second Life in 2008, http://secondlife.com, Liang et al., 2008 and 70.5 TB data in Google Earth in 2006, http://www.google.com/earth/index.html). Never- theless, it is impossible to preload all these data into a client before a user starts to walkthrough in a virtual scene. Note that a user can only observe a small portion of the whole virtual scene due to the occlusions among 3D objects, a practical way is to download and render the data of the limited visible scene at the current viewpoint in a client. This strategy is particularly useful for thin clients, such as smart phones, pad and other mobile devices. Various 3D content streaming techniques have been proposed to transfer DVE data, including clientserver (Chim et al., 2003; Van Den Bossche et al., 2009; Ta et al., 2011) and peer-to-peer (Botev et al., 2008; Cavagna et al., 2009; Hu et al., 2006, 2008; Royan et al., 2007; Zhu et al., 2011) architectures. It is not unusual that millions of clients join a DVE simultaneously. If they are all connected to the server that stores the whole copy of the virtual environment data, the server is likely to be the bottleneck due to its limited bandwidth. On the other hand, in a large-scale DVE system virtual components are redundant for each user. Each user caches these virtual components and transfers them cooperatively in a naive P2P manner. When a user navigates in a virtual environment, her/his viewpoints exhibit strong time and temporal correlations. In a ner granularity, 3D virtual scenes can be transferred using P2P mechanisms for the clients having similar viewpoints in the virtual environment. These clients are clustered as neighbors and a client can send requests to its neighbors for data transmission of the shared visible scenes. By distributing and reusing 3D objects among clients, P2P DVE systems are advanta- geous in alleviating the burden of the server and enhancing quality-of-experience of users. On the other side, the virtual environment consistency and the network latency are two major performance issues in DVE applications (Delaney et al., 2006). Contents lists available at ScienceDirect journal homepage: www.elsevier.com/locate/jnca Journal of Network and Computer Applications http://dx.doi.org/10.1016/j.jnca.2014.03.005 1084-8045/& 2014 Elsevier Ltd. All rights reserved. Parts of the results in this paper have been presented in the international IFIP conference on networking (Networking 2013), Brooklyn, New York, May 2224, 2013 (Wang et al., 2013). n Corresponding author. Tel.: þ86 2787544704. E-mail addresses: [email protected] (J. Jia), [email protected] (W. Wang), [email protected] (X. Hei). URLS: http://sse.tongji.edu.cn/jiajinyuan (J. Jia), http://itec.hust.edu.cn/ heixj (X. Hei). Journal of Network and Computer Applications 42 (2014) 111

An efficient caching algorithm for peer-to-peer 3D streaming in distributed virtual environments

  • Upload
    xiaojun

  • View
    219

  • Download
    3

Embed Size (px)

Citation preview

Page 1: An efficient caching algorithm for peer-to-peer 3D streaming in distributed virtual environments

An efficient caching algorithm for peer-to-peer 3D streamingin distributed virtual environments$

Jinyuan Jia a, Wei Wang a, Xiaojun Hei b,n

a School of Software Engineering, Tongji University, Shanghai, Chinab Department of Electronics and Information Engineering, Huazhong University of Science and Technology, 1037 Luoyu Road, Wuhan, Hubei 430074, China

a r t i c l e i n f o

Article history:Received 24 July 2013Received in revised form14 February 2014Accepted 8 March 2014Available online 24 March 2014

Keywords:CachingPeer-to-peerDistributed virtual environment3D streaming

a b s t r a c t

Recent technical progress on the Internet and virtual reality has enabled the proliferation of theapplications of distributed virtual environments (DVEs). In a DVE, high-resolution 3D contents maygenerate huge data while peer-to-peer (P2P) streaming takes advantages to carry these huge traffic in acost-effective manner. In this P2P paradigm, peers can cache and share DVE data cooperatively to reduceserver workload and improve streaming quality. Nevertheless, it is critical to maintain and update thecached contents in each peer efficiently. In this paper, we propose an efficient caching algorithm for aP2P 3D content streaming framework. The proposed caching algorithm is based on a new preservationmetric that is defined for balancing visual saliency, reusability and potential relevance of cached 3Dobjects. Then, these cached 3D objects in each peer are updated adaptively with the ascendant order inimportance quantified using this new metric. We implemented the proposed caching algorithm in asimulated DVE platform for P2P-based 3D streaming. We conducted a comprehensive simulation studyand our experimental results demonstrate that the proposed peer-to-peer streaming method outper-forms the classic 3D streaming methods (including FLoD and MRM) in terms of fill ratio, base latency,requests by nodes and requests to the server.

& 2014 Elsevier Ltd. All rights reserved.

1. Introduction

With the advance of the Internet and virtual reality technologies,distributed virtual environments (DVEs) have become popular inrecent years. By joining together in a virtual environment, userswho are geographically dispersed are able to communicate andinteract with each other on the Internet (Steed and Oliveira, 2009).For a high-resolution 3D visual environment system, the 3D contentdata are huge (e.g., more than 34 TB data in Second Life in 2008,http://secondlife.com, Liang et al., 2008 and 70.5 TB data in GoogleEarth in 2006, http://www.google.com/earth/index.html). Never-theless, it is impossible to preload all these data into a client beforea user starts to walkthrough in a virtual scene. Note that a user canonly observe a small portion of the whole virtual scene due to theocclusions among 3D objects, a practical way is to download andrender the data of the limited visible scene at the current viewpoint

in a client. This strategy is particularly useful for thin clients, such assmart phones, pad and other mobile devices.

Various 3D content streaming techniques have been proposedto transfer DVE data, including client–server (Chim et al., 2003;Van Den Bossche et al., 2009; Ta et al., 2011) and peer-to-peer(Botev et al., 2008; Cavagna et al., 2009; Hu et al., 2006, 2008;Royan et al., 2007; Zhu et al., 2011) architectures. It is not unusualthat millions of clients join a DVE simultaneously. If they are allconnected to the server that stores the whole copy of the virtualenvironment data, the server is likely to be the bottleneck due toits limited bandwidth. On the other hand, in a large-scale DVEsystem virtual components are redundant for each user. Each usercaches these virtual components and transfers them cooperativelyin a naive P2P manner. When a user navigates in a virtualenvironment, her/his viewpoints exhibit strong time and temporalcorrelations. In a finer granularity, 3D virtual scenes can betransferred using P2P mechanisms for the clients having similarviewpoints in the virtual environment. These clients are clusteredas neighbors and a client can send requests to its neighbors fordata transmission of the shared visible scenes. By distributing andreusing 3D objects among clients, P2P DVE systems are advanta-geous in alleviating the burden of the server and enhancingquality-of-experience of users. On the other side, the virtualenvironment consistency and the network latency are two majorperformance issues in DVE applications (Delaney et al., 2006).

Contents lists available at ScienceDirect

journal homepage: www.elsevier.com/locate/jnca

Journal of Network and Computer Applications

http://dx.doi.org/10.1016/j.jnca.2014.03.0051084-8045/& 2014 Elsevier Ltd. All rights reserved.

☆Parts of the results in this paper have been presented in the international IFIPconference on networking (Networking 2013), Brooklyn, New York, May 22–24,2013 (Wang et al., 2013).

n Corresponding author. Tel.: þ86 2787544704.E-mail addresses: [email protected] (J. Jia), [email protected] (W. Wang),

[email protected] (X. Hei).URLS: http://sse.tongji.edu.cn/jiajinyuan (J. Jia),

http://itec.hust.edu.cn/�heixj (X. Hei).

Journal of Network and Computer Applications 42 (2014) 1–11

Page 2: An efficient caching algorithm for peer-to-peer 3D streaming in distributed virtual environments

The users' streaming experience in DVEs is crucial for a successfulservice deployment (Choukair and Retailleau, 2000). If usersexperience frequent freezes in the navigation or significant delaysfor startup after switching viewpoints, then the users may aban-don the service. In the past decade, P2P video streaming hasachieved much success in both academia and industry on the best-effort Internet (Hei et al., 2007, 2008). Those P2P video streamingtechniques, such as caching and prefetching, which are suitable forlinearly streamed contents, require further research and practicein 3D streaming because 3D streaming is highly interactive andnonlinear in nature with the streaming sequence based on eachusers' unique visibility or interest area in DVEs (Sung et al., 2008;Hu et al., 2010; Maamar et al., 2010; Chien et al., 2010; Zhao andOoi, 2013). Recently, Zhao et al. proposed, Joserlin, a joint requestand service scheduling scheme that aims to alleviate requestcontentions and also schedule the prefetch requests by consider-ing their contributions to potential reduction of server load inZhao and Ooi (2013). Our research focuses on the efficient cachingfor 3D streaming by jointly considering visual saliency, reusabilityand potential relevance of cached 3D objects.

Given the limited cache capacity of individual clients, only thevisible portion of 3D scene can be loaded. When a user navigates a 3Dvirtual environment, certain objects must be removed and updated inthe cache due to the changes of viewpoints. In this paper, we proposea progressive caching method for real-time navigation in large-scaleP2P DVEs. This proposed caching method is based on three factors: inaddition to the visual attention that is widely used in cache updatingin client/server DVEs, we also propose two new factors of reusabilityand potential relevance. Some preliminary results on the progressivereplacement for cached scenes based on potential relevance werepresented to support the interactive walk-through in P2P-based large-scale WebVR worlds in Wang et al. (2010). We further conducted acomprehensive study on various factors on the caching schemes forP2P-based DVEs in Wang et al. (2013) and provided more extensivesimulation results in this paper. Our experimental results show that aweighted combination of these three factors provides a satisfiedperformance measure in updating cached objects.

The rest of this paper is organized as follows. In Section 2, wesummarized the related work on progressive transmission andcaching methods for 3D streaming in DVEs. In Section 3, weproposed a P2P 3D content streaming framework. Within thisframework, we also proposed an efficient caching algorithm basedon a new preservation metric that is defined for balancing visualsaliency, reusability and potential relevance of cached 3D objectsin Section 4 and discussed the experimental results in Section 5.Finally, we presented the concluding remarks and future work inSection 6.

2. Related work

For 3D content streaming in a large-scale DVE, three keyingredients, area-of-interest (AOI) of 3D scene, progressive trans-mission and cache updating, are involved and their related work issummarized below.

2.1. AOI of complex 3D scenes

Given a limited cache capacity in a client, only a small portion of acomplex 3D scene can be preloaded in DVE. Nevertheless, a virtualviewer can only see a small area of the whole virtual environment. Theconcept of the area-of-interest (AOI) has been proposed to characterizethis application feature and been used widely in designing DVEsystems (Chim et al., 2003; Li et al., 2011; Popescu and Codella,2002). AOI is a circular areawhose center is coincided with the currentviewpoint and whose radius is proportional to the visible distance.

All 3D objects enclosed in AOI can be reasonably thought as objects inthe currently visible scene. When the viewpoint moves, the newadded visible scenes have to be incrementally updated and down-loaded from the server or other clients. An efficient scene cullingalgorithm is proposed in Jia et al. (2007), which partitions the entirescene using an axis-aligned mesh. Visible and invisible grids aredynamically maintained according to the temporal coherence betweentwo consecutive AOIs. An improved scalable multi-layer AOI schedul-ing algorithm is proposed for the large-scale WebVR scenes in Wangand Jia (2009). Two scheduling mechanisms, area-based and cell-based scheduling, are studied in Pan et al. (2010), showing that ahybrid scheduling achieves the best performance.

2.2. Progressive transmission of 3D contents

Given a fixed viewpoint, AOI can greatly reduce the necessary3D contents for browsing. The 3D objects contained in an AOI,however, could still be of huge data size if they are presented in avery high resolution. Level-of-details (LOD) techniques (Luebke etal., 2002) have been developed, which model a 3D object O by a

base shape B and a set of hierarchical details D¼ fD1;D2;…g. Thenthe object O¼ B [ D can be represented hierarchically by

O1 � O2⋯� O, where Oi ¼ B � D1 � D2 � ⋯ � Di, � is a synthesisoperator. Usually B is an overall simplified shape that can betransformed very rapidly. When a user watches and manipulates(e.g., translates and rotates) 3D objects, more and more details inD can be received by the client and smoothly synthesized into themodel B. Notably, two classes exist for generating a LOD repre-sentation: surface simplification (Garland and Heckbert, 1997) andprogressive mesh (Hoppe, 1996). In this paper, based on progres-sive representation (Hoppe, 1996) of 3D objects, we use themethod in Chim et al. (2003) to compute an optimal resolutionfor each 3D object located in an AOI that is suitable for the currentviewpoint. Given the object progressive representation, a generalproblem formulation of P2P transmission for 3D contents isconducted in Cheng et al. (2009) and Hu et al. (2010).

2.3. Caching methods of massive 3D contents

When the limited local cache in a client has been crammed byconstantly downloaded scene (made up of 3D objects), somepreviously cached 3D objects have to be updated and replacedby new downloaded 3D objects (to constitute a new scene). Datareplacement in the cache is an important issue that not only existsin 3D content streaming, but also in other well-studied applica-tions as we summarize below.

2.3.1. Caching based on temporal factorPage-based data replacement strategies, such as least recently used

(LRU) and most recently used (MRU), have been widely used indatabase applications (Franklin et al., 1992). The merits of page-basedreplacement strategies rely heavily on the principle of locality, i.e., thehigher degree of locality, the better performance can be achieved.However, it is shown in Si and Leong (1997) that these strategies arenot suitable for 3D content replacements since 3D objects that areaccessed by a client might change frequently over time. Videostreaming is another popular application in which caching is widelystudied. In P2P video streaming, video contents are regarded as one-dimensional (frames change in the dimension of discrete time) andthus can be accessed sequentially. A general caching strategy used inmany P2P video streaming systems is that a receiver caches therecently played contents and supplies them to the requesters. How-ever, P2P 3D content streaming is much more complex since the 3Dobjects are indexed in a 3D space and accessed according to viewer'sinteractive navigation behaviors.

J. Jia et al. / Journal of Network and Computer Applications 42 (2014) 1–112

Page 3: An efficient caching algorithm for peer-to-peer 3D streaming in distributed virtual environments

2.3.2. Caching based on spatial factorA 3D content caching method is proposed in Hu et al. (2008) in

which 3D objects are removed in a descending order indexed bytheir distances to the viewpoint. This caching method, however,does not consider the effect of objects' deviating angles from theviewpoint. The strategy of most required movement (MRM) inChim et al. (2003) streams each 3D object using a progressiverepresentation and assigns to each 3D object an access scoremeasured by a weighted combination of its distance and deviationangle from the viewpoint. To take the advantages of both temporaland spatial factors, a hybrid caching method is proposed in Li andHsu (2004) which determines a replacement order for each 3Dobject using both temporal and spatial coherence. All the workdetermines a 3D object replacement order in the cache mainlybased on the spatial relation between objects and viewpoint: theyare better fitted into a framework of C/S DVE (Franklin et al., 1992)but not for 3D content streaming in P2P DVEs. When determiningan order to remove 3D objects in the cache in a P2P DVE, inaddition to the spatial relations, the characteristics of the P2Pmechanism such as the potential influence of a cached 3D objecton the client's neighbors should be also taken into account.

3. A framework of P2P DVE

A number of C/S DVE systems and applications have been devel-oped and deployed (Singhal and Zyda, 1999; Van Den Bossche et al.,2009; Ta et al., 2011). In order to alleviate server loading, P2P-basedDVEs have also emerged as a promising approach recently (Sung et al.,2008; Chien et al., 2009; Maamar et al., 2010; Zhao and Ooi, 2013). Wepropose a general P2P-based DVE framework. Then, we present anefficient caching algorithm suitable for this proposed P2P DVE. Theframework of our P2P DVE is illustrated in Fig. 1: from bottom to top,the network architecture consists of three layers, i.e., physical networklayer, Voronoi overlay layer and virtual scene layer. The physicalnetwork layer consists of one server (or server clusters) and geogra-phically dispersed clients. The Voronoi overlay layer is used to high-light the awareness of avatars in 3D virtual environments. Practicaland efficient algorithms have been proposed to construct such Voronoidiagrams of point sites on 2-manifold triangular meshes (Liu et al.,2011) with the proved linear complexity of geodesic Voronoi diagramson triangulated 2-manifold surfaces (Liu and Tang, 2013). The virtual

scene layer is the place where the avatars live. Below the terms node,viewer, client and peer are used interchangeably.

Given the spatial relation of viewers in the virtual environment,if a viewer vi is located in the AOI of another viewer vj, vi isregarded as the neighbor of vj. For example, in Fig. 1, v3 and v6 areboth neighbors of v4. Three types of participators involved in theproposed P2P DVE:

� Server: The server (or a server cluster) stores all 3D contents of theDVE. It also manages clients such as registration in the system andrecording their locations in the virtual environment.

� Requester: A client that requires pieces of 3D content data forvirtual scene rendering.

� Provider: The server or a client that holds the required pieces ofdata and can provide them to a requester.

In the proposed P2P DVE, the roles of nodes are interchange-able, i.e., a requester can also be a provider for another node. Notethat the server is only considered as a candidate content provider.

Given a requester vk, we use a mesh-based pull scheme for P2Ptransmission of necessary 3D contents when vk roams in thevirtual environment (Hu et al., 2008). Our proposed P2P frame-work utilizes a provider selection mechanism by considering peerheterogeneity, traffic locality and peer stability and thus constructsa better transmission overlay than the one in Hu et al. (2008).

� Step 1: Join the DVE. vk joins the P2P DVE by registering to theserver. Then vk downloads the scene description file of theentire virtual environment. By applying the greedy forwardingmechanism in Hu et al. (2006), vk connects to its initial AOIneighbors.

� Step 2: Determine the visible scenes. When the viewpoint isinitialized or moved, vk determines its visible scenes by apply-ing the incremental AOI culling method (Jia et al., 2007). Thisstep also produces a requesting queue for pieces of necessary3D contents.

� Step 3: Update AOI neighbors. vk sends the message of itsposition updating in the virtual scene layer to its current AOIneighbors. Updating AOI neighbors is found based on themethods utilizing the dynamic Voronoi diagram (Albano etal., 2009; Hu et al., 2006). A Voronoi diagram partitions avirtual space with n nodes into n Voronoi regions such that allpoints closest to a particular node are contained within thenode's region. Each node organizes the coordinates of itself andits AOI neighbors in a Voronoi diagram. These nodes areallowed to move continuously in this virtual space and connectwith new AOI neighbors in a simple and fully distributedfashion (Hu et al., 2006).

� Step 4: Locate candidate providers. After updating AOI neigh-bors, vk sends queries of required data pieces to its AOIneighbors. Those neighbors which response positively for aspecial piece are considered as candidate providers for thispiece. A candidate provider also returns its current resourceinformation, e.g., upload capacity and its Internet serviceprovider (ISP).

� Step 5: Select providers. For each piece of required data, fromthe list of candidate providers, vk selects a provider which canprovide the best service (more details are presented below).

� Step 6: Transfer 3D contents. vk receives data pieces fromproviders in parallel and renders the visible scene of currentviewpoint for browsing. If the viewpoint moves during the datareceiving process, the process is terminated and goto Step 2.

� Step 7: Caching by 3D scene replacement. If the limited cachehas been fully occupied by 3D scene data, vk invokes theproposed progressive scene replacement mechanism, as presentedin Section 4.

node

server

XYZ

Physical Network

v2

v5V6

Voronoi edge

AOIVoronoi Overlay

XYZ

Virtual terrain of the DVE

v7

v8

v4v1 v3

Fig. 1. Network architecture of a P2P-DVE.

J. Jia et al. / Journal of Network and Computer Applications 42 (2014) 1–11 3

Page 4: An efficient caching algorithm for peer-to-peer 3D streaming in distributed virtual environments

� Step 8: Leave the DVE system. When vk leaves the DVE system,it logs out of the server and disconnects from its AOI neighbors.For any abnormal leaving such as power failure, the server candiagnose the case by receiving messages from vk's AOIneighbors.

In Hu et al. (2008), only AOI neighbors in the Voronoi overlaylayer are considered for P2P streaming and this may lead to a long-distance traffic in peers that are topologically close (in the virtualscene layer) but physically far away (in the physical networklayer). In our P2P framework, we consider some more factors ina realistic networking environment. In Step 4, denote the uploadcapacity of each candidate provider i by ui, i¼ 1;2;…;n, and u0 isthe upload capacity of the server in bit-per-second. Given theobservation (Bishop et al., 2006) that if a peer stays in a channellonger, this peer tends to keep staying in the channel, the stabilitysi of each candidate provider i is measured by its staying time ti inthe DVE system. Let tmax ¼maxft1; t2;…; tng. We define a normal-ized stability si ¼ ti=tmaxA ½0;1�: if si4sj, then peer i is more stablethan peer j. We define a general distance metric Dðr; iÞA ½0;1�between the requester r and a candidate provider i to achieve aflexible distance definition. Dðr; iÞ can be defined as a tailoredfunction of the physical network distance between r and i.Currently, we define Dðr; iÞ ¼ 0:1 for simplicity if r and i are inthe same ISP and otherwise Dðr; iÞ ¼ 1. This distance definitionpenalizes cross-ISP traffic by a factor of 10 heuristically.

We also define a general distance metric Dðr; iÞA ½0;1� betweenthe requester r and a candidate provider i: any customized metricthat measures the physical distance between r and i can be usedand currently we define Dðr; iÞ ¼ 0:1 if r and i are in the same ISPand otherwise Dðr; iÞ ¼ 1. This distance definition penalizes cross-ISP traffic by a long physical distance heuristically. Let

wi ¼ si � Dðr; iÞ ð1Þbe a weighted distance from r to the candidate provider i.

Given the information of wi and ui of each candidate provider ireturned by Step 4, the provider selection with the best service inStep 5 uses the following strategy. We normalize the weights byw0

i ¼wi=wmax, where wmax ¼maxfw1;w2;…;wng. Set w00 ¼ 1 for the

server of upload capacity u0. We sort the upload capacitiesfu0;u1;…;ung of the server and all candidate providers using theweight w0

i in a descending order and denote the sorted set byU0 ¼ ðu0

0;u01;…;u0

nÞ. Let h be the required bit rate (in bps) of thevisible scene movement that is estimated by the viewpoint'svelocity at the current position due to user behaviors. The valueof h is estimated based on the required quality of the rendered 3Dobjects. The maximum h can be estimated based on the optimalresolution selected in Hu et al. (2006). The detailed estimationprocedure can be found in Wang (2011). We choose the first kpeers in U0 as the providers, where

k¼min j : ∑j

i ¼ 0w0

iuiZh

( ):

If all the weights are the same (as assumed in Kumar et al., 2007),our provider selection strategy satisfies the stochastic fluid theory(Kumar et al., 2007), since

∑j

i ¼ 0w0

iuir ∑n

i ¼ 0

wi

wmaxuir

u0þ∑n�1i ¼ 1ui

n�1:

4. The caching algorithm

If the cache of a client is fully occupied by 3D scene data (i.e.,3D objects that constitute the visible scene), the client has toupdate and replace some 3D scene data progressively according to

the movement of viewpoint. Assume that the set of currentlycached 3D objects is O¼ fO1;O2;…;Omg. We define a preservationmetric (Section 4.4) for each object Oi, which indicates theimportance of Oi by referring to the current viewpoint and itsAOI neighbors. This preservation metric is based on three factors:(1) the visual saliency degree (Section 4.1); (2) the reusabilitydegree (Section 4.2); (3) the potential relevance degree for AOIneighbors (Section 4.3). The client determines the order of 3Dobjects in the cache to be removed by indexing the values outputfrom the preservation metric.

4.1. Visual saliency degree of 3D objects

Note that 3D objects which can provide higher visual qualityshould be cached for a longer time. Recall that we use aprogressive representation of a 3D object O¼ B [ D, where B isthe base shape for quick transmission and D is a set of geometricdetails for progressive transmission. This visual saliency degree isa quantitative measure of level-of-details of the 3D objects(Luebke et al., 2002). We define the visual saliency degree of 3Dobject O by considering the base shape B and the detailed part Dseparately.

The base shape B of O is used for quick transmission such that aviewer can have an overlook of the object O instantly. However, ifwe oversimplify the object shape, the base shape may have a poorappearance and thus a poor visual saliency. Hence, we define thevisual saliency degree of the base shape by the ratio

VB ¼ CðBÞCðOÞ;

where CðBÞ and C(O) are the complexities of the base shape andthe full object, respectively. We measure the complexity of a meshmodel by its surface area.

The detailed part D of O will progressively improve the visualquality of the object. Its visual saliency is determined by twofactors: (1) the distance d from the object to the viewpoint; (2) theangle θ (0rθrπ) deviated from O to the viewing direction. SeeFig. 2 for an illustration of these parameters.

We define the visual saliency degree of the detailed part D as

VD ¼ λ 1�dR

� �þð1�λÞ 1�2θ

π

� �;

where R is the radius of AOI and 0rλr1 is a weightingcoefficient. Finally, we define the visual saliency degree of anobject OiAO as

VðOiÞ ¼ωVBðOiÞþð1�ωÞVDðOiÞ; ð2Þ

where 0rωr1 is a weight that balances the contributions of thebase shape and the detailed part. In our experiments, we setλ¼ω¼ 0:5. The value output from V is normalized in [�1,1].

θi

RViewpoint

Oi

di

Viewing direction

Area of interest (AOI)

Fig. 2. The parameters in the definition of the visual saliency degree.

J. Jia et al. / Journal of Network and Computer Applications 42 (2014) 1–114

Page 5: An efficient caching algorithm for peer-to-peer 3D streaming in distributed virtual environments

4.2. Reusability degree of 3D objects

In a large-scale DVE, repeated patterns frequently appear. Forexample, the trees aligned along the roadside (Fig. 3) and the buildingsin commercial and resident areas. It is cost-effective to keep only onecopy of the repeated or similar 3D objects in the cache. In addition, if a3D object has many similar objects in the whole DVE scene, it is morepreferable to cache this object for a long time. Based on this intuition,we define the following reusability degree of 3D objects.

Let ~O be the set of all 3D objects in the DVE and Sð�Þ is a metric thatreturns the similarity of two 3D objects in the range [0,1], where1 means identical. Usually the 3D objects in ~O have color informationand the similarity metric S in Liu et al. (2012) can be applied. Thecomputation of this metric can be further optimized based ondistributed cognitive functionalities in human vision processing (Liuet al., 2013). We maintain a matrix in the scene description file thatencodes the similarities between all 3D objects in the virtual environ-ment, which is downloaded from the server when a client isregistered. For each object OiA ~O, we compute the number nðOiÞ of3D objects in ~O that have the similarity value larger than 0.9 withrespect to Oi. We use nðOiÞ as a reusability measure of the object Oi

and the reusability degree of Oi is defined as

RðOiÞ ¼nðOiÞnmax

; ð3Þ

where nmax ¼maxfnðOjÞg, 8OjA ~O. The value output from R isnormalized in [0,1]. Four examples of 3D scene renderings with modelreusability are illustrated in Fig. 4.

4.3. Potential relevance degree of 3D objects

Each cached 3D object in a client is used not only for renderingthe visible scene, but also for providing a piece of data that can betransmitted to its AOI neighbors. So the priority of removing 3Dobjects in the cache must consider the potential impact on its AOIneighbors.

For each 3D object OiAO, let NDðOiÞ be the number of copies ofobject Oi which has been downloaded by the AOI neighbors. Weuse NDðOiÞ to estimate how many copies of Oi are maintained inthe AOI neighbors. The more copies of a 3D object are maintainedin neighbors, the higher priority of this 3D object is to be removedfrom the cache. We define the potential relevance degree of a 3Dobject OiAO as

PðOiÞ ¼ 1�NDðOiÞNDmax

; ð4Þ

where

NDmax ¼maxfNDðOjÞ; 8OiAOg:The value output from P is normalized in [0,1].

4.4. Combination of three degrees as the preservation cachingcriteria

We combine the three degrees defined as the weighted averageof Eqs. (2)–(4) for a preservation criteria to update cache:

MðOiÞ ¼ αVðOiÞþβRðOiÞþγPðOiÞ; ð5Þwhere 0rα;β; γr1 and αþβþγ ¼ 1. In our experiments, weselect α¼ β¼ γ ¼ 1

3 . We use the preservation criteria (5) to buildreplacement priorities for cached 3D objects: if a 3D object has alower value of this preservation degree, it is removed from thecache with a higher priority.

Denote the cache capacity of a client as Cfull, the cached datavolume as Coccupied and the data volume of the next downloadingrequest as Datarequest. Given the preservation criteria (5), we sortthe 3D objects in O using the value MðOiÞ, with the first objecthaving the lowest value. Without confusion, O below denotes theordered set of 3D objects in the cache.

Our caching algorithm can be outlined in two major steps:

� Step 1: If Cfull�CoccupiedoDatarequest , then start the object repla-cement procedure.

� Step 2: Download the requested data.

The object replacement procedure in Step 1 consists of threesub-steps:

� Step 1.1: Access the 3D objects in O sequentially and if any 3Dobject OiAO has redundant details ðDjþ1

i ;Djþ2i ;…Þ, then

remove these details until the optimal resolution of the objectOji ¼ B � D1

i � D2i � ⋯ � Dj

i is reached. The object's optimalresolution is determined by using the method in Chim et al.(2003). If Cfull�CoccupiedZDatarequest , goto Step 2.

� Step 1.2: Access the 3D objects in O sequentially and remove thedetailed partD of the accessed 3D object Oi (i.e., only keep the baseshape B of Oi). If Cfull�CoccupiedZDatarequest , goto Step 2.

� Step 1.3: Access the 3D objects in O sequentially and removethe base shape B of the accessed 3D object Oi. IfCfull�CoccupiedZDatarequest , goto Step 2.

Fig. 3. A typical scene in the virtual environment with similar 3D tree models.

Object No. 1392 382 91 891

Object No. 106 296 10 20

Fig. 4. 3D scenes before (top row) and after (bottom) applying the model reusability.Repeated objects are only shown by one instance in the bottom row. The complexity of3D scenes is shown by the numbers of 3D objects used to render the scenes.

J. Jia et al. / Journal of Network and Computer Applications 42 (2014) 1–11 5

Page 6: An efficient caching algorithm for peer-to-peer 3D streaming in distributed virtual environments

5. Evaluation results

To evaluate the performance of the proposed caching algorithm ina large-scale DVE, we design and implement a P2P DVE simulator inwhich the following two aspects are considered in-depth:

1. To evaluate whether the combination in the metric (5) isoptimal, we compare it with an alternative metric:

MðOiÞ ¼ 0:5VðOiÞþ0:5PðOiÞ: ð6ÞSince the visual saliency is a critical measure in the navigationof 3D virtual environment and potential relevance is a criticalmeasure in P2P transmission of 3D contents, we keep itemsVðOiÞ and PðOiÞ in both metrics (5) and (6). So the comparisonbetween the metrics (5) and (6) is to evaluate the significanceof the reusability measure RðOiÞ in Eq. (3).

2. We compare our caching algorithm with two other cachingalgorithms (Chim et al., 2003; Hu et al., 2008). The most requiredmovement (MRM) strategy in Chim et al. (2003) is a classic one in3D content streaming that progressively transmits the baseshapes and detailed parts of 3D objects, and thus is closely relatedto our work. Among state-of-the-art P2P DVEs (Botev et al., 2008;Cavagna et al., 2009; Hu et al., 2006, 2008; Royan et al., 2007; Zhuet al., 2011), we use a similar P2P content streaming mechanismas in Hu et al. (2008). Hence, we compare our caching algorithmto these two works. Denote PSRM (progressive scene replacementmechanism) as the abbreviation for our method, P2P-MRM inChim et al. (2003) and FLoD in Hu et al. (2008), respectively.Furthermore, we distinguish our method using the metrics(5) and (6), respectively, by PSRM (using the metric (5)) andPSRM-N (using the metric (6)).

5.1. Experimental settings

We have implemented a prototype system for the proposedP2P DVE system based on Web3D in Zhang et al. (2013). In thisDVE, users and designers share their 3D drawings or even theentire design process with others in real-time on the Internet toachieve the online multi-player real-time collaborative inter-operability. Since the system scale plays an important role in theevaluation of our caching algorithm, we also implement a simu-lated large-scale simulator that can capture the real behaviors oflarge-scale P2P DVE using a set of open-source programminglibraries. The simulated large-scale DVE platform is stored in aserver. The number of 3D objects in the simulated virtual

environment is of the order of magnitude of 103 to 104. The filesize and the position of each 3D object are set randomly and theprogressive representation is used in all 3D objects. We generatetwo special object types called trees and buildings. The similarityvalue of two 3D objects in each of special object types is set to be0.99 and the similarity value in the remaining 3D objects israndomly drawn from a poisson distribution in [0,1].

Our discrete-time simulator uses a time step of 100 ms andthen 3000 steps means a simulation process of 300 s. To perform afaithful comparison with MRM (Chim et al., 2003) and FLoD (Hu etal., 2008), in our simulation, we implement two navigationbehaviors of a viewer in P2P DVE (Fig. 5):

� A random walk (Chim et al., 2003): the orientation and positionof a viewer at each step of movement are generated randomly.

� A clustering movement (Hu et al., 2008): a viewer has a higherpossibility for moving to nearby special hotspots and has alower possibility of moving to remaining sites. We randomlygenerate 1:5 ln n hotspots in the 2D map of a virtual environ-ment, where n is the number of 3D objects in the map.

Since peer heterogeneity, traffic locality and peer stability arenot considered in Chim et al. (2003) and Hu et al. (2008), we set allthe nodes with the same upload capacity and located in the sameISP; i.e., we only use peer stability to determine the weight wi inEq. (1) for each candidate provider. Note that FLoD (Hu et al., 2008)did not consider the network latency among different nodes in theP2P overlay. Actually two close viewers in the virtual scene layermay be far from each other geographically in the physical networklayer (see Fig. 1). To simulate the real-world applications, networklatency among different viewers in the virtual scene layer israndomly assigned from 100 ms to 1500 ms in our simulator.Furthermore, FLoD (Hu et al., 2008) only allowed viewers to starta navigation when 99% data of the visible scene within initial AOIhas been downloaded. However, in realistic situations, a user maynot have enough patience to wait for a long downloading time.Hence, we remove this strong restriction in our simulation.

A part of a screenshot of the simulated P2P DVE system isshown in Fig. 6 in which the numbers indicate the IDs of nodes inthe P2P DVE. Similar to the FLoD (Hu et al., 2008), we run all thesimulations in 3000 steps (i.e., 300 s). To evaluate the stable statebehavior, the performance analysis is based on the statistic datacollected in the last 2000 steps for each simulation. The settings ofthe detailed parameters used in the simulator are summarized inTable 1. Note that in Table 1, we have two settings of the numberof nodes, i.e., 500 and 1000.

Fig. 5. Two navigation behaviors. Left: a random walk. Right: a clustering movement, in which the point size indicates the possibility that a viewer is likely moved to thisposition.

J. Jia et al. / Journal of Network and Computer Applications 42 (2014) 1–116

Page 7: An efficient caching algorithm for peer-to-peer 3D streaming in distributed virtual environments

5.2. Performance metrics

We use the following metrics to evaluate the performance ofthe caching algorithms, PSRM, P2P-MRM and FLoD, in the simu-lated P2P DVE.

Fill ratio (FR): When a viewer in the virtual scene layer moves toa new position in the virtual environment, FR is the size ratio ofthe available data for the visible scene in the client (alreadydownloaded) divided by all the data required for rendering thevisible scene (should be downloaded). Note that in our definitionof FR, we use the optimal resolution of each 3D object as in MRM(Chim et al., 2003), while FLoD (Hu et al., 2008) used the fullresolution of 3D objects.

Base latency (BL): BL is the latency between the time instant, whena client requests the data of all 3D objects in the visible scene, and thetime instant, when it receives all the base shapes of these 3D objects.Once the base shapes are available in a client, a viewer can start ameaningful navigation in the virtual environment.

Requests by nodes (RN): RN is the total number of requestsdelivered by all the nodes in the DVE at each simulating step. Allthe data communicated in the physical network layer (see Fig. 1) iscomposed of two parts: the transmission of 3D contents and therequests delivered by clients and the server. A good cachingalgorithm should reduce the requests by the nodes (correspondingto clients in the physical network layer) as well as the delivery of3D contents.

Requests to the server (RS): RS is the total number of requestsreceived by the server at each simulated step. When the AOIneighbors do not have the 3D content requested by a client, it hasto send requests to the server for downloading the data. A goodcaching algorithm should reduce the RS as well as the RN.

5.3. Experimental results

Denote that M is the total data size of the DVE, R is the radius ofa viewer's AOI, H and W are the height and width of the wholearea of the virtual environment, respectively. The average data sizeof an AOI can be defined as

DataAOI ¼πR2

HWM:

We define the cache ratio as the ratio of a client's cache capacityover the DataAOI . It is clear that the effectiveness of any cachingalgorithm is dependent on the cache ratio. In our study, we usefive settings of cache ratios: 0.25, 0.5, 1, 2, 3.

5.3.1. Fill ratiosFigure 7 shows the experimental results of fill ratios of four

methods with respect to different cache ratios in a 500-node DVEsystem with two navigation behaviors (i.e., random walk andclustering movement). The first observation from the results inFig. 7 is that the fill ratio does not increase to 1 when the cacheratio is increasing to 2 and 3. This can be explained by the fact thateven if a client has more cache capacity than the required 3Dvisible scene data, it may still not have the full data of the visiblescene at each step, due to the large displacement of viewpointmovement and the limited rendering ability of that client (therendering time is increased dramatically when the 3D scene datais increased above the optimal resolutions Akenine-Moller et al.,2008).

As shown in Fig. 7, in a 500-node DVE system, when the cacheratio decreases from 2 to 1, the fill ratio of FLoD is reduced from82% to 81% in a random walking, and from 84% to 82% in aclustering movement, respectively. When the cache ratio reaches0.25, the fill ratio of FLoD is reduced to 80% in a random walk andto 82% in a clustering movement. PSRM, PSRM-N and P2P-MRM(MRM in a P2P DVE) generally have the higher fill ratio than FLoD.This demonstrates that using the optimal resolution with respectto the current viewpoint based on a progressive representation of3D objects, it is possible to maintain a relative high fill ratio even ifthe cache ratio is very small. A similar conclusion can be drawnfrom a test on 1000-node DVE system as shown in Fig. 8. In bothtests on 500-node and 1000-node DVE system, the PSRM has thehighest fill ratios over the four methods: this can be explained bythat PSRM takes object reusability and potential relevance intoconsideration and thus has the higher fill ratios than othermethods. The property of maintaining high fill ratios makes PSRMparticularly suitable in a small-cache-capacity condition of a clientsuch as mobile phones and PDAs.

5.3.2. Base latencyThe base latency measures the delay of receiving all necessary

base shapes of the visible scene at the current viewpoint. SinceP2P-MRM and PSRM apply a caching mechanism that alwayspostpone to remove base shapes from the cache as later aspossible, it is expected that P2P-MRM, PSRM-N and PSRM shouldhave the less base latency than FLoD. This expectation is demon-strated by the experimental results shown in Figs. 9 and 10, inwhich two DVE systems (500-node and 1000-node) are tested.

As summarized in Figs. 9 and 10, in either navigation behavior ofrandom walking or cluster movement, the base latency of FLoD is thehighest (always larger than 0.7 s). The base latency of PSRM-N is lessthan P2P-MRM, and PSRM is less than PSRM-N in turn. PSRM has thelowest base latency (always less than 0.65 s). There is one more reasonto explain the best base latency performance of PSRM over FLoD: inpeer selection, PSRM selects a peer from its AOI neighbors based onthe candidate providers' available resource (i.e., peer stability), whileFLoD randomly selects a peer from its AOI neighbors.

Fig. 6. A part of a screenshot of the P2P DVE simulator.

Table 1Parameter settings in the simulator.

Parameter Value

DVE dimensions (units) 50005000Cell width (units) 50503D object file size (kB) 20–503D object number in DVE 10,000Complexity ratio of base shape over the full object 10%Increment size in detailed part (Bytes) 50AOI radius 75Connection limit of AOI neighbors 20Number of nodes in DVE 500, 1000Server upload bandwidth 10 MbpsPeer download bandwidth 66 kB/sPeer upload bandwidth 33 kB/s

J. Jia et al. / Journal of Network and Computer Applications 42 (2014) 1–11 7

Page 8: An efficient caching algorithm for peer-to-peer 3D streaming in distributed virtual environments

5.3.3. Requests by nodesThe term of requests by nodes is a measure of network

dataflow in the P2P DVE. Since the 500-node and 1000-nodeDVE systems have a similar performance on requests by nodes andrequests to the server, in this and next subsections, we onlypresent the experimental results from the 1000-node DVE system.Tables 2 and 3 summarizes the data of requests by nodes in a1000-node DVE with a random walk and a clustering movement,respectively.

We examined the requests by nodes as a measure of networkdataflow in the P2P DVE. From the data summarized inTables 2 and 3, we conclude that PSRM and PSRM-N have muchless requests by nodes than P2P-MRM and FLoD. This demon-strates that the caching algorithm that keeps the base shapes aslong as possible and uses the potential relevance degree has agood performance in reducing the data requests from a client to itsAOI neighbors in the proposed P2P DVE. PSRM generally has lessrequests by nodes than PSRM-N. This demonstrates that thereusability degree not only enhances the navigation experiencein a virtual environment (evaluated by fill ratios and base latency),

but also can reduce the data from clients sent into the P2Pnetwork. The data of requests by nodes of four methods is stablewith respect to different cache ratios. This is due to the fact thatwhen the cache capacity is increased, the bottleneck of 3D scenerendering in client's CPU plays a more and more important role inthe navigation of virtual environment.

5.3.4. Requests to the serverAs a supplement to the requests by nodes, we also examined

the requests to the server as another measure of network dataflowin the P2P DVE. Tables 4 and 5 show that PSRM and PSRM-N havemuch less requests to the server than P2P-MRM and FLoD in a1000-node DVE system using two navigation behaviors of arandom walking and a clustering movement. This demonstratesthat our caching algorithm is particularly suitable in the proposedP2P DVE, since very few data requests are sent back directly to theserver. We regard that this suitability comes from the followingtwo aspects: (i) Our caching algorithm takes 3D object usabilityinto account, which makes a client always downloads the

Cache Ratio Cache Ratio

Fig. 7. The fill ratios in a 500-node DVE system with respect to different cache ratios. Left: the behavior of a random walk is used. Right: the behavior of a clusteringmovement.

Cache Ratio Cache Ratio

Fig. 8. The fill ratios in a 1000-node DVE system with respect to different cache ratios. Left: the behavior of a random walk is used. Right: the behavior of a clusteringmovement.

Cache Ratio Cache Ratio

Fig. 9. The base latency in a 500-node DVE system with respect to different cache ratios. Left: the behavior of a random walk is used. Right: the behavior of a clusteringmovement.

J. Jia et al. / Journal of Network and Computer Applications 42 (2014) 1–118

Page 9: An efficient caching algorithm for peer-to-peer 3D streaming in distributed virtual environments

frequently used 3D objects first and maintains them as long aspossible in the cache, such that very few data requests are sent tothe server when the viewpoint in a virtual environment ischanged. (ii) Our caching algorithm takes potential relevance of3D objects into account, which makes the AOI neighbors of a clienthave as much data as possible that may be requested by thatclient, such that few data requests have to be sent to the server.

5.4. Scalability of PSRM

The experimental results have shown that by evaluating withfill ratios, base latency, requests by nodes and requests to theservers, PSRM outperforms PSRM-N, P2P-MRM and FLoD in alarge-scale DVE (measured in 500-node and 1000-node systems).It is interesting to ask whether the PSRM is still suitable for small-or medium-scale P2P DVE? We thus test the four methods in P2PDVE systems of scales of 100, 200, 300, 400 and 500 nodes,respectively, with a fixed cache ratio of 0.25.

Figure 11 shows the fill ratio of four methods with two navigationbehaviors. The results clearly show that with the decrease of nodes inthe DVE to a small scale, the fill ratio decreases gradually in all thefour methods, but PSRM is still generally has the highest fill ratiosdue to its usage of the progress representation and the base shaperemoval delaying mechanism in the caching algorithm. When thereis very few nodes in the DVE, the Voronoi overlays become smallerand each node can find fewer AOI neighbors; thus, the performanceof a P2P DVE in a small scale will closely behave like a C/S DVE. Thetendency to C/S DVE is demonstrated by the results summarized inTable 6, in which the index of requests to the server is increasedwhen the node number is decreased. Also revealed by the data inTable 6, the difference between the two navigation styles of randomwalking and clustering movement becomes very small since thereare few nodes in the DVE. In all the cases, the performance of PSRM isslightly better than PSRM-N: this demonstrates that the reusabilityof 3D objects can still improve the performance in a small-scaleP2P DVE.

6. Conclusion

In this paper we propose a P2P DVE framework that utilizes aprogressive representation of 3D objects. An efficient cachingalgorithm is proposed for this P2P DVE framework. Three distinctfeatures are designed in the proposed caching algorithm.

1. Consider more realistic factors in the P2P DVE frameworkincluding peer heterogeneity, traffic locality and peer stability.

2. Utilize a cache scheduler that postpones the base shapes of 3Dobjects as later as possible by always removing the detailedparts of 3D objects first.

3. In addition to the traditional visual factor measurement (simi-lar to the one defined in Section 4.1) for ranking the importanceof 3D objects in the cache, two more new measures based onobject reusability and potential relevance in AOI neighbors areintroduced to capture the traffic patterns of 3D DVE streamingapplications.

We conducted a comprehensive simulation study. Our experi-ment results demonstrate that our proposed caching algorithm

Cache Ratio Cache Ratio

Fig. 10. The base latency in a 1000-node DVE system with respect to different cache ratios. Top: the behavior of a random walk is used. Bottom: the behavior of a clusteringmovement.

Table 2Requests by nodes per step in a 1000-node DVE with a random walk.

Cache ratio FLoD P2P-MRM PSRM-N PSRM

0.25 2230 2090 550 5400.5 2300 2100 540 5301 2260 2110 550 5402 2210 2100 540 5303 2200 2080 540 520

Table 3Requests by nodes per step in a 1000-node DVE with a clustering movement.

Cache ratio FLoD P2P-MRM PSRM-N PSRM

0.25 2270 2190 540 5300.5 2300 2180 530 5201 2230 2150 530 5202 2170 2140 530 5103 2180 2110 520 510

Table 4Requests to the server per step in a 1000-node DVE with a random walk.

Cache ratio FLoD P2P-MRM PSRM-N PSRM

0.25 539 498 115 1130.5 536 496 112 1111 532 495 113 1092 535 492 108 1073 534 491 107 105

Table 5Requests to the server per step in a 1000-node DVE with a clustering movement.

Cache ratio FLoD P2P-MRM PSRM-N PSRM

0.25 541 495 116 1130.5 543 492 119 1111 535 491 113 1092 532 487 110 1073 532 488 108 105

J. Jia et al. / Journal of Network and Computer Applications 42 (2014) 1–11 9

Page 10: An efficient caching algorithm for peer-to-peer 3D streaming in distributed virtual environments

outperforms two classic methods (Chim et al., 2003; Hu et al.,2008), in terms of fill ratio, base latency, requests by nodes andrequests to the server. The proposed caching algorithm performswell on clients having small cache capacity in both large-scale andsmall-scale P2P DVEs. Nevertheless, in our experiments, we use afixed setting of weights α¼ β¼ γ ¼ 1

3 in the preservation metric (5).In addition, user behaviors may impact the performance of thecaching algorithm heavily (Morillo et al., 2010). We plan to improvethe caching performance by finding optimal weight settings inour algorithm depending on customized user behaviors as ourfuture work.

Acknowledgments

We would like to thank two anonymous reviewers' construc-tive comments. These comments help us to quite improve thequalify of the manuscript. We are grateful to Dr. Shun-Yuan Huand Dr. Yong-Jin Liu for their suggestions in the early stage ofthis work. In addition, we thank the editor Prof. GiancarloFortino for his efforts in handling the paper. This work has beenpartially supported by the NSFC (61370231,61272276), the Tech-nology Support Plan of the National “Twelfth Five-Year-Plan” ofChina (2011BAK08B00, 2012BAC11B00-04-03), the MoE DoctoralFund for Higher Education (No.20130072110035), the ProvincialKey Research Grant for Science and Technology in Jilin(No.20140204088GX) and the Changbai Valley Talent Plan(No.3-2013006).

References

Akenine-Moller T, Haines E, Hoffman N. Real-time rendering. 3rd ed. A. K. Peters/CRC Press; 2008.

Albano M, Baraglia R, Mordacchini M, Ricci L. Efficient broadcast on area of interestin Voronoi overlays. In: IEEE CSE; 2009. p. 224–31.

Bishop M, Rao S, Sripanidkulchai K. Considering priority in overlay multicastprotocols under heterogeneous environments. In: IEEE INFOCOM; 2006. p. 1–13.

Botev J, Hohfeld A, Schloss H, Scholtes I, Sturm P, Esch M. The HyperVerse: conceptsfor a federated and torrent-based ‘3D web’. Int J Adv Media Commun 2008;2(4):122–128.

Cavagna R, Royan J, Gioia P, Bouville C, Abdallah M, Buyukkay E. Peer-to-peervisualization of very large 3D landscape and city models using MPEG-4. SignalProcess: Image Commun 2009;24(1–2):115–21.

Cheng W, Liu D, Ooi WT. Peer-assisted view-dependent progressive mesh streaming.In: ACM multimedia; 2009. p. 441–50.

Chien C-H, Hu S-Y, Jiang J-R. Bandwidth-aware peer-to-peer 3d streaming. In: 8thannual workshop on network and systems support for games (NetGames);2009. p. 1–6.

Chien C-H, Hu S-Y, Jiang J-R, Cheng C-W. Bandwidth-aware peer-to-peer 3Dstreaming. Int J Adv Media Commun 2010;4(4):324–42.

Chim J, Lau R, Leong H, Si A. CyberWalk: a web-based distributed virtualwalkthrough environments. IEEE Trans Multimed 2003;5(4):503–15.

Choukair Z, Retailleau D. A QoS model for collaboration through distributed virtualenvironments. J Netw Comput Appl 2000;23(3):311–34.

Delaney D, Ward T, McLoone S. On consistency and network latency in distributedinteractive applications: a survey. Presence: Teleoper Virtual Environ 2006;15(4):465–482.

Franklin MJ, Carey MJ, Livny M. Global memory management in client–serverdatabase architectures. In: Proceedings of 18th international conference onvery large data bases (VLDB); 1992. p. 596–609.

Garland M, Heckbert P. Surface simplification using quadric error metrics. In: ACMSIGGRAPH; 1997. p. 209–16.

Google earth, ⟨http://www.google.com/earth/index.html⟩.Hei X, Liang C, Liang J, Liu Y, Ross KW. A measurement study of a large-scale P2P

IPTV system. IEEE Trans Multimed 2007;9(8):1672–87.Hei X, Liu Y, Ross K. IPTV over P2P streaming networks: the mesh-pull approach.

IEEE Commun Mag 2008;46(2):86–92.Hoppe H. Progressive mesh. In: ACM SIGGRAPH; 1996. p. 99–108.Second life, ⟨http://secondlife.com⟩.Hu S-Y, Chen J-F, Chen T-H. VON: a scalable peer-to-peer network for virtual

environments. IEEE Netw 2006;20(4):22–31.Hu S-Y, Huang T-H, Chang S-C, Sung W-L, Jiang J-R, Chen B-Y. FLoD: a framework for

peer-to-peer 3D streaming. In: IEEE INFOCOM; 2008. p. 1373–81.Hu S-Y, Jiang J-R, Chen B-Y. Peer-to-peer 3D streaming. IEEE Internet Comput

2010;14(2):54–61.Jia J-Y, Wang P, Wang S, Wang Y. An integer incremental AOI algorithm for

progressive downloading of large scale VRML environments. In: edutainment;2007. p. 711–22.

Kumar R, Liu Y, Ross KW. Stochastic fluid theory for P2P streaming systems. In: IEEEINFOCOM; 2007. p. 919–27.

Li T-Y, Hsu W-H. A data management scheme for effective walkthrough in large-scale virtual environments. Vis Comput 2004;20(10):624–34.

Liang H, Motani M, Ooi WT. Textures in second life: measurement and analysis. In:IEEE international conference on parallel and distributed systems (ICPADS);2008. p. 823–8.

Li FW, Lau RW, Kilis D, Li LW. Game-on-demand: an online game engine based ongeometry streaming. ACM Trans Multimed Comput Commun Appl 2011;7(3) 19:1–19:22.

Liu Y-J, Tang K. The complexity of geodesic Voronoi diagrams on triangulated2-manifold surfaces. Inf Process Lett 2013;113(4):132–6.

Liu Y-J, Chen Z, Tang K. Construction of iso-contours, bisectors, and Voronoidiagrams on triangulated surfaces. IEEE Trans Pattern Anal Mach Intell2011;33(8):1502–17.

Liu Y-J, Zheng Y-F, Lv L, Xuan Y-M, Fu X-L. 3D model retrieval based on color-þgeometry signatures. Vis Comput 2012;28(1):75–86.

Liu Y-J, Fu Q-F, Liu Y, Fu X-L. A distributed computational cognitive model for objectrecognition. Sci China (Ser F: Inf Sci) 2013;56(9):1–13.

Luebke D, Reddy M, Cohen J, Varshney A, Watson B, Huebner R. Level of detail for3D graphics. Morgan Kaufmann; 2002.

Maamar H, Boukerche A, Petriu E. MOSAIC: a mobile peer-to-peer networks-based3d streaming supplying partner protocol. In: IEEE/ACM 14th internationalsymposium on distributed simulation and real time applications (DS-RT);2010. p. 61–8.

Morillo P, Rueda S, Orduña JM, Duato J. Ensuring the performance and scalability ofpeer-to-peer distributed virtual environments. Future Gener Comput Syst2010;26(7):905–15.

Node Size Node Size

Fig. 11. The fill ratios in the DVE system with a fixed cache ratio 0.25. Left: the behavior of a random walk is used. Right: the behavior of a clustering movement.

Table 6Requests to the server per step in a P2P DVE with fixed cache ratio 0.25.

Node size A random walk A clustering movement

PSRM-N PSRM PSRM-N PSRM

100 335 324 339 327200 292 279 295 271300 223 215 216 210400 163 152 157 146500 123 118 129 115

J. Jia et al. / Journal of Network and Computer Applications 42 (2014) 1–1110

Page 11: An efficient caching algorithm for peer-to-peer 3D streaming in distributed virtual environments

Pan K, Cai W, Tang X, Zhou S, Turner S. A hybrid interest management mechanismfor peer-to-peer networked virtual environments. In: IEEE parallel & distrib-uted processing; 2010. p. 1–12.

Popescu G, Codella C. An architecture for QoS data replication in network virtualenvironments. In: IEEE virtual reality; 2002. p. 41–8.

Royan J, Gioia P, Cavagna R, Bouville C. Network-based visualization of 3Dlandscapes and city models. IEEE Comput Graph Appl 2007;27(6):70–9.

Si A, Leong H-V. Adaptive caching and refreshing in mobile databases. Pers Technol1997;1(3):156–70.

Singhal S, Zyda M. Networked virtual environments: design and implementation.Addison-Wesley Professional; 1999.

Steed A, Oliveira MF. Networked graphics: building networked games and virtualenvironments. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc; 2009.

Sung W-L, Hu S-Y, Jiang J-R. Selection strategies for peer-to-peer 3D streaming. In:Proceedings of 18th international workshop on network and operating systemssupport for digital audio and video (NOSSDAV); 2008. p. 15–20.

Ta DNB, Zhou S, Cai W, Tang X, Ayani R. Multi-objective zone mapping in large-scaledistributed virtual environments. J Netw Comput Appl 2011;34(2):551–61.

Van Den Bossche B, De Vleeschauwer B, Verdickt T, DeTurck F, Dhoedt B, Demeester P.Autonomic microcell assignment in massively distributed online virtual environ-ments. J Netw Comput Appl 2009;32(6):1242–56.

Wang W. On effective transmission mechanisms for large-scale virtual realityapplications on the internet [Ph.D. thesis]. School of Software Engineering,Tongji University; 2011 (in Chinese).

Wang W, Jia J-Y. An incremental SMLAOI algorithm for progressive downloadinglarge scale WebVR scenes. In: ACM Web3D; 2009. p. 55–60.

Wang W, Jia J-Y, Yu Y, Hu S-Y. Progressive cache replacement for massive peer-to-peer WebVR worlds. In: Workshop on network and systems support for games(NetGames); 2010.

Wang W, Jia J-Y, Hei X. Balance visual saliency, reusability and potential relevancefor caching P2P 3D streaming contents. In: International IFIP conferences onnetworking (Networking 2013), Brooklyn, New York; 2013.

Zhang B, Xu H, Jia J-Y. Online collaborative virtual decoration design system basedon transparent adaptation method. J Syst Simul 2013;25(7):1585–91.

Zhao ZW, Ooi WT. Joserlin: Joint request and service scheduling for peer-to-peernon-linear media access. In: Proceedings of 21st ACM international conferenceon multimedia; 2013. p. 303–12.

Zhu M, Mondet S, Morin G, Ooi WT, Cheng W. Towards peer-assisted rendering innetworked virtual environments. In: ACM multimedia; 2011. p. 183–92.

J. Jia et al. / Journal of Network and Computer Applications 42 (2014) 1–11 11