Consistency of cloud storage service CIS 700 Wenqing Zhuang.

Slides:



Advertisements
Similar presentations
Dynamo: Amazon’s Highly Available Key-value Store
Advertisements

Depot: Cloud Storage with Minimal Trust OSDI 2010 Prince Mahajan, Srinath Setty, Sangmin Lee, Allen Clement, Lorenzo Alvisi, Mike Dahlin, and Michael Walfish.
Secure Multiparty Computations on Bitcoin
Case Study - Amazon. Amazon r Amazon has many Data Centers r Hundreds of services r Thousands of commodity machines r Millions of customers at peak times.
Linearizability Linearizability is a correctness criterion for concurrent object (Herlihy & Wing ACM TOPLAS 1990). It provides the illusion that each operation.
Replication. Topics r Why Replication? r System Model r Consistency Models r One approach to consistency management and dealing with failures.
Distribution and Revocation of Cryptographic Keys in Sensor Networks Amrinder Singh Dept. of Computer Science Virginia Tech.
Synchronization Chapter clock synchronization * 5.2 logical clocks * 5.3 global state * 5.4 election algorithm * 5.5 mutual exclusion * 5.6 distributed.
Dynamo: Amazon's Highly Available Key-value Store Distributed Storage Systems CS presented by: Hussam Abu-Libdeh.
Consistency-Based Service Level Agreements for Cloud Storage Douglas B. Terry, Vijayan Prabhakaran, Ramakrishna Kotla, Mahesh Balakrishnan, Marcos K. Aguilera,
A Collaborative Monitoring Mechanism for Making a Multitenant Platform Accoutable HotCloud 10 By Xuanran Zong.
DESIGNING A PUBLIC KEY INFRASTRUCTURE
Slide 1 Client / Server Paradigm. Slide 2 Outline: Client / Server Paradigm Client / Server Model of Interaction Server Design Issues C/ S Points of Interaction.
Roberto Di Pietro, Luigi V. Mancini and Alessandro Mei.
Scaling Distributed Machine Learning with the BASED ON THE PAPER AND PRESENTATION: SCALING DISTRIBUTED MACHINE LEARNING WITH THE PARAMETER SERVER – GOOGLE,
Distributed Systems Fall 2010 Time and synchronization.
CS 582 / CMPE 481 Distributed Systems
“Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System ” Distributed Systems Κωνσταντακοπούλου Τζένη.
Strong Consistency and Agreement COS 461: Computer Networks Spring 2011 Mike Freedman 1 Jenkins,
Dept. of Computer Science & Engineering, CUHK1 Trust- and Clustering-Based Authentication Services in Mobile Ad Hoc Networks Edith Ngai and Michael R.
Signature Based Concurrency Control Thomas Schwarz, S.J. JoAnne Holliday Santa Clara University Santa Clara, CA 95053
An Authentication Service Against Dishonest Users in Mobile Ad Hoc Networks Edith Ngai, Michael R. Lyu, and Roland T. Chin IEEE Aerospace Conference, Big.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Hands-On Microsoft Windows Server 2003 Networking Chapter 6 Domain Name System.
Rethinking Dynamo: Amazon’s Highly Available Key-value Store --An Offense Shih-Chi Chen Hongyu Gao.
Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.
Concurrency Control & Caching Consistency Issues and Survey Dingshan He November 18, 2002.
GentleRain: Cheap and Scalable Causal Consistency with Physical Clocks Jiaqing Du | Calin Iorgulescu | Amitabha Roy | Willy Zwaenepoel École polytechnique.
Wide-area cooperative storage with CFS
Computer Science Lecture 12, page 1 CS677: Distributed OS Last Class Vector timestamps Global state –Distributed Snapshot Election algorithms.
Database System Architectures  Client-server Database System  Parallel Database System  Distributed Database System Wei Jiang.
Pay As You Go – Associating Costs with Jini Leases By: Peer Hasselmeyer and Markus Schumacher Presented By: Nathan Balon.
IBM Haifa Research 1 The Cloud Trade Off IBM Haifa Research Storage Systems.
Peer-to-Peer in the Datacenter: Amazon Dynamo Aaron Blankstein COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
Distributed Systems Tutorial 11 – Yahoo! PNUTS written by Alex Libov Based on OSCON 2011 presentation winter semester,
Fault Tolerance via the State Machine Replication Approach Favian Contreras.
Replication and Consistency. Reference The Dangers of Replication and a Solution, Jim Gray, Pat Helland, Patrick O'Neil, and Dennis Shasha. In Proceedings.
SecureMR: A Service Integrity Assurance Framework for MapReduce Author: Wei Wei, Juan Du, Ting Yu, Xiaohui Gu Source: Annual Computer Security Applications.
Aggregation in Sensor Networks
GZ06 : Mobile and Adaptive Systems A Secure On-Demand Routing Protocol for Ad Hoc Networks Allan HUNT Wandao PUNYAPORN Yong CHENG Tingting OUYANG.
CS 5204 (FALL 2005)1 Leases: An Efficient Fault Tolerant Mechanism for Distributed File Cache Consistency Gray and Cheriton By Farid Merchant Date: 9/21/05.
Trust- and Clustering-Based Authentication Service in Mobile Ad Hoc Networks Presented by Edith Ngai 28 October 2003.
Byzantine fault-tolerance COMP 413 Fall Overview Models –Synchronous vs. asynchronous systems –Byzantine failure model Secure storage with self-certifying.
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation MongoDB Architecture.
1 ACTIVE FAULT TOLERANT SYSTEM for OPEN DISTRIBUTED COMPUTING (Autonomic and Trusted Computing 2006) Giray Kömürcü.
Byzantine fault tolerance
IM NTU Distributed Information Systems 2004 Replication Management -- 1 Replication Management Yih-Kuen Tsay Dept. of Information Management National Taiwan.
Databases Illuminated
Replication (1). Topics r Why Replication? r System Model r Consistency Models – How do we reason about the consistency of the “global state”? m Data-centric.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
Storage Systems CSE 598d, Spring 2007 Rethink the Sync April 3, 2007 Mark Johnson.
Hwajung Lee.  Improves reliability  Improves availability ( What good is a reliable system if it is not available?)  Replication must be transparent.
IHP Im Technologiepark Frankfurt (Oder) Germany IHP Im Technologiepark Frankfurt (Oder) Germany ©
Big Data Yuan Xue CS 292 Special topics on.
CS791Aravind Elango Maintenance-Free Global Data Storage Sean Rhea, Chris Wells, Patrick Eaten, Dennis Geels, Ben Zhao, Hakim Weatherspoon and John Kubiatowicz.
Consistency in Distributed Systems
Replication and Consistency
Providing Secure Storage on the Internet
Replication and Consistency
EECS 498 Introduction to Distributed Systems Fall 2017
EECS 498 Introduction to Distributed Systems Fall 2017
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Distributed Systems CS
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Replication and Consistency
Presentation transcript:

