• 沒有找到結果。

在無線感測網路中針對分散式多重資料源與多重目的地資料傳輸的行動代理人模型

N/A
N/A
Protected

Academic year: 2021

Share "在無線感測網路中針對分散式多重資料源與多重目的地資料傳輸的行動代理人模型"

Copied!
34
0
0

加載中.... (立即查看全文)

全文

(1)

網路工程研究所

在無線感測網路中針對分散式多重資料源與多

重 目 的 地 資 料 傳 輸 的 行 動 代 理 人 模 型

A Mobile Agent Model for Distributed Multi-Source,

Multi-Destination Data Transmission

in a Wireless Sensor Network

研 究 生:林育萱

指導教授:曾煜棋 教授

易志偉 教授

(2)

在無線感測網路中針對分散式多重資料源與多重目的地

資料傳輸的行動代理人模型

A Mobile Agent Model for Distributed Multi-Source, Multi-Destination

Data Transmission in a Wireless Sensor Network Cooperative Compound

Document Editing System

研 究 生:林育萱 Student:Yu-Hsuan Lin

指導教授:曾煜棋 Advisor:

Prof. Yu-Chee Tseng

易志偉

Prof. Chih-Wei Yi

國 立 交 通 大 學

網 路 工 程 研 究 所

碩 士 論 文

A Thesis

Submitted to Institute of Network Engineering College of Computer Science

National Chiao Tung University in partial Fulfillment of the Requirements

for the Degree of Master

in

Computer Science

June 2009

Hsinchu, Taiwan, Republic of China

(3)

A Mobile Agent Model for Distributed

Multi-Source, Multi-Destination Data

Transmission in a Wireless Sensor Network

Student: Yu-Hsuan Lin

Advisor: Prof. Yu-Chee Tseng

Prof. Chih-Wei Yi

Department of Computer Science

National Chiao-Tung University

(4)

在無線感測網路中針對分散式多重資料源與

多重目的地資料傳輸的行動代理人模型

學生: 林育萱 指導教授: 曾煜棋 教授 易志偉 教授 國立交通大學網路工程研究所碩士班 摘 要 在無線感測網路中,資料傳輸型態可以分成一對一、多對一、一對多以及多 對多這幾種傳輸型態。在本篇論文中,我們探討了無線感測網路中,多對多的資 料傳輸型態。在這種多對多的傳輸中,有許多目地點,而每個目的點都有一個目 標函式,而此目標函式需要得到某些資料源的感測資料,以進行目標函式的運算。 當感測資料在網路中傳輸時,我們透過資料群播與聚集的技術來同時且有效地計 算這些目標函式。 在本篇論文中,我們針對分散式網內群播及聚集技術,提出了一個行動代理 人模型。一個行動代理人存在於一個邏輯角色中,其能自動地指示該點的群播及 聚集運算,透過此模型,我們能減少網路中資料傳輸的花費。而為了達到最佳化 目的,每個邏輯角色在網路中會進行移動、分裂成多個邏輯角色、或者和其他邏 輯角色進行結合。而行動代理人模型是採分散式的方式運作在網路中。透過模擬 的結果,可以顯示出行動代理人模型在無線感測網路中多對多資料傳輸的顯著效 能。 關鍵字:資料聚集、多對多資料傳輸、資料群播、無線通訊、無線感測網路。

(5)

A Mobile Agent Model for Distributed

Multi-Source, Multi-Destination Data

Transmission in a Wireless Sensor Network

Student: Yu-Hsuan Lin

Advisor: Prof. Yu-Chee Tseng

Prof.

Chih-Wei Yi

Department of Computer Science

National Chiao-Tung University

ABSTRACT

Communication patterns in a wireless sensor network (WSN) can be classified as one-to-one, one-to-many, many-to-one, and many-to-many. In this paper, we consider the most general many-to-many communication in a WSN. In such many-to-many communications, each destination has an objective function, which requires inputs from multiple source nodes, and there are multiple destinations each with its own defined objective function. In order to compute these objective functions efficiently and simultaneously, sensing data may be multicast and aggregated while being transmitted in the WSN. We propose a mobile agent model for distributed in-network multicast and aggregation to reduce the total induced communication cost, where a mobile agent in a logical role which can conduct multicast/aggregation operations autonomously. A logical role can also migrate itself around, split into multiple roles, or merge with other roles for optimization purposes. The scheme works in a

distributed manner. Extensive simulations are conducted to verify our results.

Keywords: aggregation, many-to-many communication, multicast, wireless communication, wireless sensor network.

(6)

iii 

誌謝

