The Stateful Proxy Model for Web Services Programming. Table of Contents 1. Introduction Current Programming Model for Web Services...

Size: px
Start display at page:

Download "The Stateful Proxy Model for Web Services Programming. Table of Contents 1. Introduction Current Programming Model for Web Services..."

Transcription

1 The Stateful Model for s Programming Dhyanesh Narayanan dhyanesh@cs.stanford.edu Table of Contents 1. Introduction Current Programming Model for s The Stateful Model for s Motivation for the Stateful Model...2 a. The Andrew File System (AFS)... 2 b. The CODA File System The Stateful Model... 3 [Phase 1] Staging:... 3 [Phase 2] Mutation:... 3 [Phase 3] Entrustment: Example: Interaction using the Current Programming Model for s Interaction using the Stateful Model for s Sample Implementation: Conventionally-Bootstrapped Stateful Observations Conclusion... 9 References Introduction This document presents a (possibly new) model for programming s. We call this the Stateful Model. 2. Current Programming Model for s A currently used dominant programming model for s is the following: [Step 1] The client creates a proxy object (using service metadata), which serves as a skeletal representation of the in the client s execution context. [Step 2] The client makes calls on the proxy object which are routed to the actual endpoints and suitable results (if any) are returned to the client. [Step 3] The client consumes the results (if any) and disposes the proxy 1

2 3. The Stateful Model for s Before we describe the Stateful Model for s programming, we present the motivation for the same. 3.1 Motivation for the Stateful Model The motivation for the Stateful Model arises from the observation that solutions to the problem of architecting distributed applications (such as Web Services and clients) intersect well with those of building distributed services (such as network file systems). Specifically, we consider the distributed file systems Andrew (AFS) and CODA a brief description of these systems is included below: a. The Andrew File System (AFS) The Andrew File System [1,2] is a location-transparent distributed file system developed at Carnegie Mellon University. A key design choice in Andrew was the use of whole files as the basic unit of data movement and storage, rather than some smaller unit such as physical or logical records. Whole-file transfer and caching provides significant performance benefits in Andrew when compared to alternatives such as Sun s Network File System (NFS). Once a client workstation has a copy of a file, it can use it in a manner that is independent of the availability of the central file system on the server. This dramatically reduces network traffic and file server loads as compared to record-based distributed file systems. Furthermore, it is possible to cache and reuse files on the local disk, resulting in additional reductions in server loads and increase in workstation autonomy. b. The CODA File System The Coda File System [3] is a descendant of AFS that is expressly designed to support disconnected operation. Coda strives for constant data availability, allowing a user to continue working regardless of failures such as a network disconnection (due to say, the user being mobile). Coda uses server replication as one technique to enhance availability; storing copies of files at multiple servers would provide a higher availability than AFS. A client exploits server replication as long as it stays connected with at least one server. When no server can be contacted, the client resorts to a mode of execution referred to as disconnected operation in which the client relies solely on cached data. Coda uses an optimistic replication strategy for enhancing availability instead of the alternative of pessimistic replica control which aims at providing strict consistency. To effectively support disconnected operation, Coda provides a mechanism by which users can specify which files they would like cached for use during disconnected operation (referred to as hoard-profiles). In a phase called Hoarding, the Coda client actively caches files on the client based on a user s hoard-profile. When a client is disconnected from all Coda servers, it enters a phase called Emulation in which all file operations are absorbed locally and serviced from the cache. When connectivity is restored, a phase called Reintegration is used to commit local updates to the server and reconcile conflicts (if any). 2

3 3.2 The Stateful Model We define a Stateful as follows: A Stateful is a location-independent representation of server-side state on a client, which supports programmatic access and/or mutation of that state. Drawing upon the ideas from AFS/CODA, we define the Stateful Model for Web Services programming as consisting of three phases: [Phase 1] Staging: A client creates an application-relevant Stateful of the in the client s execution context. The client is said to stage the Stateful off the. [Phase 2] Mutation: The client uses programmatic mechanisms for local access and/or manipulation of relevant state in the Stateful. [Phase 3] Entrustment: The client commits any relevant state updates introduced during the Mutation phase to the as appropriate. Note that we have only specified/described the function of the Stateful [Model] here the form is intentionally left unspecified. As a corollary, one can have many different implementations of the Stateful [Model]. We shall revisit this aspect in Section Example: We provide an example to illustrate the use of the Stateful Model and contrast it with the currently dominant model for s programming. Consider an as shown below: A client wishes to use this for the following sequence of application-level operations: 1. Retrieve a customer s itinerary for review 2. Delete a leg of travel (from SFO->NY) from the itinerary 3. Add a leg of travel (from SFO->LA) to the itinerary 4.1 Interaction using the Current Programming Model for s Using the current s programming model from Section 2, the client would interact with the as described below. 3

4 [Step 1] creates a proxy using Service metadata. In the figure below, the actual service endpoints are grayed-out since they are not actively used in this step. Create [Step 2] makes calls on the local proxy for the application-level operations (which get routed to the ) Itinerary [Application-Level Operation: Retrieve a customer s itinerary for review] DeleteTravelLeg(SFO->NY) [Application-Level Operation: Delete a leg of travel (from SFO->NY) from the itinerary] AddTravelLeg(SFO->LA) [Application-Level Operation: Add a leg of travel (from SFO->LA) to the itinerary] 4

