pSense is an interest management (IM) and spatial event dissemination algorithm developed by the DVS group. It addresses the problem of creating and maintaining a peer-to-peer based IM overlay for massive multiplayer online games (MMOGs).
In a MMOG the players move and interact within a large virtual world. Although each player can theoretically interact with every other player in the game, in most games interaction takes only place between players that are near to each other, i.e., players that can see each other. Whether a player can see another player is constrained by his vision range, which depends on the specific game used. pSense makes use of this to optimize the network communication among players. The participating peers are dynamically divided in three groups:

- Peers within the vision range (near nodes) Communicate directly with each other. Each peer sends her position update messages at a constant rate. Different communication schemes can be applied without interfering with pSense, e.g., dynamic update rates based on the game situation or available bandwidth.
- Peers that are outside of the vision range but still "close" (sensor nodes) The communication with the sensor nodes occurs with a low frequency (typically once per second). Sensor nodes are in charge of introducing the peer to incoming players that soon will be within the vision range. Since Sensors know the peer's position, they can also suggest other peers as sensors if they have a better position. To be sure of being notified for each new peer in the vision range, the sensor nodes must be uniformly distributed in all directions. Therefore, the exterior of the vision range ist divided into a constant number of sectors, containing one sensor node each.
- All other peers outside of the vision range and not sensor nodes. These peers are not relevant for the player since she cannot interact with them.
We implemented pSense in our gaming testbed Planet PI4. This allows us to test and use pSense in a real world game as well as in a controlled simulation environment.
For a detailed explanation have a look at our paper on pSense.
pSense was also featured in the paper “Towards a Comparative Performance Evaluation of Overlays for Networked Virtual Environments” at the IEEE P2P 2011. The paper compares pSense to VON, Mercury and a Client-Server implementation.
Publications
nSense: Interest Management in Higher Dimensions (Master's Thesis) Maribel Zamorano Castro. Technische Universität Darmstadt, July 2014 [BibTeX] |
nSense: Decentralized Interest Management in Higher Dimensions through Mutual Notification Robert Rehner, Maribel Zamorano Castro, Alejandro Buchmann The 13th Annual Workshop on Network and Systems Support for Games, 2014 Poster [PDF] [BibTeX] |
nSense: Interest Management in Higher Dimensions Robert Rehner, Max Lehn, Alejandro Buchmann Proceedings of the 13th IEEE Conference on Peer-to-Peer Computing (P2P'13), 2013 Poster [Conference] [PDF] [BibTeX] |
Towards a Comparative Performance Evaluation of Overlays for Networked Virtual Environments Christian Groß, Max Lehn, Christoph Münker, Alejandro Buchmann, Ralf Steinmetz Proceedings of the 11th IEEE International Conference on Peer-to-Peer Computing, IEEE, September 2011 [PDF] [BibTeX] |
An Online Gaming Testbed for Peer-to-Peer Architectures Max Lehn, Christof Leng, Robert Rehner, Tonio Triebel, Alejandro Buchmann Proceedings of ACM SIGCOMM'11, Toronto, Canada, ACM, August 2011 Demo [Conference] [PDF] [PS] [Slides] [BibTeX] |
Performance Evaluation of Peer-to-Peer Gaming Overlays Max Lehn, Tonio Triebel, Christof Leng, Alejandro Buchmann, Wolfgang Effelsberg IEEE International Conference on Peer-to-Peer Computing, August 2010 Demo [Conference] [PDF] [BibTeX] |
pSense - Maintaining a dynamic localized peer-to-peer structure for position based multicast in games Arne Schmieg, Michael Stieler, Sebastian Jeckel, Bettina Kabus Patric Kemme, Alejandro Buchmann Proceedings of the 8th International Conference on Peer-to-Peer Computing 2008 (P2P 2008), Aachen, Germany, September 2008 [Conference] [PDF] [BibTeX] |