首先我要誠摯地感謝我的指導教授曾煜棋老師,在這兩年的研究生涯中給予 了我很多的指導以及幫助,在老師的指導下,我學到了許多做研究的方法與態度, 以及論文寫作方面的技巧,也因此讓我能順利地完成了這篇論文。同時我也要感 謝共同指導教授易志偉老師給予的指導與建議,以及口試委員沈建中教授、許健 平、呂學士教授在口試中所給予的寶貴意見,讓這篇論文更加完整。 此外,我也由衷地感謝同組的葉倫武學長,在這兩年的學習中,當我遇到困 難時能適時地給予我指導及幫助。最後要感謝 HSCC 實驗室全體的成員,不論是 在研究上或者其他方面都讓我受益良多,我很珍惜和大家相處這兩年的點點滴 滴。 最後,感謝我的父母及家人,在我做任何決定時都給予支持與關懷,使我能 夠無虞地完成我的學業。 在此向大家獻上我誠摯地謝意跟祝福 林 育 萱 謹識於 國立交通大學網路工程研究所碩士班 中華民國九十八年六月

(7)

Contents

Abstract i 誌謝 iii Contents iv List of Figures v List of Tables vi 1 Introduction 1 2 Problem Statement 6 3 Mobile Agent Model for Many-to-Many Communication 7 3.1 Logical Roles ………. 10

3.2 Logical Aggregation Tree ……….. 11

3.3 Logical Aggregation/Multicast Mesh ……… 12

3.4 Maintenance of Logical Roles ………... 12

3.4.1 Aggregation Role update ……… 14

3.4.2 Source Role update ………. 16

3.4.3 Multicast Role update ………. 16

3.5 Addition of an Objective Function ……….17

3.6 Deletion of an Objective Function ……… 19

4 Simulation Results 21

4.1 simulation environment ……….……… 21

4.2 Overlap of Objective Function ……….. 22

4.3 Increase Objective Function ……….. 22

5 Conclusions 24

(8)

List of Figures

   

1.1 A sensor-triggered surveillance scenario involving many-to-many

Communication……… 5

3.1 An overview example….……… 8

3.2 Logical roles ……….. 9

3.3 A logical aggregation tree in a logical scope, where the objective function is F = (S1 + S3) * S2 ...11

3.4 Sub-header for data communications under mobile agent model ...……...13

3.5 Control messages………...13

3.6 Type2 updating of the aggregation role………15

3.7 A source role creates a new multicast role on the current node………15

3.8 An example of how to compute the cost of branch points in addition process……… 19

3.9 An example of deleting an objective function………... 20

4.1 Overlap of Objective Functions ………22

4.2 Increase the size of each objective function……….. 23

4.3 Increase the number of objective functions………23

                     

(9)

List of Tables

   

3.1 Logical roles……… 8

(10)

Chapter 1

Introduction

The rapid progress of wireless communication and embedded MEMS tech-nologies has made wireless sensor networks (WSNs) possible. A WSN normally consists of many inexpensive wireless nodes, each capable of collecting, pro-cessing, storing environmental information, and communicating with neighboring nodes. Many WSN applications have been developed, such as emergency guiding [1][4], object tracking [3][10], and smart living space [5][8].

Communication patterns in a WSN can be classified as one,

one-to-many, many-to-one, and many-to-many. For example, issuing queries to multiple

sensor nodes is one-to-many communication and collecting data from multiple nodes is many-to-one communication (or convergecast). In this paper, we con-sider the most general many-to-many communication, where there are multiple sources and multiple destinations. Each destination has its own objective function, which requires inputs from multiple sources. Different destinations have differ-ent objective functions requiring inputs from differdiffer-ent sources. To minimize the incurred communication overheads, relay nodes may need to conduct multicast and aggregation on sensing data at proper places. This problem is quite challeng-ing because when and how to multicast/aggregate senschalleng-ing data has big impact on performance. Fig. 1.1(a) shows a smart surveillance scenario with several

(11)

able cameras, light sensors, sound sensors, and pressure sensors. Camera C1 will

be activated if the objective function FC1 = (L1|L2)&(S1)&(P1|P2|P3) is true,

C2 will be activated if FC2 = (L1|L3|L5)&(S2)&(P2|P3|P4) is true, and C3 will be activated if FC3 = (L2|L4)&(S1|S3)&(P1|P3|P5) is true(here we assume that a sensor will return a TRUE value if it detects some changes). where a sensor will be triggered and return a TRUE value if it detects some changes. We are interested in efficiently transmitting the required sensing data to each camera to properly acti-vate them. Fig. 1.1(b) shows a scheduling which requires 38 transmissions, while Fig. 1.1(c) shows an alternative which only requires 26 transmissions.

