how to pay in license script

15
1 International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May 27-29 2004 Ilmenau, Germany How to Pay in LicenseScript C. N. Chong, S. Etalle, and P. Hartel Universiteit Twente, The Netherlands [email protected]

Upload: derek-alexander

Post on 31-Dec-2015

41 views

Category:

Documents


1 download

DESCRIPTION

How to Pay in License Script. C. N. Chong , S. Etalle, and P. Hartel Universiteit Twente, The Netherlands [email protected]. Overview. Introduction Motivation License Script Language License Script Wallet Payment Policies Examples Conclusions and Future Work. Introduction. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: How to Pay in  License Script

1International Workshop for Technology, Economy, Social and Legal Aspects ofVirtual Goods 2004, May 27-29 2004 Ilmenau, Germany

How to Pay in LicenseScript

C. N. Chong, S. Etalle, and P. Hartel

Universiteit Twente, The Netherlands

[email protected]

Page 2: How to Pay in  License Script

2International Workshop for Technology, Economy, Social and Legal Aspects ofVirtual Goods 2004, May 27-29 2004 Ilmenau, Germany

Overview

• Introduction

• Motivation

• LicenseScript Language

• LicenseScript Wallet

• Payment Policies

• Examples

• Conclusions and Future Work

Page 3: How to Pay in  License Script

3International Workshop for Technology, Economy, Social and Legal Aspects ofVirtual Goods 2004, May 27-29 2004 Ilmenau, Germany

Introduction

• Most rights expression languages (RELs) specify rights, terms and conditions.

• But, they are not designed to capture payment management.

• We have proposed LicenseScript.• We have modeled payment with a simple

wallet in our previous work, but:– It is unrealistic.– It is inflexible.

Page 4: How to Pay in  License Script

4International Workshop for Technology, Economy, Social and Legal Aspects ofVirtual Goods 2004, May 27-29 2004 Ilmenau, Germany

Motivation

• To investigate another application domain of LicenseScript.

• Thereby, to show the flexibility of the LicenseScript.

• To model the payment from the user’s perspective.

Page 5: How to Pay in  License Script

5International Workshop for Technology, Economy, Social and Legal Aspects ofVirtual Goods 2004, May 27-29 2004 Ilmenau, Germany

Motivation (cont’d)

• We model the payment with LicenseScript.

• This is useful to verify the payment policies designed.

• How the payment is made, i.e., the underlying implementation details are abstracted by using primitives at the moment.

Page 6: How to Pay in  License Script

6International Workshop for Technology, Economy, Social and Legal Aspects ofVirtual Goods 2004, May 27-29 2004 Ilmenau, Germany

LicenseScript Language

• License consists of three parts: content, clauses, and bindings.

• Clause is a Prolog program to decide if the operation is allowed.

• Bindings store license data.

• Rule can be thought of as firmware of a system.

