1 / 12

OpenLDAP Proxy Cache Development

This agenda focuses on LDAP query caching, proxy cache architecture, implementation issues, and future plans in LDAP development with a detailed analysis of query containment and cache backend structures.

gcolbert
Download Presentation

OpenLDAP Proxy Cache Development

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. OpenLDAP Proxy Cache Development Apurva Kumar IBM India Research Lab

  2. Agenda • LDAP query caching. • LDAP proxy cache. • Proxy cache architecture. • Implementation issues. • LDAPsync and proxy caching. • Future development plans.

  3. LDAP query caching • Problems with large enterprise directories • Scalability • Large delays for remote sites. • Alternatives • Partial replication. • Partitioning. • Advantages of query caching • Caches queries rather than naming contexts. • Answers repeat and contained queries. • Utilizes locality of reference.

  4. LDAP query cache operation • Caches entries and metadata corresponding to search requests. • Query containment: Determines if an incoming query is semantically contained in cached queries. • Answers contained queries locally. • Contacts backend for queries not contained.

  5. Template based query containment • General query containment: A query filter F1 is contained in another filter F2 iff (F1 & !F2) is inconsistent. • Template: Prototype for generating query filters, e.g. (sn=), (&(sn=)(givenName=)). • Typical applications use only a few templates. • Template based containment: Cache queries belonging to specified templates. • Simplifies containment problem • Use only those templates which can possibly answer the query. • Same template: Comparisons of corresponding simple filters. • Cross template: Predetermined conditions.

  6. LDAP proxy cache • An LDAP proxy extended for query caching. • Why implement query caching inside directory servers ? • Query containment requires syntaxes and matching rules. • Applications need not change. • Common functionality (search,add etc.) with directory servers. • Can be integrated with synchronization mechanisms like LDAPsync.

  7. Proxy cache architecture Front end Meta backend+QC+CM - search - others LDAP client Merge/add remove | | LDAP API Cache backend QC: Query Containment engine CM: cache manager Add Modify Delete Database backend Proxy cache Cache backend backend server

  8. OpenLDAP proxy cache: Algorithms • Cacheability: what to cache ? • Incoming queries • Queries belonging to specifed templates. • Queries satisfying a size limit. • Cache replacement: Removes LRU query. • Prefetching: Currently not implemented. • Consistency: TTL based weak consistency.

  9. Implementation issues • Ideally any backend should be able to act as a cache store. • Issues: • Sparse subtree problem. • Adding entries without parent. • Removing entries without children. • Searching without search base in the cache. • Disabling schema check. • Disabling access control for cache operations. • Current solution is to disable checks when a caching operation is being performed. • Alternatives: glue entries, rootDN, backend flags.

  10. LDAPsync and proxy cache • LDAPsync can be used to support • Polling based updates. • Strong consistency. • Replication + caching • Replicated filters capture static referential locality. • Cached filters capture dynamic referential locality. • High hit ratio. • Interaction between proxy cache and LDAPsync • LDAPsync provides consistency for cached filters. • Proxy cache allows answering of queries from replicated filters.

  11. Design changes Frontend+QC+CM Cache backend LDAP client Proxy/meta backend Database backend Proxy cache backend server

  12. Future Work • Combining LDAPsync and proxy cache. • Using cache specific schema for representing queries and implementing containment. • (draft-apurva-ldap-query-containment-01.txt) • Implementation of prefetching algorithms.

More Related