5 [Step 3] consumes results and disposes proxy Dispose 4.2 Interaction using the Stateful Model for s Using the Stateful Model for s programming proposed in Section 3, the client would interact with the as described below. Note that the service endpoints in the figures below are replaced by a single dotted endpoint. This is to depict the fact that the actual endpoints exposed by a that supports interaction through the Stateful Model, would depend on the implementation of the Stateful Model being used (this aspect is described further in Section 5). [Phase 1] Staging: The client stages a Stateful for s off the s (for the customer in question). This operation is denoted by. Stateful [Phase 2] Mutation: performs the application-level actions using programmatic mechanisms of the staged Stateful, accessing and updating the state as required. In the figures below, the mutated Stateful is shown in red to indicate that updates have been made to the associated state. Note that during the entire duration of application-level operation of the client, there is no communication required with the. Itinerary [Application-Level Operation: Retrieve the customer s itinerary for review] 5

6 DeleteTravelLeg(SFO->NY) [Application-Level Operation: Delete a leg of travel (from SFO->NY) from the itinerary] AddTravelLeg(SFO->LA) [Application-Level Operation: Add a leg of travel (from SFO->LA) to the itinerary] [Phase 3] Entrustment: commits the state updates (introduced in the Mutation phase) to the. This operation is denoted by. Entrust _SP() 5. Sample Implementation: Conventionally-Bootstrapped Stateful As noted in Section 3, the definition of the Stateful [Model] is non-normative with regard to form and allows for many possible implementations. This section presents one such implementation which we call the Conventionally-Bootstrapped Stateful. We reuse the scenario to illustrate this implementation. The Conventionally-Bootstrapped Stateful is simply a typed object (with fields capturing state and methods capturing behavior), which can be loaded and used within the client execution context. It is suitably set-up to encapsulate server-side state and behavior that are relevant to a given set of application-level operations. Given this form for the Stateful, the could be structured as shown below: 6

7 Notice that the operations and which are artifacts of the Stateful Model are simply mapped to conventional endpoint operations of the. A client that wishes to interact with this Web Service using the Stateful Model would proceed as follows: [Step 1] Create a conventional proxy object Create [Step 2] Use the conventional proxy to stage a Stateful off the from the endpoint (hence the name Conventionally-Bootstrapped Stateful ). This step implements the Staging phase of the Stateful Model. Stateful [Step 3] Perform the application-level operations on the Stateful using fields/methods exposed by the [typed object form of the] Stateful. This step implements the Mutation phase of the Stateful Model. Again, as noted in Section 4.2, there is no communication required with the during the entire duration of this step. Also note that the conventional proxy remains unused during this step. Itinerary [Application-Level Operation: Retrieve the customer s itinerary for review] DeleteTravelLeg(SFO->NY) [Application-Level Operation: Delete a leg of travel (from SFO->NY) from the itinerary] 7

8 AddTravelLeg(SFO->LA) [Application-Level Operation: Add a leg of travel (from SFO->LA) to the itinerary] [Step 4] Use the conventional proxy to commit updates made [to the Stateful ] in Step 3, to the using the endpoint. This step implements the Entrustment phase of the Stateful Model. [Step 5] Dispose the conventional proxy Dispose 6. Observations The following observations and caveats are in order: All through the presentation of the Stateful Model in this document, we have not suggested that it is better in one or more respects when compared to the currently used model of s programming. There do exist some advantages, such as the ability to execute application-level operations without requiring any communication with the, but this comes with making certain assumptions and certain trade-offs. Hence, at this point, the Stateful Model is purely being proposed as an interesting alternative to explore in the context of programming s. As we refine this proposal further, it is expected that we would likely enable certain interesting/new scenarios with the Stateful Model. By definition, the Stateful may entail support for executing code on the client. This raises the whole host of issues conventionally associated with mobile code (such as applets). Some immediate ones are: What is the form in which this 8

9 code is delivered? How is it guaranteed to execute on the client platform? What about security issues? The form of the Stateful provides for very interesting investigation in itself. The Sample Implementation proposed in Section 5 provides just one possible (and arguably simple-minded) form. Richer forms could support wider and more efficient functionality. For example, one simple optimization could be to enable the Stateful to be smart and selectively package only the mutating updates made to state, and ship them to the service during the Entrustment phase. The interaction between the client and the server could also be refined as a result of improving the form of the Stateful. For example, we could consider relaxing the restriction that the Stateful should be set-up in such a way that it can handle all relevant application operations locally. Then, we might be able to stage a lighter proxy off the that can absorb most application operations/state-mutations locally but may require communication with the for staging more state/behavior on an as-needed basis to support additional operations. 7. Conclusion We have proposed a (possibly new) model for programming s, which we call the Stateful Model. An operational description of the Stateful Model has been provided by means of an example. The proposed model has also been contrasted (in terms of operational specifics) with the currently used dominant programming model for s. A sample implementation of the Stateful [Model] has also been presented, viz. the Conventionally-Bootstrapped Stateful, and has been described with an example. Finally, we have made some critical observations about the current proposal. Active feedback is sought on this proposal. We look forward to refining the definition of the Stateful Model and taking it forward as an interesting alternative for programming s, potentially enabling new scenarios. References [1] Scale and performance in a distributed file system, JH Howard et al, ACM Transactions on Computer Systems, 1988 [2] An overview of the Andrew file system, JH Howard, USENIX Winter, 1988 [3] Coda: A Highly Available File System for a Distributed Workstation Environment, M. Satyanarayanan et al, IEEE Transactions on Computers,

Disconnected Operation in the Coda File System

Disconnected Operation in the Coda File System Disconnected Operation in the Coda File System J. J. Kistler M. Sataynarayanan Carnegie- Mellon University Presented By Mahendra Bachhav Overview of CODA Successor of the very successful Andrew File System

More information

416 Distributed Systems. Distributed File Systems 4 Jan 23, 2017

416 Distributed Systems. Distributed File Systems 4 Jan 23, 2017 416 Distributed Systems Distributed File Systems 4 Jan 23, 2017 1 Today's Lecture Wrap up NFS/AFS This lecture: other types of DFS Coda disconnected operation 2 Key Lessons Distributed filesystems almost

