Multiple Service Providers and Distributed Entries

pays@faugeres.inria.fr Thu, 08 July 1993 13:37 UTC

Received: from ietf.nri.reston.va.us by IETF.CNRI.Reston.VA.US id aa05087; 8 Jul 93 9:37 EDT
Received: from CNRI.RESTON.VA.US by IETF.CNRI.Reston.VA.US id aa05082; 8 Jul 93 9:37 EDT
Received: from haig.cs.ucl.ac.uk by CNRI.Reston.VA.US id aa09543; 8 Jul 93 9:37 EDT
Received: from bells.cs.ucl.ac.uk by haig.cs.ucl.ac.uk with local SMTP id <g.00949-0@haig.cs.ucl.ac.uk>; Thu, 8 Jul 1993 14:24:21 +0100
Received: from faugeres.inria.fr by bells.cs.ucl.ac.uk with Internet SMTP id <g.08164-0@bells.cs.ucl.ac.uk>; Thu, 8 Jul 1993 14:23:54 +0100
X400-Received: by /PRMD=inria/ADMD=atlas/C=fr/; Relayed; 08 Jul 93 15:21:36+0200
Date: 08 Jul 93 15:21:36+0200
Sender: ietf-archive-request@IETF.CNRI.Reston.VA.US
From: pays@faugeres.inria.fr
To: osi-ds@cs.ucl.ac.uk
Subject: Multiple Service Providers and Distributed Entries
Message-ID: <742137697.17152.0-faugeres.inria.fr*@MHS>

Below a message that was sent a few days ago to the RARE WG-NAP 
distribution list and (lacking a better prepared document) may be
considered as an input to the 
	Multiple Providers and Distributed Entries  item
for the OSI-DS WG-NAP IETF meeting next week in Amsterdam.


regards,


-- PAP

----- Begin Included Message -----

From C=fr;ADMD=atlas;PRMD=inria;OU1=faugeres;S=pays Sat Jun 26 14:12:02 1993
Date: 26 Jun 93 14:11:55+0200
From: pays@faugeres.inria.fr
To: "(Paul-Andre.PAYS)" <Paul-Andre.Pays@faugeres.inria.fr>fr>,
        wg-nap@rare.nl
Subject: multiple-providers, distributed entries and links