Several works [6][7][9] propose some schemes can be used for many-to-many communications. In reference [6], the authors propose a communication architec-ture to support multiple mobile users in a wireless sensor network. Each mobile user needs different kinds of sensing data in a wireless sensor network. All static sensor nodes form a tree topology rooted at the sink and each mobile user con-nects to the nearest static sensor nodes. All sensor nodes report data to the sink and the sink disseminates the necessary data to a set of static sensor nodes those are the nearest mobile users. It is not energy-efficient because all nodes must re-port sensing data to the sink. This scheme can not be adopted to our scenario because it needs a central sink to collect all sensing data. The work [9] pro-poses an aggregated hierarchical multicast algorithm to reduce the amount of data within many-to-many communication scheme. The work only focuses on how the data packets can be efficiently aggregated while providing bounds on delay jitter. Hence, the work can not be used for many-to-many communication in a wireless sensor network. The work [7] proposes a many-to-many aggregation algorithm in a wireless sensor network. According to the predefined aggregation function, the algorithm can obtain the transmission plan for each network edge. However, this work does not describe how to obtain the routing path from each source node to

(12)

sink node. Hence, in our work, we propose a distributed algorithm to find the rout-ing paths from each source to each sink to minimize the network cost accordrout-ing to the aggregation functions.

Other works focus on one-to-many or many-to-one communications in wire-less sensor network. MVsink [2] proposes four many-to-one algorithms to reduce the network cost by incrementally building aggregation trees in the network. How-ever, those algorithms can not support generalized aggregation functions. Since the work just considers about many-to-one communications, there are still many duplicate aggregation requirements to waste network resources when it extends to many-to-many communications.

Our proposed mobile agent model takes a view of logical plane in such many-to-many communications. We call a mobile agent as a logical role which can be created, terminated, moved and merged in the network. There are four types of logical roles in this model, such as aggregation role, multicast role, destination role, and source role.

At first, a destination role, requiring some sensing data from source role, pro-cesses its objective function into a virtual aggregation tree structure which is com-posed of those logical roles. Then, the destination role floods an OBJ REQUEST message with the information of its objective function. The required source roles or suitable existing aggregation and multicast role will return OBJ REPLY mes-sages. According to the return messages, the destination role can reduce the ag-gregation roles in the virtual agag-gregation tree. Then the destination role creates the aggregation roles and multicast roles in the network and binds them to proper node. Those logical multicast and aggregation roles make a rule to route and aggregate the sensing data in the network. In the final step, the destination role triggers those logical roles to start updating. Those logical roles will move or merge themselves to the better candidate nodes dynamically. Consequently, the

(13)

routing path will gradually change to reduce the communication cost.

The rest of this paper is organized as follows. Section 2 formulates our prob-lem. Section 3 presents our proposed algorithm. Simulation results are given in Section 4. Finally, Section 5 concludes this paper.

(14)

ˌ˃ ˌ˃ ˌ˃ ˌ˃ P5 P1 P2 P3 P4 S1 S2 S3 L2 L1 L4 L3 L5 C1 C3 C2 )& /_/   6_ 6  3_3_3 )& /_/   6  3_3_3 )& /_/_/   6  3_3_3 Camera Relay node Light sensor Sound sensor Pressure sensor

(a) sensors and objective functions

)& /_/   6_ 6  3_3_3 )& /_/   6  3_3_3 )& /_/_/   6  3_3_3 ˖ˆ ˣˈ ˟˅ ˟ˇ ˦ˆ ˟ˈ ˣˆ ˦˄ ˣ˄ ˖˄ ˟˄ ˣ˅ ˦˅ ˟ˆ ˣˇ ˖˅ ˆˋʳ̇̅˴́̆̀˼̆̆˼̂́̆ (b) A simple scheduling )& /_/   6_ 6  3_3_3 )& /_/   6  3_3_3 )& /_/_/   6  3_3_3 ˖ˆ ˣˈ ˟˅ ˟ˇ ˦ˆ ˟ˈ ˣˆ ˦˄ ˣ˄ ˖˄ ˟˄ ˣ˅ ˦˅ ˟ˆ ˣˇ ˖˅ ˅ˉʳ̇̅˴́̆̀˼̆̆˼̂́̆

(c) A more efficient scheduling

Figure 1.1: A sensor-triggered surveillance scenario involving many-to-many communication.

(15)

Chapter 2

Problem Statement

We are given a WSN, on which many-to-many communication needs to be ex-ecuted. There are n source nodes S1, ..., Snand m destination nodes K1, ..., Km.

