Sneakernets: Bringing the Mountain to You


Published on


Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Sneakernets: Bringing the Mountain to You

  1. 1. Sneakernets: Bringing the Mountain to You Sameer Verma, Ph.D. Professor Information Systems Department San Francisco State University San Francisco, CA 94132 USA [email_address] @sameerverma Seminar Department of Computing University of the West Indies, Jamaica Unless noted otherwise
  2. 2. Content Store Transport Use
  3. 3. sneakernet Walking data across buildings on a storage device from one computer to another. High bandwidth, high latency. “ The theoretical capacity of a Boeing 747 filled with Blu-Ray discs is 595,520,000 Gigabytes, resulting in a 245,829 Gbit/s flight from New York to Los Angeles.” – Wikipedia
  4. 4. ~ 70%
  5. 5. Internet Access
  6. 6. Can information flow like water?
  7. 7. A water “battery”. Can we build information batteries?
  8. 8. Viva La Revolución Can we spark a paradigm shift by providing equitable access to information all over the world?
  9. 9. Somebody is finally thinking of the children! To create educational opportunities for the world's poorest children by providing each child with a rugged, low-cost, low-power, connected laptop with content and software designed for collaborative, joyful, self-empowered learning. — OLPC Mission Statement,  It's an education project, not a laptop project. — Nicholas Negroponte  
  10. 10. in the beginning...
  11. 11. ooh! laptop! (July 2007)
  12. 12. Give 1 Get 1 – Nov 2007
  13. 13. Next thing I know... De facto founder of OLPC San Francisco
  14. 14. Then I run into this guy... Click here to learn more...
  15. 15. Next thing I know... De facto founder of OLPC Jamaica!
  16. 16. A tremendous “Thank you!” to the UWI community for making this happen. Providence Basic School, Kingston, Jamaica August Town Primary School, August Town, Jamaica
  17. 17. OLPC
  18. 18. Mission OLPC's mission is to empower the world's poorest children through education We aim to provide each child with a rugged, low-cost, low-power, connected laptop. To this end, we have designed hardware, content and software for collaborative, joyful, and self-empowered learning. With access to this type of tool, children are engaged in their own education, and learn, share, and create together. They become connected to each other, to the world and to a brighter future.
  19. 19. Worldwide 40+ countries, 30+ languages, 2.2+ million laptops, 350+ applications
  20. 20. Where no computers have gone before...
  21. 21. School Galadima, Abuja City, Nigeria See
  22. 22. Samkha village located in the suburbs of northern Thailand See
  23. 23. Khairat school is India's pilot site. See
  24. 24. Ulaanbaatar, Mongolia
  25. 25. Ethopia
  26. 26. Ghana
  27. 27. Cameroon
  28. 28. Afghanistan refugee camp, Pakistan
  29. 29. Colombia
  30. 30. Peru
  31. 31. Rwanda
  32. 32. Iraq
  33. 33. Haiti
  34. 34. Solomon Islands
  35. 35. Nepal
  36. 36. Uruguay: Every primary school child has an XO.
  37. 37. postage stamps too!
  38. 38. 2.2 million XO laptops and counting See Google Maps Deployments worldwide Also see:
  39. 39. Learn more...
  40. 40. XS: OLPC School Server The Internet in a Box (unsung hero too!)
  41. 41. What does the XS look like? Fantasy View
  42. 42. What does the XS look like? Reality View
  43. 43. What does the XS look like? <ul><li>Any x86 box with requisite memory, crunch and storage can be the XS. </li><ul><li>It could also be a ARM machine in the near future... </li></ul><li>Ideally, we want a machine that </li><ul><li>Consumes very little power
  44. 44. Has the necessary crunch
  45. 45. Portable </li><ul><li>Pocketable, even? </li></ul><li>Very forgiving for power brownouts, heat, dust, etc. </li><ul><li>Kinda like the XO. </li></ul></ul></ul>
  46. 46. Services that the XS runs <ul><li>Networking </li><ul><li>DNS
  47. 47. DHCP
  48. 48. NAT/Masquerading
  49. 49. Bridging </li></ul><li>Identity management </li><ul><li>Seamless XO login
  50. 50. Single One Time Password (SOTP) on server </li></ul><li>Activation </li><ul><li>Theft deterrence </li></ul></ul>
  51. 51. Services that the XS runs <ul><li>Collaboration </li><ul><li>XMPP via ejabberd </li></ul><li>Storage </li><ul><li>Files and attachments for courses
  52. 52. Backup files
  53. 53. Other media </li></ul><li>Backup </li><ul><li>Journal/Datastore backup </li></ul><li>XO Software updates </li><ul><li>Push updates including firmware and OS images </li></ul><li>Activity server </li><ul><li>Pushing activity bundles </li></ul></ul>
  54. 54. Networking <ul><li>Provides networking infrastructure for the school.
  55. 55. Acts as an Internet gateway (if backhaul exists) </li><ul><li>Includes HTTP proxy (optional)
  56. 56. Content filter (optional) </li></ul><li>Supports Wi-Fi: </li><ul><li>Ad-Hoc
  57. 57. Mesh (IEEE 802.11s draft)
  58. 58. Infrastructure (Access Point) </li></ul></ul>
  59. 59. Identity management <ul><li>Single One Time Passwords (SOTP) for maintenance. </li><ul><li>Remote ISP maintenance, etc. </li></ul><li>OLPC XO Browse </li><ul><li>authenticates seamlessly with Moodle
  60. 60. Moodle talks to ejabberd for permissions, etc. </li></ul><li>First XO to access Moodle </li><ul><li>This XO becomes admin.
  61. 61. This XO can assign other teachers, course creators, and other such roles </li></ul></ul>
  62. 62. Collaboration <ul><li>XMPP-based collaboration via ejabberd. </li><ul><li>Ejabberd is a XMPP (jabber) server written in erlang. </li></ul><li>Uses gabble mode under telepathy in Sugar. </li><ul><li>Gabble allows for server-based collaboration </li></ul><li>XOs switch to salut mode in case no XS is found. </li><ul><li>Salut allows for peer-to-peer collaboration </li></ul><li>Activities such as Chat, Write, Memorize use XMPP to collaborate. </li></ul>
  63. 63. Storage <ul><li>Much of the storage lives in /library partition. </li><ul><li>Mount /library on external USB disk or other media and expand storage.
  64. 64. Run rest of the system off a CF or SD card (solid state) </li></ul><li>Files can be served as </li><ul><li>links via Moodle
  65. 65. links via Apache (add Apache config) </li></ul></ul>
  66. 66. Backup <ul><li>Three processes: </li><ul><li>Traffic control </li><ul><li>provides basic &quot;traffic control&quot; to manage load. </li></ul><li>Backup-complete script </li><ul><li>Creates links for latest snapshot. </li></ul><li>Daily cleanup </li><ul><li>enforces a per-user &quot;soft&quot; quota. </li></ul></ul></ul>
  67. 67. Updates <ul><li>Pushing updates to OS image and firmware via rsync. </li></ul>
  68. 68. Layout (Access Points)
  69. 69. Hardware vs Load Benjamin Tran's Master's thesis : jmeter to load and and nmon to record the load
  70. 70. Hardware recommendations <ul><li>Schools with less than 40 laptops: </li><ul><li>use XS-on-XO:
  71. 71. Requires a SD card (4GB, preferably class 6)
  72. 72. External USB hard drive (may need own power)
  73. 73. USB-Ethernet for backhaul. </li></ul></ul>
  74. 74. Fit PC and Fit PC2 <ul><li>Fit PC works well and is comparable to the XO-1 in performance. </li><ul><li>More configurable than the XO-1.
  75. 75. Replace a SSD in the FitPC to make it cooler and more power efficient. </li><ul><li> </li></ul></ul><li>Fit PC2 has heat problems. </li><ul><li>Intel Atom runs too hot </li><ul><li>Surprise, surprise.
  76. 76. Maybe glue on a large heat sink? </li></ul></ul></ul>
  77. 77. Hardware recommendations <ul><li>Schools with up to 100 laptops: </li><ul><li>1GHz CPU, 1GB RAM,
  78. 78. at least 2GB disk storage per laptop.
  79. 79. Something in the mini ITX form-factor works well.
  80. 80. Fanless units are better </li></ul></ul>
  81. 81. Hardware recommendations <ul><li>For up to 500 laptops: </li><ul><li>dual-core 2GHz CPU
  82. 82. 2 to 4GB RAM
  83. 83. at least 2GB disk storage per laptop.
  84. 84. This type of a machine usually works in environments with good power resources. </li></ul></ul>
  85. 85. Hardware recommendations <ul><li>More than 500 laptops </li><ul><li>Server-class dual CPU
  86. 86. 4 to 16GB RAM
  87. 87. at least 2GB disk storage per laptop.
  88. 88. Data center hosting is also an option. </li></ul></ul>
  89. 89. School Server
  90. 90. Screenshots XS Moodle Screen Shots
  91. 91. Main page
  92. 92. Front page settings
  93. 93. Front page roles
  94. 94. List of users
  95. 95. Roles and permissions
  96. 96. Presence service
  97. 97. Antitheft controls
  98. 98. Add a course
  99. 99. Site files
  100. 100. Question bank
  101. 101. A zip file, which includes content and structure for the entire course! Moving courses ...deploy in Madagascar! Create in San Francisco...
  102. 102. XS: Internet in a box No Internet? No power? No problem :-)
  103. 103. Pathagar: A Book Server Open Publication Distribution System Pathagar : Path + Agar पाठागार : पाठ + आगार A Practical Hindi-English Dictionary
  104. 104. Problem: Dissemination of Media in remote places <ul><li>Books </li><ul><li>Portable Document Format (PDF) </li><ul><li> </li></ul><li>Electronic Publication format (ePub) </li><ul><li> </li></ul><li>Hyper Text Markup Language (HTML) </li><ul><li> </li></ul></ul><li>All digital “media” are a collection of bits. So we can also disseminate </li><ul><li>Music
  105. 105. Video
  106. 106. Images </li></ul></ul>
  107. 107. Internet Access
  108. 108. How do we get books to here ?
  109. 109. OPDS: Open Publication and Distribution System <ul><ul><li>OPDS Specification </li><ul><li>The Open Publication Distribution System (OPDS) Catalog is a syndication format for electronic publications based on Atom RFC4287 and HTTP RFC2616.
  110. 110. Catalogs enable the aggregation, distribution, discovery, and acquisition of electronic publications.
  111. 111. OPDS Catalogs use existing or emergent open standards and conventions, with a priority on simplicity. </li></ul></ul></ul>
  112. 112. Book Server <ul><li>Book Server = OPDS Server
  113. 113. Repository </li><ul><li>Add books, along with title, author, language, description, etc.
  114. 114. Serve </li><ul><li>Atom-based OPDS feed (XML)
  115. 115. HTTP-based web pages that allow searching, listing, download, etc. </li></ul></ul></ul>
  116. 116. Pathagar (पाठागार) <ul><li>Written in Python
  117. 117. Requires python-django as a framework
  118. 118. Creates a website for managing and accessing books
  119. 119. Allows you to add books + metadata on books
  120. 120. Catalog allows for listing
  121. 121. Search feature
  122. 122. OPDS Feed, which is Atom (XML) based.
  123. 123. Books are served books via HTTP to: </li><ul><ul><li>Browsers
  124. 124. Get Books activity </li></ul></ul></ul>Written by Sayamindu Dasgupta Get it at
  125. 125. Accessing Pathagar from Sugar <ul><li>Get Books Activity </li><ul><li> </li></ul><li>Browse Activity </li><ul><li> </li></ul></ul>
  126. 126. Bookserver vs Schoolserver <ul><li>Schoolserver </li><ul><li>Course-based taxonomy (School)
  127. 127. Courses, teachers, students, assignments, assessment
  128. 128. Based on Moodle </li></ul><li>Bookserver </li><ul><li>Catalog-based model (Library)
  129. 129. Books, catalog, searches, description.
  130. 130. Based on OPDS </li></ul></ul>
  131. 131. Catalog
  132. 132. Add a book
  133. 133. OPDS feed
  134. 134. OPDS feed – source view
  135. 135. Get Books Activity
  136. 136. Pick a repository
  137. 137. Searching for Gulliver
  138. 138. Found Gulliver
  139. 139. Get Book
  140. 140. Downloading Gulliver's Travels
  141. 141. Pathagar <ul><li>Work in progress
  142. 142. Fits deployment models where a curriculum isn't a central theme
  143. 143. Library or media access center approach
  144. 144. Easy to replicate and scale/federate </li></ul>
  145. 145. Pathagar OPDS Book Server Get it at Pathagar : Path + Agar पाठागार : पाठ + आगार
  146. 146. Some day this part will be fast and cheap Until then, we sneakernet it!
  147. 147. Slides made with the “free stuff”