Making the Grid Pay London e-Science Centre Imperial College London

advertisement
Making the Grid Pay
Economic Services - Pricing and Payment
William Lee
London e-Science Centre
Imperial College London
Introduction
 In the Grid, we want to
“Decouple hosting and software
provision to enable shared and flexible
access to resource across multiple
administrative domains”
London e-Science Centre
Imperial College London
From Sharing to Trading
 Accessing shared grid resources without any
pre-existing trust relationship.
 Why should I trust that service?
 Why should the service trust you?
 How services differentiate themselves?
London e-Science Centre
Imperial College London
Four Fundamental Steps in a Trade
 Introduction
 Discovery / Semantic Grid
 Price Agreement
 Negotiation as a process to agree a price
 Settling a Contract
 Ends negotiation process with a monetary
commitment
 Executing a Trade
 Service Invocation
 Usage Logging
 Monetary Transaction
London e-Science Centre
Imperial College London
Negotiate and pay for
access to a single service
Application Service
Provider
Software
Provider
Hosting
Provider
Payment
Provider
PaymentPortType
Check Payment
AppSpecificPortType
NegotiationPortType
Invoke Service
Negotiate
Price and QoS
Authorise Payment
Client
London e-Science Centre
Imperial College London
NegotiationPortType Activity Diagram
Client
Price:(Integer, 10,2000)
Param1:(Float, 1, 100)
Param2:(Set, {a, b, c})
Param1 > 20 and
Param1 < 40 and
Param2 = {a}
NegotiationPortType
getNegotiableTerms()
NegotiableTerms
negotiate(Proposal)
Proposal
Param1 = 30 and
Param2 = {a}
Price = 400
Once all terms have
been instantiated and
client satisfies
AppSpecificPortType
Reasoning on internal
constraints and
objectives
…
negotiate(Proposal)
Commit on the last
proposed terms in the
session
Proposal
commit()
Signed document
containing agreed terms
Send Agreement in
SOAP header as ticket
Agreement
Sessional Activities
serviceOp()
London e-Science Centre
Imperial College London
Current Design
 Proposals are defined as constraints on
terms.
 Commit operation can carry payment
information to specify client’s monetary
commitment.
 Session information is carried by a unique id
element in the proposal document. Might
consider other Web Service standards for
session.
London e-Science Centre
Imperial College London
Payment Service Requirements
 Abstraction, Abstraction, Abstraction
 Realisation with multiple Payment Systems
 Identity Delegation
 Commodity Security
 Extensive use of WS-Security, XMLSignature
 Resists Replay Attack
London e-Science Centre
Imperial College London
PaymentPortType Activity Diagram
PaymentInfo
S: Client
Client
ChargeableService
PaymentPortType
commit(PaymentInfo)
authoriseTransaction(PaymentInfo)
PaymentInfo
S: Client, Service
Acknowledgement
Agreement
Terms, ID# , PaymentInfo
S: PaymentProvider, Service
ID# , PaymentInfo
S: PaymentProvider
serviceOp()
completeTransaction(PaymentInfo)
Agreement carried in SOAP
header
S: PaymentProvider, Service,
Client
ID#
S: Client, Service
London e-Science Centre
Imperial College London
PaymentPortType
 getPaymentSystem



Input: None
Output: informational document on supported payment system
Faults: None
 authoriseTransaction



Input: Account Information, Amount, max transactions, expiry
Output: signed acknowledgement of transaction ID#
Faults: FromAccountDoesNotExist, ToAccountDoesNotExist, SignatureFailed,
InsufficientFund
 completeTransaction



Input: signed transaction ID#
Output: none
Faults: SignatureFailed, InsufficientFund, TransactionAlreadyComplete,
TransactionDoesNotExist, TransactionHasExpired, etc..
London e-Science Centre
Imperial College London
Foiled Attacks
 Charging without Permission
 Service invocation requires client signed
authorisation, which the PaymentProvider
recognises
 Replay
 Once and only once. Invocation includes
transaction ID# + signed timestamp. Service
detects replay by keeping a cached list of recent
messages.
 PaymentProvider knows maximum number of
transactions, allows micro-payment.
London e-Science Centre
Imperial College London
Current Implementation
WS-Security JAX-RPC Handler
NegotiationPortType
Reasoning
Engine / Human
Operator
RDBMS
AppSpecificPortType
NegotiationStrategy
Instrumented
NegotiationSessionStore
Service Logic to
Term Assertion ensure terms are
API
not violated
AgreementStore
London e-Science Centre
Imperial College London
Current Implementation
WS-Security JAX-RPC Handler
PaymentPortType
AccountPortType
BACS, VISA, etc..
PaymentPortTypeImpl
London e-Science Centre
Imperial College London
AccountEJB
How ‘standard’ is the service?
 Interface Design
 WSDL to describe interface - WS-I (1)
 SOAP for messaging (1)
 WS-Security to sign message body with
client/service certificate (2)
 XML-Signature and XML-Encryption to
sign and encrypt payment information (1)
Risk: Low
London e-Science Centre
Imperial College London
Service Dependencies
 Implementation
 Java J2EE 1.4 Specification
 Currently using Sun Application Server
v.8.0. Follow standard J2EE API and
deployment model to achieve high
portability across compliant containers.
 Take advantage of persistence and
security role mapping.
 RDBMS: storing agreement
 Verisign TSIK toolkit: WS-Security
London e-Science Centre
Imperial College London
AAA & Security
 What authentication mechanism do you use?
 WS-Security X509 Certificate Profile
 What authorisation mechanism do you use?
 J2EE Role-based System
 What accounting mechanism do you use?
 Java Logging
 Does service interaction need to be encrypted?
 Yes
London e-Science Centre
Imperial College London
The Shape of Things to Come
 Evaluation of monetary Payment Systems
 Complex pricing strategy
 Tradable contracts
 Composition of Chargeable Services
 Workflow Optimisation
 Compensation if the service does not deliver?
 Brokering - e-Science North West
 True decoupling of software and hosting
London e-Science Centre
Imperial College London
A Market for Computational Services
 UK core e-Science Programme project
 Explore interface and protocols for trading grid
services
 Funded by the Department of Trade and Industry
 Collaborators
 London e-Science Centre
 e-Science Centre North West
 Southampton e-Science Centre
 UK Grid Support Centre
 Astrophysics at LJM
 http://www.lesc.ic.ac.uk/markets
London e-Science Centre
Imperial College London
Download