More information

CSE 486/586: Distributed Systems

CSE 486/586: Distributed Systems CSE 486/586: Distributed Systems Distributed Filesystems Ethan Blanton Department of Computer Science and Engineering University at Buffalo Distributed Filesystems This lecture will explore network and

More information

Chapter 18 Distributed Systems and Web Services

Chapter 18 Distributed Systems and Web Services Chapter 18 Distributed Systems and Web Services Outline 18.1 Introduction 18.2 Distributed File Systems 18.2.1 Distributed File System Concepts 18.2.2 Network File System (NFS) 18.2.3 Andrew File System

More information

Distributed File Systems (Chapter 14, M. Satyanarayanan) CS 249 Kamal Singh

Distributed File Systems (Chapter 14, M. Satyanarayanan) CS 249 Kamal Singh Distributed File Systems (Chapter 14, M. Satyanarayanan) CS 249 Kamal Singh Topics Introduction to Distributed File Systems Coda File System overview Communication, Processes, Naming, Synchronization,

More information

Mobile Devices: Server and Management Lesson 07 Mobile File Systems and CODA

Mobile Devices: Server and Management Lesson 07 Mobile File Systems and CODA Mobile Devices: Server and Management Lesson 07 Mobile File Systems and CODA Oxford University Press 2007. All rights reserved. 1 Features of a File System Hierarchical organization Storage Modification

More information

File Locking in NFS. File Locking: Share Reservations

File Locking in NFS. File Locking: Share Reservations File Locking in NFS NFSV4 operations related to file locking NFS supports file locking Applications can use locks to ensure consistency Locking was not part of NFS until version 3 NFS v4 supports locking

More information

Example File Systems Using Replication CS 188 Distributed Systems February 10, 2015

Example File Systems Using Replication CS 188 Distributed Systems February 10, 2015 Example File Systems Using Replication CS 188 Distributed Systems February 10, 2015 Page 1 Example Replicated File Systems NFS Coda Ficus Page 2 NFS Originally NFS did not have any replication capability

More information

Linearizability CMPT 401. Sequential Consistency. Passive Replication

Linearizability CMPT 401. Sequential Consistency. Passive Replication Linearizability CMPT 401 Thursday, March 31, 2005 The execution of a replicated service (potentially with multiple requests interleaved over multiple servers) is said to be linearizable if: The interleaved

More information

Today: Coda, xfs! Brief overview of other file systems. Distributed File System Requirements!

Today: Coda, xfs! Brief overview of other file systems. Distributed File System Requirements! Today: Coda, xfs! Case Study: Coda File System Brief overview of other file systems xfs Log structured file systems Lecture 21, page 1 Distributed File System Requirements! Transparency Access, location,

More information

BRANCH:IT FINAL YEAR SEVENTH SEM SUBJECT: MOBILE COMPUTING UNIT-IV: MOBILE DATA MANAGEMENT

BRANCH:IT FINAL YEAR SEVENTH SEM SUBJECT: MOBILE COMPUTING UNIT-IV: MOBILE DATA MANAGEMENT - 1 Mobile Data Management: Mobile Transactions - Reporting and Co Transactions Kangaroo Transaction Model - Clustering Model Isolation only transaction 2 Tier Transaction Model Semantic based nomadic

More information

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9b: Distributed File Systems INTRODUCTION. Transparency: Flexibility: Slide 1. Slide 3.

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9b: Distributed File Systems INTRODUCTION. Transparency: Flexibility: Slide 1. Slide 3. CHALLENGES Transparency: Slide 1 DISTRIBUTED SYSTEMS [COMP9243] Lecture 9b: Distributed File Systems ➀ Introduction ➁ NFS (Network File System) ➂ AFS (Andrew File System) & Coda ➃ GFS (Google File System)

More information

Distributed Systems 8L for Part IB. Additional Material (Case Studies) Dr. Steven Hand

Distributed Systems 8L for Part IB. Additional Material (Case Studies) Dr. Steven Hand Distributed Systems 8L for Part IB Additional Material (Case Studies) Dr. Steven Hand 1 Introduction The Distributed Systems course covers a wide range of topics in a variety of areas This handout includes

More information

Background. 20: Distributed File Systems. DFS Structure. Naming and Transparency. Naming Structures. Naming Schemes Three Main Approaches

Background. 20: Distributed File Systems. DFS Structure. Naming and Transparency. Naming Structures. Naming Schemes Three Main Approaches Background 20: Distributed File Systems Last Modified: 12/4/2002 9:26:20 PM Distributed file system (DFS) a distributed implementation of the classical time-sharing model of a file system, where multiple

More information

Today: Coda, xfs. Case Study: Coda File System. Brief overview of other file systems. xfs Log structured file systems HDFS Object Storage Systems

Today: Coda, xfs. Case Study: Coda File System. Brief overview of other file systems. xfs Log structured file systems HDFS Object Storage Systems Today: Coda, xfs Case Study: Coda File System Brief overview of other file systems xfs Log structured file systems HDFS Object Storage Systems Lecture 20, page 1 Coda Overview DFS designed for mobile clients

More information

Distributed File Systems. Case Studies: Sprite Coda

Distributed File Systems. Case Studies: Sprite Coda Distributed File Systems Case Studies: Sprite Coda 1 Sprite (SFS) Provides identical file hierarchy to all users Location transparency Pathname lookup using a prefix table Lookup simpler and more efficient

More information

Coping with Conflicts in an Optimistically Replicated File System

Coping with Conflicts in an Optimistically Replicated File System Coping with Conflicts in an Optimistically Replicated File System Puneet Kumar School of Computer Science Carnegie Mellon University 1. Introduction Coda is a scalable distributed Unix file system that

