Re: Is this really an LCUP show stopper?
John McMeeking <[email protected]> Fri, 6 Jun 2003 14:37:01 -0500
| Newsgroups | gmane.ietf.ldup |
|---|---|
| Message-ID | <OFC9CBBA76.1D030108-ON86256D3D.004D7440-86256D3D.006BC2F2@us.ibm.com> |
My two bits worth: I favor the LDAP Sync approach over LCUP. This is largely because changes to LDAP Sync appear to make LCUP a valid implementation of LDAP Sync, and it doesn't appear that LDAP sync would be significantly harder to implement, from either the server or client perspective. I think either one is likely to be adequate for a large number of uses/users. Specific comments on the two drafts are being submitted separately. =========== As I understand it, this discussion basically boils down to how a client finds out that an entry has left the result set and whether that imposes undo requirements on an implementation or results in excessive network traffic. The choices being: 1. Server sends "entry deleted" messages -- LCUP or LDAP Sync -- server must maintain history 2. Server sends "entry present" messages for all entries in result set, client determines what is gone -- LDAP Sync -- no history required 3. Reload required -- LCUP or LDAP Sync -- server doesn't have the necessary history, or changes are "too big" It seems to me that all these will all result in the client having the same content, so I don't see an issue with either approach not working. I think the notion of maintaining a history so that a server can send "entry deleted" messages is important. Synchronizing a 100,000 entry directory with no (or limited) changes by sending 1000,000 entry present messages seems like poor behavior. I believe that change to LDAP Sync was needed. It seems that LCUP could be implemented using LDAP Sync extended ops and controls. A server implementation could always choose between options 1 and 3. And I think that would be a valid implementation of LDAP Sync. The client, of course, would have to work properly with option 2, which might make testing the client problematic if the client and server vendors are the same. Similarly, a server implementation could choose to always use options 2 and 3. I don't think that either LDAP Sync or LCUP will be significantly harder to implement (either server or client side) if one accepts the notion that some history is desirable. As stated earlier, I think that history is necessary to a well-behaved synchronization mechanism. I have not been able to come to any firm position on the need (or lack thereof) for the "entry present" mechanism. It is clear that if the data being synchronized is "large", and a change to entries and / or meta-data results in a situation where the server knows that the content of entries visible to the client has not changed, and a large number of entries has potentially left the result set (without any equally large number of entries entering the result set), that sending "entry present" results will take less bandwidth than resending entire entries. It is far from clear to me how likely such scenarios are. One case where the "entry present" mechanism does work well is when a client synchronizes infrequently with resect to the deleted/moved entry history maintained by the server. I suspect either method will be sensitive to certain classes of changes (most likely access control or group membership) that will result in some clients being reloaded even though the net content change on the client is small -- just too hard to figure out the delta. John McMeeking