About: Double-checked locking is a research topic. Over the lifetime, 231 publications have been published within this topic receiving 7710 citations. The topic is also known as: Double-Checked Locking.
TL;DR: It is argued that a transaction needs to lock a logical rather than a physical subset of the database, and an implementation of predicate locks which satisfies the consistency condition is suggested.
Abstract: In database systems, users access shared data under the assumption that the data satisfies certain consistency constraints. This paper defines the concepts of transaction, consistency and schedule and shows that consistency requires that a transaction cannot request new locks after releasing a lock. Then it is argued that a transaction needs to lock a logical rather than a physical subset of the database. These subsets may be specified by predicates. An implementation of predicate locks which satisfies the consistency condition is suggested.
TL;DR: This paper proposes stripped-functionality logic locking (SFLL), which strips some of the functionality of the design and hides it in the form of a secret key(s), thereby rendering on-chip implementation functionally different from the original one.
Abstract: Logic locking has been conceived as a promising proactive defense strategy against intellectual property (IP) piracy, counterfeiting, hardware Trojans, reverse engineering, and overbuilding attacks. Yet, various attacks that use a working chip as an oracle have been launched on logic locking to successfully retrieve its secret key, undermining the defense of all existing locking techniques. In this paper, we propose stripped-functionality logic locking (SFLL), which strips some of the functionality of the design and hides it in the form of a secret key(s), thereby rendering on-chip implementation functionally different from the original one. When loaded onto an on-chip memory, the secret keys restore the original functionality of the design. Through security-aware synthesis that creates a controllable mismatch between the reverse-engineered netlist and original design, SFLL provides a quantifiable and provable resilience trade-off between all known and anticipated attacks. We demonstrate the application of SFLL to large designs (>100K gates) using a computer-aided design (CAD) framework that ensures attaining the desired security level at minimal implementation cost, 8%, 5%, and 0.5% for area, power, and delay, respectively. In addition to theoretical proofs and simulation confirmation of SFLL's security, we also report results from the silicon implementation of SFLL on an ARM Cortex-M0 microprocessor in 65nm technology.
TL;DR: This book discusses Concurrent and Distributed Objects, a Pattern Language for Distributed Object Computing, and Beyond Networking, Distribution, and Concurrency Notations.
Abstract: About This Book About The Authors Guide To The Reader 1 Concurrent and Distributed Objects 2 The Patterns 21 Introduction 22 Service Access Patterns Wrapper Facade Extension Interface Interceptor 23 Event Handling Patterns Reactor Proactor Asynchronous Completion Token 24 Initialization Patterns Acceptor-Connector Activator Component Configurator 25 Synchronization Patterns Scoped Locking Strategized Locking Thread-Safe Interface Double Checked Locking Optimization 26 Concurrency Patterns Active Object Monitor Object Leader/Followers Half Sync/Half-Async Thread-Specific Storage 3 Tying the Patterns Together 31 From Individual Patterns To Pattern Languages 32 A Pattern Language for Distributed Object Computing 33 Beyond Networking, Distribution, and Concurrency Notations Glossary References Index of Patterns Index
TL;DR: In this article, a lock data structure for concurrent access to a resource object, such as a database object, is proposed. But the approach is not suitable for the use of a legacy database without requiring burdensome changes to a database table schema.
Abstract: Techniques for concurrent access to a resource object, such as a database object, include generating a lock data structure for a particular resource object. The lock data structure includes data values for a resource object identification, a lock type, and a version number. The version number is related to a number of changes to the resource object since the lock data structure was generated. By carrying a lock version number in a lock data structure managed by a lock manager, improved optimistic locking is provided in a database. In particular, the approach enables introduction of optimistic locking to a legacy database without requiring burdensome changes to a database table schema.
TL;DR: In this article, a shared coupling facility contains system lock management (SLM) means for supporting a distributed locking protocol used by a plurality of sharing lock managers each executing on a processor having access to the shared memory and to any other processors in the processor complex.
Abstract: A shared coupling facility contains system lock management (SLM) means for supporting a distributed locking protocol used by a plurality of sharing lock managers each executing on a processor having access to the shared memory and to any other processors in the processor complex. A request to lock a resource shared among the lock managers is first checked against a local hash table and then, if necessary, forwarded to the system lock management means in the shared memory for synchronous or asynchronous processing. List structures are maintained in the shared coupling facility to support the protocol, and are used by the system lock management means to record data recovery status. The sharing lock managers interact with the SLM means to control/manage lock contention, waiter queueing, and compatibility processing.