Using a Physical Metaphor to Scale up Communication in Virtual Worlds
Total Page:16
File Type:pdf, Size:1020Kb
USING A PHYSICAL METAPHOR TO SCALE UP COMMUNICATION IN VIRTUAL WORLDS A DISSERTATION SUBMITTED TO THE DEPARTMENT OF COMPUTER SCIENCE AND THE COMMITTEE ON GRADUATE STUDIES OF STANFORD UNIVERSITY IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY Daniel Reiter Horn February 2011 © 2011 by Daniel Reiter Horn. All Rights Reserved. Re-distributed by Stanford University under license with the author. This work is licensed under a Creative Commons Attribution- 3.0 United States License. http://creativecommons.org/licenses/by/3.0/us/ This dissertation is online at: http://purl.stanford.edu/tg227ps1931 ii I certify that I have read this dissertation and that, in my opinion, it is fully adequate in scope and quality as a dissertation for the degree of Doctor of Philosophy. Patrick Hanrahan, Primary Adviser I certify that I have read this dissertation and that, in my opinion, it is fully adequate in scope and quality as a dissertation for the degree of Doctor of Philosophy. Philip Levis I certify that I have read this dissertation and that, in my opinion, it is fully adequate in scope and quality as a dissertation for the degree of Doctor of Philosophy. Mendel Rosenblum Approved for the Stanford University Committee on Graduate Studies. Patricia J. Gumport, Vice Provost Graduate Education This signature page was generated electronically upon submission of this dissertation in electronic format. An original signed hard copy of the signature page is on file in University Archives. iii iv Preface This work was conducted at the Stanford Computer Science department from 2003 to 2011. Many of the key theoretical insights are presented in the July-September 2009 issue of IEEE Pervasive computing. The development and systems building was done in collaboration with the Levis networking group. Virtual worlds today fail to provide seamless, online, shared environments. Re- strictive communication primitives, usually based on broadcast, are partly to blame for scalability problems that limit world size and the scope of the experience. Unicast would provide a more natural interface for most application-level traffic. The geo- metric nature of virtual worlds, however, makes unicast more difficult to scale than the broadcast primitives of existing systems. This dissertation argues that application-level messaging in virtual worlds must have five properties to enable scalability while avoiding the undesirable limitations of existing systems: recipient selection, minimum quality of service, graceful degrada- tion, fine-grained multiplexing and high utilization. To address these issues, the Sirikata system architecture, a new virtual world back-end system, was developed that achieves these five properties. Sirikata's key insight is to leverage the geometric nature of virtual worlds by applying a physical metaphor to communication. Object communication follows an inverse square law, behaving similarly to point-source radio transmitters and receivers. The theoretical scalability results are proven, and some valid approximations are investigated. Then an implementation of a message forwarder that supports a large number of objects and prioritizes traffic using such an inverse square falloff is introduced. Evaluations of Sirikata show that it satisfies the stated requirements, performs better v than current virtual worlds, and can closely follow the real-world radio communication analogy. Finally, a range of sample application demonstrates the effectiveness of this approach. Each sample application is coded in the world and studied when the system is loaded. vi Acknowledgments I am extremely grateful to my advisor Pat Hanrahan who has allowed me to explore a wide range of areas in my time at Stanford including parallel systems, graphics hard- ware, computing theory, and light fields and finally, the topic of my thesis: virtual worlds. Pat is a veritable modern-day renaissance man and his varied yet fascinating interests have helped widen my perspective and fuel my growing voracity for knowl- edge. Pat has also made it a priority to nurture my disparate interests and has been the key to sustaining me as a graduate student by writing numerous grants, connect- ing me with internships and helping me win many semesters of fellowship awards. I owe my deepest gratitude to Phil Levis who guided my discovery of networked systems and how they relate to virtual worlds and graphics. It was so gratifying that Phil helped me keep focused on a single directed goal that could evolve to something scientifically important and with depth. Phil is one of those rare people with whom you can sit down and talk about any issue, and during that time together, shut out all the outside world and focus on exactly that topic. This has been extremely helpful when pursuing the narrow research direction that evolved into a dissertation. Phil's enthusiasm for the area of virtual worlds has also been a constant source of driving energy for me in this area, and I've been glad to interact with someone who is as fired up about it as I am. I would like to thank both Mendel Rosenblum and Nick McKeown for their quick wit and challenging rebuttals and questions during my defense as well as their com- ments and discussions during the development and refinement of my dissertation. I would next like to thank Ge Wang for his probing questions when I first intro- duced my thesis topic, helping me climb the ladder towards finishing my thesis, and vii immortalizing the colossal day of my defense by helping through the storm of the closed door session. Up to that point, my defense date was a fleeting beacon of hope, but I was able to forge ahead and eventually observe the light from the void. Rays of sun still ring in my mind's eye as the council ruled on the twilight of my PhD and the passing of my defense, I have Ge to thank for making it cheerful. And I must drop a Smule reference here if possible: I wish Smule many successful apps and expansions. I would also like to thank the organizations that helped to fund my education. The Department of Energy supported my investigations into Hidden Markov Models and scientific computation on the GPU. AMD/ATI provided me many quarters of funding to investigate applications of raytracing and virtual worlds on modern GPU hardware. I would also like to thank the Siebel Foundation for propelling me through my final year and connecting me to dozens of fascinating entrepreneurial scholars. Tremendous thank yous go out to all of my virtual world comrades. From Ewen Cheslack-Postava, who keeps the virtual world team from fraying at the edges by closing every single bug to Behram Mistree who's always eager to plunge into a new problem at 10pm and just get it done, and Tahir Azim and Bhupesh Chandra and Lilly Bao: you all make the platform worth building. Mike Freedman and Jeff Terrace: it's been so fun to collaborate with you, and it allows Sirikata to blossom beyond Stanford, giving us perspective and drive. Likewise, my KataLabs friends Henrik Bennetsen, Dan Miller and Jeffrey Schnapp remind me every day why virtual worlds research matters and how the ideas we develop are going to propel the future of 3D. Pat's group has been a constant source of support, collaboration and fantastic ideas. It's been amazing to see Pat's group grow over the years with all the friendly old and new faces. It was absolutely awesome to start in the Brook team with the formidable five: Ian Buck, Mike Houston, Jeremy Sugerman, Tim Foley and Kayvon Fatahalian, have consistent fun with you gslackers: Augusto Rom´an,Bill Chen, Jeff Klingner, Dan and Mary Morris, turning me into a board game strategist, and watch myself be passed up by all of the awesome shining stars progressing on the PhD path. Jeff Klingner: you've been such a friend and unending support as we both undertook the final stretch. Matt Fisher: your DX wrapper and all of its micromanagement viii helped me scan virtual worlds. Eldar and Montse: you spur me to chase the dream. The graphics lab has been tremendously supportive, and is a very exciting place for a graduate student to pursue a PhD with so many talks, collaborations and shared spaces. I would like to thank all the glab faculty and the students with whom I have shared ideas. Sid Chaudhuri: your math skills are amazing, and our work on scenes planted the seed of using a falloff in communication. Jerry Talton, Alex Mattos and Yi-Ting Yeh: it was fun and hard work building systems together. Brian Barsky, Pradeep Sen, Bill and Zhengyun Zhang: it was epic, and you propelled my horizon of graphics past polygons to lightfields. I would like to thank my fellow Elysia developers Andrew Carroll and Nghia Vuong, for helping me think outside the box and for igniting the dream that eventually the box will think outside of us. Paul Rhodes: you've helped fuel the dream, and seed my knowledge of neural computation and gave me reasons to build a virtual world. Throughout my PhD years, Cromem has made life not only bearable but plain old fun. Hai Nguyen always sets up those events keeping me sane and happy, from Hai steaks to moo; Ilya Veygman reminds me why engineering is fun but not just limited to software; Ken Soong is the man behind the cooking club curtain making sure we all eat and have the mental nutrition to survive; Nghia always keeps life interesting; Noah King always has that subtle sentence that summarizes everything; Pi Chuan Chang always proves that there is happiness at the end of the PhD tunnel; and Andrew is the board game master, from Settlers to Caylus: it's always been a fun way to socialize during the PhD stretch.