Jennifer Widom

dblp:w/JenniferWidom · DBLP profile ↗
← Back
130ranked-venue papers
9as first author
0since 2021 · last 2017
—ORCID · none

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

Databases, data management, data science and information retrieval · 119 · 7 first-authorArtificial intelligence and machine learning · 5 · 1 first-authorComputer networks · 5Human-computer interaction and ubiquitous computing · 4Software engineering, systems software and programming languages · 3 · 2 first-authorTheory of computation · 2Systems, architecture and hardware · 1Applied, interdisciplinary, general and emerging computing · 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
85 papers
Query processing and optimization · 22% Data integration and cleaning · 17% Data stream processing · 14%
Computer architecture, parallel and distributed computing, and storage systems
7 papers
Parallel and multicore computing · 60% Distributed systems · 26% High-performance computing · 7%
Human-computer interaction and pervasive computing
2 papers
Collaborative and social computing · 99% User interface design and tools · 1% Ubiquitous computing and smart environments · 0%
Theoretical computer science
8 papers
Graph algorithms and graph theory · 75% Algorithms and data structures · 15% Approximation and online algorithms · 6%

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

TopicWeightPapersLastEvidence papers
Data stream processing
continuous query processing
0.6102015
Three Favorite Results · SIGMOD Conference 2015
The CQL continuous query language: semantic foundations and query execution · VLDB J. 2006
Adaptive Caching for Continuous Queries · ICDE 2005
Data integration and cleaning
data provenance
0.692013
Logical provenance in data-oriented workflows? · ICDE 2013
Provenance-Based Debugging and Drill-Down in Data-Oriented Workflows · ICDE 2012
Exploiting Lineage for Confidence Computation in Uncertain and Probabilistic Databases · ICDE 2008
Data mining
crowdsourcing
0.632016
Towards Globally Optimal Crowdsourcing Quality Management: The Uniform Worker Setting · SIGMOD Conference 2016
Optimal Crowd-Powered Rating and Filtering Algorithms · Proc. VLDB Endow. 2014
Human-assisted graph search: it's okay to ask questions · Proc. VLDB Endow. 2011
Database theory
probabilistic databases
0.452011
Making Aggregation Work in Uncertain and Probabilistic Databases · IEEE Trans. Knowl. Data Eng. 2011
Databases with uncertainty and lineage · VLDB J. 2008
Exploiting Lineage for Confidence Computation in Uncertain and Probabilistic Databases · ICDE 2008
Data mining › crowdsourcing
crowdsourced data
0.422014
CrowdFill: collecting structured data from the crowd · SIGMOD Conference 2014
Query Optimization over Crowdsourced Data · Proc. VLDB Endow. 2013
Query processing and optimization
crowdsourced query processing
0.322013
Query Optimization over Crowdsourced Data · Proc. VLDB Endow. 2013
CrowdScreen: algorithms for filtering data with humans · SIGMOD Conference 2012
Data integration and cleaning
data-driven workflows
0.322013
Logical provenance in data-oriented workflows? · ICDE 2013
Provenance-Based Debugging and Drill-Down in Data-Oriented Workflows · ICDE 2012
Collaborative and social computing
crowdsourcing
0.312017
Understanding Workers, Developing Effective Tasks, and Enhancing Marketplace Dynamics: A Study of a Large Crowdsourcing Marketplace · Proc. VLDB Endow. 2017
Collaborative and social computing › crowdsourcing
task design
0.312017
Understanding Workers, Developing Effective Tasks, and Enhancing Marketplace Dynamics: A Study of a Large Crowdsourcing Marketplace · Proc. VLDB Endow. 2017
Data models and query languages › uncertain data
uncertain data model
0.332011
Making Aggregation Work in Uncertain and Probabilistic Databases · IEEE Trans. Knowl. Data Eng. 2011
Representing uncertain data: models, properties, and algorithms · VLDB J. 2009
Working Models for Uncertain Data · ICDE 2006
Query processing and optimization
adaptive query processing
0.242007
Optimization of continuous queries with shared expensive filters · PODS 2007
Adaptive Caching for Continuous Queries · ICDE 2005
StreaMon: An Adaptive Engine for Stream Query Processing · SIGMOD Conference 2004
Graph data management › graph processing
graph processing systems
0.212015
Graft: A Debugging Tool For Apache Giraph · SIGMOD Conference 2015
Data models and query languages › semistructured data
semi-structured data model
0.212015
Three Favorite Results · SIGMOD Conference 2015
Debugging and program repair › concurrent program debugging
distributed debugging
0.212015
Graft: A Debugging Tool For Apache Giraph · SIGMOD Conference 2015
Information retrieval
search engines
0.222014
DataSift: a crowd-powered search toolkit · SIGMOD Conference 2014
WSQ/DSQ: A Practical Approach for Combined Querying of Databases and the Web · SIGMOD Conference 2000
Information retrieval
query processing
0.212014
DataSift: a crowd-powered search toolkit · SIGMOD Conference 2014
Parallel and multicore computing
graph processing
0.212014
Optimizing Graph Algorithms on Pregel-like Systems · Proc. VLDB Endow. 2014
Parallel and multicore computing › graph processing
vertex-centric graph processing
0.212014
Optimizing Graph Algorithms on Pregel-like Systems · Proc. VLDB Endow. 2014
Query processing and optimization
cardinality estimation
0.212013
Query Optimization over Crowdsourced Data · Proc. VLDB Endow. 2013
Query processing and optimization › query optimization
cost-based optimization
0.212013
Query Optimization over Crowdsourced Data · Proc. VLDB Endow. 2013
Data integration and cleaning › data provenance
workflow provenance
0.212013
Logical provenance in data-oriented workflows? · ICDE 2013
Query processing and optimization
aggregate query processing
0.222011
Making Aggregation Work in Uncertain and Probabilistic Databases · IEEE Trans. Knowl. Data Eng. 2011
Offering a Precision-Performance Tradeoff for Aggregation Queries over Replicated Data · VLDB 2000
Web and social media mining
human computation
0.112012
CrowdScreen: algorithms for filtering data with humans · SIGMOD Conference 2012
Distributed systems
data provenance
0.112011
RAMP: A System for Capturing and Tracing Provenance in MapReduce Workflows · Proc. VLDB Endow. 2011
Parallel and multicore computing › data-parallel programming
mapreduce
0.112011
RAMP: A System for Capturing and Tracing Provenance in MapReduce Workflows · Proc. VLDB Endow. 2011
Graph algorithms and graph theory › graph algorithms
graph search
0.112011
Human-assisted graph search: it's okay to ask questions · Proc. VLDB Endow. 2011
Query processing and optimization
probabilistic query processing
0.122009
Confidence-Aware Join Algorithms · ICDE 2009
Exploiting Lineage for Confidence Computation in Uncertain and Probabilistic Databases · ICDE 2008
Data stream processing › continuous query processing
continuous query optimization
0.122007
Optimization of continuous queries with shared expensive filters · PODS 2007
Resource Sharing in Continuous Sliding-Window Aggregates · VLDB 2004
Database theory › query answering
certain answers
0.112010
Foundations of Uncertain-Data Integration · Proc. VLDB Endow. 2010
Data integration and cleaning › data quality
inconsistency detection
0.112010
Foundations of Uncertain-Data Integration · Proc. VLDB Endow. 2010

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