Consistency of cloud storage service CIS 700 Wenqing Zhuang

1. Caelus: Verifying the Consistency of Cloud Services with Battery-Powered Devices Caelus system detects consistency violation of cloud storage service 2. Consistency-based service level agreements for cloud storage Consistency-based SLA helps clients direct read operation to the suitable server to meet consistency-latency desire

Consistency model In a computer system, consistency model defines specific rules that operations on memory must follow. It specifies a contract between programmer and system, in this contract, the system guarantees that if the programmer follows the rules, memory will be consistent and the results of memory operations will be predictable.

Types of consistency models Strong consistency, eventual consistency, causal consistency, sequential consistency, cache consistency, release consistency......

Type example Strong consistency It requires that the value returned by the read operation is the value written by the most recent write operation to that location, the write operation may possibly not actually done to the memory. Eventual consistency All accesses to a given data item will return the actual last updated value. Causal consistency It categorizes events to causally related set and unrelated set. It defines that only write operations that are causally related must be seen in the same order by all processes.

Why propose Caelus Consistency of cloud storage service may be compromised by external or internal malicious users Shortcomings of current proposals: Can only check single consistenct model Require long battery power Rely on trusted third party to transfer message

Caelus uses a device(PC or smart phone) as attestor to sign the order and timing of operations declared by cloud service to produce attestation periodically Attestor writes back the attestations to cloud service Clients read the attestations from cloud service to verify consistency of their operations Clients only communicate with the cloud storage service, no need to communicate with other clients or with attestor

In order to minimize battery assumption, Caelus partitions attestor to two devices instead of one: root attestor and active attestor root attestor: periodically accessible, can be sleeping to conserve battery active attestor: must be active, selected by root attestor, only devices which are already awake can be selected. Active attestor can be changed.

Supported consistency model Strong consistency model Eventual consistency model Causal consistency model

Security model Clients: Devices(laptop, smart phone...) Clients can become unavailable or malicious because of injection of malware Each client has a public-private key pair used for digital signatures, public key can be accessed by other clients or cloud service, private key encrypts user's data to prevent it from exposure to cloud service or other clients Client have synchronized clocks with limited clock skew

Network: Provide connection between each client and cloud service No direct connection among clients

Cloud service: Operations are guaranteed to become visible to all clients with certain time bound An honest cloud service can respond to the clients with promised consistency model A malicious cloud service violate consistency model and make clients use inconsistency data

Collusion Assume the clients are cloud-secure, the malwares or other things which make clients malicious are not controlled by cloud service

