Download presentation
Presentation is loading. Please wait.
Published byOliver French Modified over 5 years ago
1
A Distributed Tabling Algorithm for Rule Based Policy Systems
Miguel Alves, Carlos Damasio, Wolfgang Nejdl, Daniel Olmedilla IEEE Policy, June 4-6, 2006
2
Motivation Scenario Online Sharing Pictures
Bob: Is Tom a friend of Bob? Bob: Is Tom a friend of Alice? Bob: Check local friend list Bob: Is Tom a friend of Frank? Alice: Is Tom a friend of Alice? Frank: Is Tom a friend of Frank? Alice: Is Tom a friend of Bob? Alice: Is Tom a friend of Frank? Frank: Is Tom a friend of Alice? Frank: Is Tom a friend of Bob? Alice: Check local friend list Frank: Check local friend list Policy 2006 22/04/2019
3
Problem Statement CIA Agents
I show you my CIA badge If you show me yours first I show you my CIA badge If you show me yours first [ Li, Du,BonehWinsborough, Seamons, Jones. Oblivious Signature-Based Envelope DARPA ACM Symposium on Principles of Distributed Computing, 2003] Policy 2006 22/04/2019
4
Problem Statement Loop Detection
From a declarative specification point of view Loops may easily occur Policies are complex and large in number Typically, they are not under the control of a single person Loops are not errors However, if not handled correctly They may end up in non-terminating evaluation Policy 2006 22/04/2019
5
Problem Statement Existing Validation & Verification Techniques
Locally (on own policies) Policy specification Static checking Tabling Model checking Etc. They do not apply in a distributed setting because Too large number of potential policies Policies at other entities may be private Policies are dynamic Applicable policies are known only at runtime Policy 2006 22/04/2019
6
SLD Resolution Definition
Goal G = ( L1, … , Lk , … , Lm ) Clause C = ( A :- M1 , … , Mn ) Resolvent G’ = ( L1, … , Lk-1 , M1 , … , Mn , Lk-1 , … , Lm ) θ θ = mgu (Lk , A) Policy 2006 22/04/2019
7
Each new sub-goal is tabled, and its answers stored in that table
Tabling Definition Technique for goal-oriented evaluation of logic programs by storing computed answers in tables (a.k.a. tabulation) Each new sub-goal is tabled, and its answers stored in that table Resolution returns the answers of the table Repeated answers are not propagated Policy 2006 22/04/2019
8
friendOf(alice,alice)
Tabling Example friendOf(X,alice) friendOf(X,bob). friendOf (X,Y) :- friendOf (Y,X). friendOf (X,alice). □ friendOf(alice,X) {bob/X} {alice/X} □ □ friendOf(X,alice) Subgoals Answers □ friendOf(X,alice) friendOf(X,alice) friendOf(alice,X) friendOf(alice,bob) Reuse answer Reuse answer friendOf(alice,alice) Policy 2006 22/04/2019
9
Distributed Tabling Elements
Peer Prover Perform the logical operations on goals Send a request to peer client for each new sub-goal selected and wait for the answers Able to produce the proof of an answer Peer Client Keep the tables and answers for goal calls Goal Manager Interfaces a community with the outside world One per community Major function is to detect termination Policy 2006 22/04/2019
10
Distributed Tabling Example of Running Architecture
Policy 2006 22/04/2019
11
Distributed Tabling Security & Privacy
Sharing dependencies during evaluation makes tabling easier It brings privacy concerns Sharing dependencies may discover partnerships and the policies themselves Two kind of predicates: Public: can be queried and included in the proof Private: cannot be queried and must remain hidden Two kinds of calls: Authorization call (call for evaluation) Proof (explanation of the evaluation) Policy 2006 22/04/2019
12
Distributed Tabling Messages Interaction
Policy 2006 22/04/2019
13
Distributed Tabling Example
Policy 2006 22/04/2019
14
Distributed Tabling Termination Detection
Crucial to detect In order to inform the requester there are no more answers (or request failed) Needed for Negation as Failure Allow to free resources used during evaluation Global Termination Detect when all goals are finished No need to share dependencies among peers Local Termination Detect when each goal is finished Need to share dependencies Privacy problems It allows to have NAF Policy 2006 22/04/2019
15
Conclusions & Further Work
A distributed tabling algorithm is presented Detects loops Without increasing the complexity of the system (PTIME) Handles public and private policies and proof generation Implemented and tested Further work Reduce communication among peers Better management of information Reduce risk of information leakage Research on local termination algorithms Taking privacy into account In order to allow NAF Policy 2006 22/04/2019
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.