Let my try in this message to present my undertanding of the
needs/demands and of the associated requirements for the
issues we have identified so far.
I would from this appreciate to receive comments either
proving that I have completely or partially misunderstood
the issue (which would not suprise me too much) or
(let's also be somehow optimistic) starting a discussion
about the possible near-term AND longer term solutions.

Additionaly according to the outcome of this firts round
this will help establish a canvass for the IETF meeting
sub-slot that hopefully Steve Kille will book
for this topic during the Osi-ds Nap session.


-------------

I see two different type of needs

1.  the multiple provider problem
====================================
one is the fact that several providers will be on the market,
providing "hosting" of X.500 entries on behalf of their
customers (people and organizations).
For the sake of efficiency and of simplicity, one solution
(as far as I undertand it is the NADF approach) relies
on the management of one common naming scheme (shared
by all the providers, and operated cooperatively) giving
an easy entry point (common reference point) toward any
actual entry held by any of the participating providers.
  The common naming tree will 
    - stick to the strict and well-known naming rules choosen in
	common
    - contain for each entry only minimal information enabling
	a simple and easy "look-up" for the entries
    - a or a few references (might be called naming-links) toward
	the actual entry (or entries) in which the information
	(attributes) will be found.
	the purpose of such a reference is twofold
	  - provide the information about the server actually
	  holding the attributes, so that the client application
	  might contact/request the server (directly or not)
	  - enabling hat the actual entry follows a different
	  (proprietary or more appropriate to expected usage)
	  directory schema that the strict and simple one 
	  used by the common/shared naming tree. This includes
	  of course object classes and attributes (obvious) but
	  also (IMPORTANT) the actual naming (naming scheme) for
	  these entries.
[[ A few comments:
the common naming tree will only be used for general lookups
  when the client has no idea of actual naming nor of the actual
  service providers. Once the information acquired the requests
  will be sent directly to the appropriate servers (the ones
  publicized by the service providers to enable customer access
  to their service)
This solution is only viable 
  if all the service providers accepts to cooperate, stick to the
    common naming scheme for the reference entries, and share
    the cost and operation of the servers for the common tree.
  if in the common tree reference entries there is only one
    or a very few different references (naming links). This
    is suited to a situation where a customer will pay for having is
    data held in the X.500 directory. Most of them wil only pay
    one single provider, and none will never pay tens of providers.
This solution is conceptually based on "entry-references".
  that is: the reference found in the common tree refers to
  a whole entry. This is why there is at the same time no need
  and no justification for having plenty of such references
  in a given entry of the common tree.
This approach does not solve at all the distributed entries problem
  for which there is a demand that the different attributes related
  to a given "real-life object" or logical entry are held by
  different servers (such as the phone PABX, the personel base,
  the scurity server and several service providers). See 2 below.
The fact that conceptually the reference found in the common tree
  must contain the actual DN of an entry and information about the
  way to get access to this info (servers), might be alleviated
  if the common naming tree is RESERVED for this purpose. If there
  is a guarantee that all DNs holding the actual entries will never
  "conflict" with the common reference tree, then the reference
  might be reduced to a naming reference (ie a DN), as a DN will be
  enough in that case to determine the providers servers.
  HOWEVER it has to be made CLEAR that
    1. this relies on the possibility to prevent/forbid anyone
      to use the common naming for any other purpose than this
      one (reference tree). This is CLEARLY not in the standard
      and thus is only acceptable if there is an appropriate
      jursidiction edicting a "law" to enforce this rule (eg.
      the US federal law RESERVING the right to use this naming!).
    2. the ALSO requires that if a customer asks and pays several
      service providers to manage and hold entries for the same
      logical object then all the actual entries will have a DIFFERENT
      DN (though corresponding to the same logical object instance)
  THIS ARE VERY VERY stringent REQUIREMENTS! Are they, will they be
  acceptable, accepted, enforced?
The alternative approach requires that the references contains
both information about how to reach the server and about the DN of the
entry. Moreover if the same DN is used for the same logical
object instance, but separate actual entries held by several
servers (service providers), this in turn requires that the
servers be somehow "isolated" (ie not searchable as a whole)
because this would BREAK the X.500 model based on one single
global namig tree where a given DN refers to one unique entry!!

My understanding of NADF is that their choice is of that general type
with the RESERVED common naming tree option and what they call naming
link is a pure DN reference type. Is that correct?

]]


In conclusion this family of solution
  . enables to "share" the market between several cooperating providers
  . relies on a entry-naming reference (entry seen as a whole)
  . deals with the distribution of White Pages entries among providers
  . has a few very strong requirements that HAVE TO be strictly enforced

2. The distributed entry problem
=================================


Another set of problesm comme from the fact that it is clear that
if X.500 might prove to be a nice solution for naming object instances
(the entries) it appears completely unrealistic to expect that all
the information related to a logical object instance (attributes)
might be physically held directly by a single server (DSA).
  - unrelaistic to expect that a server will be suited to held
  directly all the informations that users might want to associate
  to a given object (to a given name); eg thing of multimedia
  attributes.
  - unrealistic to think that for security considerations it will
  be accepted (even operational strong security mechanism) that
  all these informations might be stored in the DSA server
  - unrealistic to expect that it is appropriate to download from
  their natural and primary repository all these inormation into
  the base managed by a DSA (downloading the phone and fax number
  from the PABX, the electricty or TV info from the elctriciy company
  or cable TV company data base, and so on......). Moreover this would
  require that all the holders of these information act only
  as elementary info providers whereas for technical, economical
  or commercial reasons they ALSO need to use X.500 technology
  to store these information)
  - unrealistic to imagine that an approach of the active-atrributes
  type (ie. the DSA attribute does not contains the actual attribute
  value/s but "activate" a process which fetch/computes the value/s)
  or integrated GDA (Generic Database Access, enabling the DSA to act
  as a front end for several external databases) will solve all
  problems. There might be many reasons for which the actual database
  holders might deny such access (eg because of security, because of
  the economical valur of the information). There are also plenty of
  reasons why external bases have LASO to be X.500 based (such
  as the PABX internal phone bases).

The problem in this case is related not to a gloabal entry (which was
the case of the multiple providers) but to each individual attribute.