Security guarantees Caelus provide some security guarantees against malious cloud service and malicious client Against a malious cloud service: SRV1: A malicious cloud service cannot read user data SRV2: A malicious cloud service cannot modify user data without being detected SRV3: A malicious cloud service could be detected within certain time bound: T(Caelus)

Against malicious client: CLT1: malicious clients cannot repudiate the modifications they made to data on cloud CLT2: malicious clients cannot falsely accuse cloud service of violating consistency model Additional guarantee: AV1: If there is no malicious activity or operation failure, Caelus will not cause unavalaibility or delays of cloud service

Design Cloud service includes distributed key-value store and history server which is added by Caelus Root attestor selects an active attestor through SELECT operation to history server. Active attestor reads history log from history server and produce attestion, then write attestion back to cloud service every T(A) Clients access data from cloud service through GET and PUT, and read attestation every T(A)+ε. Each client runs verification procedure to check the consistency of its own operations.

Verification procedure Verify strong consistency: PUT must appear in the next attestation T(read_attest2)-T(read_attest1)=T(A)+ε T(S): delay of PUT effect Maximum possible value of T(S) is T(A)+ε GET must return the value of immediate preceding PUT Read_assert1 PUT Read_attest2 PUT effect

Verify eventual consistency: Order of checking t(A2)-t(p2)<T(S)+T(A)+δ, δ is clock skew between clients t(A2)-t(G2)<T(S)+T(A)+ε, attestation for matching put must appear within certain time period t(G2)>t(p2)-δ, Get must be after the timestamp of Put If Get is before Put attestation, check t(G2)<t(A2)+δ if Get is after Put attestation (t(G2)>=t(A2)+δ), there is no new attest op t(A2) and t(G2)

Verify causal consistency Get must return the value of most recently causal dependent data First do the same verification as eventual consisency Attach vector clock for each opearation, denoted as C1C2, only put operation increase the clock value Scenario 1 has no violation, because there is no Put operation between o2 and o8 Scenario 2 is either violation or error, because o2 is between o1 and o8, o8 should return the data of o2

Evaluation middle line: percentage consistency violation, top line: percentage of T(S) violation in which delay of Put operation is larger than T(S), bottom line: percentage of T(A) violation in which Caelus failed to detect inconsistency every T(A) As T(S) grows, percentage all kinds of violations decrease As T(A) grows, T(S) violation remains the same, the other two decrease

Consistency-based SLA In existing multi-consistency storage services, developers must decide the single consistency model during development time, but such decision may not be suitable for all situations. Pileus storage system allows developers to provide consistency-based SLA that specifies consistency-latency desires. Applications issue a read request with associated SLA, then the system directs the read operation to the most suitable server which can best balance consistency with latency.

Categorization of applications Applications can be categorized by consistency-latency desire, for example: Latency-favoring applications, rigid response time requirement, weaker consistency could be acceptable Consistency-favoring applications, rigid consistency model requirement, latency within a certain range can be acceptable Note: the type of application decides the consistency-latency desire, developers declare SLA according to the desire, then clients in Pileus system rely SLA to direct read operation to apporiate server

System API Key-value store: Pileus manages a collection of tables which contain data objects that a string-value key and opaque byte-sequence value Put: add or update a data object with a given key Get: take an additional parameter: SLA, return data object and a condition code which indicates whether the SLA was met

Consistency guarantees Pileus system provides consistency guarantees such as strong consistency, eventual consistency, read-my-write consistency, causal consistency......

Service level agreements SLA is a set of subSLAs which is a consistency- latency pair The subSLAs with higher utility are prefered, subSLAs with lower utility are acceptable

System design Storage nodes: provide put and get interface, divided into primary nodes and secondary nodes, primary nodes store master data, other nodes are secondary nodes. Each storage node contains tablets (a set of, keys are in certain range) and highest timestamp Replication agent: secondary nodes periodically pull newly updated data objects from primary nodes and record highest timestamp through replication agent Client library: provide system API to developers

Monitors: each client has its monitor, monitor measures round-trip latency between client and storage node Monitor provides three functions: PNodeCons(node, consistency, key): returns estimated probability that the given storage node is sufficiently up- to-date for given key PNodeLat(node, latency): returns the estimated probability that the node can respond to Gets within given latency PNodeSla(node, consistency, latency, key): returns estimated probability that the node can meet consistency and latency desire for given key

Choose target subSLA and best node

Evaluation Application instance: shopping cart, latency-favoring application. (Always run Gets on primary node; perform Gets on randomly selected node; perform Gets on node with lowest latency; use Pileus to select node)

Most read operations run on the servers in the same country as the client Most read operations can meet the first subSLA

Thank you