1 / 23

Improving Opportunistic Data Dissemination via Known Vector

Improving Opportunistic Data Dissemination via Known Vector. Jyh-How Huang 1 , Ying-Yu Chen 2 , Yi-Chao Chen 2 , Shivakant Mishra 3 , and Ling-Jyh Chen 2 1 Department of Electronic Engineering, National Taiwan University 2 Institute of Information Science, Academia Sinica

benito
Download Presentation

Improving Opportunistic Data Dissemination via Known Vector

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Improving Opportunistic Data Dissemination via Known Vector Jyh-How Huang1, Ying-Yu Chen2, Yi-Chao Chen2, Shivakant Mishra3, and Ling-Jyh Chen2 1 Department of Electronic Engineering, National Taiwan University 2 Institute of Information Science, Academia Sinica 3 Department of Computer Science, University of Colorado Boulder

  2. Motivation • Replication is the most popular design choice for opportunistic network routing protocols. • For example, the Epidemic Routing protocol sends identical copies of a message over multiple paths to mitigate the effects of a single path failure. • Two encountered nodes may have some messages in common. • It is necessary to avoid sending the messages that the other node already has.

  3. Motivation (Cont.) • Intuitively, exchanging meta-messages with indices of messages in the buffer can solve the problem. • However, meta-message exchange may become a big overhead. • We propose a new scheme, called Known Ventor (KV), to reduce the overhead.

  4. Meta-Message • Meta-message is used to avoid sending duplicate messages that the other node already has. • Most protocols apply a scheme called Summary Vectoras the meta-message. • A summary vector comprises all identifiers of the messages buffered on the node. • An identifier of a message is unique for each message in the network. • Let’s take the Epidemic Routing protocol as an example 

  5. Epidemic Routing • When two nodes encounter, they exchange the summary vector with each other. • Each node compares the received summary vector to its buffer, and then requests the messages that are not in its buffer. • We call the request of messages as Request Vector. • After receiving a request vector, the node transmits the requested messages.

  6. Example of Epidemic Routing • Define: • BUFx: the set of messages in the buffer of node x • SVx,y: the summary vector generated by node x for node y • RVx,y: the request vector generated by node x for node y SV results in tremendous overhead when 1) nodes move in a group; and 2) network connectivity is good.

  7. Our Approach: Known Vector • The idea: if a node knows which messages are not interesting to the other node, he removes those message IDs in advance, and thus reduces the SV size. • A simple solution: • Keep a record about who has the message • Send the record along with the message

  8. The Known Vector Scheme • In the Known Vector scheme, each message has two parts: • the original data • a known vector • A known vector is a list of nodes who have already “known” this message. • Known Vectors of the same message may be different on different nodes (i.e., each node has its own view of the KVs for each stored message)

  9. Why using Known Vector? • The Known Vector scheme can be considered as a pre-processor that removes non-interested meta-messages from a Summary Vector. • Every protocol that implements the Summary Vector scheme can apply the Known Vector scheme to improve its performance.

  10. Procedures of Known Vector (0/4) • Define: • BUFx: the set of messages in the buffer of node x • SVx,y: the summary vector generated by node x for node y • RVx,y: the request vector generated by node x for node y • Mk,x: the copy of a message Mk resided in node x • KVMk,x: the known vector of Mk,x

  11. Procedures of Known Vector (1/4) • Generate and exchange summary vectors:Node x generates SVx,y that contains IDs of the messages whose known vectors do not contain node y. For example, when node i and j encounter: - Status of node i: BUFi={M1, M2}, KVM1,i={m, j, n}, KVM2,i={a, b} - Status of node j: BUFj={M3, M1}, KVM3,j={a}, KVM1,j={m} - Node i generate SVi,j={M2} (Note: M1 is not included because KVM1,i contains j.) - Node j generate SVj,i={M3, M1}

  12. Procedures of Known Vector (2/4) 2. Generate and send request vectors:After receiving SVy,x, node x requests all messages in SVy,x but not in BUFx, that is, RVx,y = SVy,x – BUFx For the previous example: - Node i generates: RVi,j={M3} (Note: Node i does not request M1.) - Node j generates: RVj,i={M2}

  13. Procedures of Known Vector (3/4) 3. Transmit messages requested:3.1) For every message Mk transmitted from node x to node y, node x duplicates Mk,x as Mk,x’ including KVMk,x, and sends it to node y.3.2) After transmission: KVMk,x <- KVMk,x U {y}Mk,y <- Mk,x’, KVMk,y <- KVMk,x’ U {x} For the previous example: - After node i sends M2,i’ to node j: KVM2,i={a,b,j}, KVM2,j={a,b,i} - After node j sends M3,j’ to node i: KVM3,j={a,i}, KVM3,i={a,j}

  14. Procedures of Known Vector (4/4) 4. Update known vectors:Node x add y into the known vector of every message in the set SVx,y – RVy,x because node y is supposed to request every message in SVx,y unless it already has that message. For the previous example: - SVi,j – RVj,i = {} - SVj,i – RVi,j = {M1} => KVM1,j={m,i}

  15. Evaluation • Evaluate the performance on top of Epidemic Routing • Simulator: The ONE • The Opportunistic Network Environment simulator • A Java-based simulator

  16. Evaluation Scenarios • Use two realistic wireless network traces: • ZebraNet • iMote

  17. Evaluation Settings • Messages: • Generated in the first 10% of the simulation time • Are either 1K bytes or 100 bytes • With a Poisson rate of 40 seconds/message in iMote and 200 seconds/message in ZebraNet • Transmission rate: 240Kbps

  18. Evaluation I: Infinite Buffer CDF(cumulative distribution function) of delivery ratio: - In both scenario, the two schemes are comparable.

  19. Evaluation I: Infinite Buffer CDF of overhead / total data transmitted: - In iMote, KV reduces about 16% of overhead - In ZebraNet, KV reduces about 31% of overhead

  20. Evaluation II: Finite Buffer • CDF of delivery ratio: • Message size is fixed at 100 bytes. • The KV scheme outperforms the SV scheme in all test cases, and the performance gain increases as the buffer size decreases. • For example, the performance gain is about 16%, 7%, and 3% in the ZebraNet when the buffer is 20k, 40k, and 60k bytes.

  21. Evaluation II: Finite Buffer • CDF of overhead / total data transmitted: • Message size is fixed at 100 bytes. • The KV scheme is able to reduce traffic overhead when comparing with the SV scheme. • For example, the KV scheme reduces about 77%, 77%, and 71% in ZebraNet when the buffer size is 20k, 40k, and 60k bytes.

  22. Conclusion • The SV overhead may increase substantially as the number of messages buffered on each node increases. • We propose a novel approach, Known Vector, to mitigate the overhead. • The evaluation results show that the two schemes are comparable when the buffer is infinite. • However, when the buffer is constrained, the Known Vector scheme is much superior to the Summary Vector scheme.

  23. Thanks! http://www.iis.sinica.edu.tw/~cclljj/ http://nrl.iis.sinica.edu.tw/

More Related