More information

The Google File System

The Google File System The Google File System Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung ACM SIGOPS 2003 {Google Research} Vaibhav Bajpai NDS Seminar 2011 Looking Back time Classics Sun NFS (1985) CMU Andrew FS (1988) Fault

More information

Today CSCI Coda. Naming: Volumes. Coda GFS PAST. Instructor: Abhishek Chandra. Main Goals: Volume is a subtree in the naming space

Today CSCI Coda. Naming: Volumes. Coda GFS PAST. Instructor: Abhishek Chandra. Main Goals: Volume is a subtree in the naming space Today CSCI 5105 Coda GFS PAST Instructor: Abhishek Chandra 2 Coda Main Goals: Availability: Work in the presence of disconnection Scalability: Support large number of users Successor of Andrew File System

More information

Distributed File Systems

Distributed File Systems Distributed File Systems Today l Basic distributed file systems l Two classical examples Next time l Naming things xkdc Distributed File Systems " A DFS supports network-wide sharing of files and devices

More information

Today: Distributed File Systems

Today: Distributed File Systems Last Class: Distributed Systems and RPCs Servers export procedures for some set of clients to call To use the server, the client does a procedure call OS manages the communication Lecture 22, page 1 Today:

More information

3/4/14. Review of Last Lecture Distributed Systems. Topic 2: File Access Consistency. Today's Lecture. Session Semantics in AFS v2

3/4/14. Review of Last Lecture Distributed Systems. Topic 2: File Access Consistency. Today's Lecture. Session Semantics in AFS v2 Review of Last Lecture 15-440 Distributed Systems Lecture 8 Distributed File Systems 2 Distributed file systems functionality Implementation mechanisms example Client side: VFS interception in kernel Communications:

More information

EECS 482 Introduction to Operating Systems

EECS 482 Introduction to Operating Systems EECS 482 Introduction to Operating Systems Winter 2018 Baris Kasikci (Thanks, Harsha Madhyastha and Jason Flinn for the slides!) Distributed file systems Remote storage of data that appears local Examples:

More information

Outline. Challenges of DFS CEPH A SCALABLE HIGH PERFORMANCE DFS DATA DISTRIBUTION AND MANAGEMENT IN DISTRIBUTED FILE SYSTEM 11/16/2010

Outline. Challenges of DFS CEPH A SCALABLE HIGH PERFORMANCE DFS DATA DISTRIBUTION AND MANAGEMENT IN DISTRIBUTED FILE SYSTEM 11/16/2010 Outline DATA DISTRIBUTION AND MANAGEMENT IN DISTRIBUTED FILE SYSTEM Erin Brady and Shantonu Hossain What are the challenges of Distributed File System (DFS) Ceph: A scalable high performance DFS Data Distribution

More information

Coda: A Highly Available File System for a Distributed Workstation Environment

Coda: A Highly Available File System for a Distributed Workstation Environment Coda: A Highly Available File System for a Distributed Workstation Environment M. Satyanarayanan James J. Kistler Puneet Kumar Maria E. Okasaki Ellen H. Siegel David C. Steere School of Computer Science

More information

Chapter 17: Distributed-File Systems. Operating System Concepts 8 th Edition,

Chapter 17: Distributed-File Systems. Operating System Concepts 8 th Edition, Chapter 17: Distributed-File Systems, Silberschatz, Galvin and Gagne 2009 Chapter 17 Distributed-File Systems Background Naming and Transparency Remote File Access Stateful versus Stateless Service File

More information

Distributed File Systems

Distributed File Systems The University of New South Wales School of Computer Science & Engineering COMP9243 Week 10 (08s1) Ihor Kuz, Felix Rauch, Manuel M. T. Chakravarty & Gernot Heiser Distributed File Systems In a distributed

More information

Weak Consistency and Disconnected Operation in git. Raymond Cheng

Weak Consistency and Disconnected Operation in git. Raymond Cheng Weak Consistency and Disconnected Operation in git Raymond Cheng ryscheng@cs.washington.edu Motivation How can we support disconnected or weakly connected operation? Applications File synchronization across

More information

Today: Distributed File Systems. Naming and Transparency

Today: Distributed File Systems. Naming and Transparency Last Class: Distributed Systems and RPCs Today: Distributed File Systems Servers export procedures for some set of clients to call To use the server, the client does a procedure call OS manages the communication

More information

Today: Distributed File Systems!

Today: Distributed File Systems! Last Class: Distributed Systems and RPCs! Servers export procedures for some set of clients to call To use the server, the client does a procedure call OS manages the communication Lecture 25, page 1 Today:

More information

Mobile NFS. Fixed NFS. MFS Proxy. Client. Client. Standard NFS Server. Fixed NFS MFS: Proxy. Mobile. Client NFS. Wired Network.

Mobile NFS. Fixed NFS. MFS Proxy. Client. Client. Standard NFS Server. Fixed NFS MFS: Proxy. Mobile. Client NFS. Wired Network. On Building a File System for Mobile Environments Using Generic Services F. Andre M.T. Segarra IRISA Research Institute IRISA Research Institute Campus de Beaulieu Campus de Beaulieu 35042 Rennes Cedex,

More information

Agenda. What is Replication?

Agenda. What is Replication? !"#$%% "#&'( Agenda What is Replication? Why Replicate? Approaches to Replication Master/Slave Disconnected Repositories (Git / Bitkeeper / Mercurial / Bazaar) Active/Active Master/Slave vs Active/Active

More information

Department of Computer Science

Department of Computer Science Department of Computer Science Institute for System Architecture, Chair for Computer Networks Application Development for Mobile and Ubiquitous Computing 8. Disconnected Operations Dr. Ing. Thomas Springer

More information

Data Warehousing Alternatives for Mobile Environments