What is needed is that an entry might hold either the complete
attribute or some kind of reference to an external server (X.500
based) actually holding this attribute. Unlink 1 where we have
entry-references, what is needed now is attribute-references.

Whereas problem 1 could be solved without changing X.500, only be
creating a new attribute type (the reference; eg the NADF naming
link), this time a modification of the standard is needed
in order to enable that a given attribute of a given entry
might contain
   either an attribute value
   or an attribute-reference (attribute-linK).

This attribute reference should enable to determine where and how
the effective attribute value/s can be retrieved. This conceptually
comprises the DN of an entry -no way to designate more precisely-
and the server in which this entry with the effective attribute is.
As for 1. according to the naming choices and if there is guarantee
that all the DN are really different then the reference only need
to carry a DN from which the server wil be derived (by mean of
knowledge).
However this time, the requirement that the naming of the entry
containaing the actual attribute value be DIFFERENT from the naming
of the entry containing the reference is by no way a severe constraint
and limitation.
  . for a given logical objet there is only one single DN (in the
  white pages tree).
  . the DN used for specific functions (eg PABX phone number base)
  do not absolutely need to be the same for a given person than
  the one used for the person class entry of this person and
  may easily be allocated in a distinct and separate subtree

The obvious initial requirement is the that the entry referenced
by the DN SHOULD contain an attribute of the type expected
EG. if in my white pages person entry, for the phone-number
attribute i find a reference  (DN) to a PABX held entry I must
be sure to find a phone-number attribute (and value) in this
entry.

There is however one additional requirement for the sake
of simplicity and efficiency, but should it go into
the model or apply only to the implementations:
  there is a clear need that such attribute-references might be
  either inherited or automatically generated. I want the built-in
  facility as a manager to indicate that all the staff on my campus
  will have their phone number retreived from the X500 capable PABX
  installed here (eg according to their surname and room number)
  and not be obliged to make a hand copy of all the links (in such
  a case it would be nearly equivalent to hand copy the phone
  numbers them selves form the PABX instead of the DN used by the
  PABX).

Another requirement is that I would not accept that the presence
of an attribute-link for a given attribute precludes to find
in my DSA server value/s for this attribute.
Of course these values will automatically get the "copy" status,
the master being the one refered to by the reference.
Additionaly it would be fine to have a mechanism of
"attribute-replication" suited for that purpose so that
the values can be copied from say the PABX X.500 base to the White
Pages base automatically and using X.500. But beware this means 
replicating attributes from a master which DN is different
from the one/s of the entries holding the copy
of the attributes. I think either an extension or
an additional replication protocol is needed.


And now a few comments question:

 Obviously this require a modification of the standard, but as it is
 also obvious that without modifications X.500 will not survive
 (because it simply as it is in 88 does not meet the users demand).

 There is a great expectation from many sides (eg PABX manufacturers)
 for X.500 technology. X.500 will have to deliver or die.

 Does the evolution described by David Chadwick (which I had not time
 yet to really study in depth) provides/leaves room for a solution
 of the above type?
 If not, does it appears realistic to expect that the standard makers
 will accept the modifications enabling X.500 to provide solutions
 to that kind of problem?

 A side effect implementing this would be to provide an attractive
 alternative to the brain damaged 93 ACL approach to solve some
 secutity problems: it would be much easier, efficient and safe
 to store some "sensible" attributes in separate dedicated
 servers than make use  of the attribute level ACL.
 Moreover I suspect our security officers wil certainly
 undertand better and accept more easily that kind of architecture.

 Another side effect is that this also provide a nice and easy
 solution to the management problem  that appears when for 
 some type of entries
    some attributes can only be set/modified by the users
    some are fixed/generated
    some result of apartial eternal bulk loading process.
It would suffice to place the attributes in separate and appropriate
servers according to the origin of the info and the type of
access control and/or update mechanism.




In summary the distributed entries approach:

  . looks at enabling the distribution of attributes (attribute
  	values) amongst different X.500 capable sources.
  . deals with the relationship between "white pages" and "yellow
  	pages" intended subtrees
  . relies on "attribute-references" and thus,
  . has STRONG requirements on the standard itself
  . has no severe requirements on the data/entry organisation
  . provides no solution to the problem 1 (market sharing)
  . provides nice solutions to security and management issues


-----------


That's all folks!  Start shooting now please!

-- PAP




----- End Included Message -----