• 沒有找到結果。

下一代協同式網路關鍵技術研究-子計畫四:在耐延遲網路上以合作式定位輔助之群組同儕通訊

N/A
N/A
Protected

Academic year: 2021

Share "下一代協同式網路關鍵技術研究-子計畫四:在耐延遲網路上以合作式定位輔助之群組同儕通訊"

Copied!
32
0
0

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

全文

(1)

行政院國家科學委員會專題研究計畫 期末報告

下一代協同式網路關鍵技術研究--子計畫四:在耐延遲網

路上以合作式定位輔助之群組同儕通訊

計 畫 類 別 : 整合型

計 畫 編 號 : NSC 100-2221-E-004-007-

執 行 期 間 : 100 年 08 月 01 日至 101 年 09 月 30 日

執 行 單 位 : 國立政治大學資訊科學系

計 畫 主 持 人 : 蔡子傑

計畫參與人員: 碩士班研究生-兼任助理人員:鄧偉敦

碩士班研究生-兼任助理人員:陳界誠

碩士班研究生-兼任助理人員:劉勇麟

博士班研究生-兼任助理人員:羅文卿

報 告 附 件 : 出席國際會議研究心得報告及發表論文

公 開 資 訊 : 本計畫可公開查詢

中 華 民 國 101 年 12 月 25 日

(2)

中 文 摘 要 : 近年來智慧型手機的興起,擁有了無線網路與 3G 上網功

能,加上搭配 GPS(Global Position System),在旅遊活動

中,領隊與團隊成員間之間,或在出遊路程碰遇其他遊客,

利用智慧型手機做各類的訊息傳遞,有了不同面貌的思維。

手機間的通訊,固然可用骨幹網路。然而,因為成本的考量

與實際上的限制,未必所有的地點都適合架設無線的 AP,這

些沒涵蓋到的部分形成了通訊上的黑洞。特別是在一個群組

出遊的活動中,P2P 或群組通訊是重要的需求,但不一定要

利用到基地台或 AP 來作群組通訊,更有可能是出遊地點並無

法有這些無線網路的完整服務。例如登山或腳踏車隊出遊的

活動,通常只在登山口/休息站設立無線 AP 供上網,若是在

活動沿途想要

上傳一些照片與朋友分享、跟群組朋友通訊或個人化的現況

詢問,只能由各個節點彼此合作,透過 multihop 的方式來

傳送訊息。然而,發送端到目的端之間不一定一直存在有一

條端點到端點的路徑可供路由傳送。解決在這樣的不穩定網

路架構下傳輸問題的概念,就稱為耐延遲網路 delay

tolerant networks /disruption tolerant

networks(DTN)。

基於上述,本研究的目的為:在資源受限的 DTN 環境下,利

用群組的信賴關係和地理分群的概念、以及 network

coding,來解決網路頻寬,網路連線變化的問題,並且考量

行動設備的移動性以研究合作式定位,設計一套有效提升群

組通訊傳輸效能的機制。

本計畫先以研究定位演算法,利用 WiFi 與物聯網概念做點

對點間合作式定位,並且引進人智運算的概念,輔助定位系

統,藉使 BikeNet 的分群與 DTN 的傳輸機制更可靠。另外也

希望設計兼顧 energy-efficiency 的一套有效提升群組通訊

傳輸效能的機制。

中文關鍵詞: 耐延遲網路、人智運算、網路編碼、自行車行動網路、合作

式定位

英 文 摘 要 :

英文關鍵詞:

(3)

行政院國家科學委員會補助專題研究計畫成果報告

在耐延遲網路上以合作式定位輔助之群組同儕通訊

計畫類別:■整合型計畫

計畫編號:NSC 100-2221-E-004-007

執行期間: 100 年 8 月 1 日至 101 年 9 月 30 日

計畫主持人:蔡子傑

共同主持人:

計畫參與人員: 鄧偉敦、陳界誠、劉勇麟、羅文卿

成果報告類型(依經費核定清單規定繳交):■精簡報告 □完整報告

本成果報告包括以下應繳交之附件:

□赴國外出差或研習心得報告一份

□赴大陸地區出差或研習心得報告一份

■出席國際學術會議心得報告及發表之論文各一份

□國際合作研究計畫國外研究報告書一份

處理方式:除產學合作研究計畫、提升產業技術及人才培育研究計

畫、列管計畫及下列情形者外,得立即公開查詢

□涉及專利或其他智慧財產權,■一年□二年後可公開查

執行單位:國立政治大學 資訊科學系

中 華 民 國 101 年 11 月 12 日

(4)

行政院國家科學委員會專題研究計畫成果報告

在耐延遲網路上以合作式定位輔助之群組同儕通訊

計畫編號:NSC 100-2221-E-004-007

執行期限:100 年 8 月 1 日至 101 年 9 月 30 日

主持人:蔡子傑 國立政治大學 資訊科學系

計畫參與人員:

鄧偉敦、陳界誠、劉勇麟、羅文卿

此 成 果 報 告 為 三 篇 論 文 / 報 告 的 集 節 :

[1] Tzu-Chieh Tsai, Wen-Tun Teng, “A large scale cooperative location method.”, in IEEE ICCC 2012. [2] Tzu-Chieh Tsai, Yung-Lin Liu, “Energy-aware Grouping Design by Considering Moving Pattern for Delay Tolerant Networks”, in preparation for submission.

[3] Tzu-Chieh Tsai, Chieh-Cheng Chen, “Location assisted Routing with Network Coding in Vehicular Delay Tolerant Networks” , in IEEE ICCC 2012.

本計畫原為申請三年計畫中之第二年計畫,但因 只第一年及第二年均只一次核定一年。因此完成 項目為原本計畫書的部分成果以及在前一年的成 果報告亦含部分成果。 一、A b s t ra c t 近年來智慧型手機的興起,擁有了無線網路 與 3G 上網功能,加上搭配 GPS(Global Position System) , 在 旅 遊 活 動 中 , 領 隊 與 團 隊 成 員 間 之 間,或在出遊路程碰遇其他遊客,利用智慧型手機 做各類的訊息傳遞,有了不同面貌的思維。 手機間的通訊,固然可用骨幹網路。然而, 因為成本的考量與實際上的限制,未必所有的地點 都適合架設無線的 AP,這些沒涵蓋到的部分形成 了通訊上的黑洞。特別是在一個群組出遊的活動 中,P2P 或群組通訊是重要的需求,但不一定要利 用到基地台或 AP 來作群組通訊,更有可能是出遊 地點並無法有這些無線網路的完整服務。例如登山 或腳踏車隊出遊的活動,通常只在登山口/休息站 設立無線 AP 供上網,若是在活動沿途想要 上傳一些照片與朋友分享、跟群組朋友通訊 或個人化的現況詢問,只能由各個節點彼此合作, 透過 multihop 的方式來傳送訊息。然而,發送端 到目的端之間不一定一直存在有一條端點到端點的 路徑可供路由傳送。解決在這樣的不穩定網路架構 下 傳 輸 問 題 的 概 念 , 就 稱 為 耐 延 遲 網 路 delay

tolerant networks /disruption tolerant

