Push vs Pull

Dick Hardt dick at sxip.com
Fri Mar 3 01:17:13 UTC 2006


Here is my clarification between Push and Pull:

	- The user provides the Relying Party with a *user unique*  
Repository locator. (URL or XRI)
	- The Relying Party queries a Repository to get user data.
	- The user may or may not be involved in the transaction.

I consider OpenID, LID and XRI Pull architectures

	- The Relying party advertises what data it wants.
	- The user "Pushes" the data to the Relying Party
	- The repository does not need to be accessible to the Relying  
Party. This allows the data to reside on the user's machine.
I consider Shiboleth, SXIP and WS-* Push architectures


With SXIP, which is a Push architecture, we have a need for protocol  
discovery, which lead to my interest in Yadis. Unlike the Pull  
technologies where the identifier is for the user, the identifier was  
for the user agent so that the Relying Party would know what the user  
agent was capable of. This is only needed for zero desktop footprint  
implementations. Rich Clients would be able to negotiate capabilities  
with the Relying Party.

The original Yadis mandate was for identity protocol discovery. I was  
very interested in leveraging existing work, if it did not impose  
excessive overhead. The current direction of Yadis seems to be  
exclusively for support of the Pull technologies.

Feel free to ask for any clarifications.

-- Dick

On 2-Mar-06, at 4:38 PM, Joaquin Miller wrote:

> This might be right (someone who uses the terms might could explain  
> them)
> and it is certainly clear, which is very useful.
>> Okay, let me see if I have this Push/Pull distinction straight.   
>> Please correct me if I'm wrong.
>> "Pull" protocols are those that put some data out there to be  
>> accessible via a URL.  The data does not change based on who  
>> requests the information.  Yadis is such a protocol, since when an  
>> Relying Party goes to fetch the data, there is no specified way to  
>> change the data based on who is requesting it.
>> "Push" protocols are those that allow the user to modify the data  
>> based on who is requesting it.  OpenID is such a protocol: the  
>> data is transmitted by redirecting the user between the Relying  
>> Party and the Identity Provider, and the user can choose to have  
>> the Identity Provider send his or her authentication information  
>> or to cancel the transaction.
>> Is that right, or is there something I'm missing?
> If this is what 'push' and 'pull' mean, then your examples are  
> certainly right:  According to your distinction Yadis is pull and  
> OpenID and LID are push.  LID, of course, differs from OpenID; you  
> describe OpenID in your example of push.
> Cordially, Joaquin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.danga.com/pipermail/yadis/attachments/20060302/5b071fce/attachment.html

More information about the yadis mailing list