1 / 23

Policy Engine

Policy Engine. Research: Design & Language. Control Middleware. Design: Extensibility. Current Implementation Issue : D ifferent functions to communicate with different managers Objective: m odular extensible design. Design: Extensibility. Can we leverage MIH design ?.

ilario
Télécharger la présentation

Policy Engine

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Policy Engine Research: Design & Language IRT Lab, Columbia University

  2. Control Middleware IRT Lab, Columbia University

  3. Design: Extensibility Current Implementation Issue: Different functions to communicate with different managers Objective: modular extensible design IRT Lab, Columbia University

  4. Design: Extensibility Can we leverage MIH design ? IRT Lab, Columbia University

  5. Leverage MIH Registration Policy Engine(PE) is similar to MIH Function IRT Lab, Columbia University

  6. Events and Services • Manager provides events and services • Events: • Link change • Network change • Location change • Services • Subscriber can query the value of certain attributes (current location, current bandwidth, etc.) • Subscriber can send decisions/notifications • Policy engine subscribes to events and services (put in tables) IRT Lab, Columbia University

  7. Tables in Policy Engine • Event Table • Events from each connected manager • Each event will trigger a different evaluation • Service Table • Subscribed services from managers or other modules • Methods / API to access the service also recorded IRT Lab, Columbia University

  8. Policy Language Research: Design & Language IRT Lab, Columbia University

  9. Why ? • Environment • Mobile Devices • Heterogeneous networks/interfaces • Network selection and handover • Default rules • Manual switch • Control middleware • Unified policy language IRT Lab, Columbia University

  10. Use Cases • Different network usage for different user scenarios • Different places (office / home) • Different time (morning / evening) • Different activities(working / playing) • Different devices (monitors / phones) • Different security options • Application preferences • Some need high throughput • Some need lowest money cost IRT Lab, Columbia University

  11. Related Works • Policy expression framework • Standard schemas • P3P / SAML / … • Rule-based policies • Accountability in RDF (AIR) • Custom configurations • For particular applications IRT Lab, Columbia University

  12. Language Design Attributes Evaluation Decision Knowledge base IRT Lab, Columbia University

  13. Language Semantics • Attribute : Network / System • Term : Value (Binary evaluation) or range (T/F) • Score : Evaluate score from one attribute • Eval : Trigger evaluation and generate facts (each event will trigger one eval, which may evaluate several terms and scores) • Fact : Predicate Logic unit • Rule : Making decisions by forward chaining (facts => actions) IRT Lab, Columbia University

  14. Attributes • Deterministic • Location • Time • Scenario profiles (meeting / working / traveling) • Security • Devices • Non-Deterministic • Quality of Service (QoS) • System Resources • Expense/Cost IRT Lab, Columbia University

  15. Attribute Representation Example: derived attr { id: bp_ratio attr: bandwidth (x1) attr: price (x2) func: x1 / x2 } • Direct attributes • Corresponding entry in the service table • Derived attributes • Combination of attributes • Evaluated as a single attribute • Attribute table: • Name of the attribute • How to get the value of the attribute IRT Lab, Columbia University

  16. Deterministic Evaluation Example: term { id: at_home attr: location values: home } term { id: mid_bw attr: bandwidth low: 50 high: 200 } • Binary (Yes/No) • Range (In range or not) • Term • id • attr : evaluated attribute • values : expected values • low : lowest value • high : highest value IRT Lab, Columbia University

  17. Non-deterministic Evaluation 0.9 bp_ratio 0.7 signal 0 0.2 latency 1 Example: score { id: bw_score attr: bandwidth order: linear max: 1000 min: 0 priority: 0.7 } Example: score { id: price_score attr: price order: linear max: 0 min: 1000 priority: 0.9 } • Attribute value -> score (0 ~ 100) • Priority (used as weight when evaluating multiple scores) • Score • id: name of the score • attr: evaluated attr(s) • how: max, min, order • priority : 0 ~ 1 IRT Lab, Columbia University

  18. Eval Examples: eval { id: eval1 { attr: location => location(x) } { term: mid_bw => mid_bw(x) } { score: bw_score => highest_bw(x) } { score: price_score => cheapest(x) } { score: bw_score score: price_score => most_worth(x) } } • Event triggered • id: used by Event Table • Generate facts • attributes: directly turned • terms: which satisfies • scores: highest score • Only one score • Multiple scores: weighted sum • fact: predicate(params) IRT Lab, Columbia University

  19. Decision Example: rule { location(home) cheapest(x) => decide(1, x) history(home, x) } Attribute evaluations -> Facts Rule Engine:Facts -> Actions Actions: decisions/ facts Decisions: Leverage service table IRT Lab, Columbia University

  20. Knowledge Base Data Store Taking history into account IRT Lab, Columbia University

  21. Implementation • Policy Language • Syntax abstracted from the examples • LRM to be developed • Implementation language: C • More efficient • Inside system • Rule Engine can leverage logic language • Prolog IRT Lab, Columbia University

  22. Conclusion • Structures • attr, term, score, eval, fact, rule • Advantages • Configurable & Programmable • Configurations can be simple (XML/JSON) • Programmable rule chains can generate intelligent decisions • Extensible (attributes, evaluations, rules) IRT Lab, Columbia University

  23. Next Steps Implementation Evaluation IRT Lab, Columbia University

More Related