Jeffrey C. Mogul

dblp:m/JeffreyCMogul · DBLP profile ↗
← Back
59ranked-venue papers
31as first author
3since 2021 · last 2023
0000-0001-6042-8496ORCID · verified

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

Computer networks · 28 · 12 first-author · 1 since 2021Software engineering, systems software and programming languages · 18 · 12 first-author · 1 since 2021Systems, architecture and hardware · 11 · 7 first-author · 1 since 2021Databases, data management, data science and information retrieval · 3 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 3 · 1 first-author

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 networks
25 papers
Network management and operations · 23% Internet architecture and protocols · 16% Network measurement and analytics · 14%
Computer architecture, parallel and distributed computing, and storage systems
13 papers
Cloud and datacenter computing · 47% Distributed systems · 26% Performance modeling and evaluation · 16%
Software engineering, system software, and programming languages
8 papers
Operating systems · 69% Debugging and program repair · 31%

Topics — the 30 heaviest of 64, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Network measurement and analytics
network topology modeling
0.412020
Experiences with Modeling Network Topologies at Multiple Levels of Abstraction · NSDI 2020
Routing and switching › switching networks › multistage interconnection network
clos network
0.412019
Minimal Rewiring: Efficient Live Expansion for Clos Data Center Networks · NSDI 2019
Internet architecture and protocols
network topology
0.412019
Minimal Rewiring: Efficient Live Expansion for Clos Data Center Networks · NSDI 2019
Datacenter networks
data center network topology
0.322015
Condor: Better Topologies Through Declarative Design · SIGCOMM 2015
Taming the Flying Cable Monster: A Topology Design and Optimization Framework for Data-Center Networks · USENIX ATC 2011
Network management and operations › policy-based management
policy enforcement
0.212014
Enforcing Network-Wide Policies in the Presence of Dynamic Middlebox Actions using FlowTags · NSDI 2014
Software-defined and programmable networks
SDN control plane
0.212014
Democratic Resolution of Resource Conflicts Between SDN Control Programs · CoNEXT 2014
Network optimization and economics › network design
network topology design
0.112011
Taming the Flying Cable Monster: A Topology Design and Optimization Framework for Data-Center Networks · USENIX ATC 2011
Internet of things and sensor networks › topology control
topology optimization
0.112011
Taming the Flying Cable Monster: A Topology Design and Optimization Framework for Data-Center Networks · USENIX ATC 2011
Cloud and datacenter computing › datacenter network
datacenter network architecture
0.112011
NetLord: a scalable multi-tenant network architecture for virtualized datacenters · SIGCOMM 2011
Cloud and datacenter computing › multi-tenancy
multi-tenant datacenter network
0.112011
NetLord: a scalable multi-tenant network architecture for virtualized datacenters · SIGCOMM 2011
Distributed systems
distributed debugging
0.122006
Pip: Detecting the Unexpected in Distributed Systems · NSDI 2006
Experiences with Pip: finding unexpected behavior in distributed systems · SOSP 2005
Performance modeling and evaluation › performance diagnosis
performance debugging
0.122006
WAP5: black-box performance debugging for wide-area systems · WWW 2006
Performance debugging for distributed systems of black boxes · SOSP 2003
Internet architecture and protocols › world wide web › web protocols
HTTP
0.132004
Design, Implementation, and Evaluation of Duplicate Transfer Detection in HTTP · NSDI 2004
Potential Benefits of Delta Encoding and Data Compression for HTTP · SIGCOMM 1997
The Case for Persistent-Connection HTTP · SIGCOMM 1995
Network optimization and economics
network design
0.112015
Condor: Better Topologies Through Declarative Design · SIGCOMM 2015
Debugging and program repair
root cause analysis
0.112006
Emergent (mis)behavior vs. complex software systems · EuroSys 2006
Distributed systems
anomaly detection
0.112006
Pip: Detecting the Unexpected in Distributed Systems · NSDI 2006
Electronic design automation › hardware verification and test
fault detection
0.112006
Pip: Detecting the Unexpected in Distributed Systems · NSDI 2006
Software-defined and programmable networks › network policy
middlebox policy enforcement
0.112014
Enforcing Network-Wide Policies in the Presence of Dynamic Middlebox Actions using FlowTags · NSDI 2014
Network optimization and economics
resource allocation
0.112014
Democratic Resolution of Resource Conflicts Between SDN Control Programs · CoNEXT 2014
Performance modeling and evaluation
workload characterization
0.022003
Performance debugging for distributed systems of black boxes · SOSP 2003
Scalable Kernel Performance for Internet Servers Under Realistic Loads · USENIX ATC 1998
Content delivery and video streaming › caching
web caching
0.022002
Aliasing on the world wide web: prevalence and performance implications · WWW 2002
Potential Benefits of Delta Encoding and Data Compression for HTTP · SIGCOMM 1997
Distributed systems
fault tolerance
0.012003
Performance debugging for distributed systems of black boxes · SOSP 2003
Internet architecture and protocols › local area network
ethernet
0.022010
SPAIN: COTS Data-Center Ethernet for Multipathing over Arbitrary Topologies · NSDI 2010
Measured capacity of an Ethernet: myths and reality · SIGCOMM 1988
Cloud and datacenter computing › datacenter architecture
virtualized datacenter
0.012011
NetLord: a scalable multi-tenant network architecture for virtualized datacenters · SIGCOMM 2011
Internet architecture and protocols
redundancy elimination
0.012002
Aliasing on the world wide web: prevalence and performance implications · WWW 2002
Operating systems › resource management
resource containers
0.011999
Resource Containers: A New Facility for Resource Management in Server Systems · OSDI 1999
Operating systems
resource management
0.011999
Resource Containers: A New Facility for Resource Management in Server Systems · OSDI 1999
Operating systems › operating system performance
kernel performance
0.011998
Scalable Kernel Performance for Internet Servers Under Realistic Loads · USENIX ATC 1998
Internet of things and sensor networks
data compression
0.011997
Potential Benefits of Delta Encoding and Data Compression for HTTP · SIGCOMM 1997
Physical-layer communications › modulation
differential encoding
0.011997
Potential Benefits of Delta Encoding and Data Compression for HTTP · SIGCOMM 1997

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

