Results 11 - 20
of
28
SecureBlox: Customizable Secure Distributed Data Processing
, 2010
"... We present SecureBlox, a declarative system that unifies a distributed query processor with a security policy framework. SecureBlox decouples security concerns from system specification, allowing easy reconfiguration of a system’s security properties to suit a given execution environment. Our implem ..."
Abstract
-
Cited by 6 (5 self)
- Add to MetaCart
(Show Context)
We present SecureBlox, a declarative system that unifies a distributed query processor with a security policy framework. SecureBlox decouples security concerns from system specification, allowing easy reconfiguration of a system’s security properties to suit a given execution environment. Our implementation of SecureBlox is a series of extensions to LogicBlox, an emerging commercial Datalog-based platform for enterprise software systems. SecureBlox enhances LogicBlox to enable distribution and static meta-programmability, and makes novel use of existing LogicBlox features such as integrity constraints. SecureBlox allows meta-programmability via BloxGenerics–a language extension for compile-time code generation based on the security requirements and trust policies of the deployed environment. We present and evaluate detailed use-cases in which SecureBlox enables diverse applications, including an authenticated declarative routing protocol with encrypted advertisements and an authenticated and encrypted parallel hash join operation. Our results demonstrate SecureBlox’s abilities to specify and implement a wide range of different security constructs for distributed systems as well as to enable tradeoffs between performance and security.
Enabling incremental query re-optimization
, 2011
"... As declarative query processing techniques expand in scope — to the Web, data streams, network routers, and cloud platforms — there is an increasing need for adaptive query processing tech-niques that can re-plan in the presence of failures or unanticipated performance changes. A status update on th ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
(Show Context)
As declarative query processing techniques expand in scope — to the Web, data streams, network routers, and cloud platforms — there is an increasing need for adaptive query processing tech-niques that can re-plan in the presence of failures or unanticipated performance changes. A status update on the data distributions or the compute nodes may have significant repercussions on the choice of which query plan should be running. Ideally, new system architectures would be able to make cost-based decisions about re-allocating work, migrating data, etc., and react quickly as real-time status information becomes available. Existing cost-based query optimizers are not incremental in nature, and must be run “from scratch ” upon each status or cost update. Hence, they generally result in adaptive schemes that can only react slowly to updates. An open question has been whether it is possible to build a cost-based re-optimization architecture for adaptive query processing in a streaming or repeated query execution environment, e.g., by in-crementally updating optimizer state given new cost information. We show that this can be achieved beneficially, especially for stream processing workloads. Our techniques build upon the recently pro-posed approach of formulating query plan enumeration as a set of recursive datalog queries; we develop a variety of novel opti-mization approaches to ensure effective pruning in both static and incremental cases. We implement our solution within an existing research query processing system, and show that it effectively sup-ports cost-based initial optimization as well as frequent adaptivity. 1.
Towards a data-centric view of cloud security
- in Proceedings of the second international workshop on Cloud data management, ser. CloudDB ’10
"... Cloud security issues have recently gained traction in the research community, with much of the focus primarily concentrated on securing the operating systems and virtual machines on which the services are deployed. In this paper, we take an alternative perspective and propose a data-centric view of ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
(Show Context)
Cloud security issues have recently gained traction in the research community, with much of the focus primarily concentrated on securing the operating systems and virtual machines on which the services are deployed. In this paper, we take an alternative perspective and propose a data-centric view of cloud security. In particular, we explore the security properties of secure data sharing between applications hosted in the cloud. We discuss data management challenges in the areas of secure distributed query processing, system analysis and forensics, and query correctness assurance, and describe our current efforts towards meeting these challenges using our Declarative Secure Distributed Systems (DS2) platform.
Query Optimization as a Datalog Program
"... In recent years, there has been a resurgence of interest in using Datalog and declarative programming techniques to capture a wide variety of problems: particularly those with natural recursion in their computation, and those for which it might be desirable to allow for custom modification by a soph ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
In recent years, there has been a resurgence of interest in using Datalog and declarative programming techniques to capture a wide variety of problems: particularly those with natural recursion in their computation, and those for which it might be desirable to allow for custom modification by a sophisticated end user. One such problem is that
Datalog as a Parallel General Purpose Programming Language
, 2010
"... Abstract. The increasing available parallelism of computers demands new programming languages that make parallel programming dramati-cally easier and less error prone. It is proposed that datalog with negation and timestamps is a suitable basis for a general purpose programming language for sequenti ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Abstract. The increasing available parallelism of computers demands new programming languages that make parallel programming dramati-cally easier and less error prone. It is proposed that datalog with negation and timestamps is a suitable basis for a general purpose programming language for sequential, parallel and distributed computers. This paper develops a fully incremental bottom-up interpreter for dat-alog that supports a wide range of execution strategies, with trade-offs affecting efficiency, parallelism and control of resource usage. Examples show how the language can accept real-time external inputs and out-puts, and mimic assignment, all without departing from its pure logical semantics. 1
A Semantics and Implementation of a Causal Logic Programming Language
, 2009
"... Abstract. The increasingly widespread availability of multicore and manycore computers demands new programming languages that make parallel programming dramatically easier and less error prone. This pa-per describes a semantics for a new class of declarative programming languages that support massiv ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
(Show Context)
Abstract. The increasingly widespread availability of multicore and manycore computers demands new programming languages that make parallel programming dramatically easier and less error prone. This pa-per describes a semantics for a new class of declarative programming languages that support massive amounts of implicit parallelism. The key idea is that rather than writing low-level imperative programs that define a sequence of state updates, we write a set of high-level rules that are all executed in parallel, acting on a global database of facts. A simple declarative semantics is possible, because rules can add new tuples to the database but cannot modify existing tuples, and because abstract timestamps are used to record causality relationships between tuples. It turns out that negation and garbage collection are the two crucial features that enable us to recover the efficient mutable updates that are possible in imperative languages. This paper develops the semantics of negation, using a direct least-fix-point (LFP) construction, and shows that this semantics agrees with the well-founded, perfect and stable se-mantics. The paper develops an efficient bottom-up execution algorithm based directly on the LFP construction. It also gives a declarative for-mulation of the problem of garbage collection and describes an algorithm for doing garbage collection. Finally it is claimed that the programming language described can form the basis of a practical general purpose programming language. 1
A Parallel Semantics for Normal Logic Programs plus Time
, 2013
"... Abstract. It is proposed that Normal Logic Programs with an explicit time ordering are a suitable basis for a general purpose parallel pro-gramming language. Examples show that such a language can accept real-time external inputs and outputs, and mimic assignment, all with-out departing from its pur ..."
Abstract
- Add to MetaCart
Abstract. It is proposed that Normal Logic Programs with an explicit time ordering are a suitable basis for a general purpose parallel pro-gramming language. Examples show that such a language can accept real-time external inputs and outputs, and mimic assignment, all with-out departing from its pure logical semantics. This paper describes a fully incremental bottom-up interpreter that supports a wide range of paral-lel execution strategies and can extract significant potential parallelism from programs with complex dependencies.
Live Programming in the LogicBlox System: A MetaLogiQL Approach
"... ABSTRACT The emerging category of self-service enterprise applications motivates support for "live programming" in the database, where the user's iterative data exploration triggers changes to installed application code and its output in real time. This paper discusses the technical ..."
Abstract
- Add to MetaCart
(Show Context)
ABSTRACT The emerging category of self-service enterprise applications motivates support for "live programming" in the database, where the user's iterative data exploration triggers changes to installed application code and its output in real time. This paper discusses the technical challenges in supporting live programming in the database and presents the solution implemented in the LogicBlox commercial system. The workhorse architectural component is a "meta-engine" that incrementally maintains metadata representing application code, guides its compilation into an internal representation in the database kernel, and orchestrates maintenance of materialized views based on those changes. Our approach mirrors LogicBlox's declarative programming model and describes the maintenance of application code using declarative meta-rules; the meta-engine is essentially a "bootstrap" version of the database engine proper. Beyond live programming, the meta-engine turns out effective for a range of static analysis and optimization tasks. Outside of the database context, we speculate that our design may even provide a novel means of building incremental compilers for general-purpose programming languages.