Bossa: Middleware for Volunteer Thinking
Transcript of Bossa: Middleware for Volunteer Thinking
![Page 1: Bossa: Middleware for Volunteer Thinking](https://reader034.fdocuments.in/reader034/viewer/2022042707/58a16a9e1a28abb5488b4961/html5/thumbnails/1.jpg)
Bossa:Bossa:Middleware forMiddleware for
Volunteer ThinkingVolunteer Thinking
David P. AndersonDavid P. AndersonSpace Sciences LabSpace Sciences Lab
U.C. BerkeleyU.C. Berkeley
Sept. 10, 2008Sept. 10, 2008
![Page 2: Bossa: Middleware for Volunteer Thinking](https://reader034.fdocuments.in/reader034/viewer/2022042707/58a16a9e1a28abb5488b4961/html5/thumbnails/2.jpg)
Citizen CyberscienceUsing the Internet, involve the global public in
current scientific research
Volunteer computing: use people’s PCs− 50 projects− 500,000 participants
Volunteer thinking: use people’s brains (intelligence, knowledge, cognition)
− 10 projects− 50,000 participants
![Page 3: Bossa: Middleware for Volunteer Thinking](https://reader034.fdocuments.in/reader034/viewer/2022042707/58a16a9e1a28abb5488b4961/html5/thumbnails/3.jpg)
Stardust@home
The Stardust mission− 1999-2006− collect cometary, interstellar dust
Where’s the dust?− aerogel collector− 100K “focus movies”
Stardust@home− http://stardustathome.ssl.berkeley.edu/− 23,000 volunteers− 43M viewings− 14 verified tracks, 50 candidates found
![Page 4: Bossa: Middleware for Volunteer Thinking](https://reader034.fdocuments.in/reader034/viewer/2022042707/58a16a9e1a28abb5488b4961/html5/thumbnails/4.jpg)
Lessons learned from Stardust@home
Volunteers will do lots of monotonous tasks You don’t need to play games Motivators:
− community, competition− keep volunteers informed
Possible to achieve quantifiably high accuracy− calibration jobs
![Page 5: Bossa: Middleware for Volunteer Thinking](https://reader034.fdocuments.in/reader034/viewer/2022042707/58a16a9e1a28abb5488b4961/html5/thumbnails/5.jpg)
FossilFinder
Collect photos of Middle Awash (Ethiopia) Look for hominid and other fossils
![Page 6: Bossa: Middleware for Volunteer Thinking](https://reader034.fdocuments.in/reader034/viewer/2022042707/58a16a9e1a28abb5488b4961/html5/thumbnails/6.jpg)
Fold it!: a protein-folding game
![Page 7: Bossa: Middleware for Volunteer Thinking](https://reader034.fdocuments.in/reader034/viewer/2022042707/58a16a9e1a28abb5488b4961/html5/thumbnails/7.jpg)
What else? Visual pattern recognition
− Stardust@home, Clickworkers− GalaxyZoo− Africa satellite photos: UNOSAT− text/handwriting recognition− image tagging
Real-world knowledge− http://openmind.org
3D spatial manipulation− Fold it!
Language− Distributed proofreading: http://pgdp.net
![Page 8: Bossa: Middleware for Volunteer Thinking](https://reader034.fdocuments.in/reader034/viewer/2022042707/58a16a9e1a28abb5488b4961/html5/thumbnails/8.jpg)
Bossa: open-source middleware for distributed thinking
BOINC
volunteercomputing
Bolt
teaching,training
Bossa
volunteerthinking
BOINC Basicsaccounts, groups, credit, communication
![Page 9: Bossa: Middleware for Volunteer Thinking](https://reader034.fdocuments.in/reader034/viewer/2022042707/58a16a9e1a28abb5488b4961/html5/thumbnails/9.jpg)
What does “middleware” mean?
Volunteer identity Job queuing Job assignment Maybe other stuff
− social features (Bossa)− accounting features (Mechanical Turk)
![Page 10: Bossa: Middleware for Volunteer Thinking](https://reader034.fdocuments.in/reader034/viewer/2022042707/58a16a9e1a28abb5488b4961/html5/thumbnails/10.jpg)
Bossa design philosophy
Projects have widely varying requirements Bossa provides mechanisms Applications define policies (using PHP)
Application Bossa
job creation script
callback functions
job_show()job_issued()job_finished()job_timed_out()
bossa_show_job.php
bossa_job_finished.php
Bossa API
DB
![Page 11: Bossa: Middleware for Volunteer Thinking](https://reader034.fdocuments.in/reader034/viewer/2022042707/58a16a9e1a28abb5488b4961/html5/thumbnails/11.jpg)
Bossa abstractions
Project
Application
Instance
Application
Job
User
JobJob
UserUser
InstanceInstance
![Page 12: Bossa: Middleware for Volunteer Thinking](https://reader034.fdocuments.in/reader034/viewer/2022042707/58a16a9e1a28abb5488b4961/html5/thumbnails/12.jpg)
Job and result representation
Job parameters (filenames etc.) are stored in an “opaque” PHP data structure
Similar for job results (instances) Callback function to display a job: job_show($job, $inst)
Types of jobs− single web page− sequence of pages− offline app
![Page 13: Bossa: Middleware for Volunteer Thinking](https://reader034.fdocuments.in/reader034/viewer/2022042707/58a16a9e1a28abb5488b4961/html5/thumbnails/13.jpg)
Job distribution policy
Project A: few jobs, lots of volunteers− do all jobs once, then twice, ...
Project B: infinite jobs, finite volunteers− do first job N times, then 2nd job, ...
Bossa: each job has “priority”− adjusted by callback functions
Jobs
Instances
![Page 14: Bossa: Middleware for Volunteer Thinking](https://reader034.fdocuments.in/reader034/viewer/2022042707/58a16a9e1a28abb5488b4961/html5/thumbnails/14.jpg)
User assessment How to assess?
− training course− calibration jobs
not feasible for some applications− correctness as determined by replication
Representation− scalar− sensitivity and discrimination− many dimensions
Bossa mechanisms− opaque data for users− calibration jobs− Bolt course prerequisite
![Page 15: Bossa: Middleware for Volunteer Thinking](https://reader034.fdocuments.in/reader034/viewer/2022042707/58a16a9e1a28abb5488b4961/html5/thumbnails/15.jpg)
Replication policy
Examples:− Fixed replication (N instances)− Adaptive replication (achieve target accuracy)
Bossa mechanism:− job_finished() can get list of instances and users,
decide whether more instances are needed, and set priority
![Page 16: Bossa: Middleware for Volunteer Thinking](https://reader034.fdocuments.in/reader034/viewer/2022042707/58a16a9e1a28abb5488b4961/html5/thumbnails/16.jpg)
Use of “experts” Alternatives:
− Experts do the same job, but better use them to resolve difficult jobs, or verify detection of
rare features)− Experts do a different job
e.g., use them to classify or estimate age of fossils) Bossa mechanism:
− Users can be assigned “level” (0, 1, ...)− Each job has a priority P(i) for each level i
Example:− use level 1 users to resolve jobs where level 0
users haven’t reached consensus− job_finished(): if ambiguous, set P(1) to 2
![Page 17: Bossa: Middleware for Volunteer Thinking](https://reader034.fdocuments.in/reader034/viewer/2022042707/58a16a9e1a28abb5488b4961/html5/thumbnails/17.jpg)
Examples
Basic Fixed replication Calibration tasks and adaptive replication Image annotation
![Page 18: Bossa: Middleware for Volunteer Thinking](https://reader034.fdocuments.in/reader034/viewer/2022042707/58a16a9e1a28abb5488b4961/html5/thumbnails/18.jpg)
Conclusion
Bossa: a lightweight framework for volunteer thinking projects
Plug in your own:− job representation and display− job distribution and replication policy− volunteer assessment
Future directions− thinking/computing workflows− group jobs
teams as organizations− jobs as online multiplayer games