Ryan Braud

dblp:79/2544 · DBLP profile ↗
← Back
12ranked-venue papers
0as first author
0since 2021 · last 2012
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Computer networks · 6Systems, architecture and hardware · 3Software engineering, systems software and programming languages · 2Security and privacy · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
3 papers
Distributed systems · 78% Performance modeling and evaluation · 19% Electronic design automation · 4%
Computer networks
4 papers
Transport protocols and congestion control · 44% Content delivery and video streaming · 25% Wireless networking · 22%
Software engineering, system software, and programming languages
1 paper
Programming languages and type systems · 100%
Theoretical computer science
1 paper
Automated reasoning and model checking · 100%

Topics — the 16 heaviest of 17, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Distributed systems
fault tolerance
0.112010
Finding latent performance bugs in systems implementations · SIGSOFT FSE 2010
Performance modeling and evaluation › performance diagnosis
performance anomaly detection
0.112010
Finding latent performance bugs in systems implementations · SIGSOFT FSE 2010
Distributed systems › distributed communication
data dissemination
0.112008
High-bandwidth data dissemination for large-scale distributed systems · ACM Trans. Comput. Syst. 2008
Distributed systems › peer-to-peer systems
overlay networks
0.112008
High-bandwidth data dissemination for large-scale distributed systems · ACM Trans. Comput. Syst. 2008
Distributed systems
peer-to-peer systems
0.112008
High-bandwidth data dissemination for large-scale distributed systems · ACM Trans. Comput. Syst. 2008
Programming languages and type systems
domain-specific languages
0.112007
Mace: language support for building distributed systems · PLDI 2007
Distributed systems
programming language support
0.112007
Mace: language support for building distributed systems · PLDI 2007
Wireless networking › channel assignment › wireless resource management
bandwidth adaptation
0.112005
Maintaining High-Bandwidth Under Dynamic Network Conditions · USENIX ATC, General Track 2005
Transport protocols and congestion control
congestion collapse
0.112005
Misbehaving TCP receivers can cause internet-wide congestion collapse · CCS 2005
Transport protocols and congestion control
transport protocols
0.112005
Maintaining High-Bandwidth Under Dynamic Network Conditions · USENIX ATC, General Track 2005
Automated reasoning and model checking
state space exploration
0.012010
Finding latent performance bugs in systems implementations · SIGSOFT FSE 2010
Internet architecture and protocols
multicast
0.012008
High-bandwidth data dissemination for large-scale distributed systems · ACM Trans. Comput. Syst. 2008
Distributed systems
distributed debugging
0.012007
Mace: language support for building distributed systems · PLDI 2007
Electronic design automation
model checking
0.012007
Mace: language support for building distributed systems · PLDI 2007
Network security › attack strategy
denial-of-service attack
0.012005
Misbehaving TCP receivers can cause internet-wide congestion collapse · CCS 2005
Content delivery and video streaming
server load reduction
0.012004
Slurpie: A Cooperative Bulk Data Transfer Protocol · INFOCOM 2004

Methods — techniques the papers use, named apart from their topics