Each destination node Ki, i = 1 . . . m, has an objective function Fi, which

re-quires inputs from some source nodes to compute its value. We assume that these functions contain operands connected by simple operators such as +, −, ×, /, |, &, min, max, sum, etc. Whenever needed, parentheses are used to clarify prece-dence. We assume that sources all generate data with the same period for the destinations to compute their functions. Our goal is to minimize the amount of data transmissions for such many-to-many communication.

(16)

Chapter 3

Mobile Agent Model for

Many-to-Many Communication

We propose a mobile agent model to solve the many-to-many communica-tion problem. A mobile agent is a logical role. We define four logical roles. A logical role can be created, moved, merged, and terminated under our mobile agent model. Mobile agents work like an overlay network to multicast/aggregation sensing data to reduce communication overheads. For one destination, the over-lay network is like a logical tree, and for multiple destinations, it looks like a mesh. We show how mobile agents autonomously migrate themselves around to gradually reduce the induced data transmission costs. We also address how to add and delete an objective function in the network. Fig. 3.1 shows an example of a many-to-many communication, where K1, K2, and K3 are three destination

nodes. Fig. 3.1(a) shows a general data transmission with shortest path manner for the objective functions. Fig. 3.1(b) shows another result of data transmission under mobile agent model. We can see that aggregation roles and multicast roles navigate data flows and reduce the number of data transmissions in the network.

(17)

(S1+S3)xS4 K2 K1 (S1S3)xS4 (S1+S3)xS2 S2 K3 S2 S4 S1 S S4 S2 S3

(a) A general shotest path manner (27 trans-missions) K2 K1 (S1+S3)xS4 (S1+S3)xS2 K2 K3 x x S2 + x S1 S4

Destination role Aggregation role

S2

S3

Source role Multicast role Wireless Node

(b) Under mobile agent model (15 transmis-sions)

Figure 3.1: An overview example

Table 3.1: Logical roles.

Aggregation Role Multicast Role Destination Role Source Role Movable Yes Yes No NO

Symbol

(18)

Logical role (S1+S3) (S1+S3) Aggregation role + ( 1 3) ( 1 3) Logical role S1 S1 SS33

(a) aggregation role

Logical role (S1+S3) (S1+S3) (S1+S3) (S1+S3) Multicast role (S1 S3) (S1 S3) (S1 S3) (S1 S3) Logical role (S1+S3) (S1+S3) (b) multicast role S3 S3 S3 S3 S3 S3 source role S3 (c) source role Destination role (S2xS3) (S2xS3) S S (S1+S3) (S1+S3) S5 S5 (d) destination role

Figure 3.2: Logical roles

(19)

3.1 Logical Roles

There are four types of logical roles in our model. A logical role should bind itself to a physical sensor node. However, a physical sensor node may be bound by multiple logical roles.

• Aggregation Role: An aggregation role takes inputs from multiple logical

roles and combines them into one aggregated result as output to another logical role. The combination is through an aggregation operator. An ag-gregation role is movable.

• Multicast Role: A multicast role takes inputs from one logical role and

duplicates it to multiple logical roles. A multicast role is also movable.

• Source Role: A source role has no input data but can transmit, when being

subscribed by other logical roles, its sensing data to those logical roles. We assume that it will report its sensing data periodically. A source role is not movable.

• Destination Role: A destination role takes inputs from one or multiple

log-ical roles to compute its objective function. A destination role is not mov-able. A new destination roles can be added at any time by specifying its ob-jective function. After finishing, an existing destination role can be deleted.

Fig. 3.2 plots some examples of these logical roles. Note that two logical roles may be connected by a direct link or by a multi-hop route. A source role is triggered when it collects a piece of sensing data. A role of any other type is triggered when it receives all its required inputs.

(20)

(S1+S3) x S2 (S1+S3) x S2 x (S1+S3) (S1+S3) S2 S2 + S2 S1 S1 SS33 S1 S3

Figure 3.3: A logical aggregation tree in a logical scope, where the objective function is F = (S1+ S3) × S2.

3.2 Logical Aggregation Tree

The computation of an objective function can be regarded as a logical aggre-gation tree with sensing data being relayed and aggregated on their way to the destination role. In this mobile agent model, we decompose an objective func-tion into multiple aggregafunc-tion operafunc-tions each as an aggregafunc-tion role. As a result, for a destination role’s point of view, there is a logical aggregation tree rooted at itself. Fig. 3.3 shows a example of a logical aggregation tree. The root is a destination role, all leaves are source roles, and the branch points are aggregation roles. Therefore, the destination role can compute the objective function when all required data from its upstream roles arrives.