Data Warehousing Alternatives for Mobile Environments Data Warehousing Alternatives for Mobile Environments I. Stanoi D. Agrawal A. El Abbadi Department of Computer Science University of California Santa Barbara, CA 93106 S. H. Phatak B. R. Badrinath Department

More information

AN OVERVIEW OF DISTRIBUTED FILE SYSTEM Aditi Khazanchi, Akshay Kanwar, Lovenish Saluja

AN OVERVIEW OF DISTRIBUTED FILE SYSTEM Aditi Khazanchi, Akshay Kanwar, Lovenish Saluja www.ijecs.in International Journal Of Engineering And Computer Science ISSN:2319-7242 Volume 2 Issue 10 October, 2013 Page No. 2958-2965 Abstract AN OVERVIEW OF DISTRIBUTED FILE SYSTEM Aditi Khazanchi,

More information

Module 17: Distributed-File Systems

Module 17: Distributed-File Systems Module 17: Distributed-File Systems Background Naming and Transparency Remote File Access Stateful versus Stateless Service File Replication Example Systems Operating System Concepts 17.1 Silberschatz

More information

Distributed Systems - III

Distributed Systems - III CSE 421/521 - Operating Systems Fall 2012 Lecture - XXIV Distributed Systems - III Tevfik Koşar University at Buffalo November 29th, 2012 1 Distributed File Systems Distributed file system (DFS) a distributed

More information

Distributed File Systems. CS432: Distributed Systems Spring 2017

Distributed File Systems. CS432: Distributed Systems Spring 2017 Distributed File Systems Reading Chapter 12 (12.1-12.4) [Coulouris 11] Chapter 11 [Tanenbaum 06] Section 4.3, Modern Operating Systems, Fourth Ed., Andrew S. Tanenbaum Section 11.4, Operating Systems Concept,

More information

A Research Status Report on Adaptation for Mobile Data Access

A Research Status Report on Adaptation for Mobile Data Access A Research Status Report on Adaptation for Mobile Data Access Brian D. Noble and M. Satyanarayanan School of Computer Science Carnegie Mellon University fbnoble,satyag@cs.cmu.edu Abstract Mobility demands

More information

A Comparative Study of Transaction Models in Mobile Computing Environment

A Comparative Study of Transaction Models in Mobile Computing Environment Volume 3, No. 2, March-April 2012 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at www.ijarcs.info ISSN No. 0976-5697 A Comparative Study of Transaction

More information

Transaction Processing in a Mobile Computing Environment with Alternating Client Hosts *

Transaction Processing in a Mobile Computing Environment with Alternating Client Hosts * Transaction Processing in a Mobile Computing Environment with Alternating Client Hosts * Sven Buchholz, Thomas Ziegert and Alexander Schill Department of Computer Science Dresden University of Technology

More information

Ubiquitous and Mobile Computing CS 525M: Virtually Unifying Personal Storage for Fast and Pervasive Data Accesses

Ubiquitous and Mobile Computing CS 525M: Virtually Unifying Personal Storage for Fast and Pervasive Data Accesses Ubiquitous and Mobile Computing CS 525M: Virtually Unifying Personal Storage for Fast and Pervasive Data Accesses Pengfei Tang Computer Science Dept. Worcester Polytechnic Institute (WPI) Introduction:

More information

Bhaavyaa Kapoor Person #

Bhaavyaa Kapoor Person # Bhaavyaa Kapoor Person # 5002-6253 } Andrew File System } The Prototype } Changes for Performance } Effect of Changes for Performance } Comparison with A Remote-Open File System } Conclusion } Joined project

More information

Efficient User-Level File Cache Management on the Sun Vnode Interface

Efficient User-Level File Cache Management on the Sun Vnode Interface Efficient User-Level File Cache Management on the Sun Vnode Interface David C. Steere James J. Kistler M. Satyanarayanan April 18, 1990 CMU-CS-90-126 School of Computer Science Carnegie Mellon University

More information

File Size Distribution on UNIX Systems Then and Now