state space exploration · 0.2random simulation · 0.2measurement · 0.2deployment · 0.2source-to-source compilation · 0.1simulation · 0.1optimistic acknowledgment attack · 0.1randomized backoff · 0.0adaptive downloading · 0.0
YearPublicationVenuePosition
2012 xOMB: extensible open middleboxes with commodity servers
abstract
This paper presents the design and implementation of an incrementally scalable architecture for middleboxes based on commodity servers and operating systems. xOMB, the eXtensible Open MiddleBox, employs general programmable network processing pipelines, with user-defined C++ modules responsible for parsing, transforming, and forwarding network flows. We implement three processing pipelines in xOMB, demonstrating good performance for load balancing, protocol acceleration, and application integration. In particular, our xOMB load balancing switch is able to match or outperform a commercial programmable switch and popular open-source reverse proxy while still providing a more flexible programming model.
James W. Anderson, Ryan Braud, Rishi Kapoor, George Porter, Amin Vahdat
ANCS2
2011 Distributed application configuration, management, and visualization with plush
abstract
Support for distributed application management in large-scale networked environments remains in its early stages. Although a number of solutions exist for subtasks of application deployment, monitoring, and maintenance in distributed environments, few tools provide a unified framework for application management. Many of the existing tools address the management needs of a single type of application or service that runs in a specific environment, and these tools are not adaptable enough to be used for other applications or platforms. To this end, we present the design and implementation of Plush, a fully configurable application management infrastructure designed to meet the general requirements of several different classes of distributed applications. Plush allows developers to specifically define the flow of control needed by their computations using application building blocks. Through an extensible resource management interface, Plush supports execution in a variety of environments, including both live deployment platforms and emulated clusters. Plush also uses relaxed synchronization primitives for improving fault tolerance and liveness in failure-prone environments. To gain an understanding of how Plush manages different classes of distributed applications, we take a closer look at specific applications and evaluate how Plush provides support for each.
Jeannie R. Albrecht, Christopher Tuttle, Ryan Braud, Darren Dao, Nikolay Topilski, Alex C. Snoeren, Amin Vahdat
ACM Trans. Internet Techn.3
2010 Finding latent performance bugs in systems implementations
abstract
Robust distributed systems commonly employ high-level recovery mechanisms enabling the system to recover from a wide variety of problematic environmental conditions such as node failures, packet drops and link disconnections. Unfortunately, these recovery mechanisms also effectively mask additional serious design and implementation errors, disguising them as latent performance bugs that severely degrade end-to-end system performance. These bugs typically go unnoticed due to the challenge of distinguishing between a bug and an intermittent environmental condition that must be tolerated by the system. We present techniques that can automatically pinpoint latent performance bugs in systems implementations, in the spirit of recent advances in model checking by systematic state space exploration. The techniques proceed by automating the process of conducting random simulations, identifying performance anomalies, and analyzing anomalous executions to pinpoint the circumstances leading to performance degradation.
Chip Killian, Karthik Nagaraj, Salman Pervez, Ryan Braud, James W. Anderson, Ranjit Jhala
SIGSOFT FSE4
2009 Application Management and Visualization with Plush
abstract
Deploying, running, and maintaining applications running on a distributed set of resources is a challenging task. Software developers often spend a significant amount of time dealing with the complexities associated with software configuration and management in these environments. Distributed application management systems are designed to automate the process, and to ultimately help developers cope with the common problems that arise during the design, implementation, and evaluation of distributed systems. In this talk, we highlight the key features of Plush, an application management system for PlanetLab and ModelNet, and describe how Plush simplifies peer-to-peer system visualization and evaluation.
Jeannie R. Albrecht, Ryan Braud, Alex C. Snoeren, Amin Vahdat
Peer-to-Peer Computing2
2009 Building Distributed Systems Using Mace
abstract
Mace, MaceMC andMacePCwork together to make it easier to build correct, high performance distributed systems implementations. Mace developers find that it now takes them a fraction of the time previously needed to go from design to implementation of a new distributed system. Together with ModelNet and Plush, the whole toolkit is among the best in the world for implementing, testing, evaluating, and deploying distributed and peer-to-peer systems. Mace represents six years of development work and has been publicly available for five years. In addition to the Mace research contributions, the Mace distribution also represents many of the best-quality publicly-available implementations of the included services, and by itself represents a practical contribution that users worldwide recognize and utilize.
Chip Killian, James W. Anderson, Ryan Braud, Ranjit Jhala, Amin Vahdat
Peer-to-Peer Computing3
2008 High-bandwidth data dissemination for large-scale distributed systems
abstract
This article focuses on the multireceiver data dissemination problem. Initially, IP multicast formed the basis for efficiently supporting such distribution. More recently, overlay networks have emerged to support point-to-multipoint communication. Both techniques focus on constructing trees rooted at the source to distribute content among all interested receivers. We argue, however, that trees have two fundamental limitations for data dissemination. First, since all data comes from a single parent, participants must often continuously probe in search of a parent with an acceptable level of bandwidth. Second, due to packet losses and failures, available bandwidth is monotonically decreasing down the tree. To address these limitations, we present Bullet, a data dissemination mesh that takes advantage of the computational and storage capabilities of end hosts to create a distribution structure where a node receives data in parallel from multiple peers. For the mesh to deliver improved bandwidth and reliability, we need to solve several key problems: (i) disseminating disjoint data over the mesh, (ii) locating missing content, (iii) finding who to peer with (peering strategy), (iv) retrieving data at the right rate from all peers (flow control), and (v) recovering from failures and adapting to dynamically changing network conditions. Additionally, the system should be self-adjusting and should have few user-adjustable parameter settings. We describe our approach to addressing all of these problems in a working, deployed system across the Internet. Bullet outperforms state-of-the-art systems, including BitTorrent, by 25-70% and exhibits strong performance and reliability in a range of deployment settings. In addition, we find that, relative to tree-based solutions, Bullet reduces the need to perform expensive bandwidth probing.
Dejan Kostic, Alex C. Snoeren, Amin Vahdat, Ryan Braud, Chip Killian, James W. Anderson, Jeannie R. Albrecht, Adolfo Rodriguez, Erik Vandekieft
ACM Trans. Comput. Syst.4
2007 Remote Control: Distributed Application Configuration, Management, and Visualization with Plush
Jeannie R. Albrecht, Ryan Braud, Darren Dao, Nikolay Topilski, Christopher Tuttle, Alex C. Snoeren, Amin Vahdat
LISA2
2007 Mace: language support for building distributed systems
abstract
Building distributed systems is particularly difficult because of the asynchronous, heterogeneous, and failure-prone environment where these systemsmust run. Tools for building distributed systems must strike a compromise between reducing programmer effort and increasing system efficiency. We present Mace, a C++ language extension and source-to-source compiler that translates a concise but expressive distributed system specification into a C++ implementation. Mace overcomes the limitations of low-level languages by providing a unified framework for networking and event handling, and the limitations of high-level languages by allowing programmers to write program components in a controlled and structured manner in C++. By imposing structure and restrictions on how applications can be written, Mace supports debugging at a higher level, including support for efficient model checking and causal-path debugging. Because Mace programs compile to C++, programmers can use existing C++ tools, including optimizers, profilers, and debuggers to analyze their systems.
Chip Killian, James W. Anderson, Ryan Braud, Ranjit Jhala, Amin Vahdat
PLDI3
2005 Misbehaving TCP receivers can cause internet-wide congestion collapse
abstract
An optimistic acknowledgment (opt-ack) is an acknowledgment sent by a misbehaving client for a data segment that it has not received. Whereas previous work has focused on opt-ack as a means to greedily improve end-to-end performance, we study opt-ack exclusively as a denial of service attack. Specifically, an attacker sends optimistic acknowledgments to many victims in parallel, thereby amplifying its effective bandwidth by a factor of 30 million (worst case). Thus, even a relatively modest attacker can totally saturate the paths from many victims back to the attacker. Worse, a distributed network of compromised machines ("zombies") attacking in parallel can exploit over-provisioning in the Internet to bring about wide-spread, sustained congestion collapse.We implement this attack both in simulation and in a wide-area network, and show it severity both in terms of number of packets and total traffic generated. We engineer and implement a novel solution that does not require client or network modifications allowing for practical deployment. Additionally, we demonstrate the solution's efficiency on a real network.
Rob Sherwood, Bobby Bhattacharjee, Ryan Braud
CCS3
2005 Maintaining High-Bandwidth Under Dynamic Network Conditions
Dejan Kostic, Ryan Braud, Chip Killian, Erik Vandekieft, James W. Anderson, Alex C. Snoeren, Amin Vahdat
USENIX ATC, General Track2
2004 Slurpie: A Cooperative Bulk Data Transfer Protocol
abstract
We present Slurpie: a peer-to-peer protocol for bulk data transfer. Slurpie is specifically designed to reduce client download times for large, popular files, and to reduce load on servers that serve these files. Slurpie employs a novel adaptive downloading strategy to increase client performance, and employs a randomized backoff strategy to precisely control load on the server. We describe a full implementation of the Slurpie protocol, and present results from both controlled local-area and wide-area testbeds. Our results show that Slurpie clients improve performance as the size of the network increases, and the server is completely insulated from large flash crowds entering the Slurpie network.
Rob Sherwood, Ryan Braud
INFOCOM2
2004 Scalable resilient media streaming
abstract
We present a low-overhead media streaming system, called SRMS (Scalable Resilient Media Streaming) that can be used to scalably deliver streaming data to a large group of receivers. SRMS uses overlay multicast for data distribution. to a large group of users. SRMS leverages a probabilistic loss recovery technique to provide high data delivery guarantees even under large network losses and overlay node failures. The clients in the SRMS system are able to interoperate with existing media streaming servers that use RTP for data transport. One of the interesting features of SRMS is that it can simultaneously support clients with disparate access bandwidths. It enables the necessary bandwidth adaptations using standard Real-time Transport Protocol (RTP) mechanisms, e.g. RTP translators. We have implemented and evaluated the SRMS system in detail on an emulated network as well as on a wide-area testbed with up to 128 clients. Our results show that clients using SRMS achieve high (97%) data delivery ratios with low overheads (<5%) even for a very dynamic network (up to five membership changes per minute).
Suman Banerjee 0001, Seungjoon Lee, Ryan Braud, Bobby Bhattacharjee, Aravind Srinivasan
NOSSDAV3