(IJCSIS) International Journal of Computer Science and Information Security,Vol. 8, No. 7, October 2010
NPSNET , VELVET  and SimMUD  areexamples of multicast NVE. However, this approach faces theinherent difficulty of determining the right region size. Since,too large regions deliver excessive messages to each avatar.While, small regions require many subscription requests andthus generate message overhead.Approaches with spatial multicast messages have beendeveloped to address the inadequacy of channel-basedmulticast. These approaches use Trees and Distributed HashTables (DHT) to store spatial relations among avatar andobjects in NVE. Examples include N-trees , Solipsis and VON . However, these approaches maintain anotherdata structure and protocol dedicated for interest managementrather than the protocol used to develop the network overlay.
Content-Addressable Network (CAN)
CAN introduces a novel approach for creating a scalableindexing mechanism in P2P environments. It creates a logical
dimensional cartesian coordinate space divided into zones,where zones are partitioned or merged as result of node joining and departure. The entire coordinate space isdynamically partitioned among all the nodes in the systemsuch that every node “owns” its individual, distinct zonewithin the overall space. Fig. 1 shows a
-dimensionalcoordinate space partitioned between 5 nodes.
[ ] [ ]
This virtual coordinate space is used to store (key, value) pairsas follows: to store a pair (K
), key K
is deterministicallymapped onto a point P in the coordinate space using a uniformhash function. The corresponding (K
) pair is then storedat the node that owns the zone within which the point P lies.To retrieve an entry corresponding to key K
, any node canapply the same deterministic hash function to map K
ontopoint P and then retrieve the corresponding value from thepoint P. If the point P is not owned by the requesting node orits immediate neighbors, the request must be routed throughthe CAN infrastructure until it reaches the node in whose zoneP lies.
space with 5 nodes illustrating node’s virtual coordinate zone.
1) Node Join
The entire space is divided amongst the nodescurrently in the system. To allow the CAN to growallocated its own portion of the coordinate space. This is doneby an existing node splitting its allocated zone in half,retaining half and handing the other half to the new node. Theprocess takes four steps:1.
The new node
incrementally, a new node that joins the system must bemust find a node already in S-CAN2.
ing procedure, the join3.
hbors of the split zone must be notified4.
esponsibility for all the keys and
CAN nodes operate without global knowledge of pathand send join request to it.Next, using the S-CAN routrequest is forwarded to the nearest node whose zonewill be split.Then, the neigwith new node.Finally, move robjects data files that are positioned in zone handedto
.the plane. Each node maintains a routing table consists of theIP addresses and logical zones areas of its immediateneighbors. In a
-dimensional coordinate space, two nodes areneighbors if their coordinate spans overlap along
dimensions and abut along one dimension. For example, in fig.1, node A is a neighbor of node B because its coordinate zoneoverlaps with A’s along the Y axis and abuts along the X-axis.On the other hand, node D is not a neighbor of node A becausetheir coordinate zones abut along both the X and Y axes.Routing in CAN works by following the straight linethrough the cartesian space from source to destinationcoordinates. Using its neighbor coordinate set, a node routes amessage towards its destination by simple forwarding to theneighbor with coordinates closest to the destinationcoordinates. As shown in , the average routing path lengthis (4
) hops and individual nodes maintain
2neigrs., the number of nodes (and hence zones) inetwork can grow without an increasing per-node-state, whilethe path length grows with
hbo Thusn the
).3) Node Departure:
When nodes leave CAN, the zones theyAs previesign of occupy must be taken over by the remaining nodes. Thenormal procedure for node leaving is to explicitly hand overits zone and associated (key, value) database to one of itsneighbors. If the zone of one of the neighbors can be mergingwith the departing node’s zone to produce a valid single zone,then this is done. The produced zone must have a regularshape that permits further splitting in two equal parts. If mergefails, the zone is handed to the neighbor whose current zone isthe smallest, and that node will temporarily handle both zones.
THE PROPOSED OVERLAY S-CANously mentioned, our work leverages the dCAN to support user awareness in NVEs. CAN constructs apure logical coordinate plane to uniformly distribute dataobjects. In S-CAN, we use this characteristic to extend thelogical plane with physical spatial meaning for distributingdata objects based on spatial information. Furthermore,because user’s AOI is often based on geographic proximity,we dynamically reorganize the network overlay with respect to
(0.5-0.75, 0.5-1.0)(0.75-1.0, 0.5-1.0)