Electronic Payment Systems (1) E-cash

Similar documents
Distributed Middleware. Distributed Objects

Today: Distributed Objects. Distributed Objects

Today: More Case Studies DCOM

Today: Distributed Middleware. Middleware

Last Class: Consistency Models. Today: Implementation Issues

Today: World Wide Web! Traditional Web-Based Systems!

Distributed Object-Based. Systems. Chapter 9

Today: World Wide Web

Today: World Wide Web. Traditional Web-Based Systems

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

Distributed Systems Principles and Paradigms

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications

Distributed Technologies - overview & GIPSY Communication Procedure

Lecture 5: Object Interaction: RMI and RPC

Limitations of Object-Based Middleware. Components in CORBA. The CORBA Component Model. CORBA Component

DS 2009: middleware. David Evans

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK

Interconnection of Distributed Components: An Overview of Current Middleware Solutions *

Distributed Objects. Object-Oriented Application Development

CHAPTER - 4 REMOTE COMMUNICATION

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS

Verteilte Systeme (Distributed Systems)

Advanced Topics in Operating Systems

Chapter 5: Distributed objects and remote invocation

Distributed Object-based Systems CORBA

Replication. Consistency models. Replica placement Distribution protocols

DISTRIBUTED SYSTEMS [COMP9243] Distributed Object based: Lecture 7: Middleware. Slide 1. Slide 3. Message-oriented: MIDDLEWARE

Message Passing vs. Distributed Objects. 5/15/2009 Distributed Computing, M. L. Liu 1

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Notes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title

Interprocess Communication Tanenbaum, van Steen: Ch2 (Ch3) CoDoKi: Ch2, Ch3, Ch5

1.264 Lecture 16. Legacy Middleware

CORBA (Common Object Request Broker Architecture)

Distributed Systems. The main method of distributed object communication is with remote method invocation

Software Architecture Patterns

MTAT Enterprise System Integration. Lecture 2: Middleware & Web Services

Lecture 06: Distributed Object

CAS 703 Software Design

Distributed Systems Lecture 2 1. External Data Representation and Marshalling (Sec. 4.3) Request reply protocol (failure modes) (Sec. 4.

DCOM CORBA EJB DCOM CORBA CORBA EJB DCOM EJB

Communication. Overview

JAYARAM. COLLEGE OF ENGINEERING AND TECHNOLOGY Pagalavadi, Tiruchirappalli (An approved by AICTE and Affiliated to Anna University)

Verteilte Systeme (Distributed Systems)

Distributed Systems Question Bank UNIT 1 Chapter 1 1. Define distributed systems. What are the significant issues of the distributed systems?

Overview. Communication types and role of Middleware Remote Procedure Call (RPC) Message Oriented Communication Multicasting 2/36

Client/Server-Architecture

Chapter 3 Introduction to Distributed Objects

MONitoring Agents using a Large Integrated Services Architecture. Iosif Legrand California Institute of Technology

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004

Communication. Distributed Systems Santa Clara University 2016

Agent-Enabling Transformation of E-Commerce Portals with Web Services

CPE731 Distributed System Models

Unit 7: RPC and Indirect Communication

DISTRIBUTED OBJECTS AND REMOTE INVOCATION

RPC flow. 4.3 Remote procedure calls IDL. RPC components. Procedure. Program. sum (j,k) int j,k; {return j+k;} i = sum (3,7); Local procedure call

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 22: Remote Procedure Call (RPC)

Distributed Programming with RMI. Overview CORBA DCOM. Prepared By: Shiba R. Tamrakar

Advanced Distributed Systems

Patterns Architectural Styles Archetypes

CHAPTER 7 COM and.net

Introduction to Web Services & SOA

Introduction to Web Services & SOA

Advanced Lectures on knowledge Engineering

Chapter 4 Communication

Chapter 2 Distributed Computing Infrastructure

Distributed Systems

Networks and Operating Systems Chapter 3: Remote Procedure Call (RPC)

A Tutorial on The Jini Technology

Jini Technology Overview

EJB ENTERPRISE JAVA BEANS INTRODUCTION TO ENTERPRISE JAVA BEANS, JAVA'S SERVER SIDE COMPONENT TECHNOLOGY. EJB Enterprise Java

Distributed Systems Middleware

Outline. EEC-681/781 Distributed Computing Systems. The OSI Network Architecture. Inter-Process Communications (IPC) Lecture 4

RMI: Design & Implementation

Chapter 5 Distributed Objects and Remote Invocation

02 - Distributed Systems

Java Enterprise Edition

02 - Distributed Systems

CptS 464/564 Lecture 18

Gustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2

Data Management in Application Servers. Dean Jacobs BEA Systems

Outline. COM overview. DCOM overview. Comparison DCOM and Corba

Distributed Systems. Web Services (WS) and Service Oriented Architectures (SOA) László Böszörményi Distributed Systems Web Services - 1

INTRODUCTION TO Object Oriented Systems BHUSHAN JADHAV

An Architectural View of Distributed Objects and Components

Indirect Communication


CO Java EE 7: Back-End Server Application Development

Time and Space. Indirect communication. Time and space uncoupling. indirect communication

Distributed Systems Principles and Paradigms. Distributed Object-Based Systems. Remote distributed objects. Remote distributed objects

May Gerd Liefländer System Architecture Group Universität Karlsruhe (TH), System Architecture Group

Introduction to Distributed Systems

Distributed Environments. CORBA, JavaRMI and DCOM

Appendix A - Glossary(of OO software term s)

Page 1. Extreme Java G Session 8 - Sub-Topic 2 OMA Trading Services

Ubiquitous Computing Summer Supporting distributed applications. Distributed Application. Operating System. Computer Computer Computer.

Remote Invocation. Today. Next time. l Overlay networks and P2P. l Request-reply, RPC, RMI

Lecture 15: Network File Systems

Software Components and Distributed Systems

COPYRIGHTED MATERIAL. Table of Contents. Foreword... xv. About This Book... xvii. About The Authors... xxiii. Guide To The Reader...

Introduction to Distributed Systems. INF5040/9040 Autumn 2018 Lecturer: Eli Gjørven (ifi/uio)

Transcription:

Electronic Payment Systems (1) Payment systems based on direct payment between customer and merchant. a) Paying in cash. b) Using a check. c) Using a credit card. Lecture 24, page 1 E-cash The principle of anonymous electronic cash using blind signatures. Lecture 24, page 2