networks(DTN)。 基於上述,本研究的目的為:在資源受限的 DTN 環境下,利用群組的信賴關係和地理分群的概 念、以及 network coding,來解決網路頻寬,網 路連線變化的問題,並且考量行動設備的移動性以 研究合作式定位,設計一套有效提升群組通訊傳輸 效能的機制。 本計畫先以研究定位演算法,利用 WiFi 與物 聯網概念做點對點間合作式定位,並且引進人智運 算的概念,輔助定位系統,藉使 BikeNet 的分群 與 DTN 的傳輸機制更可靠。另外也希望設計兼顧 energy-efficiency 的一套有效提升群組通訊傳輸 效能的機制。 關鍵詞:耐延遲網路、人智運算、網路編碼、自行 車行動網路、定位 二、緣由與目的、結果與討論 要提供 LBS 服務,就需要知道移動裝置的自身位 置,在室外透過 GPS 系統通常可以得到精確位 置,然而考量 GPS 耗電與室內環境的乾濕因素, 所以室內多以 Wi-Fi 定位研究為主。Wi-Fi 定位 是以事先建置 Wi-Fi AP 訊號強度資料庫之後,然 後再給定適當的定位演算法來判斷使用者在室內的 準確位置。因此我們在建置訊號強度資料庫方面藉 由使用者透過地理標記的同時附帶著相關 AP 訊號 資訊來讓實驗可以有更多的 Radio Map 資料庫使 用。由於 Sensor 價格愈來愈便宜,因此將 Sensor 嵌入至物品裝備中的應用愈來愈普及。例如:悠遊 卡,因此物聯網的概念被提出,它的定義很簡單: 把所有物品通過射頻識別等信息感測設備與互聯網 連接起來,實現智能化識別和管理。因此定位方 面,除了 GPS 與 Wi-Fi 定位,也可以藉由物件與 物件之間的溝通交換地理定位資訊資料。

(5)

由於成本的考量與實際上的限制未必所有的地點都 適合架設無線的 AP,這些沒涵蓋到的部分形成了 通訊上的黑洞。特別是在一個群組出遊的活動中, P2P 或群組通訊是重要的需求,但不一定要利用到 基地台或 AP 來作群組通訊,更有可能是出遊地點 並無法有這些無線網路的完整服務。例如登山或腳 踏車隊出遊的活動,這些登山步道/自行車步道通 常只在登山口/休息站設立無線 AP 供上網,若是 在進行活動過程中,沿途想要上傳一些照片與朋友 分享、跟群組朋友通訊或個人化的現況詢問,只能 由各個節點彼此合作,透過 multihop 的方式來傳 送訊息。然而,發送端到目的端之間不一定一直存 在有一條端點到端點的路徑可供路由傳送。解決在 這樣的不穩定網路架構下傳輸問題的概念,就稱為 delay tolerant networks /disruption tolerant networks(DTN)。 DTN 或是 opportunistic networks,在這類的網 路架構下,無線節點之間的通訊連線並非同時存 在,而是間歇建立的。因為節點的移動、或是裝置 省電模式的運作與環境因素的影響,造成連線可能 不定時的失效。在 DTN 上採用儲存後轉發(store and forward)的機制來轉送訊息,也就是訊息從發 送端出去後,會先暫存在中途節點的 buffer 中, 等到遇到下一個中途節點或是目的地才將訊息傳送 出去。因此,節點之間不確定的相遇間隔是造成延 遲時間過長的主要原因。除此之外,跟傳統的網路 架構相比,DTN 還面臨許多挑戰,例如,因為節點 移動所造成網路的拓撲不斷改變、節點裝置上有限 制的儲存容量與電源供應等等。 在 DTN 上的 routing 策略,根據訊息在網路上傳 播 的 特 性 可 以 區 分 為 兩 種 。 第 一 種 是 replication,利用複製多個訊息的方式來增加到 達接收端的成功率。利用此策略設計出來的協定, 歸類為 flooding 策略。另一種是 knowledge,利 用網路不同的狀態或特性來決定路徑的選擇,這類 的協定歸類為 forwarding 策略。但是過去 DTN 上 routing 協定的設計,通常只專注在少量的訊息、 甚至是單一封包的傳送,因此不符合實際運用上的 需 求 。 Network coding , 是 基 於 information theory 與 coding theory 的研究。它利用中途節 點在轉送資料的同時進行編碼的動作,來整合網路 中數個以上的 information flow。根據相關的研 究 , network coding 可 以 有 效 增 進 整 體 系 統 的 throughput 。 特 別 是 在 無 線 傳 輸 的 環 境 中 , network coding 可以降低整體系統所需要的訊息 傳輸次數,並且具有容錯與錯誤更正的功能。因 此 , 在 DTN 的 routing 協 定 設 計 上 , 整 合 network coding 的技術是值得研究的課題 我們這一年分別完成定位演算法,並實驗於 展場上;其次完成基於位置與網路編碼用於車載耐 延遲網路之繞路方法;最後我們也設計了省電機制 的方法。

接下來就分別就三篇論文/報告作成果之摘要

重點:

1. A large scale cooperative localization method

1.1

(a)Heterogeneous Localization:

Suppose a user is estimated on Lt by localization

system at time t. And then the user moves. The localization system also uses GPS, WiFi and IOT localization. And they have their location possibilities. WiFi localization possibility is the similarity of first target in WiFi localization. IOT’s possibility is 1 when it gets reader’s location. We select the coordinate which have highest possibility at time t+1 and the coordinate is t+1. At the same time, the possibility of

the original localization should be reduced, because the user moves from time t to t+1. Pt’ is the reduced

localization possibility from Pt, say 0.9 in this example.

At the same time, we also calculate the moving speed by localization history. Assume the system refers previous 4 localizations and calculates the average moving speed. Therefore, we get human movement capacity by multiplying moving speed and time interval from time t to t+1. We can draw two human movement

(6)

capacities around Lt and t+1. If there are intersection

with the two human movement capacities and the localization estimation is on the middle of them. Lt+1 is

the localization result. And Pt+1 inherits the higher

possibility of Pt’ and t+1.

If there is no intersection of the two human movement capacities like in the following figure. In case A, if Pt’

is higher than t+1 and we use filter to correct the

location estimation to human movement capacity around Lt. In case B, if Pt’ is lower than t+1 and we

think t+1 is more accurate. So location estimation is on

the human movement capacity around t+1.

(b) Cooperative Localization

Assume that N0 wants to estimate or correct its

location by nearby node N1 and N2. Assuming that N1

and N2 have higher possibilities than N0. They can

scan the relative WiFi signal strength, then translate N1’s RSSIN0 and N2’s RSSIN0 to distance D1 and D2 by

the equation below which is proposed by RADAR.

And we calculate the possible location LN0(N1)

within D1 from LN1 to LN0. We also calculate possible

location LN0(N2) within D2 from LN2 to LN0. Finally we

calculate weighted sum by LN0, LN0(N1) and LN0(N2) and

PN0, PN1 and PN2. So LN0c is the resulting location and

PN0c is the highest possibility of PN0, PN1 and PN2.

1.2 Main Results

First, we use HTC Desire(Android 2.2) to site survey the 1/4 our down-hill campus every 5~10 meters. Figure 8 is an example for site survey. Every point contains WiFi signal strength, longitude and latitude. Second, we take the HTC Desire and walk fifteen paths on campus and the Desire records the actual longitude and latitude, WiFi signal strength and GPS longitude and latitude about every 1 second.

