[Date Prev][Date Next] [Chronological] [Thread] [Top]

RE: New functionality proposed



Sorry about the malformed message. Outlook "helped" me improve the look
of the mail.
Thanx for the input. I know that LDAP is session oriented but one way or
another I need to "broadcast" the request if it is not found locally and
cannot be localized in any other way. The idea is to only have the entry
in one instance to reduce sync's as well as actual size of the local
database. These broadcasts should be infrequent based on the assumption
that a vast majority of lookup requests are satisfied locally. Any idea
how to solve that?

Bengt Hammarlin
Software Designer
Mobeon AB
Office +46 60 16 10 86 
Mobile +46 73 325 8506 

-----Original Message-----
From: Howard Chu [mailto:hyc@symas.com] 
Sent: den 20 augusti 2004 01:35
To: Bengt Hammarlin
Cc: openldap-devel@OpenLDAP.org
Subject: Re: New functionality proposed

It took some effort to make sense of this email, but the idea seems
interesting. I would start by looking at the ProxyCache overlay since
intelligent caching may reduce your reliance on the other aspects of
your idea. Also, as LDAP is a session-oriented protocol, your use of the
word "broadcast" is suspect. A decent design in a bandwidth-limited
environment would choose a single target server from the pool of
available servers and make a single request to that server; broadcasting
a request to all available servers is only possible when all of the
servers are on the same LAN as the querier and even then it's of
questionable merit.

Next I would look at extending back-ldap to allow runtime-specifiable
target servers instead of a single statically configured target. How you
manage your rules to select which server to use can be solved as a
completely independent issue.

Bengt Hammarlin wrote:<>

Hi guys, I am proposing to develop new functionality for "intelligent" 
routing of requests to a distributed LDAP database.
This would be done to better utilize network and server resources,
especially where infrastructure might be insufficient.
The assumptions made for this are
   The database is relatively large
   The database is used on several systems geographically distant
    Data can be logically localized
    A vast majority of directory lookups are local
   Network and/or server resources can be exhausted if every request is
broadcast to all servers

Based on that I am suggesting a design along these lines.

A new backend is done based on current ldap or meta backends This
backend would have a base functionality that first sends the request to
the defined local LDAP server and if it fails the request is broadcast
to the remaining servers in the setup. There would be configurable
options
   A rule based request analyzer that would based on rules route the
request to a specific server (assuming sufficient data present in the
request)
   Caching that would store key data locally to determine witch server
to route the request to
   Key data replication to determine where to route requests

I  would appreciate thoughts and suggestions on this plus any
documentation on how to develop a backend and/or on suggested backends 
to use as a starting point. Bengt Hammarlin   = ;Office +46 60 16 10 86 
Software Designer = ; Mobile= =20 +46 73 325 8506 Mobeon AB

--
  -- Howard Chu
  Chief Architect, Symas Corp.       Director, Highland Sun
  http://www.symas.com               http://highlandsun.com/hyc
  Symas: Premier OpenSource Development and Support