BitCoin Digital currency: P2P electronic cash Open source crypto protocol New coins made by bitcoin servers expend resources to generate a coin 25 coins generated every 10 minutes Uses digital signatures to pay to public keys Lecture 24, page 3 Distributed Middleware Distributed objects DCOM CORBA EJBs Jini

Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy. Lecture 23, page 5 Distributed Objects vs. RPC RPC : Remote Procedure Call Provides argument marshalling / unmarshalling Server handles invocation Distributed Objects Remote methods on remote objects RPC + distributed object references Distributed object operation: Server side: create object, register it (register with what?) (always in this order?) Client side: get object reference (from where?), invoke method Lecture 23, page 6

Distributed Objects through History ONC RPC DCE RPC DCOM CORBA EJB A brief and incomplete history of commercially used RPC and distributed object systems Java RMI The vision The reality a Grand Distributed System Client/Server Lecture 23, page 7 Naming: Object References CORBA object reference Interoperable object reference: language-independent techniques for referring to objects Lecture 23, page 8

Example: Enterprise Java Beans Figure 10-2. General architecture of an EJB server. Lecture 23, page 9 Parts of an EJB Home interface: Object creation, deletion Location of persistent objects (entity beans) Object identifier is class-managed Remote interface business logic i.e. the object itself Terminology differences Client/server -> web applications Lecture 23, page 10

Four Types of EJBs Stateless session beans Stateful session beans Entity beans Message-driven beans Lecture 23, page 11 CORBA Overview Object request broker (ORB) Core of the middleware platform Handles communication between objects and clients Handles distribution and heterogeneity issues May be implemented as libraries Facilities: composition of CORBA services Lecture 23, page 12

Corba Services Service Collection Query Concurrency Transaction Event Notification Externalization Life cycle Licensing Naming Property Trading Persistence Relationship Security Time Description Facilities for grouping objects into lists, queue, sets, etc. Facilities for querying collections of objects in a declarative manner Facilities to allow concurrent access to shared objects Flat and nested transactions on method calls over multiple objects Facilities for asynchronous communication through events Advanced facilities for event-based asynchronous communication Facilities for marshaling and unmarshaling of objects Facilities for creation, deletion, copying, and moving of objects Facilities for attaching a license to an object Facilities for systemwide name of objects Facilities for associating (attribute, value) pairs with objects Facilities to publish and find the services on object has to offer Facilities for persistently storing objects Facilities for expressing relationships between objects Mechanisms for secure channels, authorization, and auditing Provides the current time within specified error margins Lecture 23, page 13 Object Model Objects & services specified using an Interface Definition language (IDL) Used to specify interface of objects and/or services ORB: run-time system that handles object-client communication Dynamic invocation interface: allows object invocation at run-time Generic invoke operation: takes object reference as input Interface repository stores all interface definitions Lecture 23, page 14