The figure below shows the simulation result for outdoor path (path 1). In this case, GPS is more

accurate than WiFi localization. And our

heterogeneous localization indeed select GPS more often. Therefore, the heterogeneous localization and GPS have similar accuracy. Furthermore, if there are two paths nearby path1, they can correct the localization error of path1 by the cooperative localization.

The figure below shows the simulation result for the path from indoor to outdoor to indoor (path 2). This path passes indoor space, so GPS performs poorly in part of the path. We can see from the results that our heterogeneous localization selects GPS in outdoor environments and selects WiFi in indoor environments. Case A.

(7)

The heterogeneous localization is more accurate than only WiFi localization. Furthermore, the cooperative localization corrects the localization by nearby paths.

The figure below shows the result for indoor path (path 3). Again, GPS performs poorly in indoor environments. WiFi localization is very accurate in this building. The heterogeneous localization uses human movement capacity and localization possibility to correct localization of WiFi localization.

The figure below shows the implementation experiment results. We use IOT localization, so 14% points’ error distance are zero meters. In this case, we turn on GPS every 10~20 seconds. Therefore, the heterogeneous localization can use some GPS locations to get beyond accuracy of WiFi localization. Furthermore, there are always two people nearby, sending their GPS locations to the user. The results show that the cooperative localization is more accurate than the other localization algorithms.

2. Energy-aware Grouping Design by considering moving pattern for Delay Tolerant Networks

2.1 Abstract

In traditional routing protocols of DTNs, most of them are using redundancy messages and information computing to make a good relay decision.

Due to energy limitation, too many redundant message transmissions or high computing will make nodes die off quickly. It will decrease the system lifetime and diminish the delivery ratio of the whole system.

When people go on a tour, friends always form a group due that members have a similar moving path and destination. Based on the features of moving patterns, we design a grouping scheme, namely, Energy-aware Grouping, with the concept that there is only one node awake in a group in charge of contact and message transmissions. With the assistance by GPS, our method has reduced the numbers of redundant message transmissions and information computing. Simulation results show that it can extend the system lifetime with maintaining still good delivery ratio.

2.2 Main Results

The figure below is an overview of our design: Energy-aware Grouping (EG). Since nodes are equipped GPS device, a leader node will record the waypoints of its moving path which are predefined in the preinstall navigation system. A beacon message contains with its group identity (GID), the record of historical waypoints, the next waypoint, and the destinations of messages. Once a leader node gets it, it will check the path information first to recognize if they are suit to form a group or not. If the “join” event won’t happen, they will go to the step of “message relay”.

(8)

Leader Node

Group Check

(Role Change?) Member Node

Message Relay Join? Contact No Time-Out Time-Out

Yes(Be a member)

Yes(Be a leader)

Transmission finish / Out of radio range Start

When the sleeping duration timed-out, all nodes are checking their status and transmit a message of it to their leader node to make the decision of leader selection for next round. After the selection, the original leader node will alert all other nodes who will be the new leader node in next round. A member node goes to sleeping mode after received the alert and the new leader node charges with group’s contact and messages’ transmission.

Our design contains with two methods for different scenarios. The first method, called M1, is designed for less changing situation like scenario 1 and the other method, called M2, is for others.

A single node uses M2 as its default grouping policy for more opportunities to form a group. When a contact occurs, leader nodes will check the other one’s group identity (GID) and the record of historical and next waypoints.

If they have a same GID and same waypoints in the last three (or more) waypoints, they will use M1 to form a group. This is also the only chance for a node to change its grouping method from M2 to M1. Once a node chooses M1, it will not change the group method until it becomes a group contains with only single node, such as the situation of can’t find its leader node after sleeping duration timed-out. Choosing M1 is the highest priority if the conditions are satisfied.

When the conditions for M1 are dissatisfied, they will choose M2 as their grouping method if they have same records of next waypoints. Otherwise, they will go to message relay policy checking.

When a group formed by M1 method, it will only check the group identity (GID) as the main condition any time. Even if a node has same moving path in the future approaches, it is not allowed to join the M1 group if its GID is not match. Each GID is an unique code with a group table in the system. Every node has its group table to realize which node can be grouping with and which one is the leader node of the group. The first leader node is set by default with randomly chosen. Once the M1 group is formed, nodes will only check

GID and group table to maintain it. The flow shows on the figure below.

Leader Node Check Table Different Group ID TX Message To The Node My Energy Is Higher ? Same Group ID RX Message

From The Node

No Yes Contact With Another Leader Check Table Yes Without Group Collect All Members’ Energy lvl. With Group Update Table Time out Select New Leader Received All Notify Members Who Is The New Leader

Am I The New Leader TX Buffered Messages To New Leader No Yes Monitor for Contact Change to be a Member Node and go to Sleep Member Node Leader Scan

Time Out With Sleep Interval

Wait for Leader Notify Find The Leader Time out Time out Yes Go To Sleep Am I The New Leader ? New Leader Notification

No TX Messages To Old Leader Message Relay Policy Remainder Sleep Interval Notification Sleep Interval Runs Out Received Leader Scan Notify Remainder Sleep Interval No Change to be a

Leader Node and

Monitor for

Contact RX Messages

From Old Leader

RX Messages From

Members

At the beginning of the round, nodes check its group table to recognize its GID and the role of the group. If it is a member node, it broadcasts a beacon message contains with its GID and energy level. If it gets leader’s acknowledgement, it will wait the message contains with next leader node information until time-out. If it gets nothing but time-out, it will turn to be a leader node itself and change the grouping method to M2. On the other side, a leader node tries to collect all information of its group members until time-out. When it gets all information, it chooses a new leader which has the highest power in the whole group. Then it transmits a message to notify which one is the new leader node at next round to all member messages but the new leader node. After all, member nodes turn to sleeping mode and the old leader exchange the buffered messages to new leader and then change its role to member node and turn to sleeping mode.

In order to be more flexible for nodes’ mobility, we purpose another method, called M2, to improve M1. A group contains with only leader node is setting to use M2 as its grouping method. The figure below is the flow of M2 and the detail shows below.

Leader Node Check Table Different Moving Path TX Message To The Node My Energy Is Higher ? Same Moving Path RX Message

From The Node

No Yes Contact With Another Leader Check Table Yes Without Same Path Collect All Members’ Energy lvl. With Same Path Update Table Time out Select New Leader Received All Notify Members Who Is The New Leader

Am I The New Leader TX Buffered Messages To New Leader No Yes Monitor for Contact Change to be a Member Node and go to Sleep Member Node Leader Scan

Time Out With Sleep Interval

Wait for Leader Notify Find The Leader Time out Time out Yes Go To Sleep Am I The New Leader ? New Leader Notification

No TX Messages To Old Leader Message Relay Policy Remainder Sleep Interval Notification Sleep Interval Runs Out Received Leader Scan Notify Remainder Sleep Interval No Change to be a

Leader Node and

Monitor for

Contact RX Messages

From Old Leader

RX Messages From

Members

The main concept of M2 which is different to M1 is the grouping policy. M1 uses GID to make the grouping decision. In the M2 method, nodes will check their future routing path. When they have same path in nearly future, they are allowed to form a M2 group. If they don’t, they will check only the message relay

(9)