(21)

3.3 Logical Aggregation/Multicast Mesh

In our mobile agent model, there are multiple logical aggregation trees in the network since there are multiple objective functions. The requested inputs of objective functions may overlap. Therefore, the logical aggregation trees may cross or share a subtree of each other in the network. Fig. 3.1(b) shows an example of three logical aggregation trees in the network. Those logical roles compose an aggregation/multicast mesh network in the logical scope. Each logical role only has to maintain the relationship between its input roles and output roles. For the reason, the functionalities of the mesh network won’t be changed if we just move the logical roles without modifying the connections in the mesh network.

3.4 Maintenance of Logical Roles

In mobile agent model, we converts objective requirements into logical roles and then disseminates the logical roles among the network in a distributed manner. Each logical role will individually operate a updating process according to its type of logical roles. We define a sub-header for data communications between logical roles. Fig. 3.4 shows the structure of the sub-header. The SrcID and DestID are the pair of node ID and role ID (NodeID, RoleID) of a sender role and a receiver role. T otalHops is the hop-count between the sender and receiver. CurHops is the current hop-count from the sender. In a data transmission between two logical roles, a node which is on the routing path of the transmission and its 1-hop neighbor nodes will hear the data packet. According to the sub-header, these nodes can update its routes to the sender and receiver.

(22)

SrcID DestID TotalHops CurHops Type

Figure 3.4: Sub-header for data communications under mobile agent model.

AggrID Inputs

num In1ID

Type cost1 … InnID costn

(a) AGGR QUERY

NodeID Inputs

num In1ID

Type … InmID cost

num

(b) Type1 AGGR REPLY

AggrID cost Type AggrID cost Type

(c) Type2 AGGR REPLY

Outputs McstID Outputs

num Out1ID

Type cost1 … OutnID costn

(d) MCST QUERY

NodeID

Type Outputs … cost

num Out1ID OutnID

(e) MCST REPLY

Figure 3.5: Control messages

(23)

3.4.1 Aggregation Role update

Aggregation roles trigger a updating procedure periodically after it is acti-vated. For the race condition issue in the distributed system, an aggregation role requires to lock its input logical roles and the output logical role before it starts the updating process. First of all, the aggregation role A broadcasts an AGGR QUERY message to its K-hop neighbors. The K-hop neighbors examine whether it can be a candidate node for the updating or not. A node C check which inputs of A it can connect. C find a maximum set Ic ⊆ I to satisfy Eq. (3.1) where

I is the inputs of A and D(i, j) is the hop-count number between i and j. If C can

find a IC, C will become a type1 candidate node and send back a AGGR REPLY

message. According to the AGGR REPLY messages, A determines which inputs should be aggregated on which type1 candidate nodes.

n X j=1 D(icj, C) + D(C, A) < n X j=1 D(icj, A), Ic= {ic1, ic2, ..., icn} (3.1)

However, there might be an existing aggregation role which does the same ag-gregation operation and is near A. Hence, the existing agag-gregation role, Aexisting,

become a type2 candidate if it satisfies Eq. (3.2).

D(Aexisting, A) <

X

i∈I

D(i, A) (3.2)

Type1 candidates are the better nodes to perform the current aggregation role. Hence, the current aggregation role can be moved or split to the candidate nodes to reduce the transmission cost. Nevertheless, a type2 candidate is an existing aggregation role which already performs the same aggregation operation in the network. That means it is worth to merge the two existing aggregation roles to a single aggregation role.

(24)

Both type1 and type2 candidates will transmit an AGGR REPLY message to the current updating aggregation role. Then the aggregation role determines which type is better to process updating. For type1 updating, the aggregation role informs its input roles, output role and the candidate nodes to establish the routing relationship and then move or split itself to the candidate nodes. For type2 updating, the aggregation role informs its output role and the candidate role first. Then the current aggregation role gets destroyed and the candidate role takes a job to serve the output of current aggregation role. Since the candidate role has to serve two output logical roles after merging, a multicast role will be created to serve the two output logical roles. Fig. 3.6 shows an example of type2 updating.

(S1+S3) (S1+S3) (S 1+S3) (S1+S3) (S1+S3) (S1+S3) + 1 3 1 3 + S1 S1 (S1+S3) (S1+S3) + (S1+S3) (S1+S3) + (S1+S3) (S1+S3) S1 S1 S 3 S3 SS33 SS11 SS33

Figure 3.6: Type2 updating of the aggregation role .

source role

S3 S3 source role

