Title: DISTRIBUTED APPLICATIONS
1DISTRIBUTED APPLICATIONS
-
- Session 5 1400 - 1500
- Dr Deepak B Phatak, IIT Bombay
2SESSION OVERVIEW
- Indian Banking Scenario
- Distributed Paradigms
- How to Construct the Distributed Infrastructure
3BANKING BUSINESS
- Requires Emphasis on
- Fast Movement of Funds
- Purposeful Expansion and Retention of Customer
Base - Non Repudiation of Valid Transactions. (TXNs)
4CONVENTIONAL RETAIL BANKING
- Low Value High Volume TXNs
- Attractive Deposit Products
- Speedy Customer Service
- Local TXNs, Within a Branch,
- Remote TXNs, Within A City,
- Anywhere Globally
5INDIAN BANKING SCENARIO
- Coexistence of Computerised, Semi-Automated and
Manual Branch Operations - Stronger Networks Emerging
- Any Banking Paradigm Must
- Work in Existing Situation
- Quickly Exploit Changes
6DISTRIBUTED PARADIGMS
- Hierarchies of Servers/Clients
- Use of Message Queues and/Or TP Monitors
- Multiple Delivery Mechanisms
7DELIVERY MECHANISMS
- Post, Telegrams, Fax
- Machine Readable Data On Media
- Data Transfer Through Networks
8MODERN NETWORKS
- Ethernet
- 10 Mbps, 75 Market, Over 40 Million nodes
- Token Ring
- 4/16 Mbps, 16
- Fast Ethernet
- 100 Mbps, 1, growing fast
9MODERN NETWORKS
- FDDI
- 100 Mbps, lt 1, Dying
- ATM
- 25 Mbps to 2.4 Gbps, Nascent
10MODERN NETWORKS (WAN BACKBONE)
- North American
- T1 or DS1 1.54 Mbps
- T3 or DS3 44.73 Mbps
- European (and Indian)
- E1 2.04 Mbps (CCITT standard)
- E2 8.44 Mbps
- E3 34.36Mbps
11MODERN NETWORKS (WAN BACKBONE)
- Sonet fibre Standards (ANSI, Synchronous optical
Network) - OC1 to OC3
- (51.84, 103.68, 155.52 Mbps)
- OC12 (622.08 Mbps)
- OC24 and OC48
- (1.244 Gbps, 2.488 Gbps)
12MODERN NETWORKS
- WAN Backbone
- IP Over Leased Circuits / Dial up Lines (Internet
Is IP) - X.25, Frame Relay, ATM (IP Can Run Over These)
- VSATS ( Delays, 400 ms Per Hop)
13TRANSACTIONS
- ACID Properties Revisited
- Atomicity All or None
- Consistency Stable Correct End State
- Isolation Unaffected by Other Happenings
- Durability Persistent Effect
14TRANSACTIONS
- A Single User Example
- Is It Simple to Handle?
- What Happens in a Crash?
- Simple If Things Work Correctly
- Difficult If Things Go Wrong.
15TRANSACTIONS
- Concurrent Distributed Transactions, More
Problems - Consistency and Isolation
- Roll Back Is Difficult
- Lock Step Synchronization Through Two Phase Commit
16TRANSACTIONS
- Flat Transactions
- Activities Are at Same Level
- SQL Implements Two Phase Commit Protocol
- Backbone of Most (Leaf-level) Applications
17FLAT TRANSACTIONS
- Limitations
- Complex Sub-activities With Partial Roll Back?
- Human in the Loop Locks Resources
- Temporally Long Transactions
- Bulk Update Transaction
18PAYMENT SETTLEMENT
- A Complex Transaction
- Jena of Jharsuguda gives a cheque to
Kantheeswaran at Kandivali - Kanthee Banks with Bank A at Kandiwali A(K)
- Jena With Bank B(J)
19PAYMENT SETTLEMENT
- Kanthee Presents Cheque to A(K) and demands money
- A(J) credits Kanthees account AFTER collecting
from B(J)
20DISTRIBUTED PROCESSING SOLUTION
NCC
Bank A
Distributed Transaction
Bank B
Kandiwali
Jharsuguda
Local Data Base
Local Data Base
Jena
Kantheeswaran
21PAYMENT SETTLEMENT
- A presents the instrument to NCC
- NCC records information
- Sorts all Instruments for Bank B
- Asks B to pay A
- B sends Cheque to Jharsuguda (J)
22PAYMENT SETTLEMENT
- B(J) debits Jena
- Informs NCC and A(K)
- A(K) credits Kanthee
- Multiple Service Branches Are Actually Involved
23 PAYMENT SETTLEMENT
- Transaction becomes funny if
- Jena has no funds
- Cheque is lost in transit
- B Debits Jena But Sits Tight
- A Receives Info, But Does Not Credit Kanthee
24PAYMENT SETTLEMENT
- More fun
- NCC Asks B to Pay A
- Later, B says give back my money
- Jena debited but Kanthee not credited (Someone
Using Float) - Kanthee sues A for delay
25DISTRIBUTED PROCESSING SOLUTION
NCC
Inter Bank Transaction Switch
B Switch
A Switch
Bank A
Distributed Transaction
Bank B
Kandiwali
Jharsuguda
Local Data Base
Local Data Base
Jena
Kantheeswaran
26TRANSACTIONS
- Emerging Transaction requirements
- Distributed Transaction
- Multiple Processing Nodes
- Not All Nodes Computerised
- Not All Links Electronic
27TRANSACTIONS
- ACID properties difficult to maintain for a
Complex Transaction - Human in the Loop is a MUST
- Carry Physical Instruments
- Multiple Data Capture
- Verify Signatures at B(J)
28TRANSACTIONS
- A Possible Solution is To Reduce Humans in the
Loop - Cheque Is a Message and Not a Physical Instrument
- NCC Is a Swithing System and Not a Physical
Clearing House - Electronic Transfer
29TRANSACTIONS
- Emerging Requirements
- Multi Location Transactions
- Incorporation of Work Flow
- Internet Transactions
30MIDDLEWARE
- A Vague Term
- All Distributed Software Components That Support
Interactions Between Application Software
Executing On Clients and Servers
31MIDDLEWARE
- General
- Communication stacks
- Distributed Directories
- Authentication Service
- Remote Procedure calls
- Queuing Services
- Message Oriented Middleware (MOM)
32MIDDLEWARE
- Service Specific
- Database related ODBC, DRDA, CLI
- OLTP Specific ATMI ( Tuxedo)
- Groupware Specific MAPI, LN calls
- Object Specific CORBA, OLE
- Internet Specific HTTP, SSL
- Management Specific SNMP, ORBs
33PEER TO PEER COMMUNICATION
- Connection Oriented
- Synchronous
- Connection Less
- Asynchronous, Store and Forward
34EXAMPLES OF DISTRIBUTED PARADIGM
- Bank Master and Branch Power
- Bancs 2000
- Micro Banker and Finware
35 EXAMPLES OF DISTRIBUTED PARADIGM
- Provide Branch Functionality When Network Non
Functional - Provide Complete Customer Account and TXN Info
- Attempt to Provide Retail and Commercial
Functionality
36EXAMPLES OF DISTRIBUTED PARADIGM
- SBI
- IDBI Bank
- ICICI Bank
- HDFC Bank
- A Malysian Bank Uses Four Servers For Many
Branches
37DISTRIBUTED INFRASTRUCTURE
- Needs Indian Messaging Standards
- Needs Proper Application Software Development
- Needs Work Flow Changes
38BUILDING BLOCKS
- Client Systems
- Non-GUI
- ATMs, Barcode readers, cellular phones, fax
machines - Robots, Testers, Daemon Processes
- GUI Clients
- Graphics, Menus, Windows, dialogues
39BUILDING BLOCKS
- OOUI Clients
- Communicating objects
- Seamless access to information and action
- Compound Documents
- Live components
- NextStep, Mac OS
40BUILDING BLOCKS
- SHIPPABLE PLACES
- Place A visual ensemble of related components
- Shippable Place A mobile container
- can interact with collaborative environments
- Web, web form, Java enabled web pages, Compound
Docs
41MORE ON SECURITY
- Kerberos from Athena (MIT)
- Encryption, Session Key
- Data Encryption Standard (DES-3)
- Shared Private key
- RSA, DH Algorithms
- Public/Private key
42PEER TO PEER COMMUNICATION
- Sockets
- BSD 4.2 UNIX, 1981
- Netid.Hostid.Portid (IP Port)
- Port (16 bit) entry point to service
- Transport Layer Interface (TLI)
- ATT, 1986
43PEER TO PEER COMMUNICATION
- Connection Oriented
- Session based
- Virtual Circuits
- Connectionless
- Datagrams
44PEER TO PEER COMMUNICATION
- Internet Package Exchange IPX
- Based on Xerox Network Services (XNS)
- Sequential Packet Exchange (SPX)
- NetBIOS, NetBEUI
- IBM, Sytec (1984), Microsoft
45PEER TO PEER COMMUNICATION
- Named Pipes
- Remote Procedure Calls
- Locate and start Server functions
- Define and pass parameters
- Handle Security and Failures
- Data representation
46PEER TO PEER COMMUNICATION
- Message Oriented Middleware (MOM)
- Distributed Application Development (DAD) needs
MOM - MOM consortium in 1993
- Queued Vs Call-return of RPC
- Provides Asynchronous Mechanism
- Ideal for Objets