Ashwin Bharambe 5540 Fifth Avenue, Apt #18
Pittsburgh, PA 15232, USA
"Ameya", 106/1 Rathinagar
Amravati, Maharashtra 444603, India
http://www.cs.cmu.edu/~ashu
ashu[at]cs.cmu.edu       Work: 412-268-7555

Current Work
Founder, Buxfer Inc.

Buxfer Inc. provides web-based personal finance tools targeted at 20-somethings.

Research Interests
Distributed Systems (Application Level Networking); Distributed Multiplayer Games; Network Security
Education
Carnegie Mellon University, Pittsburgh, Pennsylvania, USA
Ph.D. candidate, Computer Science Department, 2001-present
•   International student on F1 visa
•   Currently on Leave of Absence
Carnegie Mellon University, Pittsburgh, Pennsylvania, USA
Masters in Computer Science, 2007
Indian Institute of Technology (IIT), Bombay, India
Bachelor of Technology in Computer Science and Engineering, 1997-2001
•   GPA 3.76/4.00
Tata Institute of Fundamental Research (TIFR), Bombay, India
NBHM Mathematics Nurture Program, 1998-2001
•   Equivalent of Master of Science in Mathematics
Academic Honors
•   Awarded the Carnegie Mellon School of Computer Science Graduate Fellowship (2001).
•   One of the six recipients, all over India, of the National Board of Higher Mathematics (NBHM) scholarship for exceptional performance in the Higher Mathematics Nurture Program for three successive years (1999, 2000, 2001).
•   Secured All India Rank 9 among more than 100,000 candidates who appeared for the IIT Joint Entrance Examination (1997).
•   Awarded Government of India merit scholarship through the National Talent Search Exam (1995).
Research Experience
Computer Science Department, CMU
Graduate Research Assistant
10/2001-present
•   My research focuses on providing network and system support for distributed multi-party interactive applications with particular emphasis on online multi-player games. My goal is to design scalable, distributed and low-latency architectures for highly interactive games such as First Person Shooters (FPS) like Quake. To this end, I have designed and implemented a distributed middleware (called Colyseus) and modified the (once) popular QuakeII FPS game engine to use our substrate for distributing game state across multiple servers or peers. In order to perform efficient distributed object lookups in Colyseus, I designed and implemented a novel routing protocol called Mercury which supports multi-dimensional range queries in peer-to-peer environments.
Microsoft Research, Redmond, WA
Summer Intern
7/2004-9/2004
•   Scalable File Distribution: Analysis of the BitTorrent file distribution network under a wide variety of realistic environments. We find that the system performs near-optimally with respect a number of metrics including mean download time. Also designed and implemented a new scalable file distribution protocol code-named Cascade.
Microsoft Research, Redmond, WA
Summer Intern
5/2003-8/2003
•   [Work under NDA.]
IBM T.J. Watson Research Center, Hawthorne, NY
Summer Intern
6/2002-8/2002
•   Worked on the design, implementation and evaluation of a generic peer-to-peer network architecture.
•   Developed a distributed directory search application providing seamless peer-to-peer access across DSML/LDAP servers distributed over various administrative domains.
Indian Institute of Technology (IIT) Bombay, India
Senior Thesis: Feature Proximity in Text Retrieval and Classification
8/2000-5/2001
•   Defined new measures of document similarity using the Wordnet lexical reference system. Evaluated its impact on text classification accuracy. Work with Prof. Soumen Chakrabarti.
IBM India Research Labs, New Delhi, India
Summer Intern
5/2000-7/2000
•   Worked with Dr. Alok Aggarwal on the VLSI complexity of generalized adders. Proved tight lower bounds on the Area required by these adders for any given time T.
Publications
•   Ashwin Bharambe, Jeffrey Pang and Srinivasan Seshan: Colyseus: A Distributed Architecture for Online Multiplayer Games, NSDI 2006, San Jose, May 2006.
•   Ashwin Bharambe, Cormac Herley and Venkat Padmanabhan: Analyzing and Improving a BitTorrent Network's Performance Mechanisms , INFOCOM 2006, Barcelona, Spain.
•   Ashwin Bharambe, Sanjay Rao, Venkat Padmanabhan, Srinivasan Seshan and Hui Zhang: The Impact of Heterogeneous Bandwidth Constraints on DHT-Based Multicast Protocols, 4th International Workshop on P2P Systems (IPTPS) 2005.
•   Ashwin Bharambe, Venkat Padmanabhan and Srinivasan Seshan: Supporting Spectators in Online Multiplayer Games, HOTNETS-III, San Diego, November 2004.
•   Ashwin Bharambe, Mukesh Agrawal and Srinivasan Seshan: Mercury: Supporting Scalable Multi-Attribute Range Queries, SIGCOMM 2004, Portland, August 2004.
•   Ashwin Bharambe, Sanjay Rao and Srinivasan Seshan: MERCURY: A Scalable Publish-Subscribe System for Internet Games, First International Workshop on Network and System Support for Games [Netgames] 2002.
•   Aditya Akella, Ashwin Bharambe, Mike Reiter and Srinivasan Seshan: Detecting DDoS Attacks on ISP Networks, ACM SIGMOD/PODS Workshop on Management and Processing of Data Streams [MPDS] 2003.
•   Aditya Akella, Ashwin Bharambe, Suman Nath and Srinivasan Seshan: Multi-Modal Network Protocols: Adapting to Highly Variable Operating Conditions, CMU SCS Technical Report Number CMU-CS-02-170.
•   Mihai Budiu, Mahim Mishra, Ashwin Bharambe and Seth Goldstein: Peer-to-peer Hardware-Software Interfaces for Reconfigurable Fabrics, Tenth IEEE Symposium on Field-Programmable Custom Computing Machines [FCCM] 2002.
Major Projects
•   Distributed Denial-of-service Detection and Mitigation in ISP Networks [Fall 2002]
In this project, we build mechanisms to help an ISP network detect if its network as a whole is under attack or if a significant portion of its network is carrying traffic aimed at bringing down an external destination. In our scheme, routers in the ISP network construct profiles or fingerprints of traffic using stream-sampling algorithms. These fingerprints are used to identify anomalies and trigger suspicions about various flows. The suspicions are re-inforced by other routers to respond uniformly using RIO-based preferential packet dropping. Joint work with Aditya Akella, Prof. Srini Seshan and Prof. Mike Reiter.
•   Multi-modal Network Protocols [Spring 2002]
The goal of the project was to answer the following question: is it possible to redesign the traditional rigid protocols to take on very different operating modes when faced with different environments? We presented a case for such multi-modal protocols in our paper. Specifically, we discuss multi-modal reliability and routing. We show the feasibility of designing multi-modal protocols by describing how these protocols can make operating mode decisions and switch modes without additional overhead. Joint work with Aditya Akella, Suman Nath and Prof. Srinivasan Seshan.
•   RTREX: Trace and Replay Engine for Debugging Java RMI-Based Applications [Fall 2001]
Traditional methods for debugging distributed programs are ineffective because the asynchrony and unpredictability of the interconnecting network results in system state which is hard to reproduce. In this project, we designed and implemented a trace and replay based distributed debugger for the Java RMI system. In the replay phase, only one component is re-executed while the rest of the system is simulated using the traces recorded in the record phase. We thus manage to give a one-machine debugging perspective to the programmer. We found that the time and space overheads for debugging are acceptable. Joint work with Vahe Poladian.
•   Interfacing Traditional Microprocessors with Reconfigurable Cores [Fall 2001]
This project focused on designing and implementing a general-purpose interface between the two halves of an application that allows arbitrary computation to be placed on reconfigurable hardware. Our interface was based on compiler-generated stubs which allowed placing arbitrary procedures on the reconfigurable fabric. This was a significant departure from previous approaches that allowed only simple, call-free computation or leaf procedures to be placed on the reconfigurable hardware. Joint work with Mahim Mishra.
Technologies
•   Languages: C, C++, C#, Perl, Python, Ruby, Java, Lisp, OCaml
•   Platforms: Linux, HP-UX, Solaris, Windows 98/2000/XP
•   Other Technologies: Javascript, HTML, CSS, PHP, Ruby-on-Rails, Tcl
Courses [Graduate Level]
•   Computer Science:
Computer Networks, Hypertext Classification, Computer Architecture, Advanced Operating Systems and Distributed Systems, Semantics of Programming Languages, Algorithms, Parallel Computation, Complexity Theory.
•   Higher Mathematics:
Group, Ring and Field Theory, Galois Theory, Representation Theory of Finite Groups, Commutative Algebra, Measure Theory, Real and Complex Analysis, General Topology and Algebraic Topology.
References
Available on request.