policy. The leader node’s selection of the group is still considering the energy level of nodes. The higher one will be the leader node and the other one will be the member node and then turns to sleeping mode after buffered messages have been exchanged. The sleeping interval of a node is calculating by itself. Since it can recognize the same path when grouping, it can estimate how much time will take to reach the location that is the end of the same path. When a member node wakes up and cannot find its leader node, it will change its role to be a leader node itself.

The rest part of the design M2 is similar to the design in M1. A group has only one awake node, called leader node, to charge with messages’ transmission and others turn to sleeping mode.

[Simulation Results]

The above figure shows the number of dead nodes with time line in scenario 2. The curves of Epidemic and PROPHET are similar to them in scenario 1. Because of some nodes will depart from its group, the effect is much bigger to our design. The departing nodes have less energy saving if they can’t meet someone to form a M2 group. Therefore they will die much quick than they in scenario 1 with M1 group.

The above figure shows the delivery ratio in scenario 2. It has almost the same curves in scenario 1. But the increasing dead nodes affect our performance at the final part. Departing nodes may create more chances for delivering messages for entire system. But when

they rejoin the M1 group, they also make the buffered messages highly increase to a group. A leader node has to cache and transmits more messages when contact and leader buffer exchange than it in scenario 1. It highly decreases the lifetime of a group and then reduces the overall efficiency of the system.

3. "Location assisted Routing with Network Coding in Vehicular Delay Tolerant Networks”

3.1 Abstract

This paper proposed a routing protocol integrating the characteristic of flooding-based protocol and forwarding-based protocol. The main idea of our protocol is to let message would not be flooded to every node but to the nodes moving toward or moving closer to destination. When nodes contact with each other, our approach will use the path of node, node’s moving direction and its velocity to estimate the probability to reach the destination of message. At the same time, we exploit network coding to transmit coded block instead of message fragment in order to avoid sending redundant replication, make data transmit more reliable and more robust to packet losses or delays. From the result of simulation, we could see that our protocol have a higher performance especially in the bandwidth consumption compared to other protocols.

3.2 Main Results A.

System Model

We model a DTN as a set of mobile nodes in a vehicular environment. And there is only allowed inter-vehicle communication. Each node in the network equips GPS device. And the navigation system is installed on every node. The nodes use the navigation system to find a shortest path to destination. The navigation system provides three kind of primitive information: trajectory, moving direction and velocity. Based on the information provided by navigation system, every node can collect navigation information contained in beacon which is broadcasted from the contact neighbors during contact time and make routing decision accordingly. The destination of message has a fixed location such as the portal to internet. A node can deliver messages to the final recipient or via intermediate nodes.

B.

Delivery Probability Estimation

We use location information to estimate the delivery probability. First of all, if there is a node that

(10)

Input: Node A, Node C, Outgoing Buffer in A For each message M in Outgoing buffer do rank_C = rankmap_C.get(M.getID())

/*Get the rank of message by looking up the rank map */ rank_A = rankmap_A.get(M.getID())

If rank_C equals k /*message in C is full rank*/ continue

/*bypass the transmission opportunity to next message*/ End if

If C is the destination of message M f_count = min(k- rank_C, rank_A)

/*f_count is the number of forwarding coded blocks*/ Else /*C is relay node*/

power_A = estimate(A, M.getDestination()) power_C = estimate(C, M.getDestination())

f_count = min(k-rank_C, rank_A*(power_C/power_A)) End if

End for

will bring the message closer to destination, we might be able to rely on it to deliver messages. So we adopt the future trajectory of node provided by navigation system as one of the estimation factors. However, the trajectory information is not enough to define good relay candidates. For example, a bus may have a fixed trajectory closer to destination but its moving direction is away from it. Therefore, the node’s moving direction should also take into account. Finally, it is very intuitive to select a faster node to take the responsibility for delivering message. Combined the three factors, the formula we used to estimate delivery probability listed below:

Where c is the contact node, are predefined

system parameters range from 0 to 1, .

Path(c) is the ratio to reach destination range from 0 to 1. Dir(c) is ratio moving toward destination range from 0 to 1. V(c) is relative velocity ratio range from 0 to 1. If the result of P(c) is greater than the predefined threshold, then the contact node c are viewed as an appropriate relay candidate.

C.

Location-assisted routing with network

Now we will give a full description of our proposed protocol. The LANC protocol executes when two nodes are within radio range and have discovered one another. It has five stages: Initialization, Probability estimation, Coding, Scheduling and Termination.

When two nodes contact with each other, they will collect metadata during initialization stage. The metadata contained in beacon includes: trajectory information of node, node’s moving direction, velocity, rank map and purge table. The first three factors are used to estimate delivery probability as we mentioned before. The rank map is a record of independent encoding vectors of each message. In order to distinguish a coded block belongs to which message, a unique identifier will be assigned to message before encoding process at source. The rank of message is the number of independent encoding vectors. At each transmission finished, a node will check the rank of message, and records the value with corresponding message identifier. The purge table contains the identifier of message and the time it has been decoded. If the original message is decoded successfully, its identifier and the time decoding process finished will be pushed into the purge table and propagated by beacons. Nodes receive this beacon could drop coded blocks according to the same identifier to release memory space.

After obtain the metadata, the nodes will estimate the delivery probability using the formula (1) we mentioned in previous section. The procedure works as follow: for each message in buffer, if the result of P(c) is larger than threshold, then puts the message in outgoing buffer for next coding stage.

Before the transmission starting, the coding operation will code the blocks in the outgoing buffer. The RLNC is performed on the blocks with the same message identifier. In source node, a message is divided into k blocks and one or several coded blocks will be transferred with corresponding encoding vectors. The source first chooses a set of random elements from GF , then multiplies each block with the element , and adds up all the results of the multiplication together to produce a coded block. If a relay node wants to send coded blocks to another node, it operates similar operations as source does. It also chooses a set of random elements from GF , but the size of this set is the number of coded blocks with the same message identifier in its buffer. Relay node multiplies each element with encoding vector and finally adds up to produce a new encoding vector. This operation is repeated again using the same set of elements to generate a new coded block. The original message is decodable as long as the destination could receive enough linear independent encoding vectors such that the coefficient matrix formed by encoding vectors is full rank.

Before starting a transmission, we will schedule which coded blocks in outgoing buffer should be transferred first to get better performance. As we mentioned before,

(11)

a message is decodable only if its encoding matrix is full rank. Therefore, the rank of message is the first factor we used to make scheduling decision. During initialization stage, a node could obtain the contact node’s rank map from beacon. Then the node could look up the rank map of contact node by message identifier to get the corresponding rank number. The second factor is the delivery probability to destination. We have proposed our method to estimate the probability if the contact node would reach the destination in the future. So the probability can be regarded as the power that delivering messages to the final recipient. If a node finds out that the power of its contact node is less than its power, this node would not have to transfer all the coded blocks to its contact node. Fig.1 is the pseudo code of our scheduling approach.

After the transfer, the node which received coded blocks would update the rank map, or try to recover the original message by decoding at termination stage. If a node receives a coded block, it will execute Gaussian elimination procedure to verify the incoming coded blocks is innovate to the coded blocks in buffer. If the result of checking is true, the incoming coded block will be put into buffer and increase the rank counter by one in rank map according to the identifier. After the rank map updating, if the encoding matrix of message is full rank, in other words, the number of independent encoding vector equals the size of each single encoding vector, the Gaussian elimination will be operated on it to get the inverse of encoding matrix if the node is the destination of message. The original message will be recovered by encoding the inverse of encoding matrix and coded block.

