Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a...
Transcript of Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a...
![Page 1: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/1.jpg)
14/15 S2
Lecture 7Interest Management
without Server
![Page 2: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/2.jpg)
14/15 S2
Point-to-Point Architecture
![Page 3: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/3.jpg)
14/15 S2
Problem: Communication between every pair of players
![Page 4: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/4.jpg)
14/15 S2
Idea: A player p only needs to communicate with another player q if p is relevant to q
![Page 5: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/5.jpg)
14/15 S2
Recall: In C/S Architecture, the server has global information and decides who is relevant to who.
![Page 6: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/6.jpg)
14/15 S2
Challenge: No global information in P2P architecture.
![Page 7: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/7.jpg)
14/15 S2
Naive Solution: Every player keeps global information about all other player and makes individual decision.
![Page 8: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/8.jpg)
14/15 S2
Maintaining global information is expensive (and that’s what we want to avoid in the first place!)
![Page 9: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/9.jpg)
14/15 S2
Smarter solution: exchange position, then decide when should the next position exchange be.
![Page 10: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/10.jpg)
14/15 S2
Idea: Assume B is static. If A knows B’s position, A can compute the region which is irrelevant to B. Need not update B if A moves within that region.
B
A
![Page 11: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/11.jpg)
14/15 S2
what if B moves?
![Page 12: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/12.jpg)
14/15 S2
It still works if B also knows A position and computes the region that is irrelevant to A.
![Page 13: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/13.jpg)
14/15 S2
Position exchanges occur once initially, and when a player moves outside of its irrelevant region wrt another player.
![Page 14: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/14.jpg)
14/15 S2
Frontier Sets cell-based, visibility-based IM
![Page 15: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/15.jpg)
14/15 S2
Previously, we learnt how to compute cell-to-cell visibility.
![Page 16: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/16.jpg)
14/15 S2
Frontier for cells X and Y consists of
two sets FXY and FYX
![Page 17: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/17.jpg)
14/15 S2
No cell in FXY is visible from a cell in FYX, and vice versa.
![Page 18: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/18.jpg)
14/15 S2
FXY and FYX are disjoint if X and Y are not mutually visible.
![Page 19: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/19.jpg)
14/15 S2
FXY and FYX are empty if X and Y are mutually visible.
![Page 20: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/20.jpg)
14/15 S2
Suppose X and Y are not mutually visible, then
a simple frontier is
FXY = {X} FYX = {Y}
(many others are possible)
![Page 21: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/21.jpg)
14/15 S2
A B C
D E F
G H I
![Page 22: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/22.jpg)
14/15 S2
A B C
D E F
G H I
![Page 23: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/23.jpg)
14/15 S2
A B C
D E F
G H I
![Page 24: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/24.jpg)
14/15 S2
A B C
D E F
G H I
![Page 25: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/25.jpg)
14/15 S2
A B C
D E F
G H I
![Page 26: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/26.jpg)
14/15 S2
Position exchanges occur once initially, and when a player moves outside of its irrelevant region wrt another player.
![Page 27: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/27.jpg)
14/15 S2
Initialize: Let player P be in cell X For each player Q Let cell of Q be Y Compute FXY (or simply FQ)
![Page 28: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/28.jpg)
14/15 S2
Move to new cell: Let X be new cell For each player Q If X not in FQ Send location to Q
![Page 29: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/29.jpg)
14/15 S2
Receive Update: (location from Q) Send location to Q Recompute FQ
![Page 30: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/30.jpg)
14/15 S2
A B C
D E F
G H I
Update is triggered.
![Page 31: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/31.jpg)
14/15 S2
A B C
D E F
G H I
New Frontier.
![Page 32: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/32.jpg)
14/15 S2
A B C
D E F
G H I
Update triggered.
![Page 33: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/33.jpg)
14/15 S2
A B C
D E F
G H I
New frontier (empty since E can see G)
![Page 34: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/34.jpg)
14/15 S2
How to compute frontier?
![Page 35: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/35.jpg)
14/15 S2
A good frontier is as large as possible, with two almost
equal-size sets.
![Page 36: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/36.jpg)
14/15 S2
A B C
D E F
G H I
Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are visible to each other (EVEN if they don’t share a boundary)
![Page 37: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/37.jpg)
14/15 S2
Let dist(X,Y) be the shortest distance between two cells X and Y on the visibility graph.
![Page 38: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/38.jpg)
14/15 S2
A B C
D E F
G H I
0 1 1
2 1 2
2 3 3
![Page 39: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/39.jpg)
14/15 S2
Theorem FXY = { i | dist(X,i) <= dist(Y,i) - 1} FYX = { j | dist(Y,j) < dist(X,j) - 1}
are valid frontiers.
![Page 40: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/40.jpg)
14/15 S2
A B C
D E F
G H I
0 1 1
2 1 2
2 3 3 011
422
333
![Page 41: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/41.jpg)
14/15 S2
A B C
D E F
G H I
0 1 1
2 1 2
2 3 3 011
422
333
![Page 42: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/42.jpg)
14/15 S2
A B C
D E F
G H I
0 1 1
2 1 2
2 3 3 011
422
333
![Page 43: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/43.jpg)
14/15 S2
A B C
D E F
G H I
![Page 44: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/44.jpg)
14/15 S2
Theorem FXY = { i | dist(X,i) <= dist(Y,i) - 1} FYX = { j | dist(Y,j) < dist(X,j) - 1}
are valid frontiers.
![Page 45: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/45.jpg)
14/15 S2
FXY = { i |dist(X,i) <= dist(Y,i) - 1} FYX = { j |dist(Y,j) < dist(X,j) - 1}
Proof (by contradiction) Suppose there are two cells, C in FXY and D in FYX, that can see each other.
![Page 46: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/46.jpg)
14/15 S2
FXY = { i |dist(X,i) <= dist(Y,i) - 1} FYX = { j |dist(Y,j) < dist(X,j) - 1}
dist(X,C) <= dist(Y,C) - 1 dist(Y,D) < dist(X,D) - 1 dist(C,D) = dist(D,C) = 1
![Page 47: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/47.jpg)
14/15 S2
dist(X,C) <= dist(Y,C) - 1 dist(Y,D) < dist(X,D) - 1 dist(C,D) = dist(D,C) = 1
We also know that dist(X,D) <= dist(X,C) + dist(C,D) dist(Y,C) <= dist(Y,D) + dist(D,C)
![Page 48: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/48.jpg)
14/15 S2
1. dist(X,C) <= dist(Y,C) - 1 2. dist(Y,D) < dist(X,D) - 1 3. dist(C,D) = 1 4. dist(X,D) <= dist(X,C) + dist(C,D) 5. dist(Y,C) <= dist(Y,D) + dist(D,C)
From 4, 1, and 3: dist(X,D) <= dist(Y,C) - 1 + 1 From 5: dist(X,D) <= dist(Y,D) + 1
![Page 49: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/49.jpg)
14/15 S2
1. dist(X,C) <= dist(Y,C) - 1 2. dist(Y,D) < dist(X,D) - 1 3. dist(C,D) = 1 4. dist(X,D) <= dist(X,C) + dist(C,D) 5. dist(Y,C) <= dist(Y,D) + dist(D,C)
We have dist(X,D) <= dist(Y,D) + 1 Which contradict 2 dist(X,D) > dist(Y,D) + 1
![Page 50: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/50.jpg)
14/15 S2
How good is the idea?
(How many messages can we save by using Frontier Sets?)
![Page 52: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/52.jpg)
14/15 S2
q2dm3 q2dm4 q2dm8
Max dist() 4 5 8
Num of cells 666 1902 966
![Page 53: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/53.jpg)
14/15 S2
Frontier Density: % of player-pairs with non-empty frontiers.
![Page 54: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/54.jpg)
14/15 S2
q2dm3 q2dm4 q2dm8
Frontier Density 83.9 93 84.2
![Page 55: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/55.jpg)
14/15 S2
Frontier Size: % of cells in the frontier on average
![Page 56: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/56.jpg)
14/15 S2
q2dm3 q2dm4 q2dm8
Frontier Size 38.3% 67.3% 68.2%
![Page 57: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/57.jpg)
14/15 S2
Compare with 1. Naive P2P 2. Perfect P2P
![Page 58: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/58.jpg)
14/15 S2
Naive P2P Always send update to 15 other players.
![Page 59: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/59.jpg)
14/15 S2
Perfect P2P Hypothetical protocol that sends messages only to visible players.
![Page 60: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/60.jpg)
14/15 S2
q2dm3 q2dm4 q2dm8
NPP 15 15.7 14.4
PPP 3.7 1.9 4.2
Frontier 5.4 2.6 5.9
Number of messages per frame per player.
![Page 61: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/61.jpg)
14/15 S2
Space Complexity Let N be the number of cells. If we precompute Frontier for every pair of cells, we need
O(N3) space.
![Page 62: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/62.jpg)
14/15 S2
If we store visibility graph and compute frontier as needed, we only need
O(N2) space.
![Page 63: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/63.jpg)
14/15 S2
Frontier Sets cell-based, visibility-based IM
![Page 64: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/64.jpg)
14/15 S2
Limitations
![Page 65: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/65.jpg)
14/15 S2
Works badly if there’s little occlusion in the virtual world.
![Page 66: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/66.jpg)
14/15 S2
Still need to exchange locations with every other
players occasionally.
![Page 67: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/67.jpg)
14/15 S2
Voronoi Overlay Network: Distance-based Interest
Management
![Page 68: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/68.jpg)
14/15 S2
Diagrams and plots in the sections are taken from presentation slides
by Shun-yun Hu, available on
http://vast.sf.net
![Page 69: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/69.jpg)
14/15 S2
Keep a list of AOI-neighbors and exchange messages with AOI-neighbors.
![Page 70: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/70.jpg)
14/15 S2
Q: How to initialize AOI-neighbors?
![Page 71: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/71.jpg)
14/15 S2
Q: How to update AOI-neighbors?
![Page 72: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/72.jpg)
14/15 S2
![Page 73: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/73.jpg)
14/15 S2
Case 1: Another player exists in the overlap area.
![Page 74: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/74.jpg)
14/15 S2
Hello, p and q. You are entering each other’s AOI.
![Page 75: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/75.jpg)
14/15 S2
Case 2: No player exists in the overlap area.
![Page 76: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/76.jpg)
14/15 S2
Players need to communicate with each other even if they are not in AOI
![Page 77: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/77.jpg)
14/15 S2
Challenge: Figure out who to communicate with without global information.
![Page 78: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/78.jpg)
14/15 S2
Voronoi Diagram
![Page 79: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/79.jpg)
14/15 S2
Every node is in charge of a region in the virtual world.
The region contains points closest to the node.
![Page 80: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/80.jpg)
14/15 S2
Voronoi Diagram
![Page 81: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/81.jpg)
14/15 S2
AOI Neighbors: Neighbors in AOI
![Page 82: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/82.jpg)
14/15 S2
Enclosing Neighbors: Neighbors in adjacent region.
(may or may not be in AOI)
![Page 83: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/83.jpg)
14/15 S2
Boundary Neighbors: Neighbors whose region intersect with AOI.
(may or may not be in AOI)
![Page 84: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/84.jpg)
14/15 S2
Boundary and Enclosing Neighbor
![Page 85: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/85.jpg)
14/15 S2
Regular AOI Neighbor: Non-boundary and non-enclosing neighbor in AOI
![Page 86: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/86.jpg)
14/15 S2
Unknown nodes (not neighbors!)
![Page 87: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/87.jpg)
14/15 S2
Type in AOI? intersect? adjacent?
Regular yes no no
Enclosing maybe no yes
Boundary maybe yes no
Enclosing+Boundary maybe yes yes
![Page 88: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/88.jpg)
14/15 S2
A node always connects to its enclosing neighbors, regardless of whether they are in the AOI.
![Page 89: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/89.jpg)
14/15 S2
A node connects and exchanges updates with all neighbors.
![Page 90: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/90.jpg)
14/15 S2
A node maintains Voronoi of all neighbors (regardless of inside AOI or not)
![Page 91: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/91.jpg)
14/15 S2
Suppose a player X wants to join. X sends its location to any node in the system.
![Page 92: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/92.jpg)
14/15 S2
X join request is forwarded to the node in charge of the region (i.e., closest node to X), called acceptor.
![Page 93: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/93.jpg)
14/15 S2
Forwarding is done greedily (at every step, forward to neighbor closest to X)
![Page 94: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/94.jpg)
14/15 S2
Acceptor informs the joining node X of its neighbors. Acceptor, X, and the neighbors update their Voronoi diagram to include the new node.
![Page 95: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/95.jpg)
14/15 S2
When X moves, X learns about new neighbors from the boundary neighbors.
![Page 96: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/96.jpg)
14/15 S2
Boundary neighbors’ enclosing neighbors may become new neighbors of X.
![Page 97: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/97.jpg)
14/15 S2
When a node disconnects, Voronoi diagrams are updated by the affected nodes. New boundary neighbors may be discovered.
![Page 98: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/98.jpg)
14/15 S2
VON Properties:
Number of connections depends on size of AOI, not size of virtual world
![Page 99: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/99.jpg)
14/15 S2
VON Properties:
Maintain a minimal number of enclosing neighbors when the world is sparse to ensure connectivity.
![Page 100: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/100.jpg)
14/15 S2
VON Properties:
Boundary neighbors ensure that new neighbors are discovered.
![Page 101: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/101.jpg)
14/15 S2
VON Properties:
Inconsistency may occur (e.g. with fast moving nodes)
![Page 102: Lecture 7 › ~ooiwt › cs4344 › 1415s2 › l7-im2.pdf · 14/15 S2 A B C D E F G H I Build a visibility graph. Cells are vertices. Two cells are connected by an edge if they are](https://reader034.fdocuments.us/reader034/viewer/2022042410/5f273d8ae2610647b804c3bf/html5/thumbnails/102.jpg)
14/15 S2