Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Robert Gruber

dblp:g/RobertGruber · also Robert E. Gruber · DBLP profile ↗
← Back
11ranked-venue papers
2as first author
0since 2021 · last 2008
—ORCID · none

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

Databases, data management, data science and information retrieval · 5 · 2 first-authorSoftware engineering, systems software and programming languages · 4Systems, architecture and hardware · 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.

Databases, data mining, and information retrieval
6 papers
Data models and query languages · 35% Data integration and cleaning · 24% Distributed and cloud data management · 20%
Computer architecture, parallel and distributed computing, and storage systems
7 papers
Distributed systems · 56% Storage systems · 36% High-performance computing · 8%
Software engineering, system software, and programming languages
2 papers
Programming languages and type systems · 97% Requirements engineering and software design · 3%

Topics — the 27 heaviest of 31, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Data integration and cleaning
ad hoc data processing
0.122006
PADS: an end-to-end system for processing ad hoc data · SIGMOD Conference 2006
PADS: a domain-specific language for processing ad hoc data · PLDI 2005
Data models and query languages
data description language
0.122006
PADS: an end-to-end system for processing ad hoc data · SIGMOD Conference 2006
PADS: a domain-specific language for processing ad hoc data · PLDI 2005
Storage systems
distributed storage
0.122008
Bigtable: A Distributed Storage System for Structured Data · ACM Trans. Comput. Syst. 2008
Bigtable: A Distributed Storage System for Structured Data (Awarded Best Paper!) · OSDI 2006
Distributed systems › publish/subscribe systems
event notification service
0.122001
CORBA Notification Service: Design Challenges and Scalable Solutions · ICDE 2001
READY: A High Performance Event Notification Service · ICDE 2000
Programming languages and type systems › domain-specific languages
data description languages
0.112005
PADS: a domain-specific language for processing ad hoc data · PLDI 2005
Programming languages and type systems
domain-specific languages
0.112005
PADS: a domain-specific language for processing ad hoc data · PLDI 2005
Distributed systems
middleware
0.012001
CORBA Notification Service: Design Challenges and Scalable Solutions · ICDE 2001
Distributed systems › publish/subscribe systems
content-based event matching
0.012000
READY: A High Performance Event Notification Service · ICDE 2000
High-performance computing › cluster computing
commodity cluster
0.012008
Bigtable: A Distributed Storage System for Structured Data · ACM Trans. Comput. Syst. 2008
Query processing and optimization
XML query processing
0.012006
PADS: an end-to-end system for processing ad hoc data · SIGMOD Conference 2006
Data integration and cleaning › data transformation
data parsing
0.012005
PADS: a domain-specific language for processing ad hoc data · PLDI 2005
Indexing and storage engines › caching
cache management
0.011996
Safe and Efficient Sharing of Persistent Objects in Thor · SIGMOD Conference 1996
Data models and query languages
object-oriented database
0.011996
Safe and Efficient Sharing of Persistent Objects in Thor · SIGMOD Conference 1996
Transaction processing and concurrency control › concurrency control
optimistic concurrency control
0.011995
Efficient Optimistic Concurrency Control Using Loosely Synchronized Clocks · SIGMOD Conference 1995
Programming languages and type systems › type systems › polymorphism › parametric polymorphism
bounded polymorphism
0.011995
Subtypes vs. Where Clauses: Constraining Parametric Polymorphism · OOPSLA 1995
Programming languages and type systems › type systems › polymorphism
parametric polymorphism
0.011995
Subtypes vs. Where Clauses: Constraining Parametric Polymorphism · OOPSLA 1995
Programming languages and type systems › type systems › polymorphism
subtype polymorphism
0.011995
Subtypes vs. Where Clauses: Constraining Parametric Polymorphism · OOPSLA 1995
Distributed systems › fault tolerance
high availability
0.021996
Replication in the Harp File System · SOSP 1991
Safe and Efficient Sharing of Persistent Objects in Thor · SIGMOD Conference 1996
Distributed systems
publish/subscribe systems
0.012000
READY: A High Performance Event Notification Service · ICDE 2000
Distributed systems
fault tolerance
0.011991
Replication in the Harp File System · SOSP 1991
Storage systems › file systems › distributed file system
file replication
0.011991
Replication in the Harp File System · SOSP 1991
Storage systems
file systems
0.011991
Replication in the Harp File System · SOSP 1991
Distributed systems › replication
primary-backup replication
0.011991
Replication in the Harp File System · SOSP 1991
Distributed systems
replication
0.011991
Replication in the Harp File System · SOSP 1991
Distributed systems
distributed coordination and fault tolerance
0.011996
Safe and Efficient Sharing of Persistent Objects in Thor · SIGMOD Conference 1996
Requirements engineering and software design › modularity
modular programming
0.011995
Subtypes vs. Where Clauses: Constraining Parametric Polymorphism · OOPSLA 1995
Distributed systems
distributed coordination
0.011995
Efficient Optimistic Concurrency Control Using Loosely Synchronized Clocks · SIGMOD Conference 1995

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