In DTNs, some nodes would continuously send the messages that have already delivered to destination because these nodes don’t know the messages reached their final recipient. To ease the kinds of redundant transmission and buffer occupancy, once the destination recovers the original message successfully by decoding operation, the purge table will be updated by adding the message identifier and the time it decoded. The purge table will be propagated by beacons over the network. After received the beacons, a node will purge the buffer by discarding the coded blocks with the same message identifier immediately because it is not necessary to send the coded blocks of this message anymore.

We evaluate the performance of LANC using three metrics:

 Message delivery ratio

 Average delay latency.

 Transmission overhead: The transmission

overhead is defined as:

We compare LANC with another two routing protocols: Epidemic Routing and PROPHET Routing. The Epidemic Routing is a greedy approach that duplicates copies of message to every contact node. The PROPHET Routing uses history of encounter and transitivity to select a better relay node. We modified these two protocols such that they have the ability to perform RLNC.

Fig.9 shows that the performance of each protocol drops down with the load of flow increase.

Once there are more flows in the network, congestion might occur at some bottleneck relay node. Our protocol uses purge table to inform other node to purge its buffer. This operation not only frees memory storage but also reduces the chance the congestion occurs. Moreover, LANC uses rank map to schedule the priority of coded blocks. If a message is already full rank, LANC will bypass the opportunity to next message.

At the same time, LANC views the results of estimation function as the probability a node would future move toward the destination, LANC could schedule coded blocks according the probability to deliver it to another node or not, so the responsibility for delivering message could be shared by a set of nodes. Even if a relay node would never reach the destination in the future, it won’t be a problem hence the node doesn’t have all the coded blocks.

In Fig.10, the average delay increases with the trend of flow load. The LANC has a little higher delay time than Epidemic routing with NC. The difference is about 1200 seconds. For non-real time demand such as sending emails or uploading photos, it’s considered acceptable. And Epidemic routing tries every possible contact opportunities, the network bandwidth it wasted must be very large. In other words, our protocol is more efficient because the bandwidth consumed by LANC is less.

As for PROPHET routing with NC, the estimation it made is based on historical encounter record, so it has a poor result. The method PROPHET routing used might be suitable for a small closed area like a concert or a lounge bar. Because LANC uses the future possible trajectory of node to predict the delivery probability, LANC could make more precise estimation in large scale outdoor environment.

Fig.11 shows that the overhead ratio of our approach is much smaller than Epidemic routing with NC and

(12)

PROPHET routing with NC. The LANC will select “better” relay candidates to deliver coded block, hence our protocol require less transmissions. Although it will keep the coded blocked in buffer for a while, the purge mechanism will ease the situation.

Fig. 9 Delivery ratio of multiple flows

Fig. 10 Average delay of multiple flows

Fig 11. Overhead ratio of multiple flows

三、計畫成果自評 本計畫的主要的貢獻在設計一個定位演算法適 用於大範圍定位使用,特別是暫時收不到 GPS 或 AP 信號時還可使用。而定位的精準,有賴於距上 次定位的 elapsed time,或鄰近節點的幫忙,以 及自身的移動限制等因素而定。 定位系統我們有實踐出實際系統加以驗證,並 透過實驗收集數據,確實能達到一定的準確度以及 效率。 最後,利用位置資訊,我們也開發了結合位置 以及網路編碼技術之適用於車隊的 DTN 封包轉發演 算法,實驗結果也比 related work 改善許多。另 外也用位置資訊加上移動模型去做省電的分群方 法,讓系統運算壽命更長更有效率。 綜合以上,成就了相關 DTN routing 的基礎, 也 讓 我 們 接 續 的 研 究 能 更 有 完 整 的 面 貌 。

(13)
(14)

1

國科會補助專題研究計畫項下出席國際學術會議心得報告

日期:101 年 12 月 24 日

一、參加會議經過

本次會議會議在北京舉行,地點選在北大旁的 Lakeview Hotel,會議由 keynote

speaker 開始,共有三場。第一場,由國際在無線通訊非常知名的 Rappaport 教授主

講,講題為”The Renaissance of Wireless Communications in the Massively

Broadband (R) Era”。他提到了目前國際上已經在進行所謂的 5G 和 6G 的 cellular

計畫編號

NSC 100-2221-E-004-007

計畫名稱

在耐延遲網路上以合作式定位輔助之群組同儕通訊

出國人員

姓名

蔡子傑

服務機構

及職稱

政治大學資訊科學系

副教授

會議時間

101 年 08 月 15 日

101 年 08 月 17 日

會議地點

Beijing, China

會議名稱

(中文)

(英文)First IEEE International Conference on Communications in

China (IEEE ICCC 2012)

發表論文

題目

共兩篇

1. Energy-aware Grouping Design by Considering Moving Pattern

for Delay Tolerant Networks

2. A large scale cooperative location method

(15)

2

netowrks 了,頻譜在 100GHz,Data rate 在 20Gbps。Rappaport 在無線信號的傳遞

能量衰減的研究頗具盛名,所以他也作了一些實測的數據進行報告,道出目前的進

度以及挑戰。末了也提及無線與醫療之間的重要關聯與關鍵技術點,也提到感測技

術在人腦方面的應用價值等。

第二場為 Dr. Shumin Cao 主講,講題為 ICT Development in China。提到 2005-11

的產值從 1.4 trillion 到 2.8trillion,ICT industry 垂直整合的 eco system。提

到 smart device app platform 的重要性,也提到中國在 cloud computing 的近況,

以及剛開始努力的 IOT 計畫,和 NITS 標準化活動等。

第三場為 Dr. Wen Tong 主講,講題為 Horizon 2020: The future of Mobile Broadband

Communications”。提到發展的趨勢由 2009 的 connected individual,到 2015 的

connected group, social,接下來將發展到 2020 的 connected everything。提到

Gbps is required to deliver “local fell” experience.提到 Cloud-RAN, D2D,

Wifi-direct, cooperative receive 等技術。

中飯過後,就開始 technical session 了,很榮幸了大會邀請我擔任 session chair。

我負責的 session: vehicular networks 共有四篇論文,含一篇我的論

文”Location-assisted Routing with Network Coding in Vehicular Delay Tolerant

Networks”。第一篇為澳洲雪梨大學發表,第二篇為西安交大,我的為第三篇,第四

篇為加拿大的 U. of Victoria。聽眾有很多是中國各地大學來的,也有由美國回來

的學者和研究生。發表後,我還有另一篇 poster: A Large scale cooperative

location method,就趕忙去張貼,並準備說明與展示成果。期間有跟幾位四川成都

(16)

3

大學的教授交換過研究心得,也互留資料供日後進一步交流。

結束後,本想順便進北京校園逛逛這有歷史的學校,只可惜北大有門禁,已經太晚

了謝絕訪客,無緣參觀,只能在門口拍拍照了。

二、與會心得

參加國際會議當然最重要的就是交流與吸取別人研究經驗與成果分享,這個會議舉

辦在北京。根據多次在中國參與國際會議的經驗,中國在舉辦上非常的積極與盡心