approximation algorithm · 0.6vertex-centric parallelism · 0.4serial computation · 0.4optimal algorithms · 0.4complexity analysis · 0.3empirical analysis · 0.3dataset analysis · 0.3maximum likelihood estimation · 0.2expectation-maximization · 0.2incentive mechanism design · 0.2crowdsourcing · 0.2crowd-powered search · 0.2provenance specification language · 0.2SPJ transformations · 0.2tracing · 0.1provenance capture · 0.1temporal and spatial cleaning · 0.1declarative query processing · 0.1
YearPublicationVenuePosition
2017 Understanding Workers, Developing Effective Tasks, and Enhancing Marketplace Dynamics: A Study of a Large Crowdsourcing Marketplace
abstract
We conduct an experimental analysis of a dataset comprising over 27 million microtasks performed by over 70,000 workers issued to a large crowdsourcing marketplace between 2012--2016. Using this data---never before analyzed in an academic context---we shed light on three crucial aspects of crowdsourcing: (1) Task design---helping requesters understand what constitutes an effective task, and how to go about designing one; (2) Marketplace dynamics --- helping marketplace administrators and designers understand the interaction between tasks and workers, and the corresponding marketplace load; and (3) Worker behavior --- understanding worker attention spans, lifetimes, and general behavior, for the improvement of the crowdsourcing ecosystem as a whole.
Akash Das Sarma, Aditya G. Parameswaran, Jennifer Widom
Proc. VLDB Endow.4
2016 Towards Globally Optimal Crowdsourcing Quality Management: The Uniform Worker Setting
abstract
, that is, given worker responses to a set of tasks, our goal is to jointly estimate the true answers for the tasks, as well as the quality of the workers. Prior work on this problem relies primarily on applying Expectation-Maximization (EM) on the underlying maximum likelihood problem to estimate true answers as well as worker quality. Unfortunately, EM only provides a locally optimal solution rather than a globally optimal one. Other solutions to the problem (that do not leverage EM) fail to provide global optimality guarantees as well. In this paper, we focus on filtering, where tasks require the evaluation of a yes/no predicate, and rating, where tasks elicit integer scores from a finite domain. We design algorithms for finding the global optimal estimates of correct task answers and worker quality for the underlying maximum likelihood problem, and characterize the complexity of these algorithms. Our algorithms conceptually consider all mappings from tasks to true answers (typically a very large number), leveraging two key ideas to reduce, by several orders of magnitude, the number of mappings under consideration, while preserving optimality. We also demonstrate that these algorithms often find more accurate estimates than EM-based algorithms. This paper makes an important contribution towards understanding the inherent complexity of globally optimal crowdsourcing quality management.
Akash Das Sarma, Aditya G. Parameswaran, Jennifer Widom
SIGMOD Conference3
2015 Surpassing Humans and Computers with JELLYBEAN: Crowd-Vision-Hybrid Counting Algorithms
abstract
Counting objects is a fundamental image processisng primitive, and has many scientific, health, surveillance, security, and military applications. Existing supervised computer vision techniques typically require large quantities of labeled training data, and even with that, fail to return accurate results in all but the most stylized settings. Using vanilla crowdsourcing, on the other hand, can lead to significant errors, especially on images with many objects. In this paper, we present our JellyBean suite of algorithms, that combines the best of crowds and computer vision to count objects in images, and uses judicious decomposition of images to greatly improve accuracy at low cost. Our algorithms have several desirable properties: (i) they are theoretically optimal or near-optimal, in that they ask as few questions as possible to humans (under certain intuitively reasonable assumptions that we justify in our paper experimentally); (ii) they operate under stand-alone or hybrid modes, in that they can either work independent of computer vision algorithms, or work in concert with them, depending on whether the computer vision techniques are available or useful for the given setting; (iii) they perform very well in practice, returning accurate counts on images that no individual worker or computer vision algorithm can count correctly, while not incurring a high cost.
Akash Das Sarma, Arnab Nandi 0001, Aditya G. Parameswaran, Jennifer Widom
HCOMP5
2015 Graft: A Debugging Tool For Apache Giraph
abstract
We address the problem of debugging programs written for Pregel-like systems. After interviewing Giraph and GPS users, we developed Graft. Graft supports the debugging cycle that users typically go through: (1) Users describe programmatically the set of vertices they are interested in inspecting. During execution, Graft captures the context information of these vertices across supersteps. (2) Using Graft's GUI, users visualize how the values and messages of the captured vertices change from superstep to superstep,narrowing in suspicious vertices and supersteps. (3) Users replay the exact lines of the code vertex.compute() function that executed for the suspicious vertices and supersteps, by copying code that Graft generates into their development environments' line-by-line debuggers. Graft also has features to construct end-to-end tests for Giraph programs. Graft is open-source and fully integrated into Apache Giraph's main code base.
Semih Salihoglu, Jaeho Shin 0001, Vikesh Khanna, Ba Quan Truong, Jennifer Widom
SIGMOD Conference5
2015 Three Favorite Results
abstract
Being honored as the ACM Athena Lecturer has inspired me to reflect upon the research I've conducted over my career to date. Conventional wisdom says good things come in threes, so I've picked three of my favorite results to cover during the talk. For each one I'll explain the context and motivation, the result itself, and why it ranks as one of my favorites. The three results span foundations, implementation, and user-interface, and they represent three of my favorite research areas: semistructured data, data streams, and uncertain data.
Jennifer Widom
SIGMOD Conference1
2014 Simplifying Scalable Graph Processing with a Domain-Specific Language
Sungpack Hong, Semih Salihoglu, Jennifer Widom, Kunle Olukotun
CGO3
2014 Optimal Worker Quality and Answer Estimates in Crowd-Powered Filtering and Rating
abstract
We consider the problem of optimally filtering (or rating) a set of items based on predicates (or scoring) requiring human evaluation. Filtering and rating are ubiquitous problems across crowdsourcing applications. We consider the setting where we are given a set of items and a set of worker responses for each item: yes/no in the case of filtering and an integer value in the case of rating. We assume that items have a true inherent value that is unknown, and workers draw their responses from a common, but hidden, error distribution. Our goal is to simultaneously assign a ground truth to the item-set and estimate the worker error distribution. Previous work in this area has focused on heuristics such as Expectation Maximization (EM), providing only a local optima guarantee, while we have developed a general framework that finds a maximum likelihood solution. Our approach extends to a number of variations on the filtering and rating problems.
Akash Das Sarma, Aditya G. Parameswaran, Jennifer Widom
HCOMP3
2014 DataSift: a crowd-powered search toolkit
abstract
Traditional search engines are unable to support a large number of potential queries issued by users, for instance, queries containing non-textual fragments such as images or videos, queries that are very long, ambiguous, or those that require subjective judgment, or semantically-rich queries over non-textual corpora. We demonstrate DataSift, a crowd-powered search toolkit that can be instrumented over any corpus supporting a keyword search API, and supports efficient and accurate querying for a rich general class of queries, including those described previously. Our demonstration will allow conference attendees to issue live queries for image, video, and product search, as well as "play back" the results of a wide variety of prior queries issued on DataSift. Attendees will also be able to perform a side-by-side comparison between DataSift and traditional retrieval schemes.
Aditya G. Parameswaran, Ming Han Teh, Hector Garcia-Molina, Jennifer Widom
SIGMOD Conference4
2014 CrowdFill: collecting structured data from the crowd
abstract
We present CrowdFill, a system for collecting structured data from the crowd. While a typical microtask-based approach would pose specific questions to each worker and assemble the answers, CrowdFill shows a partially-filled table to all participating workers. Workers contribute by filling in empty cells, as well as upvoting and downvoting data entered by other workers. The system's synchronization scheme, based on a careful model of primitive operations, enables workers to collaboratively complete the table without latency overhead. CrowdFill allows the specification of constraints on the collected data, and has mechanisms for resolving inconsistencies. Its compensation scheme takes into account each worker's contribution to the final table, and the varying difficulty of data entry tasks. The paper includes some preliminary experimental results.
Hyunjung Park 0001, Jennifer Widom
SIGMOD Conference2
2014 Optimal Crowd-Powered Rating and Filtering Algorithms
abstract
We focus on crowd-powered filtering, i.e., filtering a large set of items using humans. Filtering is one of the most commonly used building blocks in crowdsourcing applications and systems. While solutions for crowd-powered filtering exist, they make a range of implicit assumptions and restrictions, ultimately rendering them not powerful enough for real-world applications. We describe two approaches to discard these implicit assumptions and restrictions: one, that carefully generalizes prior work, leading to an optimal, but often-times intractable solution, and another, that provides a novel way of reasoning about filtering strategies, leading to a sometimes suboptimal, but efficiently computable solution (that is asymptotically close to optimal). We demonstrate that our techniques lead to significant reductions in error of up to 30% for fixed cost over prior work in a novel crowdsourcing application: peer evaluation in online courses.
Aditya G. Parameswaran, Stephen P. Boyd, Hector Garcia-Molina, Ashish Gupta 0002, Neoklis Polyzotis, Jennifer Widom
Proc. VLDB Endow.6
2014 Optimizing Graph Algorithms on Pregel-like Systems
abstract
We study the problem of implementing graph algorithms efficiently on Pregel-like systems, which can be surprisingly challenging. Standard graph algorithms in this setting can incur unnecessary inefficiencies such as slow convergence or high communication or computation cost, typically due to structural properties of the input graphs such as large diameters or skew in component sizes. We describe several optimization techniques to address these inefficiencies. Our most general technique is based on the idea of performing some serial computation on a tiny fraction of the input graph, complementing Pregel's vertex-centric parallelism. We base our study on thorough implementations of several fundamental graph algorithms, some of which have, to the best of our knowledge, not been implemented on Pregel-like systems before. The algorithms and optimizations we describe are fully implemented in our open-source Pregel implementation. We present detailed experiments showing that our optimization techniques improve runtime significantly on a variety of very large graph datasets.
Semih Salihoglu, Jennifer Widom
Proc. VLDB Endow.2
2013 DataSift: An Expressive and Accurate Crowd-Powered Search Toolkit
abstract
Traditional information retrieval systems have limited functionality. For instance, they are not able to adequately support queries containing non-textual fragments such as images or videos, queries that are very long or ambiguous, or semantically-rich queries over non-textual corpora. In this paper, we present DataSift, an expressive and accurate crowd-powered search toolkit that can connect to any corpus. We provide a number of alternative configurations for DataSift using crowdsourced and automated components, and demonstrate gains of 2–3x on precision over traditional retrieval schemes using experiments on real corpora. We also present our results on determining suitable values for parameters in those configurations, along with a number of interesting insights learned along the way.
Aditya G. Parameswaran, Ming Han Teh, Hector Garcia-Molina, Jennifer Widom
HCOMP4
2013 Logical provenance in data-oriented workflows?
abstract
We consider the problem of defining, generating, and tracing provenance in data-oriented workflows, in which input data sets are processed by a graph of transformations to produce output results. We first give a new general definition of provenance for general transformations, introducing the notions of correctness, precision, and minimality. We then determine when properties such as correctness and minimality carry over from the individual transformations' provenance to the workflow provenance. We describe a simple logical-provenance specification language consisting of attribute mappings and filters. We provide an algorithm for provenance tracing in workflows where logical provenance for each transformation is specified using our language. We consider logical provenance in the relational setting, observing that for a class of Select-Project-Join (SPJ) transformations, logical provenance specifications encode minimal provenance. We have built a prototype system supporting the features and algorithms presented in the paper, and we report a few preliminary experimental results.
Robert Ikeda, Akash Das Sarma, Jennifer Widom
ICDE3
2013 GPS: a graph processing system
abstract
GPS (for Graph Processing System) is a complete open-source system we developed for scalable, fault-tolerant, and easy-to-program execution of algorithms on extremely large graphs. This paper serves the dual role of describing the GPS system, and presenting techniques and experimental results for graph partitioning in distributed graph-processing systems like GPS. GPS is similar to Google's proprietary Pregel system, with three new features: (1) an extended API to make global computations more easily expressed and more efficient; (2) a dynamic repartitioning scheme that reassigns vertices to different workers during the computation, based on messaging patterns; and (3) an optimization that distributes adjacency lists of high-degree vertices across all compute nodes to improve performance. In addition to presenting the implementation of GPS and its novel features, we also present experimental results on the performance effects of both static and dynamic graph partitioning schemes, and we describe the compilation of a high-level domain-specific programming language to GPS, enabling easy expression of complex algorithms.
Semih Salihoglu, Jennifer Widom
SSDBM2
2013 Query Optimization over Crowdsourced Data
abstract
Deco is a comprehensive system for answering declarative queries posed over stored relational data together with data obtained on-demand from the crowd. In this paper we describe Deco's cost-based query optimizer, building on Deco's data model, query language, and query execution engine presented earlier. Deco's objective in query optimization is to find the best query plan to answer a query, in terms of estimated monetary cost. Deco's query semantics and plan execution strategies require several fundamental changes to traditional query optimization. Novel techniques incorporated into Deco's query optimizer include a cost model distinguishing between "free" existing data versus paid new data, a cardinality estimation algorithm coping with changes to the database state during query execution, and a plan enumeration algorithm maximizing reuse of common subplans in a setting that makes reuse challenging. We experimentally evaluate Deco's query optimizer, focusing on the accuracy of cost estimation and the efficiency of plan enumeration.
Hyunjung Park 0001, Jennifer Widom
Proc. VLDB Endow.2
2012 Deco: declarative crowdsourcing
abstract
Crowdsourcing enables programmers to incorporate "human computation" as a building block in algorithms that cannot be fully automated, such as text analysis and image recognition. Similarly, humans can be used as a building block in data-intensive applications--providing, comparing, and verifying data used by applications. Building upon the decades-long success of declarative approaches to conventional data management, we use a similar approach for data-intensive applications that incorporate humans. Specifically, declarative queries are posed over stored relational data as well as data computed on-demand from the crowd, and the underlying system orchestrates the computation of query answers.
Aditya G. Parameswaran, Hyunjung Park 0001, Hector Garcia-Molina, Neoklis Polyzotis, Jennifer Widom
CIKM5
2012 Provenance-Based Debugging and Drill-Down in Data-Oriented Workflows
abstract
Panda (for Provenance and Data), a system for data-oriented workflows that supports debugging and drill-down using logical provenance-provenance information stored at the processing-node level is demonstrated. In this demonstration, Panda is used to integrate, process, and analyze actual education data from multiple sources.
Robert Ikeda, Junsang Cho, Charlie Fang, Semih Salihoglu, Satoshi Torikai, Jennifer Widom
ICDE6
2012 CrowdScreen: algorithms for filtering data with humans
abstract
Given a large set of data items, we consider the problem of filtering them based on a set of properties that can be verified by humans. This problem is commonplace in crowdsourcing applications, and yet, to our knowledge, no one has considered the formal optimization of this problem. (Typical solutions use heuristics to solve the problem.) We formally state a few different variants of this problem. We develop deterministic and probabilistic algorithms to optimize the expected cost (i.e., number of questions) and expected error. We experimentally show that our algorithms provide definite gains with respect to other strategies. Our algorithms can be applied in a variety of crowdsourcing scenarios and can form an integral part of any query processor that uses human computation.
Aditya G. Parameswaran, Hector Garcia-Molina, Hyunjung Park 0001, Neoklis Polyzotis, Aditya Ramesh, Jennifer Widom
SIGMOD Conference6
2012 Deco: A System for Declarative Crowdsourcing
abstract
Deco is a system that enables declarative crowdsourcing: answering SQL queries posed over data gathered from the crowd as well as existing relational data. Deco implements a novel push-pull hybrid execution model in order to support a flexible data model and a precise query semantics, while coping with the combination of latency, monetary cost, and uncertainty of crowdsourcing. We demonstrate Deco using two crowdsourcing platforms: Amazon Mechanical Turk and an in-house platform, to show how Deco provides a convenient means of collecting and querying crowdsourced data.
Hyunjung Park 0001, Richard Pang, Aditya G. Parameswaran, Hector Garcia-Molina, Neoklis Polyzotis, Jennifer Widom
Proc. VLDB Endow.6
2011 Provenance for Generalized Map and Reduce Workflows
Robert Ikeda, Hyunjung Park 0001, Jennifer Widom
CIDR3
2011 Provenance-based refresh in data-oriented workflows
abstract
We consider a general workflow setting in which input data sets are processed by a graph of transformations to produce output results. Our goal is to perform efficient selective refresh of elements in the output data, i.e., compute the latest values of specific output elements when the input data may have changed. We explore how data provenance can be used to enable efficient refresh. Our approach is based on capturing one-level data provenance at each transformation when the workflow is run initially. Then at refresh time provenance is used to determine (transitively) which input elements are responsible for given output elements, and the workflow is rerun only on that portion of the data needed for refresh. Our contributions are to formalize the problem setting and the problem itself, to specify properties of transformations and provenance that are required for efficient refresh, and to provide algorithms that apply to a wide class of transformations and workflows. We have built a prototype system supporting the features and algorithms presented in the paper. We report preliminary experimental results on the overhead of provenance capture, and on the crossover point between selective refresh and full workflow recomputation.
Robert Ikeda, Semih Salihoglu, Jennifer Widom
CIKM3
2011 Human-assisted graph search: it's okay to ask questions
abstract
We consider the problem of human-assisted graph search : given a directed acyclic graph with some (unknown) target node(s), we consider the problem of finding the target node(s) by asking an omniscient human questions of the form "Is there a target node that is reachable from the current node?". This general problem has applications in many domains that can utilize human intelligence, including curation of hierarchies, debugging workflows, image segmentation and categorization, interactive search and filter synthesis. To our knowledge, this work provides the first formal algorithmic study of the optimization of human computation for this problem. We study various dimensions of the problem space, providing algorithms and complexity results. We also compare the performance of our algorithm against other algorithms, for the problem of webpage categorization on a real taxonomy. Our framework and algorithms can be used in the design of an optimizer for crowd-sourcing platforms such as Mechanical Turk.
Aditya G. Parameswaran, Anish Das Sarma, Hector Garcia-Molina, Neoklis Polyzotis, Jennifer Widom
Proc. VLDB Endow.5
2011 RAMP: A System for Capturing and Tracing Provenance in MapReduce Workflows
Hyunjung Park 0001, Robert Ikeda, Jennifer Widom
Proc. VLDB Endow.3
2011 Making Aggregation Work in Uncertain and Probabilistic Databases
abstract
We describe how aggregation is handled in the Trio system for uncertain and probabilistic data. Because “exact” aggregation in uncertain databases can produce exponentially sized results, we provide three alternatives: a low bound on the aggregate value, a high bound on the value, and the expected value. These variants return a single result instead of a set of possible results, and they are generally efficient to compute for both full-table and grouped aggregation queries. We provide formal definitions and semantics and a description of our open source implementation for single-table aggregation queries. We study the performance and scalability of our algorithms through experiments over a large synthetic data set. We also provide some preliminary results on aggregations over joins.
Raghotham Murthy, Robert Ikeda, Jennifer Widom
IEEE Trans. Knowl. Data Eng.3
2010 Synthesizing view definitions from data
abstract
Given a database instance and a corresponding view instance, we address the view definitions problem (VDP): Find the most succinct and accurate view definition, when the view query is restricted to a specific family of queries. We study the tradeoffs among succintness, level of approximation, and the family of queries through algorithms and complexity results. For each family of queries, we address three variants of the VDP: (1) Does there exist an exact view definition, and if so find it. (2) Find the best view definition, i.e., one as close to the input view instance as possible, and as succinct as possible. (3) Find an approximate view definition that satisfies an input approximation threshold, and is as succinct as possible.
Anish Das Sarma, Aditya G. Parameswaran, Hector Garcia-Molina, Jennifer Widom
ICDT4
2010 LIVE: A Lineage-Supported Versioned DBMS
Anish Das Sarma, Martin Theobald, Jennifer Widom
SSDBM3
2010 Foundations of Uncertain-Data Integration
abstract
There has been considerable past work studying data integration and uncertain data in isolation. We develop the foundations for local-as-view (LAV) data integration when the sources being integrated are uncertain. We motivate two distinct settings for uncertain-data integration. We then define containment of uncertain databases in these settings, which allows us to express uncertain sources as views over a virtual mediated uncertain database. Next, we define consistency of a set of uncertain sources and show intractability of consistency-checking. We identify an interesting special case for which consistency-checking is polynomial. Finally, the notion of certain answers from traditional LAV data integration does not generalize to the uncertain setting, so we define a corresponding notion of correct answers .
Parag Agrawal, Anish Das Sarma, Jeffrey D. Ullman, Jennifer Widom
Proc. VLDB Endow.4
2009 Confidence-Aware Join Algorithms
abstract
In uncertain and probabilistic databases,confidencevalues (orprobabilities) are associated with each data item. Confidence values are assigned to query results based on combining confidences from the input data. Users may wish to apply a threshold on result confidence values, ask for the "top-k" results by confidence, or obtain results sorted by confidence. Efficient algorithms for these types of queries can be devised by exploiting properties of the input data and the combining functions for result confidences. Previous algorithms for these problems assumed sufficient memory was available for processing. In this paper, we address the problem of processing all three types of queries when sufficient memory is not available, minimizing retrieval cost. We present algorithms, theoretical guarantees, and experimental evaluation.
Parag Agrawal, Jennifer Widom
ICDE2
2009 Swoosh: a generic approach to entity resolution
Omar Benjelloun, Hector Garcia-Molina, David Menestrina, Steven Euijong Whang, Jennifer Widom
VLDB J.6
2009 Representing uncertain data: models, properties, and algorithms
Anish Das Sarma, Omar Benjelloun, Alon Y. Halevy, Shubha U. Nabar, Jennifer Widom
VLDB J.5
2008 Exploiting Lineage for Confidence Computation in Uncertain and Probabilistic Databases
abstract
We study the problem of computing query results with confidence values in ULDBs: relational databases with uncertainty and lineage. ULDBs, which subsume probabilistic databases, offer an alternative decoupled method of computing confidence values: Instead of computing confidences during query processing, compute them afterwards based on lineage. This approach enables a wider space of query plans, and it permits selective computations when not all confidence values are needed. This paper develops a suite of algorithms and optimizations for a broad class of relational queries on ULDBs. We provide confidence computation algorithms for single data items, as well as efficient batch algorithms to compute confidences for an entire relation or database. All algorithms incorporate memoization to avoid redundant computations, and they have been implemented in the Trio prototype ULDB database system. Performance characteristics and scalability of the algorithms are demonstrated through experimental results over a large synthetic dataset.
Anish Das Sarma, Martin Theobald, Jennifer Widom
ICDE3
2008 Towards a streaming SQL standard
abstract
This paper describes a unification of two different SQL extensions for streams and its associated semantics. We use the data models from Oracle and StreamBase as our examples. Oracle uses a time-based execution model while StreamBase uses a tuple-based execution model. Time-based execution provides a way to model simultaneity while tuple-based execution provides a way to react to primitive events as soon as they are seen by the system. The result is a new model that gives the user control over the granularity at which one can express simultaneity. Of course, it is possible to ignore simultaneity altogether. The proposed model captures ordering and simultaneity through partial orders on batches of tuples. The batching and the ordering are encapsulated in and can be modified by means of a powerful new operator that we call SPREAD. This paper describes the semantics of SPREAD and gives several examples of its use.
Namit Jain, Shailendra Mishra, Anand Srinivasan, Johannes Gehrke, Jennifer Widom, Hari Balakrishnan, Ugur Çetintemel, Mitch Cherniack, Richard Tibbetts, Stanley B. Zdonik
Proc. VLDB Endow.5
2008 Databases with uncertainty and lineage
Omar Benjelloun, Anish Das Sarma, Alon Y. Halevy, Martin Theobald, Jennifer Widom
VLDB J.5
2007 Trio-One: Layering Uncertainty and Lineage on a Conventional DBMS (Demo)
Michi Mutsuzaki, Martin Theobald, Ander de Keijzer, Jennifer Widom, Parag Agrawal, Omar Benjelloun, Anish Das Sarma, Raghotham Murthy, Tomoe Sugihara
CIDR4
2007 Optimization of continuous queries with shared expensive filters
abstract
We consider the problem of optimizing and executing multiple continuous queries, where each query is a conjunction of filters and each filter may occur in multiple queries. When filters are expensive, significant performance gains are achieved by sharing filter evaluations across queries. A shared execution strategy in our scenario can either be fixed, in which filters are evaluated in the same predetermined order for all input, or adaptive, in which the next filter to be evaluated is chosen at runtime based on the results of the filters evaluated so far. We show that as filter costs increase, the best adaptive strategy is superior to any fixed strategy, despite the overhead of adaptivity. We show that itis NP-hard to find the optimal adaptive strategy, even if we are willing to approximate within any factor smaller than m where m is the number of queries. We then present a greedy adaptive execution strategy and show that it approximates the best adaptive strategy to within a factor O(log2m log n) where n is the number of distinct filters. We also give a precomputation technique that can reduce the execution overhead of adaptive strategies.
Kamesh Munagala, Utkarsh Srivastava, Jennifer Widom
PODS3
2006 A Pipelined Framework for Online Cleaning of Sensor Data Streams
abstract
Data captured from the physical world through sensor devices tends to be noisy and unreliable. The data cleaning process for such data is not easily handled by standard data warehouse-oriented techniques, which do not take into account the strong temporal and spatial components of receptor data. We present Extensible receptor Stream Processing (ESP), a declarative query-based framework designed to clean the data streams produced by sensor devices.
Shawn R. Jeffery, Gustavo Alonso, Michael J. Franklin, Wei Hong 0001, Jennifer Widom
ICDE5
2006 Working Models for Uncertain Data
abstract
This paper explores an inherent tension in modeling and querying uncertain data: simple, intuitive representations of uncertain data capture many application requirements, but these representations are generally incomplete―standard operations over the data may result in unrepresentable types of uncertainty. Complete models are theoretically attractive, but they can be nonintuitive and more complex than necessary for many applications. To address this tension, we propose a two-layer approach to managing uncertain data: an underlying logical model that is complete, and one or more working models that are easier to understand, visualize, and query, but may lose some information. We explore the space of incomplete working models, place several of them in a strict hierarchy based on expressive power, and study their closure properties. We describe how the two-layer approach is being used in our prototype DBMS for uncertain data, and we identify a number of interesting open problems to fully realize the approach.
Anish Das Sarma, Omar Benjelloun, Alon Y. Halevy, Jennifer Widom
ICDE4
2006 Trio: A System for Data, Uncertainty, and Lineage
Parag Agrawal, Omar Benjelloun, Anish Das Sarma, Chris Hayworth, Shubha U. Nabar, Tomoe Sugihara, Jennifer Widom
VLDB7
2006 ULDBs: Databases with Uncertainty and Lineage
Omar Benjelloun, Anish Das Sarma, Alon Y. Halevy, Jennifer Widom
VLDB4
2006 Query Optimization over Web Services
Utkarsh Srivastava, Kamesh Munagala, Jennifer Widom, Rajeev Motwani 0001
VLDB3
2006 Foreword to special section on SIGMOD/PODS 2005
abstract
No abstract available.
Foto N. Afrati, Jennifer Widom
ACM Trans. Database Syst.2
2006 The CQL continuous query language: semantic foundations and query execution
Arvind Arasu, Shivnath Babu, Jennifer Widom
VLDB J.3
2005 Trio: A System for Integrated Management of Data, Accuracy, and Lineage
Jennifer Widom
CIDR1
2005 Adaptive Caching for Continuous Queries
abstract
We address the problem of executing continuous multiway join queries in unpredictable and volatile environments. Our query class captures windowed join queries in data stream systems as well as conventional maintenance of materialized join views. Our adaptive approach handles streams of updates whose rates and data characteristics may change over time, as well as changes in system conditions such as memory availability. In this paper we focus specifically on the problem of adaptive placement and removal of caches to optimize join performance. Our approach automatically considers conventional tree-shaped join plans with materialized subresults at every intermediate node, sub result-free MJoins, and the entire spectrum between them. We provide algorithms for selecting caches, monitoring their cost and benefits in current conditions, allocating memory to caches, and adapting as conditions change. All of our algorithms are implemented in the STREAM prototype data stream management system and a thorough experimental evaluation is included.
Shivnath Babu, Kamesh Munagala, Jennifer Widom, Rajeev Motwani 0001
ICDE3
2005 The Pipelined Set Cover Problem
Kamesh Munagala, Shivnath Babu, Rajeev Motwani 0001, Jennifer Widom
ICDT4
2005 Indexing Relational Database Content Offline for Efficient Keyword-Based Search
abstract
Information retrieval systems such as Web search engines offer convenient keyword-based search interfaces. In contrast, relational database systems require the user to learn SQL and to know the schema of the underlying data even to pose simple searches. We propose an architecture that supports highly efficient keyword-based search over relational databases: A relational database is "crawled" in advance, text-indexing virtual documents that correspond to interconnected database content. At query time, the text index supports keyword-based searches with interactive response, identifying database objects corresponding to the virtual documents matching the query. Our system, EKSO, creates virtual documents from joining relational tuples and uses the DB2 Net Search Extender for indexing and keyword-search processing. Experimental results show that index size is manageable and database updates (which are propagated incrementally as recomputed virtual documents to the text index) do not significantly hinder query performance. We also present a user study confirming the superiority of keyword-based search over SQL for a range of database retrieval tasks.
Jennifer Widom
IDEAS2
2005 Operator placement for in-network stream query processing
abstract
In sensor networks, data acquisition frequently takes place at low-capability devices. The acquired data is then transmitted through a hierarchy of nodes having progressively increasing network band-width and computational power. We consider the problem of executing queries over these data streams, posed at the root of the hierarchy. To minimize data transmission, it is desirable to perform "in-network" query processing: do some part of the work at intermediate nodes as the data travels to the root. Most previous work on in-network query processing has focused on aggregation and inexpensive filters. In this paper, we address in-network processing for queries involving possibly expensive conjunctive filters, and joins. We consider the problem of placing operators along the nodes of the hierarchy so that the overall cost of computation and data transmission is minimized. We show that the problem is tractable, give an optimal algorithm, and demonstrate that a simpler greedy operator placement algorithm can fail to find the optimal solution. Finally we define a number of interesting variations of the basic operator placement problem and demonstrate their hardness.
Utkarsh Srivastava, Kamesh Munagala, Jennifer Widom
PODS3
2005 Database Publication Practices
Philip A. Bernstein, David J. DeWitt, Andreas Heuer 0001, Zachary G. Ives, Christian S. Jensen, Holger Meyer 0001, M. Tamer Özsu, Richard T. Snodgrass, Kyu-Young Whang, Jennifer Widom
VLDB10
2005 Content-Based Routing: Different Plans for Different Data
Pedro Bizarro, Shivnath Babu, David J. DeWitt, Jennifer Widom
VLDB4
2004 Mining the space of graph properties
abstract
Existing data mining algorithms on graphs look for nodes satisfying specific properties, such as specific notions of structural similarity or specific measures of link-based importance. While such analyses for predetermined properties can be effective in well-understood domains, sometimes identifying an appropriate property for analysis can be a challenge, and focusing on a single property may neglect other important aspects of the data. In this paper, we develop a foundation for mining the properties themselves. We present a theoretical framework defining the space of graph properties, a variety of mining queries enabled by the framework, techniques to handle the enormous size of the query space, and an experimental system called F-Miner that demonstrates the utility and feasibility of property mining.
Glen Jeh, Jennifer Widom
KDD2
2004 Flexible Time Management in Data Stream Systems
abstract
Continuous queries in a Data Stream Management System (DSMS) rely on time as a basis for windows on streams and for defining a consistent semantics for multiple streams and updatable relations. The system clock in a centralized DSMS provides a convenient and well-behaved notion of time, but often it is more appropriate for a DSMS application to define its own notion of time---its own clock(s), sequence numbers, or other forms of ordering and times-tamping. Flexible application-defined time poses challenges to the DSMS, since streams may be out of order and uncoordinated with each other, they may incur latency reaching the DSMS, and they may pause or stop. We formalize these challenges and specify how to generate heartbeats so that queries can be evaluated correctly and continuously in an application-defined time domain. Our heartbeat generation algorithm is based on parameters capturing skew between streams, unordering within streams, and latency in streams reaching the DSMS. We also describe how to estimate these parameters at run-time, and we discuss how heartbeats can be used for processing continuous queries.
Utkarsh Srivastava, Jennifer Widom
PODS2
2004 Adaptive Ordering of Pipelined Stream Filters
abstract
We consider the problem of pipelined filters, where a continuous stream of tuples is processed by a set of commutative filters. Pipelined filters are common in stream applications and capture a large class of multiway stream joins. We focus on the problem of ordering the filters adaptively to minimize processing cost in an environment where stream and filter characteristics vary unpredictably over time. Our core algorithm, A-Greedy (for Adaptive Greedy), has strong theoretical guarantees: If stream and filter characteristics were to stabilize, A-Greedy would converge to an ordering within a small constant factor of optimal. (In experiments A-Greedy usually converges to the optimal ordering.) One very important feature of A-Greedy is that it monitors and responds to selectivities that are correlated across filters (i.e., that are nonindependent), which provides the strong quality guarantee but incurs run-time overhead. We identify a three-way tradeoff among provable convergence to good orderings, run-time overhead, and speed of adaptivity. We develop a suite of variants of A-Greedy that lie at different points on this tradeoff spectrum. We have implemented all our algorithms in the STREAM prototype Data Stream Management System and a thorough performance evaluation is presented.
Shivnath Babu, Rajeev Motwani 0001, Kamesh Munagala, Itaru Nishizawa, Jennifer Widom
SIGMOD Conference5
2004 StreaMon: An Adaptive Engine for Stream Query Processing
abstract
StreaMon is the adaptive query processing engine of the STREAM prototype Data Stream Management System (DSMS) [4]. A fundamental challenge in many DSMS applications (e.g., network monitoring, financial monitoring over stock tickers, sensor processing) is that conditions may vary significantly over time. Since queries in these systems are usually long-running, or continuous [4], it is important to consider adaptive approaches to query processing. Without adaptivity, performance may drop drastically as stream data and arrival characteristics, query loads, and system conditions change over time.StreaMon uses several techniques to support adaptive query processing [1, 2, 3]; we demonstrate three of them:•Reducing run-time memory requirements for continuous queries by exploiting stream data and arrival patterns.•Adaptive join ordering for pipelined multiway stream joins, with strong quality guarantees.•Placing subresult caches adaptively in pipelined multiway stream joins to avoid recomputation of intermediate results.
Shivnath Babu, Jennifer Widom
SIGMOD Conference2
2004 Rethinking the Conference Reviewing Process - Panel
abstract
No abstract available.
Michael J. Franklin, Jennifer Widom, Gerhard Weikum, Philip A. Bernstein, Alon Y. Halevy, David J. DeWitt, Anastasia Ailamaki, Zachary G. Ives
SIGMOD Conference2
2004 Vision Paper: Enabling Privacy for the Paranoids
Gagan Aggarwal, Mayank Bawa, Prasanna Ganesan, Hector Garcia-Molina, Krishnaram Kenthapadi, Nina Mishra, Rajeev Motwani 0001, Utkarsh Srivastava, Dilys Thomas, Jennifer Widom, Ying Xu 0002
VLDB10
2004 Resource Sharing in Continuous Sliding-Window Aggregates
Arvind Arasu, Jennifer Widom
VLDB2
2004 Memory-Limited Execution of Windowed Stream Joins
Utkarsh Srivastava, Jennifer Widom
VLDB2
2004 Characterizing memory requirements for queries over continuous data streams
abstract
This article deals with continuous conjunctive queries with arithmetic comparisons and optional aggregation over multiple data streams. An algorithm is presented for determining whether or not any given query can be evaluated using a bounded amount of memory for all possible instances of the data streams. For queries that can be evaluated using bounded memory, an execution strategy based on constant-sized synopses of the data streams is proposed. For queries that cannot be evaluated using bounded memory, data stream scenarios are identified in which evaluating the queries requires memory linear in the size of the unbounded streams.
Arvind Arasu, Brian Babcock, Shivnath Babu, Jon McAlister, Jennifer Widom
ACM Trans. Database Syst.5
2004 Exploiting k-constraints to reduce memory overhead in continuous queries over data streams
abstract
Continuous queries often require significant run-time state over arbitrary data streams. However, streams may exhibit certain data or arrival patterns, or constraints , that can be detected and exploited to reduce state considerably without compromising correctness. Rather than requiring constraints to be satisfied precisely, which can be unrealistic in a data streams environment, we introduce k-constraints , where k is an adherence parameter specifying how closely a stream adheres to the constraint. (Smaller k 's are closer to strict adherence and offer better memory reduction.) We present a query processing architecture, called k-Mon , that detects useful k -constraints automatically and exploits the constraints to reduce run-time state for a wide range of continuous queries. Experimental results showed dramatic state reduction, while only modest computational overhead was incurred for our constraint monitoring and query execution algorithms.
Shivnath Babu, Utkarsh Srivastava, Jennifer Widom
ACM Trans. Database Syst.3
2003 Query Processing, Approximation, and Resource Management in a Data Stream Management System
Rajeev Motwani 0001, Jennifer Widom, Arvind Arasu, Brian Babcock, Shivnath Babu, Mayur Datar, Gurmeet Singh Manku, Christopher Olston, Justin Rosenstein, Rohit Varma
CIDR2
2003 STREAM: The Stanford Stream Data Manager
Arvind Arasu, Brian Babcock, Shivnath Babu, Mayur Datar, Keith Ito, Itaru Nishizawa, Justin Rosenstein, Jennifer Widom
SIGMOD Conference8
2003 Adaptive Filters for Continuous Queries over Distributed Data Streams
abstract
We consider an environment where distributed data sources continuously stream updates to a centralized processor that monitors continuous queries over the distributed data. Significant communication overhead is incurred in the presence of rapid update streams, and we propose a new technique for reducing the overhead. Users register continuous queries with precision requirements at the central stream processor, which installs filters at remote data sources. The filters adapt to changing conditions to minimize stream rates while guaranteeing that all continuous queries still receive the updates necessary to provide answers of adequate precision at all times. Our approach enables applications to trade precision for communication overhead at a fine granularity by individually adjusting the precision constraints of continuous queries over streams in a multi-query workload. Through experiments performed on synthetic data simulations and a real network monitoring implementation, we demonstrate the effectiveness of our approach in achieving low communication overhead compared with alternate approaches.
Christopher Olston, Jing Jiang 0029, Jennifer Widom
SIGMOD Conference3
2003 Scaling personalized web search
abstract
Recent web search techniques augment traditional text matching with a global notion of "importance" based on the linkage structure of the web, such as in Google's PageRank algorithm. For more refined searches, this global notion of importance can be specialized to create personalized views of importance--for example, importance scores can be biased according to a user-specified set of initially-interesting pages. Computing and storing all possible personalized views in advance is impractical, as is computing personalized views at query time, since the computation of each view requires an iterative computation over the web graph. We present new graph-theoretical results, and a new technique based on these results, that encode personalized views as partial vectors. Partial vectors are shared across multiple personalized views, and their computation and storage costs scale well with the number of views. Our approach enables incremental computation, so that the construction of personalized views from partial vectors is practical at query time. We present efficient dynamic programming algorithms for computing partial vectors, an algorithm for constructing personalized views from partial vectors, and experimental results demonstrating the effectiveness and scalability of our techniques.
Glen Jeh, Jennifer Widom
WWW2
2003 Computing the Median with Uncertainty
abstract
We consider a new model for computing with uncertainty. It is desired to compute a function f(X 1 ,. . .,X n ), where X 1 , . . ., X n are unknown but guaranteed to lie in specified intervals I 1 , . . ., I n . It is possible to query the precise value of any X j at a cost c j . The goal is to pin down the value of f to within a precision $\delta$ at a minimum possible cost. We focus on the selection function f which returns the value of the kth smallest argument. We present optimal offline and online algorithms for this problem.
Tomás Feder, Rajeev Motwani 0001, Rina Panigrahy, Christopher Olston, Jennifer Widom
SIAM J. Comput.5
2003 Exploiting hierarchical domain structure to compute similarity
abstract
The notion of similarity between objects finds use in many contexts, for example, in search engines, collaborative filtering, and clustering. Objects being compared often are modeled as sets, with their similarity traditionally determined based on set intersection. Intersection-based measures do not accurately capture similarity in certain domains, such as when the data is sparse or when there are known relationships between items within sets. We propose new measures that exploit a hierarchical domain structure in order to produce more intuitive similarity scores. We extend our similarity measures to provide appropriate results in the presence of multisets (also handled unsatisfactorily by traditional measures), for example, to correctly compute the similarity between customers who buy several instances of the same product (say milk), or who buy several products in the same category (say dairy products). We also provide an experimental comparison of our measures against traditional similarity measures, and report on a user study that evaluated how well our measures match human intuition.
Prasanna Ganesan, Hector Garcia-Molina, Jennifer Widom
ACM Trans. Inf. Syst.3
2003 Lineage tracing for general data warehouse transformations
Yingwei Cui, Jennifer Widom
VLDB J.2
2003 Incremental computation and maintenance of temporal aggregates
Jun Yang 0001, Jennifer Widom
VLDB J.2
2002 SimRank: a measure of structural-context similarity
abstract
The problem of measuring "similarity" of objects arises in many applications, and many domain-specific measures have been developed, e.g., matching text across documents or computing overlap among item-sets. We propose a complementary approach, applicable in any domain with object-to-object relationships, that measures similarity of the structural context in which objects occur, based on their relationships with other objects. Effectively, we compute a measure that says "two objects are similar if they are related to similar objects:" This general similarity measure, called SimRank, is based on a simple and intuitive graph-theoretic model. For a given domain, SimRank can be combined with other domain-specific similarity measures. We suggest techniques for efficient computation of SimRank scores, and provide experimental results on two application domains showing the computational feasibility and effectiveness of our approach.
Glen Jeh, Jennifer Widom
KDD2
2002 Characterizing Memory Requirements for Queries over Continuous Data Streams
abstract
We consider conjunctive queries with arithmetic comparisons over multiple continuous data streams. We specify an algorithm for determining whether or not a query can be evaluated using a bounded amount of memory for all possible instances of the data streams. When a query can be evaluated using bounded memory, we produce an execution strategy based on constant-sized synopses of the data streams.
Arvind Arasu, Brian Babcock, Shivnath Babu, Jon McAlister, Jennifer Widom
PODS5
2002 Models and Issues in Data Stream Systems
abstract
In this overview paper we motivate the need for and research issues arising from a new model of data processing. In this model, data does not take the form of persistent relations, but rather arrives in multiple, continuous, rapid, time-varying data streams. In addition to reviewing past work relevant to data stream systems and current projects in the area, the paper explores topics in stream query languages, new requirements and challenges in query processing, and algorithmic issues.
Brian Babcock, Shivnath Babu, Mayur Datar, Rajeev Motwani 0001, Jennifer Widom
PODS5
2002 Data streams: fresh current or stagnant backwater? (panel)
Joseph M. Hellerstein, Jennifer Widom
SIGMOD Conference2
2002 Best-effort cache synchronization with source cooperation
abstract
In environments where exact synchronization between source data objects and cached copies is not achievable due to bandwidth or other resource constraints, stale (out-of-date) copies are permitted. It is desirable to minimize the overall divergence between source objects and cached copies by selectively refreshing modified objects. We call the online process of selecting which objects to refresh in order to minimize divergence best-effort synchronization. In most approaches to best-effort synchronization, the cache coordinates the process and selects objects to refresh. In this paper, we propose a best-effort synchronization scheduling policy that exploits cooperation between data sources and the cache. We also propose an implementation of our policy that incurs low communication overhead even in environments with very large numbers of sources. Our algorithm is adaptive to wide fluctuations in available resources and data update rates. Through experimental simulation over synthetic and real-world data, we demonstrate the effectiveness of our algorithm, and we quantify the significant decrease in divergence achievable with source cooperation.
Christopher Olston, Jennifer Widom
SIGMOD Conference2
2001 Incremental Computation and Maintenance of Temporal Aggregates
abstract
Considers the problems of computing aggregation queries in temporal databases and of maintaining materialized temporal aggregate views efficiently. The latter problem is particularly challenging, since a single data update can cause aggregate results to change over the entire time-line. We introduce a new index structure called the SB-tree, which incorporates features from both segment trees (S-trees) and B-trees. SB-trees support the fast lookup of aggregate results based on time, and can be maintained efficiently when the data changes. We also extend the basic SB-tree index to handle cumulative (also called moving-window) aggregates. For materialized aggregate views in a temporal database or data warehouse, we propose building and maintaining SB-tree indices instead of the views themselves.
Jun Yang 0001, Jennifer Widom
ICDE2
2001 Adaptive Precision Setting for Cached Approximate Values
abstract
Caching approximate values instead of exact values presents an opportunity for performance gains in exchange for decreased precision. To maximize the performance improvement, cached approximations must be of appropriate precision: approximations that are too precise easily become invalid, requiring frequent refreshing, while overly imprecise approximations are likely to be useless to applications, which must then bypass the cache. We present a parameterized algorithm for adjusting the precision of cached approximations adaptively to achieve the best performance as data values, precision requirements, or workload vary. We consider interval approximations to numeric values but our ideas can be extended to other kinds of data and approximations. Our algorithm strictly generalizes previous adaptive caching algorithms for exact copies: we can set parameters to require that all approximations be exact, in which case our algorithm dynamically chooses whether or not to cache each data value.
Christopher Olston, Boon Thau Loo, Jennifer Widom
SIGMOD Conference3
2001 Lineage Tracing for General Data Warehouse Transformations
Yingwei Cui, Jennifer Widom
VLDB2
2000 Temporal View Self-Maintenance
Jun Yang 0001, Jennifer Widom
EDBT2
2000 Practical Lineage Tracing in Data Warehouses
abstract
We consider the view data lineage problem in a warehousing environment: for a given data item in a materialized warehouse view, we want to identify the set of source data items that produced the view item. We formalize the problem and we present a lineage tracing algorithm for relational views with aggregation. Based on our tracing algorithm, we propose a number of schemes for storing auxiliary views that enable consistent and efficient lineage tracing in a multi-source data warehouse. We report on a performance study of the various schemes, identifying which schemes perform best in which settings. Based on our results, we have implemented a lineage tracing package in the WHIPS data warehousing system prototype at Stanford. With this package, users can select view tuples of interest, then efficiently "drill through" to examine the exact source tuples that produced the view tuples of interest.
Yingwei Cui, Jennifer Widom
ICDE2
2000 Lineage Tracing in a Data Warehousing System
abstract
Some commercial data warehousing systems support schema-level lineage tracing, or provide specialized drill-down and/or drill-through facilities for multi-dimensional warehouse views. Our lineage tracing system supports more fine-grained instance-level lineage tracing for arbitrarily complex relational views, including aggregation. At view definition time, our system automatically generates lineage tracing procedures and supporting auxiliary views. At lineage tracing time, the system applies the tracing procedures to the source tables and/or auxiliary views to obtain the lineage results and to illustrate the specific view data derivation process.
Yingwei Cui, Jennifer Widom
ICDE2
2000 On XML and Databases: Where's the Beef? (Panel Abstract)
abstract
This panel will examine the implications of the XML revolution, which is currently raging on the web, for database systems research and development.
Michael J. Carey 0001, Adam Bosworth, Bruce G. Lindsay 0001, Michael Stonebraker, Dan Suciu, Jennifer Widom
SIGMOD Conference6
2000 WSQ/DSQ: A Practical Approach for Combined Querying of Databases and the Web
abstract
We present WSQ/DSQ (pronounced “wisk-disk”), a new approach for combining the query facilities of traditional databases with existing search engines on the Web. WSQ, for Web-Supported (Database) Queries, leverages results from Web searches to enhance SQL queries over a relational database. DSQ, for Database-Supported (Web) Queries, uses information stored in the database to enhance and explain Web searches. This paper focuses primarily on WSQ, describing a simple, low-overhead way to support WSQ in a relational DBMS, and demonstrating the utility of WSQ with a number of interesting queries and results. The queries supported by WSQ are enabled by two virtual tables, whose tuples represent Web search results generated dynamically during query execution. WSQ query execution may involve many high-latency calls to one or more search engines, during which the query processor is idle. We present a lightweight technique called asynchronous iteration that can be integrated easily into a standard sequential query processor to enable concurrency between query processing and multiple Web search requests. Asynchronous iteration has broader applications than WSQ alone, and it opens up many interesting query optimization issues. We have developed a prototype implementation of WSQ by extending a DBMS with virtual tables and asynchronous iteration; performance results are reported.
Roy Goldman, Jennifer Widom
SIGMOD Conference2
2000 TIP: A Temporal Extension to Informix
abstract
Commercial relational database systems today provide only limited temporal support. To address the needs of applications requiring rich temporal data and queries, we have built TIP (Temporal Information Processor), a temporal extension to the Informix database system based on its DataBlade technology. Our TIP DataBlade extends Informix with a rich set of datatypes and routines that facilitate temporal modeling and querying. TIP provides both C and Java libraries for client applications to access a TIP-enabled database, and provides end-users with a GUI interface for querying and browsing temporal data.
Jun Yang 0001, Huacheng C. Ying, Jennifer Widom
SIGMOD Conference3
2000 Computing the median with uncertainty
abstract
We consider a new model for computing with uncertainty. It is desired to compute a function f(X_1,...,X_n) where X_1,...,X_n are unknown, but guaranteed to lie in specified intervals I_1,...,I_n. It is possible to query the precise value of any X_j at a cost c_j. The goal is to pin down the value of f to within a precision p at a minimum possible cost. We focus on the selection function f which returns the value of the kth smallest argument. We present optimal offline and online algorithms for this problem.
Tomás Feder, Rajeev Motwani 0001, Rina Panigrahy, Christopher Olston, Jennifer Widom
STOC5
2000 Practical Applications of Triggers and Constraints: Success and Lingering Issues (10-Year Award)
Stefano Ceri, Roberta Cochrane, Jennifer Widom
VLDB3
2000 Performance Issues in Incremental Warehouse Maintenance
Wilburt Labio, Jun Yang 0001, Yingwei Cui, Hector Garcia-Molina, Jennifer Widom
VLDB5
2000 Offering a Precision-Performance Tradeoff for Aggregation Queries over Replicated Data
Christopher Olston, Jennifer Widom
VLDB2
2000 An algebraic approach to static analysis of active database rules
abstract
Rules in active database systems can be very difficult to program due to the unstructured and unpredictable nature of rule processing. We provide static analysis techniques for predicting whether a given rule set is guaranteed to terminate and whether rule execution is confluent (guaranteed to have a unique final state). Our methods are based on previous techniques for analyzing rules in active database systems. We improve considerably on the previous techniques by providing analysis criteria that are much less conservative: our methods often determine that a rule set will terminate or is confluent when previous methods could not make this determination. Our improved analysis is based on a “propagation” algorithm, which uses an extended relational algebra to accurately determine when the action of one rule can affect the condition of another, and determine when rule actions commute. We consider both conditon-action rules and event-condition-action-rules, making our approach widely applicable to relational active database rule languages and to the trigger language in the SQL:1999 standard.
Elena Baralis, Jennifer Widom
ACM Trans. Database Syst.2
2000 Tracing the lineage of view data in a warehousing environment
abstract
We consider the view data lineage problem in a warehousing environment: For a given data item in a materialized warehouse view, we want to identify the set of source data items that produced the view item. We formally define the lineage problem, develop lineage tracing algorithms for relational views with aggregation, and propose mechanisms for performing consistent lineage tracing in a multisource data warehousing environment. Our result can form the basis of a tool that allows analysts to browse warehouse data, select view tuples of interest, and then “drill-through” to examine the exact source tuples that produced the view tuples of interest.
Yingwei Cui, Jennifer Widom, Janet L. Wiener
ACM Trans. Database Syst.2
2000 Foreword by the VLDB '98 PC Chairmen: Best Papers of VLDB '98
Jennifer Widom, Oded Shmueli
VLDB J.1
1999 Query Optimization for XML
Jason McHugh, Jennifer Widom
VLDB2
1998 Maintaining Temporal Views over Non-Temporal Information Sources for Data Warehousing
Jun Yang 0001, Jennifer Widom
EDBT2
1998 Representing and Querying Changes in Semistructured Data
abstract
Semistructured data may be irregular and incomplete and does not necessarily conform to a fixed schema. As with structured data, it is often desirable to maintain a history of changes to data, and to query over both the data and the changes. Representing and querying changes in semistructured data is more difficult than in structured data due to the irregularity and lack of schema. We present a model for representing changes in semistructured data and a language for querying over these changes. An important feature of our approach is that we represent and query changes directly as annotations on the affected data, instead of indirectly as the difference between database states. We describe the implementation of our model and query language. We also describe the design and implementation of a query subscription service that permits users to subscribe to changes in semistructured information sources.
Sudarshan S. Chawathe, Serge Abiteboul, Jennifer Widom
ICDE3
1998 Efficient PCS Call Setup Protocols
abstract
Increasing demand for wireless mobile communications, coupled with limited network resources, has motivated investigation into alternative efficient mobility management solutions. We consider wireless PCS call setup protocols. We propose a lightweight location lookup protocol, which significantly reduces the network signaling and setup delay during call setup. As an alternative, we consider a reverse connection setup protocol that also performs efficient call setup, while minimizing the cost of failed call attempts. The two protocols have different advantages, in particular when combined with location management techniques including HLR/VLR, HLR/VLR with partial replication, and HLR/VLR with caching. We study the combinations of call setup protocols with location management techniques and compare their performance to find the most efficient call setup schemes. Both analytical and simulation results are presented.
Yingwei Cui, Derek Lam, Jennifer Widom, Donald C. Cox
INFOCOM3
1998 Interactive Query and Search in Semistructured Databases
Roy Goldman, Jennifer Widom
WebDB2
1997 Clustering Association Rules
abstract
The authors consider the problem of clustering two-dimensional association rules in large databases. They present a geometric-based algorithm, BitOp, for performing the clustering, embedded within an association rule clustering system, ARCS. Association rule clustering is useful when the user desires to segment the data. They measure the quality of the segmentation generated by ARCS using the minimum description length (MDL) principle of encoding the clusters on several databases including noise and errors. Scale-up experiments show that ARCS, using the BitOp algorithm, scales linearly with the amount of data.
Brian Lent, Arun N. Swami, Jennifer Widom
ICDE3
1997 The STRIP Rule System For Efficiently Maintaining Derived Data
abstract
Derived data is maintained in a database system to correlate and summarize base data which records real world facts. As base data changes, derived data needs to be recomputed. This is often implemented by writing active rules that are triggered by changes to base data. In a system with rapidly changing base data, a database with a standard rule system may consume most of its resources running rules to recompute data. This paper presents the rule system implemented as part of the STandard Real-time Information Processor (STRIP). The STRIP rule system is an extension of SQL3-type rules that allows groups of rule actions to be batched together to reduce the total recomputation load on the system. In this paper we describe the syntax and semantics of the STRIP rule system, present an example set of rules to maintain stock index and theoretical option prices in a program trading application, and report the results of experiments performed on the running system. The experiments verify that STRIP's rules allow much more efficient derived data maintenance than conventional rules without batching.
Brad Adelberg, Hector Garcia-Molina, Jennifer Widom
SIGMOD Conference3
1997 The WHIPS Prototype for Data Warehouse Creation and Maintenance
abstract
A data warehouse is a repository of integrated information from distributed, autonomous, and possibly heterogeneous, sources. In effect, the warehouse stores one or more materialized views of the source data. The data is then readily available to user applications for querying and analysis. Figure 1 shows the basic architecture of a warehouse: data is collected from each source, integrated with data from other sources, and stored at the warehouse. Users then access the data directly from the warehouse.
Wilburt Labio, Yue Zhuge, Janet L. Wiener, Himanshu Gupta 0001, Hector Garcia-Molina, Jennifer Widom
SIGMOD Conference6
1997 On-Line Warehouse View Maintenance
abstract
Data warehouses store materialized views over base data from external sources. Clients typically perform complex read-only queries on the views. The views are refreshed periodically by maintenance transactions, which propagate large batch updates from the base tables. In current warehousing systems, maintenance transactions usually are isolated from client read activity, limiting availability and/or size of the warehouse. We describe an algorithm called 2VNL that allows warehouse maintenance transactions to run concurrently with readers. By logically maintaining two versions of the database, no locking is required and serializability is guaranteed. We present our algorithm, explain its relationship to other multi-version concurrency control algorithms, and describe how it can be implemented on top of a conventional relational DBMS using a query rewrite approach.
Dallan Quass, Jennifer Widom
SIGMOD Conference2
1997 DataGuides: Enabling Query Formulation and Optimization in Semistructured Databases
Roy Goldman, Jennifer Widom
VLDB2
1997 Protocols for Integrity Constraint Checking in Federated Databases
Paul Grefen, Jennifer Widom
Distributed Parallel Databases2
1997 The TSIMMIS Approach to Mediation: Data Models and Languages
Hector Garcia-Molina, Yannis Papakonstantinou, Dallan Quass, Anand Rajaraman, Yehoshua Sagiv, Jeffrey D. Ullman, Vasilis Vassalos, Jennifer Widom
J. Intell. Inf. Syst.8
1997 Per-User Profile Replication in Mobile Environments: Algorithms, Analysis, and Simulation Results
Narayanan Shivakumar, Jan Jannink, Jennifer Widom
Mob. Networks Appl.3
1997 Efficient and flexible location management techniques for wireless communication systems
Jan Jannink, Derek Lam, Narayanan Shivakumar, Jennifer Widom, Donald C. Cox
Wirel. Networks4
1996 Integrity Constraint Checking in Federated Databases
abstract
A federated database is comprised of multiple interconnected databases that cooperate in an autonomous fashion. Global integrity constraints are very useful in federated databases, but the lack of global queries, global transaction mechanisms, and global concurrency control renders traditional constraint management techniques inapplicable. The paper presents a threefold contribution to integrity constraint checking in federated databases: (1) the problem of constraint checking in a federated database environment is clearly formulated; (2) a family of cooperative protocols for constraint checking is presented; (3) the differences across protocols in the family are analyzed with respect to system requirements, properties guaranteed, and costs involved. Thus, we provide a suite of options with protocols for various environments with specific system capabilities and integrity requirements.
Paul Grefen, Jennifer Widom
CoopIS2
1996 A Toolkit for Constraint Management in Heterogeneous Information Systems
abstract
We present a framework and a toolkit to monitor and enforce distributed integrity constraints in loosely coupled heterogeneous information systems. Our framework enables and formalizes weakened notions of consistency, which are essential in such environments. Our framework is used to describe: interfaces provided by a database for the data items involved in inter site constraints; strategies for monitoring and enforcing such constraints; guarantees regarding the level of consistency the system can provide. Our toolkit uses this framework to provide a set of configurable modules that are used to monitor and enforce constraints spanning loosely coupled heterogeneous information systems.
Sudarshan S. Chawathe, Hector Garcia-Molina, Jennifer Widom
ICDE3
1996 Efficient and Flexible Location Management Techniques for Wireless Communication Systems
abstract
We consider the problem of managing the information required to locate users in a wireless communication system, with a focus on designing and evaluating location management techniques that are efficient, scalable, and flexible. The three key contributions of this paper are: (1) A family of location management techniques, HiPER (for Hierarchical ProfilE Replication), that efficiently provide life-long (non-geographic) numbering with fast location lookup; (2) Pleiades, a scalable event-driven wireless system simulator with realistic calling and mobility patterns derived from several months of real traffic traces; and (3) multi-day simulations comparing our proposed location management techniques with current and previously proposed techniques on a realistic geographical and network topology. Research supported by the Center for Telecommunications and the Center for Integrated Systems at Stanford University, and by equipment grants from Digital and IBM Corporations. 1 Introduction I...
Jan Jannink, Derek Lam, Jennifer Widom, Donald C. Cox, Narayanan Shivakumar
MobiCom3
1996 Change Detection in Hierarchically Structured Information
abstract
Detecting and representing changes to data is important for active databases, data warehousing, view maintenance, and version and configuration management. Most previous work in change management has dealt with flat-file and relational data; we focus on hierarchically structured data. Since in many cases changes must be computed from old and new versions of the data, we define the hierarchical change detection problem as the problem of finding a "minimum-cost edit script" that transforms one data tree to another, and we present efficient algorithms for computing such an edit script. Our algorithms make use of some key domain characteristics to achieve substantially better performance than previous, generalpurpose algorithms. We study the performance of our algorithms both analytically and empirically, and we describe the application of our techniques to hierarchically structured documents. 1 Introduction We study the problem of detecting and representing changes to hierarchically stru...
Sudarshan S. Chawathe, Anand Rajaraman, Hector Garcia-Molina, Jennifer Widom
SIGMOD Conference4
1996 LORE: A Lightweight Object REpository for Semistructured Data
abstract
No abstract available.
Dallan Quass, Jennifer Widom, Roy Goldman, Kevin Haas, Qingshan Luo, Jason McHugh, Svetlozar Nestorov, Anand Rajaraman, Hugo Rivero, Serge Abiteboul, Jeffrey D. Ullman, Janet L. Wiener
SIGMOD Conference2
1996 Foreword: Special Issue on Active Database Systems
Sharma Chakravarthy, Jennifer Widom
J. Intell. Inf. Syst.2
1996 The Starburst Active Database Rule System
abstract
The paper describes the development of the Starburst Rule System, an active database rules facility integrated into the Starburst extensible relational database system at the IBM Almaden Research Center. The Starburst rule language is based on arbitrary database state transitions rather than tuple or statement level changes, yielding a clear and flexible execution semantics. The rule system has been implemented completely. Its rapid implementation was facilitated by the extensibility features of Starburst, and rule management and rule processing are integrated into all aspects of database processing.
Jennifer Widom
IEEE Trans. Knowl. Data Eng.1
1995 Research Problems in Data Warehousing
abstract
The topic of data warehousing encompasses architectures, algorithms, and tools for bringing together selected data from multiple databases or other information sources into a single repository, called a data warehouse, suitable for direct querying or analysis. In recent years data warehousing has become a prominent buzzword in the database industry, but attention from the database research community has been limited. In this paper we motivate the concept of a data warehouse, we outline a general data warehousing architecture, and we propose a number of technical issues arising from the architecture that we believe are suitable topics for exploratory research. 1 Introduction Providing integrated access to multiple, distributed, heterogeneous databases and other information sources has become one of the leading issues in database research and industry #6#. In the research community, most approaches to the data integration problem are based on the following very general two-step process...
Jennifer Widom
CIKM1
1995 Object Exchange Across Heterogeneous Information Sources
abstract
We address the problem of providing integrated access to diverse and dynamic information sources. We explain how this problem differs from the traditional database integration problem and we focus on one aspect of the information integration problem, namely information exchange. We define an object-based information exchange model and a corresponding query language that we believe are well suited for integration of diverse information sources. We describe how, the model and language have been used to integrate heterogeneous bibliographic information sources. We also describe two general-purpose libraries we have implemented for object exchange between clients and servers.>
Yannis Papakonstantinou, Hector Garcia-Molina, Jennifer Widom
ICDE3
1995 User Profile Replication for Faster Location Lookup in Mobile Environments
abstract
We consider per-user profile replication as a mechanism for faster location lookup of mobile users in a Personal Communications Service system. We present a minimum-cost maximum-flow based algorithm to compute the set of sites at which a user profile should be replicated given known calling and user mobility patterns. We then present schemes for replication plans that gracefully adapt to changes in the calling and mobility patterns. 1 Introduction In a Personal Communications Service (PCS) system, users place and receive calls through a wireless medium. Calls may deliver voice, data, text, facsimile, or video information [JLLM94]. PCS users are located in system-defined cells, which are bounded geographical areas. When a user places a call, the PCS infrastructure must route the call to the base-station located in the same cell as the callee. The base-station then transmits the data in the call to the PCS unit through the wireless medium. We consider the problem of locating users who...
Narayanan Shivakumar, Jennifer Widom
MobiCom2
1995 Information Translation, Mediation, and Mosaic-Based Browsing in the TSIMMIS System
abstract
No abstract available.
Joachim Hammer, Hector Garcia-Molina, Kelly Ireland, Yannis Papakonstantinou, Jeffrey D. Ullman, Jennifer Widom
SIGMOD Conference6
1995 View Maintenance in a Warehousing Environment
abstract
A warehouse is a repository of integrated information drawn from remote data sources. Since a warehouse effectively implements materialized views, we must maintain the views as the data sources are updated. This view maintenance problem differs from the traditional one in that the view definition and the base data are now decoupled. We show that this decoupling can result in anomalies if traditional algorithms are applied. We introduce a new algorithm, ECA (for Eager Compensating Algorithm), that eliminates the anomalies. ECA is based on previous incremental view maintenance algorithms, but extra compensating queries are used to eliminate anomalies. We also introduce two streamlined versions of ECA for special cases of views and updates, and we present an initial performance study that compares ECA to a view recomputation algorithm in terms of messages transmitted, data transferred, and I/O costs.
Yue Zhuge, Hector Garcia-Molina, Joachim Hammer, Jennifer Widom
SIGMOD Conference4
1995 Static Analysis Techniques for Predicting the Behavior of Active Database Rules
abstract
This article gives methods for statically analyzing sets of active database rules to determine if the rules are (1) guaranteed to terminate, (2) guaranteed to produce a unique final database state, and (3) guaranteed to produce a unique stream of observable actions. If the analysis determines that one of these properties is not guaranteed, it isolates the rules responsible for the problem and determines criteria that, if satisfied, guarantee the property. The analysis methods are presented in the context of the Starburst Rule System .
Alex Aiken, Joseph M. Hellerstein, Jennifer Widom
ACM Trans. Database Syst.3
1994 Constraint Checking with Partial Information
abstract
Constraints are a valuable tool for managing information across multiple databases, as well as for general purposes of assuring data integrity. However, efficient implementation of constraint checking is difficult. In this paper we explore techniques for assuring constraint satisfaction without performing a complete evaluation of the constraints. We consider methods that use only constraint definitions, methods that use constraints and updates, and methods that use constraints, updates, and “local” data.
Ashish Gupta 0001, Yehoshua Sagiv, Jeffrey D. Ullman, Jennifer Widom
PODS4
1994 An Algebraic Approach to Rule Analysis in Expert Database Systems
Elena Baralis, Jennifer Widom
VLDB2
1994 Deriving Incremental Production Rules for Deductive Data
Stefano Ceri, Jennifer Widom
Inf. Syst.2
1993 Local Verification of Global Integrity Constraints in Distributed Databases
abstract
We present an optimization for integrity constraint verification in distributed databases. The optimization allows a global constraint, i.e. a constraint spanning multiple databases, to be verified by accessing data at a single database, eliminating the cost of accessing remote data. The optimization is based on an algorithm that takes as input a global constraint and data to be inserted into a local database. The algorithm produces a local condition such that if the local data satisfies this condition then, based on the previous satisfaction of the global constraint, the global constraint is still satisfied. If the local data does not satisfy the condition, then a conventional global verification procedure is required.
Ashish Gupta 0001, Jennifer Widom
SIGMOD Conference2
1993 Managing Semantic Heterogeneity with Production Rules and Persistent Queues
Stefano Ceri, Jennifer Widom
VLDB2
1992 Behavior of Database Production Rules: Termination, Confluence, and Observable Determinism
abstract
Static analysis methods are given for determining whether arbitrary sets of database production rules are (1) guaranteed to terminate; (2) guaranteed to produce a unique final database state; (3) guaranteed to produce a unique stream of observable actions. When the analysis determines that one of these properties is not guaranteed, it isolates the rules responsible for the problem and determines criteria that, if satisfied, guarantee the property. The analysis methods are presented in the context of the Starburst Rule System; they will form the basis of an interactive development environment for Starburst rule programmers.
Alex Aiken, Jennifer Widom, Joseph M. Hellerstein
SIGMOD Conference2
1992 Production Rules in Parallel and Distributed Database Environments
Stefano Ceri, Jennifer Widom
VLDB2
1992 Trace-Based Network Proof Systems: Expressiveness and Completeness
abstract
We consider incomplete trace-based network proof systems for safety properties, identifying extensions that are necessary and sufficient to achieve relative completeness. We investigate the expressiveness required of any trace logic to encode these extensions.
Jennifer Widom, David Gries, Fred B. Schneider
ACM Trans. Program. Lang. Syst.1
1991 Starburst II: The Extender Strikes Back!
abstract
No abstract available.
Guy M. Lohman, George Lapis, Tobin J. Lehman, Rakesh Agrawal 0001, Roberta Cochrane, John McPherson, C. Mohan 0001, Hamid Pirahesh, Jennifer Widom
SIGMOD Conference9
1991 Deriving Production Rules for Incremental View Maintenance
Stefano Ceri, Jennifer Widom
VLDB2
1991 Implementing Set-Oriented Production Rules as an Extension to Starburst
Jennifer Widom, Roberta Cochrane, Bruce G. Lindsay 0001
VLDB1
1990 Set-Oriented Production Rules in Relational Database Systems
abstract
We propose incorporating a production rules facility into a relational database system. Such a facility allows definition of database operations that are automatically executed whenever certain conditions are met. In keeping with the set-oriented approach of relational data manipulation languages, our production rules are also set-oriented—they are triggered by sets of changes to the database and may perform sets of changes. The condition and action parts of our production rules may refer to the current state of the database as well as to the sets of changes triggering the rules. We define a syntax for production rule definition as an extension to SQL. A model of system behavior is used to give an exact semantics for production rule execution, taking into account externally-generated operations, self-triggering rules, and simultaneous triggering of multiple rules.
Jennifer Widom, Sheldon J. Finkelstein
SIGMOD Conference1
1990 Deriving Production Rules for Constraint Maintainance
Stefano Ceri, Jennifer Widom
VLDB2
1987 Completeness and Incompleteness of Trace-Based Network Proof Systems
abstract
Abstract. Most trace-based proof systems for networks of processes are known to be incomplete. Extensions to achieve completeness are generally complicated and cumbersome. In this paper, a simple trace logic is defined and two examples are presented to show its inherent incompleteness. Surprisingly, both examples consist of only one process, indicating that network composition is not a cause of incompleteness. Axioms necessary and sufficient for the relative completeness of a trace logic are then presented.
Jennifer Widom, David Gries, Fred B. Schneider
POPL1
1986 Whiteboards: A Graphical Database Tool
abstract
The “Whiteboards” system is intended to be an electronic equivalent of the whiteboards and corkboards that we have in our offices. A Whiteboard database has similar qualities of storing disparate collections of data and saving their spatial location in a window to help with organization. A Whiteboard database can contain references to arbitrary entities: text files, notes, programs, tools, pictures, etc. Whiteboards runs as an application in the Cedar programming environment developed at the Xerox Palo Alto Research Center.
James E. Donahue, Jennifer Widom
ACM Trans. Inf. Syst.2