Talk:DistOS-2011W Public Goods: Difference between revisions

From Soma-notes
Lmundt (talk | contribs)
Aschoenr (talk | contribs)
No edit summary
Line 1: Line 1:
=Background Research=
==Tuesday March 1==


Based on the discussion last class, what I think the focus of the project should be is what are the kind of things that fundamentally should be a "public good" as opposed to exactly how to implement them. Some of the ideas we have come up with can be used for various implementations but I think, in general, we can rely on previous work for most of (if not all) of the implementation details. If this assumed direction is correct, then I think we should aim to try and answer the following questions:
Key components:
*What are good candidates for public goods (ie. DNS, internet cache, physical connections, etc)? Why should these services be fundamentally controlled by the public? What are the flaws in the way they are currently used or why should they not be centrally controlled by a single entity? What incentives are there for a given user to participate (willingly or unwillingly)?
*Distributed File System
*What would be the net benefit for the local community participating in these public goods?
**Can use something previously presented in class
*What would be the net impact on the entire internet if all local communities created these public goods (more secure, less bandwidth wasted, etc.)
*Distributed computation
*Administration
**How much does a person need to contribute to the system?
**How will users submit (small) services they would like to have run?
**How can very large services be established (from idea to implementation)?


* What else occurs on the internet
Todo for March 8th:
** physical infrastructure  ----
**Find papers on distributed computation and administration
** phoneline, cable, satelliet
** DNS, BGP,  ----
** TCP/IP, UDP
** HTTP, SMTP, POP, IMAP,  FTP, SSH
** email = SPAM,  search, internet caching


** Dividing the work up
==Thursday March 3==
***Lester - Physical infrastructure
**** BGP - this could be more important as well when replacing the current physical internet.  Some routing federation would be need though http://en.wikipedia.org/wiki/Border_Gateway_Protocol
**** Virtual Structure  Freenet - http://en.wikipedia.org/wiki/Freenet
**** Tangent - Antispam techniques http://delivery.acm.org/10.1145/1460000/1455525/a13-xie.pdf?key1=1455525&key2=3831189921&coll=DL&dl=ACM&ip=134.117.254.248&CFID=11136817&CFTOKEN=58039805
***Andrew - Caching
***Fahim - DNS


** What is the commonality between these services, in problem, in alternative?
*Seek out papers on specific topic of distributed web cache. 


==DNS==
*Discussed two other interesting public goods or services.
**Image registry
**DNA registry - found one article that suggests uncompressed the human genome is between 1.5 and 30 terrabytes but more efficient formats exist that bring it down to 1.5GB
http://www.genetic-future.com/2008/06/how-much-data-is-human-genome-it.html