盡力,這點我們國內倒應該要好好努力才成。而且整個中國 ICT 在政府相關的大型

計劃都投入相當大的資源與人力,相信再過不久,他們的成就是可預期的。這不禁

讓我們感到有點憂心,台灣再不努力的話,很多技術可能都會被大陸趕過去,學生

的用功程度與企圖心也一代不如一代,應該多鼓勵補助研究生多來參加會議,看看

別人想想自己,自己來看絕對勝過老師苦口婆心。

三、考察參觀活動(無是項活動者略)

四、建議

五、攜回資料名稱及內容

大會論文集 USB 隨身碟一個

六、其他

(17)

Location assisted Routing with Networ k Coding in

Vehicular Delay Tolerant Networks

Tzu-Chieh Tsai, Chieh-Cheng Chen

Department of Computer Science National Chengchi University,

Taiwan, Taipei,

ttsai@cs.nccu.edu.tw, g9703@cs.nccu.edu.tw

Abstract² This paper proposed a routing protocol

integrating both the characteristic of the flooding-based protocol and forwarding-based protocol. The basic idea of our protocol is to let message be forwarded to the nodes moving toward or closer to destination. When nodes contact with each other, our approach will utilize the path of the node, node¶s moving direction and velocity to estimate the probability to reach the destination of the message. At the same time, we exploit networ k coding to transmit coded block instead of message fragment in order to avoid sending redundant replication. In this way, data transport is more reliable and more robust to packet losses or delays. F rom the results of simulation, we could see that our protocol has enhanced performance, especially for the bandwidth consumption compared to other protocols.

Keywords-Delay tolerant networks, routing, network coding

I.

Introduction

Delay tolerant networks (DTNs) is a kind of special designed network architecture. The purpose is to make communication possible in challenging environments. The main challenge is that the network lacks of stable, continued end-to-end route paths from source to destination. Because of these reasons: high node mobility, rapidly changing network topology, short transmission range and limited energy resources. Forwarding message in DTNs often suffers frequent disconnection, long-time propagation delay and data losses. A technique called ³Store-Carry-Forward´ is widely used to overcome the intermittent connectivity.

The main design principle of the routing protocols for DTNs is trying to make communication possible even if the end-to-end connectivity is never achievable. Maximizing message delivery ratio and minimizing delay latency is also important criteria needed to be considered. According to different strategy properties [1], these routing protocols could be divided into two categories: the flooding-based protocol and forwarding-based protocol.

The flooding-based protocols will duplicate copies of message into network, with expecting at least one of them received by destination. However, this approach would waste

too much bandwidth and storage resources. And the forwarding-based protocols require more information about network to make forwarding decision. But the DTNs are a distributed architecture; it is difficult for a node to obtain complete network information.

Network coding [2] is a field of information theory and coding theory. With network coding, relay nodes may code several input packets into one or several output packets instead of simply forwarding the data. Network coding could make transmission more robustness and adaptability. When node and link failures occur frequently [3], it can increase throughput gain in wireless networks, and operate well without the need of central knowledge about networks [4].

Exploiting network coding in delay tolerant networks is very useful. Because delivering messages in DTNs is often subject to random delay and losses, it is difficult for a node to select the best packet to send. With network coding, each node sends coded blocks without needing any global information about the topology. Moreover, forwarding random combination of blocks reduces the probability of sending redundant packets.

The advantages of flooding-based protocols are exactly the weakness of forwarding-based protocols, and vice versa. Therefore, we design a routing protocol that integrates the concepts of the two routing families. We want the message not to be flooded to every node, but to the nodes moving toward or closer to the destination. At the same time, we exploit network coding to transmit coded blocks instead of message fragments, in order to avoid sending redundant replication. Thus it makes data transmit more reliable and more robust to packet losses or delays.

Therefore, We propose the Location-Assisted routing with Network Coding: LANC. The main idea of LANC is, as each contact opportunity occurs; calculate the probability of the contact node to check if it is suitable to relay messages to destination. The criteria we used to estimate probability are trajectory of the node, its moving direction and velocity. If the result of estimated probability is larger than the threshold, the random linear network coding (RLNC) operation (explained later) will be performed on

(18)

messages in the buffer. After the coding process, this protocol schedules messages to transmit according to the results of estimation. When the transmission is completed, the rank map and purge table will be put into beacons to inform other nodes. Once a node receives the beacon from contact node, it could purge its buffer by looking up the purge table.

We evaluated our approaches in three different scenarios: single flow, two flows and multiple flows. Although our protocol has a little higher data transmission delay than other protocols, the delivery ratio is almost the same as Epidemic routing with NC in multiple flows scenario. It shows that with little overhead ratio, LANC outperforms other approaches.

The remainder of this paper is structured as follows. Section 2 discusses related work about routing protocols of DTNs and random linear network coding. The design of our protocol is described in Section 3. Performance evaluation and results are discussed in Section 4. Finally, Section 5 summarizes our works and discusses future work.

II.

Related Works

There are several routing algorithms for DTNs that have been proposed. Redundancy is the key property of flooding-based routing protocols. These protocols deliver multiple copies of each message to every contact nodes, in order to increase the probability that at least one node will reach destination. The advantage of flooding-based protocol is that it is very easy to implement and does not need any information about the network topology. However, this approach would consume too much bandwidth and storage resources. The Epidemic Routing [5] is typical of the flooding-based protocols. Epidemic Routing tries every possible contact opportunities to deliver messages over all nodes in the networks. Note that this protocol requires no knowledge about network topology.

In the forwarding-based routing protocols, the main factors used to make relay selection is the knowledge about network topology. A relay candidate could be found by using location information, predefined inter-contact schedule, historical contact records or assigning metrics to nodes. The benefit is reduction of unnecessary resource consumptions. However, it is hard to obtain complete topology information in a distributed environment with intermittent connectivity. Lebrun et al. proposed using the GPS service to calculate motion vector of mobile nodes to predict the future location [6]. ZebraNet uses historical records to estimate weighted value [7]. Lindgren et al. proposed PROPHET, a probabilistic routing protocol using history of encounter and transitivity [8]. Those approaches require more information about network topology. Jain et al. presented a modified Dijkstra shortest path algorithm based on time-variant with precise schedule [9]. It requires the most network information

Radom Linear Network Coding (RLNC) is a form of network coding. RLNC regards the messages as vectors of

