Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

Successfully reported this slideshow.

Like this presentation? Why not share!

- CS5229 09/10 Lecture 9: Internet Pa... by Wei Tsang Ooi 583 views
- CS5229 09/10 Lecture 6: Simulation by Wei Tsang Ooi 873 views
- SIGMM Education Effort Presentation... by Wei Tsang Ooi 979 views
- CS4344 09/10 Lecture 7: P2P Interes... by Wei Tsang Ooi 774 views
- CS4344 09/10 Lecture 1: Introduction by Wei Tsang Ooi 1261 views
- CS4344 09/10 Lecture 2: Consistency by Wei Tsang Ooi 961 views

561 views

Published on

No Downloads

Total views

561

On SlideShare

0

From Embeds

0

Number of Embeds

2

Shares

0

Downloads

0

Comments

0

Likes

1

No embeds

No notes for slide

- 1. Lecture 5 Interest Management 22 February 2010 1
- 2. aka Relevance Filtering 2
- 3. aka Data Distribution Management 3
- 4. Idea: only need to update another player p if the update matters to p. 4
- 5. Aura / Area-of-Interest 5
- 6. Update of p matters to q if the auras of p and q intersect. 6
- 7. Foci (what a player can see) 7
- 8. Nimbi (where a player can be seen) 8
- 9. Update of p matters to q if the foci of p intersects nimbi of q. 9
- 10. need not be binary: can generalize to multi- level of interest depending on distance 10
- 11. Communication Abstraction 11
- 12. Multicast: send a message to a set of subscribers 12
- 13. Group: a channel to publish messages 13
- 14. A client can subscribe to/ join a group to start receiving messages from that group. 14
- 15. A client can unsubscribe from/leave a group to stop receiving messages from that group. 15
- 16. Anyone can send a message to a group (need not be a subscriber). 16
- 17. a group a subscriber 17
- 18. Distance-based Interest Management 18
- 19. Update of p matters to q if the p and q are within certain distance from each other 19
- 20. Calculating a distance-based AoI can be costly. 20
- 21. Cell-based Interest Management 21
- 22. Idea: approximate use bounding boxes 22
- 23. or approximate using cells 23
- 24. Each cell is a group. A subscriber can subscribe to multiple cells. A group can have multiple publishers. a group 24
- 25. Large cell: Redundant messages. Small cell: Large management overhead. 25
- 26. The white player will receive many messages he/she is not interested in. 26
- 27. Idea: we can dynamically partition the cells into smaller ones as needed. 27
- 28. Visibility-Based Interest Management 28
- 29. 29
- 30. Ideally one should consider occlusion (we focus on visual occlusion) 30
- 31. A player P is interested in (events generated by) an entity Q if P can see Q, and Q is near P. 31
- 32. Ideally one should consider occlusion (we focus on visual occlusion) 32
- 33. Ray Visibility Interest Management 33
- 34. Object-to-Object Visibility 1. Expensive 2. Frequent re-calculations. but gives exact visibility. 34
- 35. A player P is interested in (events generated by) an entity Q if P can see Q’s cell, and Q is near P. 35
- 36. Object-to-Cell Visibility 36
- 37. Object-to-Cell Visibility 1. Less expensive 2. Less frequent re-calculations 3. Less accurate 37
- 38. When player moves, still need to recompute visible cells. 38
- 39. A player P is interested in (events generated by) an entity Q if P’s cell can “see” Q’s cell, and Q is near P. 39
- 40. i.e., there exists in a point in P’s cell that can see a point in Q’s cell, and Q is near P. 40
- 41. Cell-to-Cell Visibility 41
- 42. Cell-to-Cell Visibility 1. Much Less expensive 2. Calculate once! but even less accurate. 42
- 43. Computing Cell-to-Cell Visibility 43
- 44. Check if there exist two points, one in each cell, that can see each other (can draw a line without passing through occlusion) 44
- 45. Trivial case: if two cells are adjacent and the boundary is not completely occluded. 45
- 46. Build a graph of cells -- connect two vertices if they share a boundary and is visible to each other. 46
- 47. if two cells are not-adjacent, then for them to be visible to each other, there should exists a path between them, and ... 47
- 48. consider the non-occluded boundaries along path.. 48
- 49. The set of points on the left L and right R can be separated by a line. 49
- 50. The set of points on the left L and right R can be separated by a line. 50
- 51. Linearly Separable Point Sets no yes 51
- 52. We can model this problem as a set of linear equations. (x1,y1) ax + by - c = 0 (x2,y2) 52
- 53. Find a solution (a, b, c) for the following: ax1 + by1 - c > 0 for all (x1,y1) in L ax2 + by2 - c < 0 for all (x2,y2) in R The line that separates is ax + by - c = 0 (x1,y1) ax + by - c = 0 (x2,y2) 53
- 54. We can break into smaller cells if occlusion is not aligned with boundary of cells. 54
- 55. (Irregular) triangular cells can adapt to any polygonal occlusions. 55
- 56. Note: Rendering engine usually computes visibility information which we may be able to reuse in the Interest Management module. 56
- 57. Generalized Interest Management 57
- 58. Example: Interested in (i) objects around avatar (ii) buildings in a region (iii) the opponent’s avatar 58
- 59. Subscription can be based on any attributes (not just position) 59
- 60. We can view each object as occupying a multidimensional space (each attribute is a dimension) 60
- 61. A subscription speciﬁes a region in the same space. 61
- 62. When an update region of an entity P intersects the subscription region of entity Q, updates of P is sent to Q. 62
- 63. How to test if two regions overlap in k-dimensional space? 63
- 64. Naive approach: O(nm) for n update region and m subscription region. 64
- 65. Dimensional Reduction If two regions overlap, then they overlap in each of the individual k dimension. 65
- 66. 66
- 67. How to test if two intervals overlap? 67
- 68. Step 1: Sort all end points and put into a list L 68
- 69. 69
- 70. Step 2: Scan from left to right. Remember all active subscription regions S and all active update regions U. 70
- 71. S1 Active Subscriptions: S1 71
- 72. S2 S1 Active Subscriptions: S1, S2 72
- 73. S2 S1 U1 Active Subscriptions: S1, S2 Active Update Regions: U1 73
- 74. We can determine the overlaps when we process the endpoint of a region. 74
- 75. S2 S1 U1 Active Subscriptions: S2 Active Update Regions: U1 S1 overlaps U1 75
- 76. S2 S1 U1 Active Subscriptions: none Active Update Regions: U1 S2 overlaps U1 76
- 77. 77
- 78. If we encounter the endpoint of a subscription region, then it overlaps with all active update regions. If it is the endpoint of an update region, then it overlaps with all active subscription region. 78
- 79. Sort-based approach: O(n log n + m log m) for sorting O(n + m) to scan 79
- 80. Note: storing overlap information still takes O(nm) since in the worst case there are O(nm) overlaps. 80
- 81. Temporal Coherence Changes to value of an attribute is small between two consecutive time steps. 81
- 82. Sort-based approach: O(n log n + m log m) to pre-sort the data O(n + m) for sorting (insertion sort) O(n + m) to scan 82
- 83. In fact, only regions that are swapped during insertion sort need to update their overlap set. 83
- 84. 84

No public clipboards found for this slide

Be the first to comment