simulation · 0.3constraint-based synthesis · 0.2game-theoretic resolution · 0.2optimization · 0.1message trace analysis · 0.1trace analysis · 0.1statistical modeling · 0.1expectation inference · 0.1trace-based validation · 0.1interactive visualization · 0.1expectation checking · 0.1signal processing · 0.0RPC timing analysis · 0.0protocol analysis · 0.0performance measurement · 0.0trace-driven simulation · 0.0cache simulation · 0.0log-driven simulation · 0.0
YearPublicationVenuePosition
2023 Physical Deployability Matters
abstract
While many network research papers address issues of deployability, with a few exceptions, this has been limited to protocol compatibility or switch-resource constraints, such as flow table sizes. We argue that good network designs must also consider the costs and complexities of deploying the design within the constraints of the physical environment in a datacenter: physical deployability. Traditional metrics of network "goodness" do not account for these costs and constraints, which might explain why some otherwise attractive designs have not been deployed in real-world datacenters.
Jeffrey C. Mogul, John Wilkes
HotNets1
2023 Change Management in Physical Network Lifecycle Automation
Mohammad Al-Fares, Virginia Beauregard, Kevin Grant, Angus Griffith, Jahangir Hasan, Quan Leng, Alexander Lin, Zhuotao Liu, Ahmed Mansy, Bill Martinusen, Nikil Mehta, Jeffrey C. Mogul, Andrew Narver, Anshul Nigham, Melanie Obenberger, Kurt Steinkraus, Edward Thiele, Amin Vahdat
USENIX ATC14
2021 Cores that don't count
abstract
We are accustomed to thinking of computers as fail-stop, especially the cores that execute instructions, and most system software implicitly relies on that assumption. During most of the VLSI era, processors that passed manufacturing tests and were operated within specifications have insulated us from this fiction. As fabrication pushes towards smaller feature sizes and more elaborate computational structures, and as increasingly specialized instruction-silicon pairings are introduced to improve performance, we have observed ephemeral computational errors that were not detected during manufacturing tests. These defects cannot always be mitigated by techniques such as microcode updates, and may be correlated to specific components within the processor, allowing small code changes to effect large shifts in reliability. Worse, these failures are often "silent" - the only symptom is an erroneous computation.
Peter Hochschild, Jeffrey C. Mogul, Rama Govindaraju, Parthasarathy Ranganathan, David E. Culler, Amin Vahdat
HotOS3
2020 Experiences with Modeling Network Topologies at Multiple Levels of Abstraction
Jeffrey C. Mogul, Drago Goricanec, Martin Pool, Anees Shaikh, Douglas Turk, Bikash Koley
NSDI1
2019 Nines are Not Enough: Meaningful Metrics for Clouds
abstract
Cloud customers want strong, understandable promises (Service Level Objectives, or SLOs) that their applications will run reliably and with adequate performance, but cloud providers don't want to offer them, because they are technically hard to meet in the face of arbitrary customer behavior and the hidden interactions brought about by statistical multiplexing of shared resources. Existing cloud SLOs are more concerned with defending against corner cases than defining normal behavior. This and other tensions make SLOs surprisingly hard to define. We show that this problem shares some similarities with the challenges of applying statistics to make decisions based on sampled data. We argue that a mutually beneficial set of Service Level Expectations (SLEs) and Customer Behavior Expectations (CBEs) ameliorates many of the problems of today's SLOs by explicitly sharing risk between customer and service provider.
Jeffrey C. Mogul, John Wilkes
HotOS1
2019 Minimal Rewiring: Efficient Live Expansion for Clos Data Center Networks
Shizhen Zhao, Rui Wang 0025, Junlan Zhou, Joon Ong, Jeffrey C. Mogul, Amin Vahdat
NSDI5
2017 Thinking about Availability in Large Service Infrastructures
abstract
Our company has learned to design and operate planetaryscale services with reasonably high availability.Historically, these have been Software as a Service (SaaS) systems (search, YouTube, GMail, etc.), implemented as scale-out distributed systems that could tolerate all sorts of failures in lower layers, through the use of traditional techniques such as replication, distributed consensus algorithms (e.g.Paxos), and transactions,
Jeffrey C. Mogul, Rebecca Isaacs, Brent Welch
HotOS1
2015 Inferring the Network Latency Requirements of Cloud Tenants
Jeffrey C. Mogul, Ramana Rao Kompella
HotOS1
2015 Condor: Better Topologies Through Declarative Design
abstract
The design space for large, multipath datacenter networks is large and complex, and no one design fits all purposes. Network architects must trade off many criteria to design cost-effective, reliable, and maintainable networks, and typically cannot explore much of the design space. We present Condor, our approach to enabling a rapid, efficient design cycle. Condor allows architects to express their requirements as constraints via a Topology Description Language (TDL), rather than having to directly specify network structures. Condor then uses constraint-based synthesis to rapidly generate candidate topologies, which can be analyzed against multiple criteria. We show that TDL supports concise descriptions of topologies such as fat-trees, BCube, and DCell; that we can generate known and novel variants of fat-trees with simple changes to a TDL file; and that we can synthesize large topologies in tens of seconds. We also show that Condor supports the daunting task of designing multi-phase network expansions that can be carried out on live networks.
Brandon Schlinker, Radhika Niranjan Mysore, Jeffrey C. Mogul, Amin Vahdat, Minlan Yu, Ethan Katz-Bassett, Michael Rubin
SIGCOMM4
2014 Democratic Resolution of Resource Conflicts Between SDN Control Programs
abstract
Resource conflicts are inevitable on any shared infrastructure. In Software-Defined Networks (SDNs), different controller modules with diverse objectives may be installed on the SDN controller. Each module independently generates resource requests that may conflict with the objectives of a different module. For example, a controller module for maintaining high availability may want resource allocations that require too much core network bandwidth and thus conflict with another module that aims to minimize core bandwidth usage. In such a situation, it is imperative to identify and install resource allocations that achieve network wide global objectives that may not be known to individual modules, e.g., high availability with acceptable bandwidth usage. This problem has received only limited attention, with most prior work focused on detecting, avoiding, and resolving rule-level conflicts in the context of OpenFlow.
Alvin AuYoung, Yadi Ma, Sujata Banerjee, Jeongkeun Lee, Puneet Sharma 0001, Yoshio Turner, Jeffrey C. Mogul
CoNEXT8
2014 Enforcing Network-Wide Policies in the Presence of Dynamic Middlebox Actions using FlowTags
Seyed Kaveh Fayaz, Luis Chiang, Vyas Sekar, Minlan Yu, Jeffrey C. Mogul
NSDI5
2013 Corybantic: towards the modular composition of SDN control programs
abstract
Software-Defined Networking (SDN) promises to enable vigorous innovation, through separation of the control plane from the data plane, and to enable novel forms of network management, through a controller that uses a global view to make globally-valid decisions. The design of SDN controllers creates novel challenges; much previous work has focused on making them scalable, reliable, and efficient.
Jeffrey C. Mogul, Alvin AuYoung, Sujata Banerjee, Lucian Popa 0002, Jeongkeun Lee, Jayaram Mudigonda, Puneet Sharma 0001, Yoshio Turner
HotNets1
2013 The NIC Is the Hypervisor: Bare-Metal Guests in IaaS Clouds
Jeffrey C. Mogul, Jayaram Mudigonda, Jose Renato Santos, Yoshio Turner
HotOS1
2013 ElasticSwitch: practical work-conserving bandwidth guarantees for cloud computing
abstract
While cloud computing providers offer guaranteed allocations for resources such as CPU and memory, they do not offer any guarantees for network resources. The lack of network guarantees prevents tenants from predicting lower bounds on the performance of their applications. The research community has recognized this limitation but, unfortunately, prior solutions have significant limitations: either they are inefficient, because they are not work-conserving, or they are impractical, because they require expensive switch support or congestion-free network cores.
Lucian Popa 0002, Praveen Yalagandula, Sujata Banerjee, Jeffrey C. Mogul, Yoshio Turner, Jose Renato Santos
SIGCOMM4
2011 Mind the Gap: Reconnecting Architecture and OS Research
Jeffrey C. Mogul, Andrew Baumann, Timothy Roscoe, Livio B. Soares
HotOS1
2011 DevoFlow: scaling flow management for high-performance networks
abstract
OpenFlow is a great concept, but its original design imposes excessive overheads. It can simplify network and traffic management in enterprise and data center environments, because it enables flow-level control over Ethernet switching and provides global visibility of the flows in the network. However, such fine-grained control and visibility comes with costs: the switch-implementation costs of involving the switch's control-plane too often and the distributed-system costs of involving the OpenFlow controller too frequently, both on flow setups and especially for statistics-gathering.
Andrew R. Curtis, Jeffrey C. Mogul, Jean Tourrilhes, Praveen Yalagandula, Puneet Sharma 0001, Sujata Banerjee
SIGCOMM2
2011 NetLord: a scalable multi-tenant network architecture for virtualized datacenters
abstract
Providers of "Infrastructure-as-a-Service" need datacenter networks that support multi-tenancy, scale, and ease of operation, at low cost. Most existing network architectures cannot meet all of these needs simultaneously.
Jayaram Mudigonda, Praveen Yalagandula, Jeffrey C. Mogul, Bryan Stiekes, Yanick Pouffary
SIGCOMM3
2011 Taming the Flying Cable Monster: A Topology Design and Optimization Framework for Data-Center Networks
Jayaram Mudigonda, Praveen Yalagandula, Jeffrey C. Mogul
USENIX ATC3
2010 Chimpp: a click-based programming and simulation environment for reconfigurable networking hardware
abstract
Reconfigurable network hardware makes it easier to experiment with and prototype high-speed networking systems. However, these devices are still relatively hard to program; for example, requiring users to develop in Verilog or VHDL. Further, these devices are commonly designed to work with software on a host computer, requiring the co-development of these hardware and software components.
Erik Rubow, Rick McGeer, Jeffrey C. Mogul, Amin Vahdat
ANCS3
2010 DevoFlow: cost-effective flow management for high performance enterprise networks
abstract
The OpenFlow framework enables flow-level control over Ethernet switching, as well as centralized visibility of the flows in the network. OpenFlow's coupling of these features comes with costs, however: the distributed-system costs of involving the OpenFlow controller on flow setups, and the switch-implementation costs of involving the switch's control plane too often.
Jeffrey C. Mogul, Jean Tourrilhes, Praveen Yalagandula, Puneet Sharma 0001, Andrew R. Curtis, Sujata Banerjee
HotNets1
2010 SPAIN: COTS Data-Center Ethernet for Multipathing over Arbitrary Topologies
Jayaram Mudigonda, Praveen Yalagandula, Mohammad Al-Fares, Jeffrey C. Mogul
NSDI4
2009 Operating System Support for NVM+DRAM Hybrid Main Memory
Jeffrey C. Mogul, Eduardo Argollo, Mehul A. Shah, Paolo Faraboschi
HotOS1
2008 API Design Challenges for Open Router Platforms on Proprietary Hardware
Jeffrey C. Mogul, Praveen Yalagandula, Jean Tourrilhes, Rick McGeer, Sujata Banerjee, Tim Connors, Puneet Sharma 0001
HotNets1
2007 Auditing to Keep Online Storage Services Honest
Mehul A. Shah, Mary Baker, Jeffrey C. Mogul, Ram Swaminathan
HotOS3
2006 Emergent (mis)behavior vs. complex software systems
abstract
Complex systems often behave in unexpected ways that are not easily predictable from the behavior of their components; this is known as emergent behavior. As software systems grow in complexity, interconnectedness, and geographic distribution, we will increasingly face unwanted emergent behavior.Unpredictable software systems are hard to debug and hard to manage. We need better tools and methods for anticipating, detecting, diagnosing, and ameliorating emergent misbehavior. These tools and methods will require research into the causes and nature of emergent misbehavior in software systems.
Jeffrey C. Mogul
EuroSys1
2006 Pip: Detecting the Unexpected in Distributed Systems
Patrick Reynolds, Chip Killian, Janet L. Wiener, Jeffrey C. Mogul, Mehul A. Shah, Amin Vahdat
NSDI4
2006 WAP5: black-box performance debugging for wide-area systems
abstract
Wide-area distributed applications are challenging to debug, optimize, and maintain. We present Wide-Area Project 5 (WAP5), which aims to make these tasks easier by exposing the causal structure of communication within an application and by exposing delays that imply bottlenecks. These bottlenecks might not otherwise be obvious, with or without the application's source code. Previous research projects have presented algorithms to reconstruct application structure and the corresponding timing information from black-box message traces of local-area systems. In this paper we present (1) a new algorithm for reconstructing application structure in both local- and wide-area distributed systems, (2) an infrastructure for gathering application traces in PlanetLab, and (3) our experiences tracing and analyzing three systems: CoDeeN and Coral, two content-distribution networks in PlanetLab; and Slurpee, an enterprise-scale incident-monitoring system.
Patrick Reynolds, Janet L. Wiener, Jeffrey C. Mogul, Marcos K. Aguilera, Amin Vahdat
WWW3
2005 Operating Systems Should Support Business Change
Jeffrey C. Mogul
HotOS1
2005 Predicting Short-Transfer Latency from TCP Arcana: A Trace-based Validation
Martin F. Arlitt, Balachander Krishnamurthy, Jeffrey C. Mogul
Internet Measurement Conference3
2005 Experiences with Pip: finding unexpected behavior in distributed systems
abstract
Bugs in complex distributed systems are often hard to find. Many bugs reflect discrepancies between a system's behavior and the programmer's assumptions about that behavior. Differences may be in correctness, in performance characteristics, or both. Our debugging framework, Pip, compares actual behavior with expected behavior and visualizes both. Pip consists of two tools to help reconcile assumptions and actual behavior: an automatic expectations checker and an interactive behavior-explorer GUI.
Patrick Reynolds, Janet L. Wiener, Jeffrey C. Mogul, Mehul A. Shah, Chip Killian, Amin Vahdat
SOSP3
2004 Design, Implementation, and Evaluation of Duplicate Transfer Detection in HTTP
Jeffrey C. Mogul, Yee-Man Chan, Terence Kelly
NSDI1
2004 Clarifying the fundamentals of HTTP
abstract
Abstract The simplicity of HTTP was a major factor in the success of the Web. However, as both the protocol and its uses have evolved, HTTP has grown complex. This complexity results in numerous problems, including confused implementors, interoperability failures, difficulty in extending the protocol, and a long specification without much documented rationale. Many of the problems with HTTP can be traced to unfortunate choices about fundamental definitions and models. This paper analyzes the current (HTTP/1.1) protocol design, showing how it fails in certain cases, and how to improve these fundamentals. Some problems with HTTP can be fixed simply by adopting new models and terminology, allowing us to think more clearly about implementations and extensions. Other problems require explicit (but compatible) protocol changes. This paper explains that HTTP needs a clean and consistent data‐type model, and in particular needs an explicit ‘instance’ data type; that HTTP needs a clear data access model, and that resources and instances should carry explicit access‐model labels; and that HTTP needs a simple name space for implementations to declare sets of supported extensions. Copyright © 2004 John Wiley & Sons, Ltd.
Jeffrey C. Mogul
Softw. Pract. Exp.1
2003 TCP Offload Is a Dumb Idea Whose Time Has Come
Jeffrey C. Mogul
HotOS1
2003 Performance debugging for distributed systems of black boxes
abstract
Many interesting large-scale systems are distributed systems of multiple communicating components. Such systems can be very hard to debug, especially when they exhibit poor performance. The problem becomes much harder when systems are composed of "black-box" components: software from many different (perhaps competing) vendors, usually without source code available. Typical solutions-provider employees are not always skilled or experienced enough to debug these systems efficiently. Our goal is to design tools that enable modestly-skilled programmers (and experts, too) to isolate performance bottlenecks in distributed systems composed of black-box nodes.We approach this problem by obtaining message-level traces of system activity, as passively as possible and without any knowledge of node internals or message semantics. We have developed two very different algorithms for inferring the dominant causal paths through a distributed system from these traces. One uses timing information from RPC messages to infer inter-call causality; the other uses signal-processing techniques. Our algorithms can ascribe delay to specific nodes on specific causal paths. Unlike previous approaches to similar problems, our approach requires no modifications to applications, middleware, or messages.
Marcos K. Aguilera, Jeffrey C. Mogul, Janet L. Wiener, Patrick Reynolds, Athicha Muthitacharoen
SOSP2
2003 Architecture and performance of server-directed transcoding
abstract
Proxy-based transcoding adapts Web content to be a better match for client capabilities (such as screen size and color depth) and last-hop bandwidths. Traditional transcoding breaks the end-to-end model of the Web, because the proxy does not know the semantics of the content. Server-directed transcoding preserves end-to-end semantics while supporting aggressive content transformations.We show how server-directed transcoding can be integrated into the HTTP protocol and into the implementation of a proxy. We discuss several useful transformations for image content, and present measurements of the performance impacts. Our results demonstrate that server-directed transcoding is a natural extension to HTTP, can be implemented without great complexity, and can provide good performance when carefully implemented.
Björn Knutsson, Honghui Lu, Jeffrey C. Mogul, Bryan Hopkins
ACM Trans. Internet Techn.3
2002 Aliasing on the world wide web: prevalence and performance implications
abstract
Aliasing occurs in Web transactions when requests containing different URLs elicit replies containing identical data payloads. Conventional caches associate stored data with URLs and can therefore suffer redundant payload transfers due to aliasing and other causes. Existing research literature, however, says little about the prevalence of aliasing in user-initiated transactions, or about redundant payload transfers in conventional Web cache hierarchies.This paper quantifies the extent of aliasing and the performance impact of URL-indexed cache management using a large client trace from WebTV Networks. Fewer than 5% of reply payloads are aliased (referenced via multiple URLs) but over 54% of successful transactions involve aliased payloads. Aliased payloads account for under 3.1% of the trace's "working set size" (sum of payload sizes) but over 36% of bytes transferred. For the WebTV workload, roughly 10% of payload transfers to browser caches and 23% of payload transfers to a shared proxy are redundant, assuming infinite-capacity conventional caches. Our analysis of a large proxy trace from Compaq Corporation yields similar results.URL-indexed caching does not entirely explain the large number of redundant proxy-to-browser payload transfers previously reported in the WebTV system. We consider other possible causes of redundant transfers (e.g., reply metadata and browser cache management policies) and discuss a simple hop-by-hop protocol extension that completely eliminates all redundant transfers, regardless of cause.
Terence Kelly, Jeffrey C. Mogul
WWW2
2002 Clarifying the fundamentals of HTTP
abstract
The simplicity of HTTP was a major factor in the success of the Web. However, as both the protocol and its uses have evolved, HTTP has grown complex. This complexity results in numerous problems, including confused implementors, interoperability failures, difficulty in extending the protocol, and a long specification without much documented rationale.Many of the problems with HTTP can be traced to unfortunate choices about fundamental definitions and models. This paper analyzes the current (HTTP/1.1) protocol design, showing how it fails in certain cases, and how to improve these fundamentals. Some problems with HTTP can be fixed simply by adopting new models and terminology, allowing us to think more clearly about implementations and extensions. Other problems require explicit (but compatible) protocol changes.
Jeffrey C. Mogul
WWW1
2001 Toward a Rigorous Data Type Model for HTTP
abstract
The HTTP protocol depends on a structure of several data types, such as messages and resources. The current ad hoc data type model has served to support a huge variety of HTTP-based applications, but its weaknesses have been exposed in attempts to formalize and (especially) to extend the protocol. These weaknesses particularly affect the semantics of caching within the HTTP distributed system.
Jeffrey C. Mogul
HotOS1
2001 Server-directed transcoding
Jeffrey C. Mogul
Comput. Commun.1
1999 Resource Containers: A New Facility for Resource Management in Server Systems
Gaurav Banga, Peter Druschel, Jeffrey C. Mogul
OSDI3
1999 A Scalable and Explicit Event Delivery Mechanism for UNIX
Gaurav Banga, Jeffrey C. Mogul, Peter Druschel
USENIX ATC, General Track2
1999 Key Differences Between HTTP/1.0 and HTTP/1.1
Balachander Krishnamurthy, Jeffrey C. Mogul, David M. Kristol
Comput. Networks2
1998 Scalable Kernel Performance for Internet Servers Under Realistic Loads
Gaurav Banga, Jeffrey C. Mogul
USENIX ATC2
1997 Potential Benefits of Delta Encoding and Data Compression for HTTP
abstract
Caching in the World Wide Web currently follows a naive model, which assumes that resources are referenced many times between changes. The model also provides no way to update a cache entry if a resource does change, except by transferring the resource's entire new value. Several previous papers have proposed updating cache entries by transferring only the differences, or "delta," between the cached entry and the current value.In this paper, we make use of dynamic traces of the full contents of HTTP messages to quantify the potential benefits of delta-encoded responses. We show that delta encoding can provide remarkable improvements in response size and response delay for an important subset of HTTP content types. We also show the added benefit of data compression, and that the combination of delta encoding and data compression yields the best results.We propose specific extensions to the HTTP protocol for delta encoding and data compression. These extensions are compatible with existing implementations and specifications, yet allow efficient use of a variety of encoding techniques.
Jeffrey C. Mogul, Fred Douglis, Anja Feldmann, Balachander Krishnamurthy
SIGCOMM1
1997 Eliminating Receive Livelock in an Interrupt-Driven Kemel
abstract
Most operating systems use interface interrupts to schedule network tasks. Interrupt-driven systems can provide low overhead and good latency at low offered load, but degrade significantly at higher arrival rates unless care is taken to prevent several pathologies. These are various forms of receive livelock , in which the system spends all of its time processing interrupts, to the exclusion of other necessary tasks. Under extreme conditions, no packets are delivered to the user application or the output of the system. To avoid livelock and related problems, an operating system must schedule network interrupt handling as carefully as it schedules process execution. We modified an interrupt-driven networking implementation to do so; this modification eliminates receive livelock without degrading other aspects of system performance. Our modifications include the use of polling when the system is heavily loaded, while retaining the use of interrupts ur.Jer lighter load. We present measurements demonstrating the success of our approach.
Jeffrey C. Mogul, K. K. Ramakrishnan
ACM Trans. Comput. Syst.1
1996 Eliminating Receive Livelock in an Interrupt-driven Kernel
Jeffrey C. Mogul, K. K. Ramakrishnan
USENIX ATC1
1995 The Case for Persistent-Connection HTTP
abstract
The success of the World-Wide Web is largely due to the simplicity, hence ease of implementation, of the Hypertext Transfer Protocol (HTTP). HTTP, however, makes inefficient use of network and server resources, and adds unnecessary latencies, by creating a new TCP connection for each request. Modifications to HTTP have been proposed that would transport multiple requests over each TCP connection. These modifications have led to debate over their actual impact on users, on servers, and on the network. This paper reports the results of log-driven simulations of several variants of the proposed modifications, which demonstrate the value of persistent connections.
Jeffrey C. Mogul
SIGCOMM1
1995 Performance Implications of Multiple Pointer Sizes
Jeffrey C. Mogul, Joel F. Bartlett, Robert N. Mayo, Amitabh Srivastava
USENIX1
1995 Improving HTTP Latency
Venkat N. Padmanabhan, Jeffrey C. Mogul
Comput. Networks ISDN Syst.2
1992 Observing TCP Dynamics in Real Networks
abstract
The behavior of the TCP protocol in simple situations is well-understood, but when multiple connections share a set of network resources the protocol can exhibit surprising phenomena. Earlier studies have identified several such phenomena, and have analyzed them using simulation or observation of contrived situations. This paper shows how, by analyzing traces of a busy segment of the Internet, it is possible to observe these phenomena in "real life" and measure both their frequency and their effects on performance. A TCP implementation might use similar techniques to support rate-based congestion control.
Jeffrey C. Mogul
SIGCOMM1
1992 Network Locality at the Scale of Processes
abstract
Packets on a LAN can be viewed as a series of references to and from the objects they address. The amount of locality in this reference stream may be critical to the efficiency of network implementations, if the locality can be exploited through caching or scheduling mechanisms. Most previous studies have treated network locality with an addressing granularity of networks or individual hosts. This paper describes some experiments tracing locality at a finer grain, looking at references to individual processes, and with fine-grained time resolution. Observations of typical LANs show high per-process locality; that is, packets to a host usually arrive for the process that most recently sent a packet, and often with little intervening delay.
Jeffrey C. Mogul
ACM Trans. Comput. Syst.1
1991 The Effect of Context Switches on Cache Performance
abstract
The sustained performance of fast processors is critically dependent on cache performance.Cache performance in turn depends on locality of reference.When an operating system switches contexts, the assumption of locality may be violated because the instructions and data of the newly-scheduled process may no longer be in the cache(s).Context-switching thus has a cost above that associated with that of the operations performed by the kernel.We fed address traces of the processes running on a multi-tasking operating system through a cache simulator, to compute accurate cache-hit rates over short intervals.By marking the output of such a simulation whenever a context switch occurs, and then aggregating the postcontext-switch results of a large number of context switches, it is possible to estimate the cache performance reduction caused by a switch.Depending on cache parameters the net cost of a context switch appears to be in the thousands of cycies, or tens to hundreds of microseconds.
Jeffrey C. Mogul, Anita Borg
ASPLOS1
1991 Network Locality at the Scale of Processes
abstract
research relevant to the design and application of high performance scientific computers. We test our ideas by designing, building, and using real systems. The systems we build are research prototypes; they are not intended to become products. There is a second research laboratory located in Palo Alto, the Systems Research Center (SRC). Other Digital research groups are located in Paris (PRL) and in Cambridge,
Jeffrey C. Mogul
SIGCOMM1
1990 Efficient Use of Workstations for Passive Monitoring of Local Area Networks
abstract
Effective management of a local area network (LAN) requires not only a protocol to manage the active entities, but also a means to monitor the LAN channel. This is especially true in shared-channel LANs, such as Ethernet, where the behavior of the LAN as a whole may be impractical to deduce from the states of the individual hosts. Passive monitoring can be done using either a dedicated system or a general-purpose system. Dedicated monitors have been favored for several reasons, but recent workstations, when carefully programmed, are sufficiently powerful to serve this function. Using a workstation offers high-performance graphics and a more flexible environment for collecting and presenting LAN behavior.
Jeffrey C. Mogul
SIGCOMM1
1989 Spritely NFS: Experiments with Cache-Consistency Protocols
abstract
File caching is essential to good performance in a distributed system, especially as processor speeds and memory sizes continue to improve rapidly while disk latencies do not. Stateless-server systems, such as NFS, cannot properly manage client file caches. Stateful systems, such as Sprite, can use explicit cache consistency protocols to improve both cache consistency and overall performance.
Jeffrey C. Mogul
SOSP2
1989 Visa protocols for controlling interorganizational datagram flow
abstract
The increasing use of internetworking protocols to connect administratively heterogeneous networks has raised the question of how an organization can control the flow of information across its network boundaries. One method for doing so is the use of visas, a cryptographic technique for authenticating and authorizing a flow of datagrams. Two visa protocols are presented and evaluated: one that requires distributed state information in gateways and one that uses additional encryptions instead of distributed state. Applications for such visa protocols include access control, accounting and billing for packet transit, and network resource management.>
Deborah Estrin, Jeffrey C. Mogul, Gene Tsudik
IEEE J. Sel. Areas Commun.2
1988 Measured capacity of an Ethernet: myths and reality
abstract
Ethernet, a 10 Mbit/sec CSMA/CD network, is one of the most successful LAN technologies. Considerable confusion exists as to the actual capacity of an Ethernet, especially since some theoretical studies have examined operating regimes that are not characteristic of actual networks. Based on measurements of an actual implementation, we show that for a wide class of applications, Ethernet is capable of carrying its nominal bandwidth of useful traffic, and allocates the bandwidth fairly. We discuss how implementations can achieve this performance, describe some problems that have arisen in existing implementations, and suggest ways to avoid future problems.
David R. Boggs, Jeffrey C. Mogul, Christopher A. Kent
SIGCOMM2
1987 The Packet Filter: An Efficient Mechanism for User-level Network Code
abstract
Code to implement network protocols can be either inside the kernel of an operating system or in user-level processes. Kernel-resident code is hard to develop, debug, and maintain, but user-level implementations typically incur significant overhead and perform poorly.
Jeffrey C. Mogul, Richard F. Rashid, Michael J. Accetta
SOSP1
1984 Representing Information About Files
Jeffrey C. Mogul
ICDCS1