elements in the Galois Field (such as GFሺʹ଼ሻሻ, and all

numerical operation are also defined on the Galois Field. The RLNC is much more computationally intensive than simply performe XORs on incoming packets. The following illustrates RLNC operations: Let¶s consider that the source has a message and the message is fragmented into k blocks ሾ„ଵǡ „ଶǡ ǥ ǡ „୩ሿ୘ with the same block size. A coded block š୨

is generated: š୨ൌ σ୩୧ୀଵȽ୨୧ή  „୧ , where Ƚ୨୧ is randomly

chosen over the GFሺʹ଼ሻ. The coefficients ሾȽ

୨ଵǡ Ƚ୨ଶǡ ǥ ǡ Ƚ୨୩ሿ

is called encoding vector, and is transmitted along with each coded block. A node decodes as soon as it has received  coded blocks X = ሾšଵǡ šଶǡ ǥ ǡ š୩ሿ୘ with linearly independent

encoding vectors. It first forms a  ൈ  coefficient matrix C using the encoding vectors. Each row in C corresponds to the encoding vectors of one coded block. The original blocks B ൌ  ሾ„ଵǡ „ଶǡ ǥ ǡ „୩ሿ୘ could be recovered by: B = CିଵൈX.

The inversion of C is only possible when its rows are linearly independent, in other words C is full rank (rank C =

k).

Network coding has been widely used in different network field. Several research efforts have applied network coding to P2P systems or mesh networks. There are some routing protocols [10, 11] which studied the benefits of network coding on DTNs. Those protocols applied network coding to avoid redundant replication transmission efficiently. However, those protocols select relay node based on epidemic routing, so they send coded blocks to every contact node results in high transmission overhead.

III.

The L A N C Protocol

In this section, we will introduce our schemes in detail.

A. System Model

We model a DTN as a set of mobile nodes in a vehicular environment. We assume that it is allowed only inter-vehicle communication. Each node in the network equips a GPS device. And the navigation system is installed on every node. The nodes use the navigation system to find a shortest path to the destination. The navigation system provides three kind of primitive information: trajectory, moving direction and velocity. Based on the information provided by the navigation system, every node can collect navigation information contained in beacon which is broadcasted from the contact neighbors during contact time and can make routing decision accordingly. We also assume that the destination of message has a fixed location such as the portal to Internet. A node can deliver messages to the final recipient or via intermediate nodes.

B. Delivery Probability Estimation

We use location information to estimate the delivery probability. First of all, if there is a node that will bring the message closer to the destination, we might be able to rely

(19)

Input: Node A, Node C, Outgoing Buffer in A For each message M in Outgoing buffer do rank_C = rankmap_C.get(M.getID())

/*Get the rank of message by looking up the rank map */ rank_A = rankmap_A.get(M.getID())

If rank_C equals k /*message in C is full rank*/ continue

/*bypass the transmission opportunity to next message*/ End if

If C is the destination of message M f_count = min(k- rank_C, rank_A)

/*f_count is the number of forwarding coded blocks*/ Else /*C is relay node*/

power_A = estimate(A, M.getDestination()) power_C = estimate(C, M.getDestination())

f_count = min(k-rank_C, rank_A*(power_C/power_A)) End if

End for

on it to deliver messages. So we adopt the future trajectory of node provided by the navigation system as one of the estimation factors. However, the trajectory information is not enough to define good relay candidates. For example, a bus may have a fixed trajectory closer to destination but its moving direction is away from it. Therefore, the node¶s moving direction should also take into account. Finally, it is very intuitive to select a faster node to take the responsibility for delivering message. Combined with the three factors, the formula we used to estimate delivery probability is listed below:

ܲሺܿሻ ൌߙ ൈ ܲܽݐ݄ሺܿሻ ൅ ߚ ൈ ܦ݅ݎሺܿሻ ൅ ߛ ൈ ܸሺܿሻ

ߙ ൅ ߚ ൅ ߛ ሺͳሻ

Where c is the contact node, ߙǡ ߚǡ ߛ are predefined system parameters range from 0 to 1, ߙ ൅ ߚ ൅ ߛ ൌ ͳ. Path(c) is the ratio to reach destination range from 0 to 1. Dir(c) is ratio moving toward destination range from 0 to 1. V(c) is relative velocity ratio range from 0 to 1. If the result of P(c) is greater than the predefined threshold, then the contact node

c are viewed as an appropriate relay candidate.

C. Location-assisted routing with network

Now we will give a full description of our proposed protocol. The LANC protocol executes when two nodes are within radio range and have discovered one another. It has five stages: Initialization, Probability estimation, Coding, Scheduling and Termination.

When two nodes contact with each other, they will collect metadata during initialization stage. The metadata contained in beacon includes: trajectory information of node, node¶s moving direction, velocity, rank map and purge table. The first three factors are used to estimate delivery probability as we mentioned before. The rank map is a record of independent encoding vectors of each message. In order to distinguish a coded block belongs to which message, a unique identifier will be assigned to message before encoding process at source. The rank of message is the number of independent encoding vectors. After finishing each transmission, a node will check the rank of message, and record the value with corresponding message identifier. The purge table contains the identifier of message and the time that it has been decoded. If the original message is decoded successfully, its identifier and the time that the decoding process finished will be pushed into the purge table and propagated by beacons. Nodes receiving this beacon could drop coded blocks according to the same identifier, thus releasing memory space.

After obtaining the metadata, the nodes will estimate the delivery probability using the formula (1) we mentioned in the previous section. The procedure works as follows: for each message in the buffer, if the result of P(c) is larger than threshold, then the node puts the message in the outgoing buffer for next coding stage.

Before the transmission starts, the coding operation will code the blocks in the outgoing buffer. The RLNC is performed on the blocks with the same message identifier.

At the source node, a message is divided into k blocks and one or several coded blocks will be transferred with corresponding encoding vectors. The source first chooses a set of random elements from GFሺʹ଼ሻ, then multiplies each

block ܾ௜with the elementߙ௝௜, and adds up all the results of

the multiplication together to produce a coded block. If a relay node wants to send coded blocks to another node, it operates similar operations as the source does. It also chooses a set of random elements from GFሺʹ଼ሻ, but the size

of this set is the number of coded blocks with the same message identifier in its buffer. Relay node multiplies each element with encoding vector and finally adds up to produce a new encoding vector. This operation is repeated again using the same set of elements to generate a new coded block. The original message is decodable as long as the destination could receive enough linear independent encoding vectors such that the coefficient matrix formed by encoding vectors is full rank.

Before starting a transmission, we will schedule which coded blocks in the outgoing buffer should be transferred first to get better performance. As we mentioned before, a message is decodable only if its encoding matrix is full rank. Therefore, the rank of message is the first factor we used to make scheduling decision. During initialization stage, a node could obtain the contact node¶s rank map from beacon. Then the node could look up the rank map of contact node by message identifier to get the corresponding rank number. The second factor is the delivery probability to destination. We have proposed our method to estimate the probability if the contact node would reach the destination in the future. So the probability can be regarded as the power that delivers messages to the final recipient. If a node finds out that the power of its contact node is less than its power, this node

would not have to transfer all the coded blocks to its contact node. Fig.1 is the pseudo code of our scheduling approach. Fig. 1: The scheduling scheme of LANC

(20)

After the transfer, the node which receives coded blocks would update the rank map, or try to recover the original message by decoding at termination stage. If a node receives a coded block, it will execute Gaussian elimination procedure to verify if the incoming coded blocks is innovate to the coded blocks in buffer. If the result of checking is true, the incoming coded block will be put into the buffer and increase the rank counter by one in rank map according to the identifier. After the rank map updating, if the encoding matrix of message is full rank, in other words, the number of independent encoding vector equals the size of each single encoding vector, the Gaussian elimination will be operated on it to get the inverse of encoding matrix if the node is the destination of message. The original message will be recovered by encoding the inverse of encoding matrix and coded block.

In DTNs, some nodes would continuously send the messages that have already delivered to destination because WKHVH QRGHV GRQ¶W know the messages reached their final recipient. To ease the kinds of redundant transmission and buffer occupancy, once the destination recovers the original message successfully by decoding operation, the purge table will be updated by adding the message identifier and the time it decoded. The purge table will be propagated by beacons over the network. After receiving the beacons, a node will purge the buffer by discarding the coded blocks with the same message identifier immediately because it is not necessary to send the coded blocks of this message anymore.

I V.

Simulation and Results

This section we will discuss the simulation and results. The simulation runs in three different scenarios: single flow, two flows and multiple flows.

A. Performance Evaluation

We evaluate the performance of LANC using three metrics:

x Message delivery ratio x Average delay latency.

x Transmission overhead: The transmission overhead is defined as: ்௥௔௡௦௠௜௧௧௘ௗ௣௔௖௞௘௧௦ିோ௘௖௘௜௩௘ௗ௣௔௖௞௘௧௦ோ௘௖௘௜௩௘ௗ௣௔௖௞௘௧௦ We compare LANC with another two routing protocols: Epidemic Routing and PROPHET Routing. The Epidemic Routing is a greedy approach that duplicates copies of message to every contact node. The PROPHET Routing uses history of encounter and transitivity to select a better relay node. We modified these two protocols such that they have the ability to perform RLNC.

B. Simlation Setup

Our evaluations are based on The ONE (Opportunistic Network Environment simulator) [12], a simulator written in java. We developed a set of extensions to the simulator to enable nodes could overhear neighbors¶ transmissions and to implement a RLNC module. We use a map-based model of a small part of a city for the simulation. Table 1 shows the simulation parameters.

A rea 4500m x 3400m Message size 256 K B T T L 3 hours Date rate 1Mbps Warm up

time 1000sec Block size 16 K B Radio

range 100m Buffer size Half of total flow Purge

duration 6 hours messages No. of 100 Node¶s

velocity 20~80 km/h Simulation time 43200sec Table 1: Simulation Parameters

C. Single flow

Fig. 2. Delivery ratio of single flow

Fig. 3. Average delay of single flow

Fig. 4. Overhead ratio of single flow

In the single flow case, we want to know the impact of three factors in our estimation algorithm. The number of nodes is set to be 40 to 80. In LANC, the default value of Ƚǡ Ⱦǡ ɀ is 1/3 and the default threshold is 0.4. The value of Ƚǡ Ⱦǡ ɀ will be set to 1 in different simulation round. The result shows in Fig.2 to Fig.4. It is very obvious that if the estimation uses only one factor to make relay node selection, the performance will be worse than Epidemic routing with NC and PROPHET routing with NC. But if we use these three factors to estimate the probability at the same time, it will get a better performance.

(21)

From Fig.2, the future trajectory information of a node is the most significant factor for increasing delivery ratio. The reason is that even if the relay node couldn't reach the destination eventually, the other nodes around destination could take over the responsibility of delivering message to final recipient. Therefore, a message should be transferred to the node has the minimal distance between its future trajectory and the destination of message.

We could get the same conclusion as Fig.2 from Fig.3. If a message is closer to destination, the less time it needs to destination. On the contrary, if the message is taken away from its destination, it has to do more efforts to get back to the destination which is very time-consuming. And if the estimation function only considers the velocity of contact node, it may make an inappropriate selection. The contact node with higher speed does not guarantee that it will reach the destination sooner or have higher delivery ratio. It is because its moving direction might be away from the destination.

From Fig.4, we can get another conclusion that the overhead ratio could be decreased by estimating the moving direction of the contact node. In Fig.5, The LANC with ɀ ൌ ͳ has the second large overhead ratio. Because there are lots of nodes in the network, and the velocity difference between two nodes may be very large, it results in a poor estimation.

D. Two flows

Fig. 5 Delivery ratio of two flows

Fig. 6 Average delay of two flows

Fig. 7 Overhead ratio of two flows

In the two-flow scenario, we want to understand the effect of scheduling. The number of nodes is 80. We will compare our scheduling with the ordinary FIFO or Random scheduling. The estimation function of PROPHET routing with NC is based on historical records of encounter. Since the Epidemic routing with NC simply forward message to every contact node, we assign the value to 1 as the result after estimation.

From Fig.5, it is clear that the schedule approach we proposed could increase the delivery ratio. This is because this scheme considers the rank map and the probability to the destination. If a message is with full rank, then it should give the transmission opportunity to the next message which is not full rank. Therefore, the delivery ratio is almost twice, compared with the ordinary FIFO scheme

In Fig.6, the difference of delay latency between our schedule and the ordinary FIFO is about 200 to 250 seconds. According to the same reason, our schedule scheme will balance the responsibility of delivering message by estimating the probability to destination. Therefore, it would select proper relay candidates to take the responsibility to delivery coded blocks. In the FIFO scheme, it schedules coded blocks to send by the time which blocks arrived. Hence, some message may suffer starvation.

From Fig.7, it is obvious that our schedule scheme could largely save bandwidth consumptions. Before sending coded blocks to contact node, our approach will estimate the delivery probability of the contact node. Hence, the result of overhead ratio is better than the ordinary FIFO scheme. Moreover, the accuracy of estimation is higher in LANC, so the overhead ratio is much smaller than other approaches.

E. Multiple flows

The final case is multiple flows. We adjust the number of flows from 6 to 10. Fig.9 shows that the performance of each protocol drops down with increasing the load of flow.

Once there are more flows in the network, congestion might occur at some bottleneck relay node. Our protocol uses purge table to inform other node to purge its buffer. This operation not only frees memory storage but also reduces the chance of the congestion occurrence. Moreover, LANC uses rank map to schedule the priority of coded blocks. If a message is already full rank, LANC will bypass the opportunity to next message.

At the same time, LANC views the results of estimation function as the probability that a node would future move toward the destination. LANC could schedule coded blocks according to the probability to deliver it to another node or not. Thus, the responsibility for delivering message could be shared by a set of nodes. Even if a relay node would never reach the destination in the future, it ZRQ¶W be a problem hence the node GRHVQ¶W have all the coded blocks.

數據

Fig. 9 Delivery ratio of multiple flows
Table 1: Simulation Parameters
Fig. 5 Delivery ratio of two flows
Fig. 9 Delivery ratio of multiple flows
+5

參考文獻

相關文件

In this paper, we build a new class of neural networks based on the smoothing method for NCP introduced by Haddou and Maheux [18] using some family F of smoothing functions.

In this chapter we develop the Lanczos method, a technique that is applicable to large sparse, symmetric eigenproblems.. The method involves tridiagonalizing the given

In this paper, we extend this class of merit functions to the second-order cone complementarity problem (SOCCP) and show analogous properties as in NCP and SDCP cases.. In addition,

In this paper, by using the special structure of circular cone, we mainly establish the B-subdifferential (the approach we considered here is more directly and depended on the

Optim. Humes, The symmetric eigenvalue complementarity problem, Math. Rohn, An algorithm for solving the absolute value equation, Eletron. Seeger and Torki, On eigenvalues induced by

- - A module (about 20 lessons) co- designed by English and Science teachers with EDB support.. - a water project (published

In this article, we discuss the thought of Jie-huan’s A Concise Commentary on the Lotus Sutra written in Sung Dynasty, focus on the theory of teaching classification, the

The development of IPv6 was to a large extent motivated by the concern that we are running out of 4-byte IPv4 address space.. And indeed we are: projections in- dicate that the