skip to main content
US FlagAn official website of the United States government
dot gov icon
Official websites use .gov
A .gov website belongs to an official government organization in the United States.
https lock icon
Secure .gov websites use HTTPS
A lock ( lock ) or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.


Title: Store-Collect in the Presence of Continuous Churn with Application to Snapshots and Lattice Agreement
We present an algorithm for implementing a store-collect object in an asynchronous crash-prone message-passing dynamic system, where nodes continually enter and leave. The algorithm is very simple and efficient, requiring just one round trip for a store operation and two for a collect. We then show the versatility of the store-collect object for implementing churn-tolerant versions of useful data structures, while shielding the user from the complications of the underlying churn. In particular, we present elegant and efficient implementations of atomic snapshot and generalized lattice agreement objects that use store-collect.  more » « less
Award ID(s):
1816922
PAR ID:
10294196
Author(s) / Creator(s):
; ; ;
Date Published:
Journal Name:
Stabilization, Safety, and Security of Distributed Systems (SSS)
Format(s):
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. Aldrich, Jonathan; Silva, Alexandra (Ed.)
    We present a design and implementation of an in-memory object graph store, dubbed εStore. Our key innovation is a storage model - epsilon store - that equates an object on the heap to a node in a graph store. Thus any object on the heap (without changes) can be a part of one, or multiple, graph stores, and vice versa, any node in a graph store can be accessed like any other object on the heap. Specifically, each node in a graph is an object (i.e., instance of a class), and its properties and its edges are the primitive and reference fields declared in its class, respectively. Necessary classes, which are instantiated to represent nodes, are created dynamically by εStore. εStore uses a subset of the Cypher query language to query the graph store. By design, the result of any query is a table (ResultSet) of references to objects on the heap, which users can manipulate the same way as any other object on the heap in their programs. Moreover, a developer can include (transitively) an arbitrary object to become a part of a graph store. Finally, εStore introduces compile-time rewriting of Cypher queries into imperative code to improve the runtime performance. εStore can be used for a number of tasks including implementing methods for complex in-memory structures, writing complex assertions, or a stripped down version of a graph database that can conveniently be used during testing. We implement εStore in Java and show its application using the aforementioned tasks. 
    more » « less
  2. Mobile gaming has emerged as a promising market with billion-dollar revenues. A variety of mobile game platforms and services have been developed around the world. One critical challenge for these platforms and services is to understand user churn behavior in mobile games. Accurate churn prediction will bene t many stakeholders such as game developers, advertisers, and platform operators. In this paper, we present the rst large- scale churn prediction solution for mobile games. In view of the common limitations of the state-of-the-art methods built upon traditional machine learning models, we devise a novel semi- supervised and inductive embedding model that jointly learns the prediction function and the embedding function for user- app relationships. We model these two functions by deep neural networks with a unique edge embedding technique that is able to capture both contextual information and relationship dynamics. We also design a novel attributed random walk technique that takes into consideration both topological adjacency and attribute similarities. To evaluate the performance of our solution, we collect real-world data from the Samsung Game Launcher platform that includes tens of thousands of games and hundreds of millions of user-app interactions. The experimental results with this data demonstrate the superiority of our proposed model against existing state-of-the-art methods. 
    more » « less
  3. The sizes of objects retrieved over the network are powerful indicators of the objects retrieved and are ingredients in numerous types of traffic analysis, such as webpage fingerprinting. We present an algorithm by which a benevolent object store computes a memoryless padding scheme to pad objects before sending them, in a way that bounds the information gain that the padded sizes provide to the network observer about the objects being retrieved. Moreover, our algorithm innovates over previous works in two critical ways. First, the computed padding scheme satisfies constraints on the padding overhead: no object is padded to more than c× its original size, for a tunable factor c > 1. Second, the privacy guarantees of the padding scheme allow for object retrievals that are not independent, as could be caused by hyperlinking. We show in empirical tests that our padding schemes improve dramatically over previous schemes for padding dependent object retrievals, providing better privacy at substantially lower padding overhead, and over known techniques for padding independent object retrievals subject to padding overhead constraints. 
    more » « less
  4. To allow full automation of building code compliance checking with different building design models and codes/regulations, input building design models need to be automatically validated. Automated architecture, engineering, and construction (AEC) object identification with high accuracy is essential for such validation. For example, in order to check egress requirements, exits of a building (and their presence or absence) need to be identified automatically through object identification. To address that, the authors propose a new AEC object identification algorithm that can identify needed code checking concepts from building design models based on the invariant signatures of AEC objects, which consisted of Cartesian points-based geometry, relative location and orientation, and material mechanical properties. Building design models in industry foundation classes (IFC) format are processed into invariant signatures, which can fully represent the model data and convert them into computable representations to support automated compliance reasoning. A systematic implementation of the above invariant signatures-based object identification algorithm can be used to automatically conduct building design model validation for code compliance checking preparation. An experimental testing on Chapters 4 and 8 of the International Building Code 2015 and a convenience store design model showed the model validation using the proposed identification algorithms successfully validated ceiling and interior door concepts. Comparing to the manual validation used in current practice, this new object identification algorithm is more efficient in supporting model validation for automated building code compliance checking. 
    more » « less
  5. Among the most challenging traffic-analysis attacks to confound are those leveraging the sizes of objects downloaded over the network, as the size of an object is often a powerful indicator of its identity. In this dissertation, we consider this challenge in both (i) the simplified setting where successive object retrievals are assumed to be independent and (ii) the setting where sequential object retrievals are dependent on one another. Furthermore, within the dependent retrievals setting, we address the scenario where enumerating all possible sequences is impractical. For each setting, we present algorithms by which a benevolent object store computes a memoryless padding scheme to pad objects before sending them, in a way that bounds the information gain that the padded sizes provide to the network observer about the objects being retrieved. Furthermore, all of our algorithms ensure that no object is padded to more than c× its original size, for a tunable factor c > 1. We compare each algorithm to recent contenders in the research literature and evaluate their performance on practical datasets. 
    more » « less