Figure 3.7: A source role creates a new multicast role on the current node.

(25)

Algorithm 1 Procedure AggregationRoleUpdate() executed by an aggregation role periodically

1: Lock other corresponding roles

2: Broadcast AGGR QUERY message to its K-hop neighbor nodes

3: Find the best updating candidates by AGGR REPLY messages

4: if T ype2 updating then

5: merge this aggregation role to the candidate aggregation role and then terminate this role

6: else if T ype1 updating then 7: if require split then

8: split the current aggregation role into multiple sub-aggregation roles

9: move those roles to the candidate nodes

10: else

11: move current role to the candidate node

12: end if

13: else

14: (no candidates) sleep for a while

15: end if

3.4.2 Source Role update

A source role can serve more than one logical role. However, setting up mul-ticast roles to relay the raw sensing data takes a chance to reduce the transmission costs. Therefore, a source role will periodically create a new multicast role to cope with its output logical roles if there are more than one logical role associated with it.

3.4.3 Multicast Role update

A multicast role processes an update procedure periodically. The updating procedure of a multicast role is similar to an aggregation role. Conversely, a multicast role, M, updates itself in the reverse direction of an aggregation role. First, M broadcasts MCST QUERY message to its K-hop neighbors. A node which is received the message will verify routing costs to the outputs of M. A node, C, becomes a candidate node if it find a set Ocwhich satisfies the Eq. (3.3),

(26)

where O is the outputs of M. n X j=1 D(ocj, C)+D(C, A) < n X j=1 D(ocj, A), Oc = {oc1, oc2, ..., ocn}, Oc⊆ O (3.3)

After the candidate nodes return a MCST REPLY message, M chooses the best candidate nodes to perform the current multicast role. Finally, M move or split inself to those candidate nodes. The new position of the multicast role makes a profit in the network since the transmission number of data packets is decreased.

Algorithm 2 Procedure MulticastRoleUpdate() executed by a multicast role periodically

1: Lock other corresponding roles

2: Broadcast MCST QUERY message to its K-hop neighbor nodes 3: Find the best updating candidates by MCST REPLY messages

4: if receive MCST REPLY message then

5: if require split then

6: split the current multicast role into multiple multicast roles

7: move those roles to the candidate nodes

8: else

9: move current role to the candidate node

10: end if

11: else

12: (no candidates) sleep for a while

13: end if

3.5 Addition of an Objective Function

A destination role will be created when a physical node has an objective func-tion in the network. At first, a destinafunc-tion role, K, floods an OBJ REQUEST mes-sage with its objective function. Once a logical role can provide a part of the ob-jective function, the logical role will send back an OBJ REPLY contained which subset of objective function it can serve and the hop-count cost to the destination role. As a result, not only the requested source roles but also existing aggrega-tion and multicast roles will inform K. K constructs a virtual logical aggregaaggrega-tion

(27)

Algorithm 3 Procedure AddObjectiveF untion() executed by a destination role

1: Flood a OBJ REQUEST message with the objective function

2: Construct a virtual logical aggregation tree according to the objective function

3: while not timeout do

4: if receive OBJ REPLY messages then

5: Update the hop-count cost in the virtual tree structure

6: end if 7: end while

8: Compute the minimal hop-count cost

9: Trim off the redundant branch points in the virtual tree 10: Create the aggregation roles for branch points in the network 11: Activate the aggregation roles

tree with the precedence of the objective function. According to OBJ REPLY messages, K records the expected positions of leaves or branch points and the minimum count cost from K to them. Subsequently, K computes the hop-count cost of each branch point. The hop-hop-count cost of a branch point is the total cost of its sub-layer. Only the minimum cost will be kept if there is already a cost record by an OBJ REPLY message. Fig. 3.8 shows an example of how to com-pute the cost of branch points. If the cost of a branch point is less than the total cost of the leaf points in the subtree, we trim off the subtree in the virtual tree. At the time, the remaining branch points in the virtual logical aggregation tree are the aggregation roles which K requires to create in the current network. Once the aggregation roles are created, the backbone of the logical aggregation tree is really constructed in the network. Finally, the destination role can obtain the objective result when the requested sensing data route along the logical aggregation tree in the network.

(28)

K1 cost K1 cost 11 x cost 12 Pos. x cost 8 Pos. K1 + Pos. T2 S2 cost Pos S 3 cost 5 + Pos. K1 S2 cost Pos S 3 cost 5 S1 S3 S5 cost 3 Pos. S 2 + Pos. T 3 S 5 cost 3 Pos. S 2 + Pos. T 3 Pos. S 5 cost Pos. S3 5 cost Pos. S1 7 Pos. S 5

