Jeremy Blackburn
Ph.D. in Computer Science Student
jhblackb at mail usf edu
The general motivation for what I do can be summed up in this comic.
Specifically, I'm interested in the confluence of real and virtual world social interaction, and how we might leverage distributed systems to blur the boundaries between the two.
For the current work I'm involved in, please have a look at the USF Distributed Systems Group.
Cheaters in Online Multiplayer Video Games
Video games have a long and storied history, with deep ties to popular (Internet) culture.
In fact, multiplayer video games long eclipsed other forms of media, and routinely break records for entertainment product launches.
Unfortunately, a persistent problem remains: cheaters.
We studied the Steam Community gaming social network, which is built upon the dominant digital distribution platform for PC games, Steam.
Steam Community users form an explicit social network via declared friendships.
Steam Community users are also subject to the Valve Anti Cheat (VAC) system, which permanently and irrevocably marks the profiles of cheaters with a publicly viewable "ban(s) on record".
We crawled Steam Community, gathering details on over 12 million gamers, over 700 thousand of which had been caught cheating and made the following findings:
-
Cheaters are
not social pariahs, and are actually quite well embedded in the network. -
Cheaters are
not treated differently than non-cheaters during in-game interactions. -
There
is a social penalty for cheaters at the declared friendship level: cheaters tend to lose friends at a greater rate than non-cheaters, as well as gaining friends at a slower rate. - There is an astonishing degree of homophily between cheaters: cheaters tend to be friends with more cheaters than non-cheaters (and vice-versa).
- The spread of cheating behavior appears to mesh with theories of social contagion: the more cheater friends one has, the greater the likelihood she will become a cheater herself.
Our findings have obvious implications when it comes to video games, but also to other systems, especially those that employ gamification techniques to increase user engagement. Our large-scale study also sheds light on theories of ethical behavior of humans in general.
BitTorrent for Mobile Devices
A major concern for applications on mobile devices is battery consumption. Data transmission is quite expensive and thus special concerns must be addressed.
BatTorrent is a project that attempts to address these concerns by scaling transmission speed with remaining battery level, giving low battery clients the ability to participate in swarms without risking device failure.
BatTorrent was presented as a poster at UbiComp 2009.
Power Management for BitTorrent
BitTorrent is the world's most popular peer-to-peer file distribution system. One of the nice features of BitTorrent, and the feature that has caught the eye of the content distribution industry is that it removes the need for power hungry data centers. Instead of having centralized servers distribute content to consumers, the consumers distribute the content amongst themselves, possibly alleviating the 2.7 billion dollars or so a year in energy costs of volume servers. The CTO of BitTorrent, Inc., Eric Klinker has mentioned (@ about 2:10) that BitTorrent is a "green" technology due to this.
However, due to the nature of the protocol, BitTorrent requires clients to be awake 24/7 to attain its full potential. While some would argue that these computers are on anyways, we are of the opinion that this is unnecessary.
Thus, in the first ever study of the energy efficiency of BitTorrent we measured the potential energy savings possible with a modification to the BitTorrent application to allow seeds to go to sleep while not actively uploading and later be woken up on demand.
Power Management for BitTorrent won first place in the 2008 Computer Science Research Experience for Undergraduates Poster Competition at the University of South Florida.
In addition to the poster, a symposium abstract and a conference paper were published.
gtelnet
A green telnet client/server.
gtelnet was designed to allow a client computer to go to sleep without losing its connection to the server. In order to achieve this goal, a telnet client and server were modified. When the client goes to sleep the connection to the server is closed. In a standard telnet server this would result in the session timing out, causing any running applications to terminate and data to be lost.
gtelnet, on the other hand, views a connection close from the client (i.e. a socket being closed) as an indication that the client is going to sleep. When this occurs, the telnet server begins buffering data in a temporary queue which is later sent to the client when it wakes up and reconnects. Due to the nature of the TCP/IP stack, a simple circular replay buffer is used to to ensure that any data the server sent over a socket but did not actually reach the client is not lost. (An explicit "exit" command from the client is required to terminate the session.)
An article about gtelnet was published in Dr. Dobb's Journal (online and print).
This material is based upon work supported by the National Science Foundation under Grant No. 0520081.