Mesh Board: Difference between revisions

From OLPC
Jump to navigation Jump to search
(_+cat)
(+nouns)
Line 1: Line 1:
The Meshboard activity is a way to share requests for and offers of content, services, or anything else. It currently uses an xml-rpc server as part of the activity, to work on all sorts of networks; but is being updated to use the mesh and presence service.
The Meshboard activity is a way to share requests for and offers of content, services, or anything else. It currently uses an xml-rpc server as part of the activity, to work on all sorts of networks; but is being updated to use the mesh and presence service.


Author: Thibaut Lamadon
''Author'': Thibaut Lamadon


== Message passing ==

* Haskell implementation?
* Optimizing for space and reliability: Sharing catalogs and availability
* Draft desired API
* Implement current meshboard with [[Tubes]]

== Notes ==

API: ? FUNC: store 10k of a 1m file for the community

''on State''
'''State''': M_ij - connected? dropped? new?
--> store trafic/cache state, draw pretty pictures

Move guys around
Create and query objects [KNOBS?]

''algorithm''
Resource::Ad/Music/Pix/SW
Add:: Post/Make-available

(1) '''Add''': Store locally
Create handle ==> UID [hash?], summary [thumb, precis, author+date]
summary lets them do local search without having the whole thing
Each peer asks for others' handles and with some probability the actual resource
probability depends on size, popularity, space, other; compare <tt>Time To Leave</tt>
Q: poll v. push?
recipient has final say, including cache & expiry
(2) '''Retrieve''': Compute query
for all peers, send query (peer remembers Q). [if local, maybe punt, else search for more]
for all new associations, send Q [timeot?[]
at some point, Q --> H or R [done]
given H, for all peers, send H [store if found]


''open questions''
* how to order reqs for pieces -- first part of a web page first?
* how to retrieve/split up a large file into many pieces? lockss, filenets.
[[Category:Activity]]
[[Category:Activity]]

Revision as of 18:18, 5 July 2007

The Meshboard activity is a way to share requests for and offers of content, services, or anything else. It currently uses an xml-rpc server as part of the activity, to work on all sorts of networks; but is being updated to use the mesh and presence service.

Author: Thibaut Lamadon

Message passing

  • Haskell implementation?
  • Optimizing for space and reliability: Sharing catalogs and availability
  • Draft desired API
  • Implement current meshboard with Tubes

Notes

API: ?  FUNC: store 10k of a 1m file for the community

on State

State: M_ij - connected? dropped? new? 
 --> store trafic/cache state, draw pretty pictures
Move guys around
Create and query objects [KNOBS?]

algorithm

Resource::Ad/Music/Pix/SW
Add:: Post/Make-available
(1) Add:  Store locally 
  Create handle ==> UID [hash?], summary [thumb, precis, author+date]
      summary lets them do local search without having the whole thing
  Each peer asks for others' handles and with some probability the actual resource
      probability depends on size, popularity, space, other; compare Time To Leave
      Q: poll v. push?  
         recipient has final say, including cache & expiry
(2) Retrieve: Compute query
  for all peers, send query (peer remembers Q).  [if local, maybe punt, else search for more]
  for all new associations, send Q [timeot?[]
  at some point, Q --> H or R [done]
  given H, for all peers, send H [store if found]


open questions

  • how to order reqs for pieces -- first part of a web page first?
  • how to retrieve/split up a large file into many pieces? lockss, filenets.