Object Invocation Models Request type Failure semantics Description Synchronous At-most-once Caller blocks until a response is returned or an exception is raised One-way Best effort delivery Caller continues immediately without waiting for any response from the server Deferred synchronous At-most-once Caller continues immediately and can later block until response is delivered Invocation models supported in CORBA. Original model was RMI/RPC-like Current CORBA versions support additional semantics Lecture 23, page 15 Event and Notification Services (1) The logical organization of suppliers and consumers of events, following the push-style model. Lecture 23, page 16

Event and Notification Services (2) The pull-style model for event delivery in CORBA. Lecture 23, page 17 Messaging: Async. Method Invocation CORBA's callback model for asynchronous method invocation. Lecture 23, page 18

Messaging (2) CORBA'S polling model for asynchronous method invocation. Lecture 23, page 19 DCOM Distributed Component Object Model Microsoft s object model (middleware) Now evolved into.net

DCOM: History Successor to COM Developed to support compound documents Word document with excel spreadsheets and images Object linking and embedding (OLE) Initial version: message passing to pass information between parts Soon replaced by a more flexible layer: COM ActiveX: OLE plus new features No good consensus on what exactly does ActiveX contain Loosely: groups capabilities within applications to support scripting, grouping of objects. DCOM: all of the above, but across machines Type Library and Registry The overall architecture of DCOM. Type library == CORBA interface repository Service control manager == CORBA implmentation repository

Monikers: Persistent Objects Step Performer Description 1 Client Calls BindMoniker at moniker 2 Moniker Looks up associated CLSID and instructs SCM to create object 3 SCM Loads class object 4 Class object Creates object and returns interface pointer to moniker 5 Moniker Instructs object to load previously stored state 6 Object Loads its state from file 7 Moniker Returns interface pointer of object to client By default, DCOM objects are transient Persistent objects implemented using monikers (reference stored on disk) Has all information to recreate the object at a later time Monikers (2) Moniker type File moniker URL moniker Class moniker Composite moniker Item moniker Pointer moniker Description Reference to an object constructed from a file Reference to an object constructed from a URL Reference to a class object Reference to a composition of monikers Reference to a moniker in a composition Reference to an object in a remote process DCOM-defined moniker types.

Distributed Coordination Motivation Next generation of systems will be inherently distributed Main problem: techniques to coordinate various components Emphasis on coordination of activities between components Introduction to Coordination Models Key idea: separation of computation from coordination A taxonomy of coordination models Direct coordination Mailbox coordination Meeting-oriented coordination (publish/subscribe) Generative (shared tuple space)

Jini Case Study Coordination system based on Java Clients can discover new services as they become available Example: intelligent toaster Distributed event and notification system Coordination model Bulletin board model Uses JavaSpaces: a shared dataspace that stores tuples Each tuple points to a Java object Overall Approach The principle of exchanging data items between publishers and subscribers.

Overview of Jini The general organization of a JavaSpace in Jini. Communication Events Using events in combination with a JavaSpace

Processes (1) A JavaSpace can be replicated on all machines. The dotted lines show the partitioning of the JavaSpace into subspaces. a) Tuples are broadcast on WRITE b) READs are local, but the removing of an instance when calling TAKE must be broadcast Processes (2) Unreplicated JavaSpace. a) A WRITE is done locally. b) A READ or TAKE requires the template tuple to be broadcast in order to find a tuple instance

A Hybrid Approach: Leases Lease: duration of time for which server agrees to notify proxy of modification Issue lease on first request, send notification until expiry Need to renew lease upon expiry Smooth tradeoff between state and messages exchanged Zero duration => polling, Infinite leases => server-push Efficiency depends on the lease duration Get + lease req Client read Proxy Reply + lease Server Invalidate/update Lecture 20, page 33 Policies for Leases Duration Age-based lease Based on bi-modal nature of object lifetimes Larger the expected lifetime longer the lease Renewal-frequency based Based on skewed popularity Proxy at which objects is popular gets longer lease Server load based Based on adaptively controlling the state space Shorter leases during heavy load Lecture 20, page 34

Cooperative Caching Caching infrastructure can have multiple web proxies Proxies can be arranged in a hierarchy or other structures Overlay network of proxies: content distribution network Proxies can cooperate with one another Answer client requests Propagate server notifications Lecture 20, page 35 Hierarchical Proxy Caching Server HTTP Parent ICP 3 HTTP Leaf Caches ICP 2 ICP Clients HTTP 1 Read A Examples: Squid, Harvest Lecture 20, page 36

Locating and Accessing Data Server for B Read A Node Y (A,X) Get A Node X Get B Node Z Caches Read B Clients Minimize cache hops on hit Do not slow down misses Properties Lookup is local Hit at most 2 hops Miss at most 2 hops (1 extra on wrong hint) Lecture 20, page 37