Download presentation
Presentation is loading. Please wait.
1
International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May 27-29 2004 Ilmenau, Germany 1 How to Pay in License Script C. N. Chong, S. Etalle, and P. Hartel Universiteit Twente, The Netherlands chong@cs.utwente.nl
2
International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May 27-29 2004 Ilmenau, Germany 2 Overview Introduction Motivation License Script Language License Script Wallet Payment Policies Examples Conclusions and Future Work
3
International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May 27-29 2004 Ilmenau, Germany 3 Introduction Most rights expression languages (RELs) specify rights, terms and conditions. But, they are not designed to capture payment management. We have proposed License Script. We have modeled payment with a simple wallet in our previous work, but: –It is unrealistic. –It is inflexible.
4
International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May 27-29 2004 Ilmenau, Germany 4 Motivation To investigate another application domain of License Script. Thereby, to show the flexibility of the License Script. To model the payment from the user’s perspective.
5
International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May 27-29 2004 Ilmenau, Germany 5 Motivation (cont’d) We model the payment with License Script. 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.
6
International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May 27-29 2004 Ilmenau, Germany 6 License Script 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. License Clause Binding Rule
7
International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May 27-29 2004 Ilmenau, Germany 7 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)
8
International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May 27-29 2004 Ilmenau, Germany 8 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.
9
International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May 27-29 2004 Ilmenau, Germany 9 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.
10
International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May 27-29 2004 Ilmenau, Germany 10 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.
11
International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May 27-29 2004 Ilmenau, Germany 11 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).
12
International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May 27-29 2004 Ilmenau, Germany 12 Conclusions and Future Work We have proposed a technique to model and specify payment policies to optimize payment strategies from user’s perspective in License Script. We believe this technique blends smoothly with the License Script framework, demonstrating its flexibility. Future Work: 1.To modify select clause. 2.To specify selection policy.
13
International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May 27-29 2004 Ilmenau, Germany 13 Rule
14
International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May 27-29 2004 Ilmenau, Germany 14 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”={(w 1,weight 1 ),…,(w n,weight n )}, where weight i >= weight i+1, for i=1,…,n
15
International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May 27-29 2004 Ilmenau, Germany 15 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 1 st wallet in the list that has enough money (in W’s money binding) to pay C.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.