tablet partitioning · 0.2sparse table data model · 0.2parser generation · 0.1XQuery · 0.1encapsulation · 0.0adaptive prefetching · 0.0multithreading · 0.0simulation · 0.0primary copy replication · 0.0VFS interface · 0.0NFS · 0.0
YearPublicationVenuePosition
2008 Bigtable: A Distributed Storage System for Structured Data
abstract
Bigtable is a distributed storage system for managing structured data that is designed to scale to a very large size: petabytes of data across thousands of commodity servers. Many projects at Google store data in Bigtable, including web indexing, Google Earth, and Google Finance. These applications place very different demands on Bigtable, both in terms of data size (from URLs to web pages to satellite imagery) and latency requirements (from backend bulk processing to real-time data serving). Despite these varied demands, Bigtable has successfully provided a flexible, high-performance solution for all of these Google products. In this article, we describe the simple data model provided by Bigtable, which gives clients dynamic control over data layout and format, and we describe the design and implementation of Bigtable.
Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Michael Burrows, Tushar Chandra, Andrew Fikes, Robert Gruber
ACM Trans. Comput. Syst.9
2006 Bigtable: A Distributed Storage System for Structured Data (Awarded Best Paper!)
Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Michael Burrows, Tushar Chandra, Andrew Fikes, Robert Gruber
OSDI9
2006 PADS: an end-to-end system for processing ad hoc data
abstract
Enormous amounts of data exist in "well-behaved" formats such as relational tables and XML, which come equipped with extensive tool support. However, vast amounts of data also exist in non-standard or ad hoc data formats, which often lack standard or extensible tools. This deficiency forces data analysts to implement their own tools for parsing, querying, and analyzing their ad hoc data. The resulting tools typically interleave parsing, querying, and analysis, obscuring the semantics of the data format and making it nearly impossible for others to resuse the tools. This proposal describes PADS, an end-to-end system for processing ad hoc data sources. The core of PADS is a declarative language for describing ad hoc data sources and a data-description compiler that produces customizable libraries for parsing the ad hoc data. A suite of tools built around this core includes statistical data-profiling tools, a query engine that permits viewing ad hoc sources as XML and for querying them with XQuery, and an interactive front-end that helps users produce PADS descriptions quickly.
Mark Daly, Yitzhak Mandelbaum, David Walker 0001, Mary F. Fernández, Kathleen Fisher, Robert Gruber
SIGMOD Conference6
2005 PADS: a domain-specific language for processing ad hoc data
abstract
PADS is a declarative data description language that allows data analysts to describe both the physical layout of ad hoc data sources and semantic properties of that data. From such descriptions, the PADS compiler generates libraries and tools for manipulating the data, including parsing routines, statistical profiling tools, translation programs to produce well-behaved formats such as Xml or those required for loading relational databases, and tools for running XQueries over raw PADS data sources. The descriptions are concise enough to serve as "living" documentation while flexible enough to describe most of the ASCII, binary, and Cobol formats that we have seen in practice. The generated parsing library provides for robust, application-specific error handling.
Kathleen Fisher, Robert Gruber
PLDI2
2001 Robustness Testing and Hardening of CORBA ORB Implementations
abstract
Before using CORBA (Common Object Request Broker Architecture) applications in mission-critical scenarios, it is important to understand the robustness of the Object Request Broker (ORB) being used, which forms the platform for CORBA applications. We have extended the Ballista software testing technique to test the exception-handling robustness of C++ ORB client-side application interfaces, and have tested two major versions of three ORB implementations on two operating systems, yielding robustness failure rates ranging from 26% to 42%. To improve ORB robustness, we also propose a probing method to harden object and pseudo-object related data types against exceptional inputs. Using these probes on omniORB 2.8 has proven to be effective in eliminating some cases of robustness failures found during testing. These results suggest that CORBA implementations currently have significant robustness vulnerabilities, but that some important classes of problems can be overcome with better exception-handling approaches.
Jiantao Pan, Philip Koopman, Daniel P. Siewiorek, Yennun Huang, Robert Gruber, Mimi Ling Jiang
DSN5
2001 CORBA Notification Service: Design Challenges and Scalable Solutions
abstract
Presents READY, a multi-threaded implementation of the CORBA Notification Service. The main contribution of our work is the design and development of scalable solutions for the implementation of the CORBA Notification Service. In particular, we present the overall architecture of READY, discuss the key design challenges and choices we made with respect to filter evaluation and event dispatching, and present the current implementation status. Finally, we present preliminary experimental results from our current implementation.
Robert Gruber, Balachander Krishnamurthy, Euthimios Panagos
ICDE1
2000 READY: A High Performance Event Notification Service
abstract
READY is an event notification service that provides efficient, decoupled, and asynchronous event notifications. READY supports: consumer specifications that match over single and compound event patterns; communication sessions that manage quality of service for event delivery; grouping constructs for sessions and specifications; and event zones and boundary routers that bound the scope of event distribution and control the mapping of events across zones.
Robert Gruber, Balachander Krishnamurthy, Euthimios Panagos
ICDE1
1996 Safe and Efficient Sharing of Persistent Objects in Thor
abstract
Thor is an object-oriented database system designed for use in a heterogeneous distributed environment. It provides highly-reliable and highly-available persistent storage for objects, and supports safe sharing of these objects by applications written in different programming languages.Safe heterogeneous sharing of long-lived objects requires encapsulation: the system must guarantee that applications interact with objects only by invoking methods. Although safety concerns are important, most object-oriented databases forgo safety to avoid paying the associated performance costs.This paper gives an overview of Thor's design and implementation. We focus on two areas that set Thor apart from other object-oriented databases. First, we discuss safe sharing and techniques for ensuring it; we also discuss ways of improving application performance without sacrificing safety. Second, we describe our approach to cache management at client machines, including a novel adaptive prefetching strategy.The paper presents performance results for Thor, on several OO7 benchmark traversals. The results show that adaptive prefetching is very effective, improving both the elapsed time of traversals and the amount of space used in the client cache. The results also show that the cost of safe sharing can be negligible; thus it is possible to have both safety and high performance.
Barbara Liskov, Atul Adya, Miguel Castro 0001, Mark Day, Sanjay Ghemawat, Robert Gruber, Umesh Maheshwari, Andrew C. Myers, Liuba Shrira
SIGMOD Conference6
1995 Subtypes vs. Where Clauses: Constraining Parametric Polymorphism
abstract
All object-oriented languages provide support for subtype polymorphism, which allows the writing of generic code that works for families of related types. There is also a need, however, to write code that is generic across types that have no real family relationship. To satisfy this need a programming language must provide a mechanism for parametric polymorphism, allowing for types as parameters to routines and types. We show that to support modular programming and separate compilation there must be a mechanism for constraining the actual parameters of the routine or type. We describe a simple and powerful constraint mechanism and compare it with constraint mechanisms in other languages in terms of both ease of use and semantic expressiveness. We also discuss the interaction between subtype and parametric polymorphism: we discuss the subtype relations that can exist between instantiations of parameterized types, and which of those relations are useful and can be implemented efficiently. We illustrate our points using examples in Theta, a new object-oriented language, and we describe the time- and space-efficient implementation of parametric polymorphism used in Theta.
Mark Day, Robert Gruber, Barbara Liskov, Andrew C. Myers
OOPSLA2
1995 Efficient Optimistic Concurrency Control Using Loosely Synchronized Clocks
abstract
This paper describes an efficient optimistic concurrency control scheme for use in distributed database systems in which objects are cached and manipulated at client machines while persistent storage and transactional support are provided by servers. The scheme provides both serializability and external consistency for committed transactions; it uses loosely synchronized clocks to achieve global serialization. It stores only a single version of each object, and avoids maintaining any concurrency control information on a per-object basis; instead, it tracks recent invalidations on a per-client basis, an approach that has low in-memory space overhead and no per-object disk overhead. In addition to its low space overheads, the scheme also performs well. The paper presents a simulation study that compares the scheme to adaptive callback locking, the best concurrency control scheme for client-server object-oriented database systems studied to date. The study shows that our scheme outperforms adaptive callback locking for low to moderate contention workloads, and scales better with the number of clients. For high contention workloads, optimism can result in a high abort rate; the scheme presented here is a first step toward a hybrid scheme that we expect to perform well across the full range of workloads.
Atul Adya, Robert Gruber, Barbara Liskov, Umesh Maheshwari
SIGMOD Conference2
1991 Replication in the Harp File System
abstract
This paper describes the design and implementation of the Harp file system. Harp is a replicated Unix file system accessible via the VFS interface. It provides highly available and reliable storage for files and guarantees that file operations are executed atomically in spite of concurrency and failures. It uses a novel variation of the primary copy replication technique that provides good performance because it allows us to trade disk accesses for network communication. Harp is intended to be used within a file service in a distributed network; in our current implementation, it is accessed via NFS. Preliminary performance results indicate that Harp provides equal or better response time and system capacity than an unreplicated implementation of NFS that uses Unix files directly.
Barbara Liskov, Sanjay Ghemawat, Robert Gruber, Paul Johnson 0001, Liuba Shrira, Michael Williams
SOSP3