[Odrl-version2] RE: ODRL-Version2 Digest, Vol 9, Issue 7

Vicky Weissman vickyw at cs.cornell.edu
Mon Aug 29 22:58:38 EST 2005


Hi Susanne,

Thanks for the feedback.  Having read your comments, I suspect I'm a little
rusty on the language.  Sorry for the mistakes.  Please let me know if this
is correct: an agreement between an owner po and a user pu about an asset a 
can be captured by a set of statements S = {s1, ..., sm}, where each s is of
the form \forall x (MemberOf(x, pu) AND c1 AND....AND cn => Perm(x, act, a)),
each c is a constraint and act is an action.  Two elements of S can differ on
the constraints and the action, but not on a or pu.  Yes?  If so, the problem
that I mentioned with ForEachMember doesn't exist, but we have to tweak the
naïve algorithm slightly.  We let T be the set of statements in S with x
replaced by Alice. 

<S>
We thought about this "and" "or" expressiveness in our model in Lissabon but
did not really find a nice solution. Any proposals?
<V>
Can you give some examples of what you'd want to do with the "and" and "or"
constraint containers?  Do you remember which solutions were proposed and
what people didn't like about them? 

<S>
We have to assume our members are known. Which would also be the case in a
real implementation.
<V>
Suppose that the Cornell library signs an agreement with the ACM.  The
agreement is that any member of the Cornell community (student, faculty, or
staff) can print any ACM article up to 5 times.  Could such an agreement be
written in ODRL?  If the answer is yes, what happens to next year's incoming
class?  At the time the agreement was made, they were not members of the
Cornell community nor were their identities known, but intuitively they
should be able to make copies once they join Cornell.  With this example in
mind, I think membership should be determined at the time a request is made
(e.g., when Alice asks to copy an ACM article) and not assumed to be known
when the agreement is signed.  What do you think?   

<V1> (paraphrasing and polishing a bit)
Consider the statements "if Alice has made less than 5 copies of h, she is
permitted to copy f" and "if Alice has made at least 5 copies of h, she is
permitted to copy f".  Should we conclude that Alice may copy f, even if we
do not know how many times she copied h?  The intuitive answer (at least to
me) is that Alice may copy f because either she has made fewer than 5 copies
of h, in which case the first statement implies the permission, or she has
made at least 5 copies, in which case the second statement implies
permission.  An alternative is to say that a permission is granted iff it
follows from a single statement, in which case Alice may not necessarily copy
f because neither statement alone gives her permission.  Two slight
modifications to the alternative approach are (1) assume that all relevant
environment facts are known, in which case we know how many times Alice
copied h and we can conclude either from the first or second statement alone
that she may copy f and (2) allow the application (i.e., the parties in the
agreement) to define when a permission follows from a set of statements based
on whether it follows from each statement individually.  
<S>
That seems to be a good approach [alternative approach + 2]:  Do I understand
that correctly: In our case above, in case the rule is "permissions are
granted if it follows from a single statement" then the permission is
granted.  Then a second iteration may start with the rule "permissions are
granted if it follows from 3 statements." then the permission would be
denied.  After, the second iteration we have an indicator for statements
whose constraints cancel out. The interpretation process of each individual
party might decide how to deal in these cases...no?
<V2>
I didn't understand your response, so I suspect we're not together.
Hopefully, my rewrite above helped.  Let me reiterate the key points here.
Suppose we say that a set S of statements imply a permission p iff there is
an s in S such that s implies p.  Then, according to the definition, the
statements "if Alice has made less than 5 copies of h, she is permitted to
copy f" and "if Alice has made at least 5 copies of h, she is permitted to
copy f" do not imply that Alice my copy f.  The permission doesn't follow
from the first statement, because Alice might have made more than 4 copies,
and the permission doesn't follow from the second statement, because Alice
might have made less than 5 copies.  In general, I don't see how we could
efficiently detect statements whose constraints "cancel out" based on whether
the statements individually imply a permission.  

I would like to create an algorithm that can be used to determine whether a
set of ODRL licenses imply a permission, but I might not get to this for
awhile because of other commitments.  Is there a particular date by which you
need to have this for it to be considered for the new release or should I
just get to it as soon as possible?

Best,
Vicky  


More information about the Odrl-version2 mailing list