Brian Shand Jean Bacon {Brian.Shand,Jean.Bacon} @ cl.cam.ac.uk A - - PowerPoint PPT Presentation

brian shand jean bacon
SMART_READER_LITE
LIVE PREVIEW

Brian Shand Jean Bacon {Brian.Shand,Jean.Bacon} @ cl.cam.ac.uk A - - PowerPoint PPT Presentation

Brian Shand Jean Bacon {Brian.Shand,Jean.Bacon} @ cl.cam.ac.uk A Tool for Profitable Distributed Services Contracts Trust Negotiated web services, Risk of GRID computation, SLAs untrustworthy participants Resources


slide-1
SLIDE 1

Brian Shand Jean Bacon

{Brian.Shand,Jean.Bacon} @cl.cam.ac.uk

slide-2
SLIDE 2

2

A Tool for Profitable Distributed Services

Trust

  • Risk of

untrustworthy participants

Resources

  • Self-funding services

and quality guarantees

Contracts

  • Negotiated web services,

GRID computation, SLA’s

slide-3
SLIDE 3

3

Policies in Accountable Contracts

Contract Monitoring Automatic trustworthiness measurements Contract Performance Resource-based virtual economy Contract Selection Contract architecture Policies Components

slide-4
SLIDE 4

4

Application Scenarios

  • Public compute servers (GRID computation)
  • Flexible prioritisation in large distributed systems
  • Web services
  • Publish-subscribe middleware – e.g. Active City
slide-5
SLIDE 5

5

Contracts

  • Non-repudiable promises to act
  • Contract Definitions

– A contract prescribes actions for each participant – By signing the contract, each participant promises to be bound by it – A contract is agreed upon when all participants have signed it – A contract is cancelled when everyone signs a special cancellation message

  • But contracts need to be prioritised
slide-6
SLIDE 6

6

Resource Economy

  • Homogeneous model

– money, trust, CPU, network, storage etc.

  • Multi-scale representation
  • Accounting of all resources

Bind contracts and resources together. Can prioritise and monitor contracts.

Accounting Functions

Introduces cost and risk.

Resource Model

Non-repudiable promises to act. Allow planning.

Contracts

{ { {

slide-7
SLIDE 7

7

def accountEg2(self,atom,imports): if atom.type==resources.cpuTime: if imports[0] > 0.10: rate = imports[0] else: rate = 0.10 return [ResourceAtom( resources.money,'£', rate*atom.quantity)]

Example: Accounting Functions

def accountEg1(self, atom, imports): rate = 1.10*imports[0] return [ResourceAtom( resources.money,'£', rate*atom.quantity)]

Contracts and Accounting

  • Multi-scale Contract

Representation

  • 1. Server and client identities
  • 2. Expected resource

requirements

  • 3. Accounting function

(payment policy)

  • 4. Actions to perform
  • Accounting

Language

  • 1. Limited language:

predictable execution time

  • 2. High-level description of

resource exchange

  • 3. Allows introspectible

contracts

slide-8
SLIDE 8

8

Accounting Policy

  • Accounting functions allow:

– Contract policy specification – Contract prioritisation – Risk estimates with limited resource outlay Complex code example:

def processResourceAtom(self, atom, imports): if atom.type != resources.cpuTime: return [] # Charge for CPU only rate = imports[0] if self.totalCPU < 10: result = rate+0.01 else: result = rate+0.002 self.totalCPU += atom.quantity return [ResourceAtom(resources.money, '£', result*atom.quantity) ]

slide-9
SLIDE 9

9

Trust Monitoring

  • Subjective trust model (Jøsang, 2001)

– Trust, distrust, uncertainty – Based on local assessments

  • f trustworthiness

– Constantly updated with new data

  • Trust delegation certificates

– Web of trust, c.f. PGP recommendations – Distributed trust management; standing surety – Subsume reputation agencies

Trust Uncertainty Distrust (1,0,0) (0,0,1) (0,1,0)

slide-10
SLIDE 10

10

Integrating the Three Strands

Scheduled according to expected profitability. Contracts mediated by trust.

Accountable Contracts

Models expected contract payment. Constantly re-assessed.

Trust Model

Bind contracts and resources. But: Need sanctions for cheats.

Accounting Functions

Basis for accounting.

Resource Model

Non-repudiable promises to act. Allow planning.

Contracts

{ { { { {

slide-11
SLIDE 11

11

Contract Policy Trade-offs

Selection of New Contracts Performance of Existing Contracts Profit Incentive

Consistency vs Flexibility Gambling for Profit Monitoring Overheads

slide-12
SLIDE 12

12

Conclusion

  • Accountable contracts support profit-based distributed services
  • Separation of task acceptance and performance

– introspectible, automatic contracts – explicit risk assessments

  • Allows flexible policy specification
  • Further work:

– Explicit integration of reputation into contracts – Theoretical basis for trust model – Developing prototype applications