social-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Social-discuss] What I think GNU Social's structure should be


From: Carlo von Loesch
Subject: Re: [Social-discuss] What I think GNU Social's structure should be
Date: Mon, 29 Mar 2010 07:58:24 +0200 (CEST)

Ted Smith typeth:
| My model does not attempt to guarantee that everyone has a copy. It
| exploits the likelihood that friends have recently requested and cached
| their friend's data. This is possible to do in a monolithic program - if

I'm still sceptic of the "pull" approach and prefer to think at least
all online subscribers get events pushed in real-time.

| I am address@hidden, and you are address@hidden, and I
| request your profile data, or you push it to me, there's no reason I
| can't cache it, and serve it to others if your node is down.

Which is perfectly safe as there is plenty of cryptography in place
to ensure the correctness of these operations.

A one-to-many transmission would be numbered, signed by digital
signature of the sender, then encrypted with the current encryption
key of the group. Members of the group who were offline can ask
other members of the group for a history catch-up. People should
also be able to post to a group if the "owner" of the group is
offline (comment her status update).

| I am proposing that friends cache other friend's pages when they request
| them; that way there is some level of redundancy in the network. In
| either system you can just wait and try later.

I wouldn't even start thinking in terms of pages. Social interactions
are events within subscription groups. Events are packets. We need
packets in groups to be numbered and decentralized. Every person has
a group of subscribers, in fact she may have many groups of subscribers
- those who care about her updates and those who only want her changes
in contact information or rugby game results or now playing mp3 infos.
Each of those is its own little multicast group with an identifier and
a packet count. Once I am sure I have received all packets from all of
my groups from wherever I could get them from, I can construct my own
view of her profile or whatever else UI my social software finds
intelligent and appropriate to show me.

| This is a complex design, but I think overall, having the components
| isolated along strictly defined interfaces will make implementing (and
| changing) GNU Social much simpler.

Si.

-- 
___ psyc://psyced.org/~lynX ___ irc://psyced.org/welcome ___
___ xmpp:address@hidden ____ https://psyced.org/PSYC/ _____




reply via email to

[Prev in Thread] Current Thread [Next in Thread]