DVE over Ad Hoc Network
黃仁竑中正大學資工系 /通訊系
Outline
Introductionproblems
Addressing method Routing
unicast, multicast DVE architecture Conclusion
Main challenges
Characteristics of traditional DVEClient/Server ModelNetwork bandwidthDistributed interactionMessage typeScalabilityResource managementNetwork topology
Main Challenges (cont.)
Characteristics of Ad Hoc NetworkLack of infrastructureLow bandwidthSignals are easy to be obstructedMobilityLow reliabilityClient/Server architecture is not suitable
Project Statements
Study network virtual environment in Ad Hoc P2P networks
Approaches Layered design
Similar to OSI/ISO 7 layer (or DVE over TCP over IP) Separate DVE, P2P, Ad Hoc
Simulated scenario Consider physical formation of Ad Hoc network DVE is designed with physical Ad Hoc network in mind
Our Solutions and Goals
Constructing a P2P infrastructure on the Ad Hoc NetworkRouting, mobility (dynamic re-addressing)
Building a networked virtual environment over P2P
Issues P2P over MANET
Overlay topologySelf-organizing, self-addressing
RoutingUnicast, multicast
MobilityFault tolerant
Overlay Topology
1.0
1.11.2
1.3
1.2.11.2.2
1.1.1
無線通訊範圍
行動裝置
Logical IP1.0
1.11.2
1.3
1.2.11.2.2
1.1.1
1.0
1.11.2
1.3
1.2.11.2.2
1.1.1
無線通訊範圍
行動裝置
Logical IP
Self-organizing
Self-addressing
Overlay construction:Join process
一節點一開機
等一段random的時間
廣播發出訊息檢查是有logical IP的節點(Nn)存在
無 自己成為root,logical IP為1.0,並將自己的MAC address當作該樹的ID。
有
廣播發出訊息檢查Nn所在的樹是否root存在
有
無
針對那些Nn發出要加入(requestto join)的訊息。
針對所有收到的回覆選擇selective IP長度最短的當作logical IP
收到那些Nn的回覆(response to join with selective logical IP)
沒收到那些Nn的回覆
向父節點發出回覆(response to join的ack)的訊息
確認取得logical IP,同時定期與父節點作聯繫的動作。
一節點一開機
等一段random的時間
廣播發出訊息檢查是有logical IP的節點(Nn)存在
無 自己成為root,logical IP為1.0,並將自己的MAC address當作該樹的ID。
有
廣播發出訊息檢查Nn所在的樹是否root存在
有
無
針對那些Nn發出要加入(requestto join)的訊息。
針對所有收到的回覆選擇selective IP長度最短的當作logical IP
收到那些Nn的回覆(response to join with selective logical IP)
沒收到那些Nn的回覆
向父節點發出回覆(response to join的ack)的訊息
確認取得logical IP,同時定期與父節點作聯繫的動作。
Addressing Issue(2)
Example1:
1.0
Request to join
Reply to join with IP
Reply ack
1.01.0
1.01.0
1.1
(1) (2) (3) (4) (5)
Addressing Issue(3)
Example2:
1.0
1.1
1.0
1.1Request to join
1.0
1.1
Reply with IP
Reply with IP
1.0
1.1
Reply ack
1.0
1.1 1.2
(1) (2) (3) (4) (5)
Policy to choose a parent node
For low mobility environmentDefine a threshold of signal strengthChoose parent that has shortest logical IP
and stronger signal strength than the threshold
Logical IP changes slowlyLess maintenance overhead
Other Possible Policies
Most power capacity Strongest signal Lowest mobility
Routing
Default routingTraverse the tree up to the nearest common
ancestor and then down to the destination Enhancement: Cache
Take advantage of broadcast Cache two-hop away neighborsLongest Prefix Match
Take advantage of broadcast
Node 1.1.1.2 is closer to 1.1.2.1 Node 1.1.1.2 can detect that 1.1.1.1 is
sending packets to 1.1.2.1 because of broadcasting
1.0
1.11.2
1.3
1.1.2 1.2.21.1.1
1.3.1
1.1.1.11.1.1.2 1.1.2.1
主動告知
1.0
1.11.2
1.3
1.1.2 1.2.21.1.1
1.3.1
1.1.1.11.1.1.2 1.1.2.1
主動告知
Longest Prefix Match
1.0
1.11.2
1.3
1.1.2 1.2.21.1.1
1.3.1
1.1.1.21.1.1.1
1.1.2.1
1.0
1.11.2
1.3
1.1.2 1.2.21.1.1
1.3.1
1.1.1.21.1.1.1
1.1.2.1
Routing Combine with Routing Cache
1.0
1.11.2
1.3
1.1.2 1.2.21.1.1
1.3.1
1.1.1.1.1
1.1.2.1.1
1.1.2.11.1.1.21.1.1.1
1.0
1.11.2
1.3
1.1.2 1.2.21.1.1
1.3.1
1.1.1.1.1
1.1.2.1.1
1.1.2.11.1.1.21.1.1.1
Mobility
Nodes may select a new node as its parent:Signal strength is weaker than some thresholdSignal range can’t reach its original parent
Re-Addressing (cont.)
AB
Release IP of node PP
Request to joinA
B
Release IP of node PP
Request to join
發出加入的訊息(request to join)給父節點。
重新執行找logical address的程序,如先前所提到addressing的程序。
沒收到父節點的回覆(response to join)
檢查該父節點的logical IP長度是否有比原來的父節點短。
無
向該父節點發出要求新logicalIP的訊息(request to join)。
有
取得新的logical IP
沒收到該父節點的回覆(response to join)
收到該父節點回覆的logical IP(response to join)
發出父節點回覆(response tojoin)的ack給新的父節點
向原來的父節點作IP release的動作
向底下的子節點通知父節點IPaddress已經改變
開始與新父節點作定期註冊的動作
聽到其他父節點所發出的回應response to join
有收到父節點的回覆(response to join)
發出加入的訊息(request to join)給父節點。
重新執行找logical address的程序,如先前所提到addressing的程序。
沒收到父節點的回覆(response to join)
檢查該父節點的logical IP長度是否有比原來的父節點短。
無
向該父節點發出要求新logicalIP的訊息(request to join)。
有
取得新的logical IP
沒收到該父節點的回覆(response to join)
收到該父節點回覆的logical IP(response to join)
發出父節點回覆(response tojoin)的ack給新的父節點
向原來的父節點作IP release的動作
向底下的子節點通知父節點IPaddress已經改變
開始與新父節點作定期註冊的動作
聽到其他父節點所發出的回應response to join
有收到父節點的回覆(response to join)
Multicast
Members join Members leave Packet forwarding
Membership management
JoinTake advantage of the tree architecture
LeaveSimilar to join
P
Join
1
1.1 1.2
1.1.11.1.2
1.1.1.11.1.2.1
1.2.1
1.2.1.2
M
Rules of join
Requesting node P sends join message to its parent M
If M is already in the group, discard the message
Otherwise, the message will be forwarded to the parent of M up to the root
Forwarding
Packet format<M,S,I>M: multicast addressS: source address I: intermediate address
Forward (cont.)
For some node A Up
I is a child of A I exactly matches the prefix of S
Down I is the parent of A S is not any descendant of A Some descendants of A are members of M
If A is the root of the tree If other branches have members of M, forward the packet
Issues of DVE in Ad Hoc Network Unworkable solutions
Static serverDirect P2P message exchange (flood of mess
ages) Proposed solution
AOI+Multicast
AOI + Multicast
Entities (or avatar) only interested in receiving information from entities within AOI
Entities send messages to or receive them from their AOIs, corresponding to the region in which they are acting
Map each region (cell) into a multicast group
DVE software architecture
MulticastingFully distributed (no server)Scalable
AOIM (area of interest manager)Divide the virtual world into several cellsAssign distinct multicast channels to each cell
AOIM
Entities send messages to AOI (its cell and neighbor cells) via multicast channels
Entities listen to the multicast channel of its cell only
No centralized servers are needed
DVE software architecture
IO
render AOIM
Net
Control message from user
Message queue
Message queue
Message queue
Leader of the cell
Leader maintains status of entities in the cell
When a new entity enters the cell, it requests information of other entities from the leader
The state of the new joined cell can be initialized
Election of cell leader
An entity enter a new cell It sends a message to find the leader If there is no response, it becomes the leader
When an entity leave a cell It sends a message to tell other entitiesOther entities then send their MAC address to
the cell, and the entity with largest MAC address will be the new leader
Conclusion
P2P over MANET Tree structured overlay topology Self-addressing, self-organizing Unicast and multicast routing
DVE Multicast + AOI
What can be discussed in the future? Connectivity, fast mobility Commercial products?