Figure 3.8: An example of how to compute the cost of branch points in addition process.

3.6 Deletion of an Objective Function

For deleting an existing objective function, the destination role has to broad-cast an OBJ CANCEL message to its associated logical roles in the network. The way to traverse the associated logical roles is forwarding the OBJ CANCEL mes-sage in the reverse direction of the data packets until the current logical roles are multicast roles or source roles. An aggregation role will terminate itself and for-ward the message to next logical roles when it receives a OBJ CANCEL message. A multicast role requires to inform its input role and another output role to link directly and then terminate itself without forwarding the OBJ CANCEL message. However, when a source role receives an OBJ CANCEL message, it only has to cancel the output to the forwarder of the OBJ CANCEL message. Fig. 3.9 shows an example of deleting an objective function.

(29)

K2 K1 (S1+S3)xS4 K2 K1 x (S1+S3)xS4 (S1+S3)xS2 K3 + x S2 S1 K3 + x x S2 S1 S4 S1 S4 S1 S2 S3 S2 S3

Figure 3.9: An example of deleting an objective function.

(30)

Chapter 4

Simulation Results

In this chapter, we address the simulation results comparing the performance of our solution against a shortest path mechanism, a simple multicast mechanism and a simple aggregation mechanism. We evaluate the relation between perfor-mance and the overlap of objective functions. We also increase the objective function in the size and numbers.

4.1 simulation environment

We setup 60 nodes randomly deployed in 500 × 500 unit2 in the simulations.

The transmission radius of each node is 50 units. In shortest path mechanism, the transmission number for a pair of a destination and a source is the least hop-count between the destination and the source. We sum up all the cost of the pairs in the network as total transmission numbers. In multicast mechanism, for each requested source and its subscriber, we construct a multicast tree based on a minimum spanning tree. The total transmission numbers is the total cost of the multicast trees. In aggregation mechanism, for each destination and its requiring source, we construct an aggregation tree based on a minimum spanning tree. As well as multicast mechanism, the total transmission numbers is the total cost of the aggregation trees in the network.

(31)

4.2 Overlap of Objective Function

First, we evaluate the overlap of objective functions. Fig. 4.1 shows the simu-lation results. In the figure, there are 3 objective functions in the network. Each of them requiring 6 source for their inputs. Since the more overlap of the objective functions have the more opportunities to share the sensing data, the transmission number decreases while we increase the overlap ratio. The SPT mechanism is case that transmits data packets individually without any aggregation data or multicast relay techniques. Therefore, we normalize the transmission numbers to the value of SPT. The aggregation mechanism brings just a little outperformance since there is precedence of operation in the objective functions. That means, it can not ag-gregation data at some agag-gregation node in its agag-gregation tree so the mechanism just reduce the transmission numbers slightly.

0 10 20 30 40 50 0 20 40 60 80 100

Avg. Transmission Numbers

sources overlap per objective function(%) SPT

Muticast Aggregation MMA

(a) Avg. Transmission Number

0 0.2 0.4 0.6 0.8 1 0 20 40 60 80 100

Avg. Normalized Transmission Numbers

sources overlap per objective function(%) SPT

Muticast Aggregation MMA

(b) Normalized to SPT

Figure 4.1: Overlap of Objective Functions

4.3 Increase Objective Function

In the section, we increase the objective function in numbers and size of inputs. Fig. 4.2 and Fig. 4.3 show the simulation results. The results are similar in both figures. Our solution takes the more efficient than multicast mechanism. However,

(32)

the simple aggregation mechanism suffers from the many-to-many communica-tion with objective funccommunica-tions. In some cases, SPT even surpasses the aggregacommunica-tion mechanism. 20 30 40 50 60 70 80 90 100 110 6 8 10 12 14

Avg. Transmission Numbers

requesting sources per objective function SPT

Muticast Aggregation MMA

(a) Avg. Transmission Number

0 0.2 0.4 0.6 0.8 1 1.2 6 8 10 12 14

Avg. Normalized Transmission Numbers

requesting sources per objective function SPT

Muticast Aggregation MMA

(b) Normalized to SPT

Figure 4.2: Increase the size of each objective function

20 30 40 50 60 70 80 90 100 110 120 3 4 5 6 7

Avg. Transmission Numbers

requesting sources per objective function SPT

Muticast Aggregation MMA

(a) Avg. Transmission Number

0 0.2 0.4 0.6 0.8 1 3 4 5 6 7

Avg. Normalized Transmission Numbers

Number of Objective Function SPT

Muticast Aggregation MMA

(b) Normalized to SPT