Bcontentlic ,,( License

.}

),,_,(_

),( -: )({

21

2

1

IdId

IddomaininBvalueget

IdidentifyBcanplay

Clause

pubkey}_{ domaininB Binding

)(

),,(),,(

:)(

Bcanplay

BVideolicBVideolic

Videoplay

Rule

Page 7: How to Pay in  License Script

7International Workshop for Technology, Economy, Social and Legal Aspects ofVirtual Goods 2004, May 27-29 2004 Ilmenau, Germany

Wallet

• Wallet takes the following form:

• Γ is a set of Prolog clauses.

• B is a set of bindings.

type=bankaccount, money=1500,currency=euro, interest=0.5,bankcharge=1

wallet

canload(B1,B2,A):- get_value(B1,money,M), set_value(B1,money,M+A,B2), cantransfer(B1,B2,P,A):- get_value(B1,money,M), get_value(B1,bankcharge,C), C+A<=M, transfer(P,A), set_value(B1,money,M-(A+C),B2)

),( Bwallet

Page 8: How to Pay in  License Script

8International Workshop for Technology, Economy, Social and Legal Aspects ofVirtual Goods 2004, May 27-29 2004 Ilmenau, Germany

Wallet (cont’d)

• We gather all the wallets of a user in a wallet manager.

• Ψ contains clauses that operate over wallets, for instance add_wallet and remove_wallet.

• L is the list of wallets.

),( Lwm

Page 9: How to Pay in  License Script

9International Workshop for Technology, Economy, Social and Legal Aspects ofVirtual Goods 2004, May 27-29 2004 Ilmenau, Germany

Payment Policies

• The payment policies aid in deciding how to perform the payments.

• We need a weight predicate, s.t. weight is a real number in {0,1} inclusive, i.e., p(wallet,weight).

• Given the list of wallets L from wm(Ψ,L), we say that payment policy policy selects wallet wallet(Γ,B) for payment if predicate p(wallet(Γ,B),W) and W is a maximum weight.

Page 10: How to Pay in  License Script

10International Workshop for Technology, Economy, Social and Legal Aspects ofVirtual Goods 2004, May 27-29 2004 Ilmenau, Germany

Brief Implementation Procedure

• Weight predicate p(Wallet,Weight) assigns weight Weight to wallet Wallet.

• Clause select(List,Charge,Wallet) will select wallet Wallet with maximum weight according to predicate p that has enough money to pay Charge, from List.

Page 11: How to Pay in  License Script

11International Workshop for Technology, Economy, Social and Legal Aspects ofVirtual Goods 2004, May 27-29 2004 Ilmenau, Germany

Examples

• We can model various payment policies for different scenarios.

• We can define the predicate p how to assign the weight according to different scenarios.

• Example 1: Minimum bank charge.

• Example 2: Paying with loyalty points (e.g. air-miles, money coupon, and bank account).

Page 12: How to Pay in  License Script

12International Workshop for Technology, Economy, Social and Legal Aspects ofVirtual Goods 2004, May 27-29 2004 Ilmenau, Germany

Conclusions and Future Work

• We have proposed a technique to model and specify payment policies to optimize payment strategies from user’s perspective in LicenseScript.

• We believe this technique blends smoothly with the LicenseScript framework, demonstrating its flexibility.

• Future Work:1. To modify select clause.

2. To specify selection policy.

Page 13: How to Pay in  License Script

13International Workshop for Technology, Economy, Social and Legal Aspects ofVirtual Goods 2004, May 27-29 2004 Ilmenau, Germany

Rule

).'),',(

),,(,(_|

),,,',(|

)),,(,,(|

),,,',(|

)',(),(),',,(

),(),(),,,(:)(

LEwallet

EwalletLvalueset

CPEErcantransfe

EwalletCLselect

PCBBcanplay

LwmpolicyBXlic

LwmpolicyBXlicXplay

Page 14: How to Pay in  License Script

14International Workshop for Technology, Economy, Social and Legal Aspects ofVirtual Goods 2004, May 27-29 2004 Ilmenau, Germany

Implementation I

select(L,C,W) :- map(L,L’), sort(L’,L”), choose(L”,C,W).

• map(L,L’) – returns L’ s.t.

L’={(w,weight)|w in L ^ p(w,weight)}

• sort(L’,L”) – sorts list L’ in L”, s.t.

L”={(w1,weight1),…,(wn,weightn)}, where weighti >= weighti+1, for i=1,…,n

Page 15: How to Pay in  License Script

15International Workshop for Technology, Economy, Social and Legal Aspects ofVirtual Goods 2004, May 27-29 2004 Ilmenau, Germany

Implementation II

• choose([H|T],C,H) :-H = wallet(_,B),get_value(B,money,M),M >= C.

choose([H|T],C,Y) :-choose(T,C,Y).

Choose the 1st wallet in the list that has enough money (in W’s money binding) to pay C.