[http://features.techworld.com/networking/3208133/google-public-dns-good-for-privacy/ Google Public DNS: Good for privacy?]


[http://www.pcworld.com/businesscenter/article/183650/google_public_dns_wonderful_freebie_or_big_new_menace.html Google Public DNS: Wonderful Freebie or Big New Menace?]
One example paper [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.40.8364&rep=rep1&type=pdf Improving Web Server Performance by Caching Dynamic Data]


[http://theos.in/windows-xp/free-fast-public-dns-server-list/ Free Fast Public DNS Servers List]
==Tuesday March 8==


With free, public DNS, where is this information about user behaviour going, if anywhere? Is this an example of a good that should be managed by a central/public/democratized authority?
Currently our idea of public goods consists of:
*Distributed file storage
**[http://www.usenix.org/events/osdi06/tech/weil.html Ceph] seems to be an ideal candidate for this
*Distributed Computation
**To avoid a [http://en.wikipedia.org/wiki/Tragedy_of_the_commons tragedy of the commons] situation with both the storage and computation resources, only predetermined, agreed upon computation will take place which has a net benefit to everyone participating. This computation is based on the data stored at each node and the results (metadata) will be stored locally. This computation can be done by using idle cycles, much like [http://en.wikipedia.org/wiki/Berkeley_Open_Infrastructure_for_Network_Computing BOINC] projects.
**Must allow for querying of metadata to allow users to effectively search processed data.
** Maybe we need to also consider the movement of data between client machines to fully utilize available resources. For instance, let's assume that a given machine has a relatively low amount of available storage but a lot of free computation cycles. In this situation, once data has been processed it should be moved to a client machine with available storage and data from a machine with a relatively low a mount of free computation cycles should be moved to the original machine.
*Administration
**Main issue: how are services agreed upon? Once a service is implemented (ie. image store) distributing it getting it running isn't a major issue.
**Maybe users should submit potential services to be run on the stored data and "the system" should decide what to do. This could/should be done based on available computation cycles, amount of generated metadata and the overall "popularity" of the service.
**Papers that seems related to this issue:
***[http://comjnl.oxfordjournals.org/content/25/1/148.full.pdf The Case for Distributed Decision Making Systems] (old)
***[http://portal.acm.org/citation.cfm?id=43930 Distributed decision making: a research agenda] (old)
***[http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=838435&tag=1 A mathematical framework for asynchronous, distributed, decision-making systems with semi-autonomous entities: algorithm synthesis, simulation, and evaluation]
***[http://www.springerlink.com/content/h3x1571r22517516/ Distributed Decision Making: A Proposal of Support Through Cooperative Systems]


==Internet as a public good==
*Discussion
 
**Why is a public good a good idea? 
[http://www.sciencedirect.com.proxy.library.carleton.ca/science?_ob=ArticleURL&_udi=B6V8F-4XRYT2K-1&_user=4799849&_coverDate=03%2F31%2F2010&_alid=1670703012&_rdoc=1&_fmt=high&_orig=search&_origin=search&_zone=rslt_list_item&_cdi=5869&_sort=r&_st=13&_docanchor=&view=c&_ct=91&_acct=C000051236&_version=1&_urlVersion=0&_userid=4799849&md5=ac794fa96cd200a03b4ddecad893cb14&searchtype=a Ostracism and the provision of a public good: experimental evidence]
***What value
What should be a public good?
***What brings value to everyone?
***Examples: Distributed DNS, Spam Filtering, Policing?

Revision as of 18:50, 11 March 2011

Tuesday March 1

Key components:

  • Distributed File System
    • Can use something previously presented in class
  • Distributed computation
  • Administration
    • How much does a person need to contribute to the system?
    • How will users submit (small) services they would like to have run?
    • How can very large services be established (from idea to implementation)?

Todo for March 8th:

    • Find papers on distributed computation and administration

Thursday March 3

  • Seek out papers on specific topic of distributed web cache.
  • Discussed two other interesting public goods or services.
    • Image registry
    • DNA registry - found one article that suggests uncompressed the human genome is between 1.5 and 30 terrabytes but more efficient formats exist that bring it down to 1.5GB
http://www.genetic-future.com/2008/06/how-much-data-is-human-genome-it.html 


One example paper Improving Web Server Performance by Caching Dynamic Data

Tuesday March 8

Currently our idea of public goods consists of:

  • Distributed file storage
    • Ceph seems to be an ideal candidate for this
  • Distributed Computation
    • To avoid a tragedy of the commons situation with both the storage and computation resources, only predetermined, agreed upon computation will take place which has a net benefit to everyone participating. This computation is based on the data stored at each node and the results (metadata) will be stored locally. This computation can be done by using idle cycles, much like BOINC projects.
    • Must allow for querying of metadata to allow users to effectively search processed data.
    • Maybe we need to also consider the movement of data between client machines to fully utilize available resources. For instance, let's assume that a given machine has a relatively low amount of available storage but a lot of free computation cycles. In this situation, once data has been processed it should be moved to a client machine with available storage and data from a machine with a relatively low a mount of free computation cycles should be moved to the original machine.
  • Administration
  • Discussion
    • Why is a public good a good idea?
      • What value

What should be a public good?

      • What brings value to everyone?
      • Examples: Distributed DNS, Spam Filtering, Policing?