File Size Distribution on UNIX Systems Then and Now File Size Distribution on UNIX Systems Then and Now Andrew S. Tanenbaum, Jorrit N. Herder*, Herbert Bos Dept. of Computer Science Vrije Universiteit Amsterdam, The Netherlands {ast@cs.vu.nl, jnherder@cs.vu.nl,

More information

Lecture 14: Distributed File Systems. Contents. Basic File Service Architecture. CDK: Chapter 8 TVS: Chapter 11

Lecture 14: Distributed File Systems. Contents. Basic File Service Architecture. CDK: Chapter 8 TVS: Chapter 11 Lecture 14: Distributed File Systems CDK: Chapter 8 TVS: Chapter 11 Contents General principles Sun Network File System (NFS) Andrew File System (AFS) 18-Mar-11 COMP28112 Lecture 14 2 Basic File Service

More information

A New Combinatorial Design of Coded Distributed Computing

A New Combinatorial Design of Coded Distributed Computing A New Combinatorial Design of Coded Distributed Computing Nicholas Woolsey, Rong-Rong Chen, and Mingyue Ji Department of Electrical and Computer Engineering, University of Utah Salt Lake City, UT, USA

More information

Distributed File Systems. CS 537 Lecture 15. Distributed File Systems. Transfer Model. Naming transparency 3/27/09

Distributed File Systems. CS 537 Lecture 15. Distributed File Systems. Transfer Model. Naming transparency 3/27/09 Distributed File Systems CS 537 Lecture 15 Distributed File Systems Michael Swift Goal: view a distributed system as a file system Storage is distributed Web tries to make world a collection of hyperlinked

More information

Extreme computing Infrastructure

Extreme computing Infrastructure Outline Extreme computing School of Informatics University of Edinburgh Replication and fault tolerance Virtualisation Parallelism and parallel/concurrent programming Services So, you want to build a cloud

More information

Athe Unix file system model is a valuable mechanism for

Athe Unix file system model is a valuable mechanism for IEEE TRANSACTIONS ON COMPUTERS, VOL. 39, NO. 4, APRIL 1990 447 Coda: A Highly Available File System for a Distributed Workstation Environment MAHADEV SATYANARAYANAN, MEMBER, IEEE, JAMES J. KISTLER, PUNEET

More information

CA485 Ray Walshe Google File System

CA485 Ray Walshe Google File System Google File System Overview Google File System is scalable, distributed file system on inexpensive commodity hardware that provides: Fault Tolerance File system runs on hundreds or thousands of storage

More information

Disconnected Operation in a Mobile Computation System

Disconnected Operation in a Mobile Computation System Disconnected Operation in a Mobile Computation System Marco T. de O. Valente, Roberto da S. Bigonha, Mariza A. da S. Bigonha, Antonio A.F. Loureiro Department of Computer Science University of Minas Gerais

More information

15-440/15-640: Homework 1 Due: September 23, :59pm

15-440/15-640: Homework 1 Due: September 23, :59pm Name: Andrew ID: 1. Networking (20 Points) Part A (10 points) 15-440/15-640: Homework 1 Due: September 23, 2018 11:59pm Consider the situation depicted in the figure above. The sender S want to send a

More information

Distributed File Systems. Directory Hierarchy. Transfer Model

Distributed File Systems. Directory Hierarchy. Transfer Model Distributed File Systems Ken Birman Goal: view a distributed system as a file system Storage is distributed Web tries to make world a collection of hyperlinked documents Issues not common to usual file

More information

CMU-ITC ITC File System Goals. 12 September File System Group

CMU-ITC ITC File System Goals. 12 September File System Group CMU-ITC-83-031 ITC File System Goals 12 September 1983 File System Group Information Technology Center Carnegie-Mellon University Schenley Park Pittsburgh, PA 15213 ii ITC File System Goals CONTENTS Contents

More information

CARRIER OPTIMAL ROUTING

CARRIER OPTIMAL ROUTING CARRIER OPTIMAL ROUTING WebCOR Database Preparation Users Manual 2 Table of Contents Chapter 1...7 Getting Started in WebCOR...7 WebCOR Roles and Data Access...7 Data Access Privileges...8 Understanding

More information

Distributed systems Lecture 8: PubSub; Security; NASD/AFS/Coda. Dr Robert N. M. Watson

Distributed systems Lecture 8: PubSub; Security; NASD/AFS/Coda. Dr Robert N. M. Watson Distributed systems Lecture 8: PubSub; Security; NASD/AFS/Coda Dr Robert N. M. Watson 1 Last time Looked at replication in distributed systems Strong consistency: Approximately as if only one copy of object

More information

416 practice questions (PQs)

416 practice questions (PQs) 416 practice questions (PQs) 1. Goal: give you some material to study for the final exam and to help you to more actively engage with the material we cover in class. 2. Format: questions that are in scope

More information

File Availability and Consistency for Mobile Systems

File Availability and Consistency for Mobile Systems File Availability and Consistency for Mobile Systems Leeann Bent, Edward Elliott, Michael Semanko, Timothy Sherwood Department of Computer Science and Engineering University of California, San Diego Abstract

More information

Correctness Criteria Beyond Serializability

Correctness Criteria Beyond Serializability Correctness Criteria Beyond Serializability Mourad Ouzzani Cyber Center, Purdue University http://www.cs.purdue.edu/homes/mourad/ Brahim Medjahed Department of Computer & Information Science, The University

More information

CS514: Intermediate Course in Computer Systems

CS514: Intermediate Course in Computer Systems : Intermediate Course in Computer Systems Lecture 23: March 12, 2003 Challenges of Mobility Mobility is a huge topic Breaks existing applications Anything bandwidth intensive or synchronous Opportunities

More information

Assignment 5. Georgia Koloniari

Assignment 5. Georgia Koloniari Assignment 5 Georgia Koloniari 2. "Peer-to-Peer Computing" 1. What is the definition of a p2p system given by the authors in sec 1? Compare it with at least one of the definitions surveyed in the last

More information

Methods for Policy Conflict Detection and Resolution in Pervasive Computing Environments

Methods for Policy Conflict Detection and Resolution in Pervasive Computing Environments Methods for Policy Conflict Detection and Resolution in Pervasive Computing Environments Evi Syukur SCSSE, Monash University, Australia evis@csse.monash.edu.au Seng Wai Loke SCSSE, Monash University, Australia

More information

CSE 544 Principles of Database Management Systems. Alvin Cheung Fall 2015 Lecture 14 Distributed Transactions

CSE 544 Principles of Database Management Systems. Alvin Cheung Fall 2015 Lecture 14 Distributed Transactions CSE 544 Principles of Database Management Systems Alvin Cheung Fall 2015 Lecture 14 Distributed Transactions Transactions Main issues: Concurrency control Recovery from failures 2 Distributed Transactions

More information

Service-Oriented Programming

Service-Oriented Programming Service-Oriented Programming by Guy Bieber, Lead Architect, ISD C4I, Motorola ABSTRACT - The Service-Oriented Programming (SOP) model is the most exciting revolution in programming since Object Oriented

More information

The ATL Postmaster: A System for Agent Collaboration and Information Dissemination

The ATL Postmaster: A System for Agent Collaboration and Information Dissemination The ATL Postmaster: A System for Agent Collaboration and Information Dissemination Jennifer Kay, Julius Etzl, Goutham Rao, and Jon Thies Lockheed Martin Advanced Technology Laboratories 1 Federal Street

More information

Resource Conservation in a Mobile Transaction System

Resource Conservation in a Mobile Transaction System IEEE TRANSACTIONS ON COMPUTERS, VOL. 46, NO. 3, MARCH 1997 299 Resource Conservation in a Mobile Transaction System Qi Lu and Mahadev Satyanarayanan, Senior Member, IEEE Abstract This paper addresses the

More information

Automated Reconciliation for Disconnected Operation in Object Oriented Middleware

Automated Reconciliation for Disconnected Operation in Object Oriented Middleware Automated Reconciliation for Disconnected Operation in Object Oriented Middleware Jason Zavislak A dissertation submitted to the University of Dublin in partial fulfilment of the requirements for the degree

More information

Module 17: Distributed-File Systems

Module 17: Distributed-File Systems Module 17: Distributed-File Systems Background Naming and Transparency Remote File Access Stateful versus Stateless Service File Replication Example Systems 17.1 Background Distributed file system (DFS)

More information

Improving Data Consistency in Mobile Computing Using Isolation-Only Transactions

Improving Data Consistency in Mobile Computing Using Isolation-Only Transactions Improving Data Consistency in Mobile Computing Using Isolation-Only Transactions Qi Lu M. Satyanarayanan School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 fluqi,satyag@cs.cmu.edu

More information

CernVM-FS beyond LHC computing

CernVM-FS beyond LHC computing CernVM-FS beyond LHC computing C Condurache, I Collier STFC Rutherford Appleton Laboratory, Harwell Oxford, Didcot, OX11 0QX, UK E-mail: catalin.condurache@stfc.ac.uk Abstract. In the last three years

More information

FMA901F: Machine Learning Lecture 6: Graphical Models. Cristian Sminchisescu

FMA901F: Machine Learning Lecture 6: Graphical Models. Cristian Sminchisescu FMA901F: Machine Learning Lecture 6: Graphical Models Cristian Sminchisescu Graphical Models Provide a simple way to visualize the structure of a probabilistic model and can be used to design and motivate

More information

Opportunistic Use of Content Addressable Storage for Distributed File Systems

Opportunistic Use of Content Addressable Storage for Distributed File Systems Opportunistic Use of Content Addressable Storage for Distributed File Systems Niraj Tolia *, Michael Kozuch, M. Satyanarayanan *, Brad Karp, Thomas Bressoud, and Adrian Perrig * * Carnegie Mellon University,

More information

Disconnected Operation in the Coda File System

Disconnected Operation in the Coda File System Disconnected Operation in the Coda File System JAMES J. KISTLER and M. SATYANARAYANAN Carnegie Mellon University Disconnected operation is a mode of operation that enables a client to continue accessing

More information

Distributed Systems. Hajussüsteemid MTAT Distributed File Systems. (slides: adopted from Meelis Roos DS12 course) 1/25

Distributed Systems. Hajussüsteemid MTAT Distributed File Systems. (slides: adopted from Meelis Roos DS12 course) 1/25 Hajussüsteemid MTAT.08.024 Distributed Systems Distributed File Systems (slides: adopted from Meelis Roos DS12 course) 1/25 Examples AFS NFS SMB/CIFS Coda Intermezzo HDFS WebDAV 9P 2/25 Andrew File System

More information

Concept as a Generalization of Class and Principles of the Concept-Oriented Programming

Concept as a Generalization of Class and Principles of the Concept-Oriented Programming Computer Science Journal of Moldova, vol.13, no.3(39), 2005 Concept as a Generalization of Class and Principles of the Concept-Oriented Programming Alexandr Savinov Abstract In the paper we describe a

More information

Lecture 7: Distributed File Systems

Lecture 7: Distributed File Systems 06-06798 Distributed Systems Lecture 7: Distributed File Systems 5 February, 2002 1 Overview Requirements for distributed file systems transparency, performance, fault-tolerance,... Design issues possible

More information

CIRS: A State-Conscious Concurrency Control Protocol for Replicated Real-Time Databases

CIRS: A State-Conscious Concurrency Control Protocol for Replicated Real-Time Databases CIRS: A State-Conscious Concurrency Control Protocol for Replicated Real-Time Databases Vishal Pathak Ajay Pratap Rabin Kr. Singh Abhishek Kr. Singh Abstract Replication [5] is the technique of using multiple

More information

Important Lessons. Today's Lecture. Two Views of Distributed Systems

Important Lessons. Today's Lecture. Two Views of Distributed Systems Important Lessons Replication good for performance/ reliability Key challenge keeping replicas up-to-date Wide range of consistency models Will see more next lecture Range of correctness properties L-10

More information

No compromises: distributed transactions with consistency, availability, and performance

No compromises: distributed transactions with consistency, availability, and performance No compromises: distributed transactions with consistency, availability, and performance Aleksandar Dragojevi c, Dushyanth Narayanan, Edmund B. Nightingale, Matthew Renzelmann, Alex Shamis, Anirudh Badam,

More information

Aggregating Caches: A Mechanism for Implicit File Prefetching

Aggregating Caches: A Mechanism for Implicit File Prefetching Aggregating Caches: A Mechanism for Implicit File Prefetching Ahmed Amer and Darrell D. E. Long Jack Baskin School of Engineering University of California, Santa Cruz 1156 High St., Santa Cruz 9564 a.amer@acm.org,

More information

Ch. 7 Distributed File Systems

Ch. 7 Distributed File Systems Ch. 7 Distributed File Systems File service architecture Network File System Coda file system Tanenbaum, van Steen: Ch 10 CoDoKi: Ch 8 1 File Systems Traditional tasks of a FS organizing, storing, accessing

More information

Chapter 3. Database Architecture and the Web

Chapter 3. Database Architecture and the Web Chapter 3 Database Architecture and the Web 1 Chapter 3 - Objectives Software components of a DBMS. Client server architecture and advantages of this type of architecture for a DBMS. Function and uses

More information

CLIENT SERVER ARCHITECTURE:

CLIENT SERVER ARCHITECTURE: CLIENT SERVER ARCHITECTURE: Client-Server architecture is an architectural deployment style that describe the separation of functionality into layers with each segment being a tier that can be located

More information

Introducing MESSIA: A Methodology of Developing Software Architectures Supporting Implementation Independence

Introducing MESSIA: A Methodology of Developing Software Architectures Supporting Implementation Independence Introducing MESSIA: A Methodology of Developing Software Architectures Supporting Implementation Independence Ratko Orlandic Department of Computer Science and Applied Math Illinois Institute of Technology

More information

Scale and Scalability Thoughts on Transactional Storage Systems. Liuba Shrira Brandeis University

Scale and Scalability Thoughts on Transactional Storage Systems. Liuba Shrira Brandeis University Scale and Scalability Thoughts on Transactional Storage Systems Liuba Shrira Brandeis University Woman s Workshop, SOSP 2007 Stuff about me Brandeis professor, MIT/CSAIL affiliate, more stuff about me:

More information

Distributed systems Lecture 8: PubSub; Security; NASD/AFS/Coda

Distributed systems Lecture 8: PubSub; Security; NASD/AFS/Coda Distributed systems Lecture 8: PubSub; Security; NASD/AFS/Coda DrRobert N. M. Watson 1 Last time Looked at replication in distributed systems Strong consistency: Approximately as if only one copy of object

More information

WHITE PAPER PURITY CLOUDSNAP SETUP AND BEST PRACTICES GUIDE

WHITE PAPER PURITY CLOUDSNAP SETUP AND BEST PRACTICES GUIDE WHITE PAPER PURITY CLOUDSNAP SETUP AND BEST PRACTICES GUIDE TABLE OF CONTENTS INTRODUCTION... 3 CLOUDSNAP BENEFITS... 4 CORE COMPONENTS... 5 FlashArray, Purity, and Run... 5 Network... 5 AWS... 5 CLOUDSNAP

More information

Simulation of Petri Nets in Rule-Based Expert System Shell McESE

Simulation of Petri Nets in Rule-Based Expert System Shell McESE Abstract Simulation of Petri Nets in Rule-Based Expert System Shell McESE F. Franek and I. Bruha Dept of Computer Science and Systems, McMaster University Hamilton, Ont., Canada, L8S4K1 Email: {franya

More information

SDS: A Scalable Data Services System in Data Grid

SDS: A Scalable Data Services System in Data Grid SDS: A Scalable Data s System in Data Grid Xiaoning Peng School of Information Science & Engineering, Central South University Changsha 410083, China Department of Computer Science and Technology, Huaihua

More information

Service Graph Design with Cisco Application Centric Infrastructure

Service Graph Design with Cisco Application Centric Infrastructure White Paper Service Graph Design with Cisco Application Centric Infrastructure 2017 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public Information. Page 1 of 101 Contents Introduction...

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Models in Conflict Towards a Semantically Enhanced Version Control System for Models

Models in Conflict Towards a Semantically Enhanced Version Control System for Models Models in Conflict Towards a Semantically Enhanced ersion Control System for Models Kerstin Altmanninger Department of Telecooperation, Johannes Kepler University Linz, Austria kerstin.altmanninger@jku.at

More information

Calvin Lin The University of Texas at Austin

Calvin Lin The University of Texas at Austin Loop Invariant Code Motion Last Time SSA Today Loop invariant code motion Reuse optimization Next Time More reuse optimization Common subexpression elimination Partial redundancy elimination February 23,

More information

The Google File System

The Google File System October 13, 2010 Based on: S. Ghemawat, H. Gobioff, and S.-T. Leung: The Google file system, in Proceedings ACM SOSP 2003, Lake George, NY, USA, October 2003. 1 Assumptions Interface Architecture Single

More information

Composite Evaluation for Smart Cards and Similar Devices

Composite Evaluation for Smart Cards and Similar Devices Composite Evaluation for Smart Cards and Similar Devices ISCI-WG1 and T-Systems GEI GmbH Composite EAL Certificate 25th-27th September, 2007, page 1. What are we speaking about? Motivation Terminology

More information

SLALoM: A Scalable Location Management Scheme for Large Mobile Ad-hoc Networks

SLALoM: A Scalable Location Management Scheme for Large Mobile Ad-hoc Networks SLALoM A Scalable Location Management Scheme for Large Mobile Ad-hoc Networks Christine T. Cheng *, Howard L. Lemberg, Sumesh J. Philip, Eric van den Berg and Tao Zhang * Institute for Math & its Applications,

More information

Software Quality. Chapter What is Quality?

Software Quality. Chapter What is Quality? Chapter 1 Software Quality 1.1 What is Quality? The purpose of software quality analysis, or software quality engineering, is to produce acceptable products at acceptable cost, where cost includes calendar

More information

A Reduction of Conway s Thrackle Conjecture

A Reduction of Conway s Thrackle Conjecture A Reduction of Conway s Thrackle Conjecture Wei Li, Karen Daniels, and Konstantin Rybnikov Department of Computer Science and Department of Mathematical Sciences University of Massachusetts, Lowell 01854

More information

Chapter 17: Distributed-File Systems. Operating System Concepts 8 th Edition,

Chapter 17: Distributed-File Systems. Operating System Concepts 8 th Edition, Chapter 17: Distributed-File Systems, Silberschatz, Galvin and Gagne 2009 Chapter 17 Distributed-File Systems Outline of Contents Background Naming and Transparency Remote File Access Stateful versus Stateless

More information