Figure 4.3: Increase the number of objective functions

(33)

Chapter 5

Conclusions

This paper addressed the problem of many-to-many communications in a wire-less sensor network. We propose a mobile agent model for distributed multi-source and multi-destination data transmission which takes a logical view to pro-vide a routing schema to satisfy the objective requirements in the many-to-many communication. We decompose the objective requirements into several single ag-gregation operations in the network. Thus, it is easy to share the joint agag-gregation requirements. The simulation results reveal the outperformance of the model in the many-to-many communication. Moreover, Mobile agent model can be easily adapted to many-to-one or one-to-many communication schema since it concerns about not only the aggregation but also the multicast techniques.

(34)

Bibliography

[1] M. A. Batalin, G. S. Sukhatme, and M. Hattig. Mobile robot navigation using a sensor network. In Proc. of IEEE Int’l Conference on Robotics and Automation, 2004.

[2] L. L. Fernandes and A. L. Murphy. Mvsink: Incrementally building in-network aggregation trees. In Proc. of European Conference on Wireless Sensor Networks, 2009.

[3] C.-Y. Lin, W.-C. Peng, and Y.-C. Tseng. Efficient in-network moving object tracking in wireless sensor networks. IEEE Trans. on Mobile Computing, 5(8):1044–56, 2006.

[4] M.-S. Pan, C.-H. Tsai, and Y.-C. Tseng. Emergency guiding and monitoring applica-tions in indoor 3d environments by wireless sensor networks. International Journal

of Sensor Networks (IJSNet), 1(1/2):2–10, 2006.

[5] M.-S. Pan, L.-W. Yeh, Y.-A. Chen, Y.-H. Lin, and Y.-C. Tseng. A WSN-based in-telligent light control system considering user activities and profiles. IEEE Sensors, 8(10):1710–1721, 2008.

[6] S. Park, E. Lee, Y. Choi, F. Yu, and S.-H. Kim. Communication architecture to support multiple mobile users in wireless sensor networks. In Proc. of IEEE Wireless

Communications and Networking Conference (WCNC), 2008.

[7] A. Silberstein and J. Yang. Many-to-many aggregation for sensor networks. In Proc.

of IEEE Int’l Conference on Data Engineering (ICDE), 2007.

[8] X. Wang, J. S. Dong, C. Chin, S. Hettiarachchi, and D. Zhang. Semantic space: An infrastructure for smart spaces. IEEE Pervasive Computing, 3(3):32–39, 2004. [9] T. Wolf and S. Y. Choi. Aggregated hierarchical multicast – a many-to-many

com-munication paradigm using programmable networks. IEEE Trans. on Systems, Man,

and Cybernetics – Part C: Applications and Reviews, 33(3):358–369, 2003.

[10] Y. Xu, J. Winter, and W.-C. Lee. Prediction-based strategies for energy saving in object tracking sensor networks. In Proc. of IEEE Int’l Conference on Mobile Data

Management, 2004.

數據

Figure 1.1: A sensor-triggered surveillance scenario involving many-to-many communication.
Table 3.1: Logical roles.
Figure 3.2: Logical roles
Figure 3.3: A logical aggregation tree in a logical scope, where the objective function is F = (S 1 + S 3 ) × S 2 .
+7

參考文獻

相關文件

Unlike the case of optimizing the micro-average F-measure, where cyclic optimization does not help, here the exact match ratio is slightly improved for most data sets.. 5.5

Abstract—We propose a multi-segment approximation method to design a CMOS current-mode hyperbolic tangent sigmoid function with high accuracy and wide input dynamic range.. The

Therefore, the purpose of this study is to propose a model, named as the Interhub Heterogeneous Fleet Routing Problem (IHFRP), to deal with the route design

接下來我們將討論切換的機制,因為在我們假設的網路環境下,所以 sink 是保持在接收資料的狀態。網路中所有的感測點都將資料往 sink 端傳送,但是

Selcuk Candan, ”GMP: Distributed Geographic Multicast Routing in Wireless Sensor Networks,” IEEE International Conference on Distributed Computing Systems,

This paper formulates the above situation to the Multi-temperature Refrigerated Container Vehicle Routing Problem (MRCVRP), and proposes a two-stage heuristic which consists of

Tadei, A greedy based neighborhood search approach to a nurse rostering problem, European Journal of Operational Research 153 (2004) pp. Michelon, “A Multi-Objective Approach to

針對上述問題及根據其他接駁配送方式,本研究提出「多重補貨點接駁車 輛路線問題 (Multi-Point Feeder Vehicle Routing Problem, MFVRP)」