School Server Specification

From OLPC
Revision as of 09:50, 29 September 2008 by 194.187.32.1 (talk) (Software)
Jump to: navigation, search
  This page is monitored by the OLPC team.
  english | 한국어 | español HowTo [ID# 169590]  +/-  


The XO laptops and the publishing tools that come with them make possible the development and free sharing of learning materials customized to every locale and culture. Projects shared across a small group help students to discover their own capacity for teaching and learning. Projects shared across a group of thousands have the power to create tools, artifacts, and resources with a diversity, specificity, and comprehensiveness that could not otherwise exist.

If the laptops help fulfill one part of this vision, then the school server fulfills another. A network of laptops connected through a network of local and regional servers greatly expands the possibilities for learning. School servers provide access to libraries of knowledge, ideas, experiments, and art that others have created, giving students examples and references on which to build. As students study new areas, develop new ideas and experiments, and conceive of large-scale projects, the servers allow them to share these ideas with those around them. The school server is truly an integral part of the OLPC experience.

What makes the School Server special?

What it can provide

The School Server provides infrastructure services and tools that require

  • Large storage capacity
  • Asynchronous interaction
  • Reliability
  • Larger processing capacity / Batch processing

Main user roles

  • Kids, students
  • Teacers
  • Sysadmins at the NOC,
  • Field technicians

Design constraints

  • No technical people at the school
  • Must be managed 1 NoC sysadmin per 1K - 5K XS boxes
  • We assume that installation will be handled by entry level sysdamin or field technician. However, that implies that the country level NoC has already customized the fully automated install process.
  • Unreliable power
  • Unreliable/nonexistent Internet connection

What the School Server Supports

The main role of the school server is as a publishing site for a child's data. OLPC wants children to be able to read and modify documents, create new documents, share documents with others, and explore the larger world. The school server supports this through a school library, which includes any documents from a child's journal that they have marked to be shared with other students.

The school server supports a child's exploration, storing and protecting their data. With the extra storage provided by school servers, children can create, or copy and modify, as much as they want. By providing a continuous backup of the data on their laptops, servers help free children of concerns that they will lose their creations, even if they modify the laptop software itself.

What the School Server Provides

The school server provides centralized services and support for the laptops. XO is designed to be durable and to run on limited power, therefore it has no moving parts and minimal external connectivity. This means flash memory instead of a hard drive, and no wired network connections. To download applications, store and backup large files, and to communicate with the Internet, the laptops in the mesh periodically connect to the school server.

The school server comes in many sizes, supporting any group larger than twenty laptops. In some locations, it provides all services. In others, it simply provides those services unique to the Sugar/XO user.

The relationship between laptop and school server is not the traditional one of client and server. School servers are effectively more capable, persistently available peers of the laptops. A number of services, such as storage or a telephone directory, are difficult or costly to provide in a distributed manner, and better relegated to the school server.

In addition to providing centralized services to XO laptops in its network, a school server also extends the functionality of the laptops by providing Internet access and caching for all laptops in the mesh, backup of individual laptops, and access to content from the school library.

Internet Access

When connected to the Internet, a school server provides this access to all XO laptops on its network. The laptops are connected to one another and to the Internet using the school's wireless mesh network. Individual machines don't need to be within direct wireless range of the school; other XO laptops may relay their connection to the school. To accommodate the number of students in larger schools, up to three physically overlapping mesh networks may be deployed per school. The school server provides the connection between these school mesh networks and the Internet using built-in wireless mesh network interfaces.

In addition to providing connectivity, the school server provides other networking functions that improve the Web experience for students in a school. One crucial function is local caching of pages and media accessed on the Web. Caching is the practice of storing a copy of any web content retrieved from the Internet on a local server - in this case, the school server. Image files, video, or audio can be slow to download over a limited Internet connection. When this content is already available on the school server, subsequent requests for the same content can be served very quickly. This both allows for much more rapid sharing of web pages and media by a class or group of users, and reduces traffic and bandwidth on the shared Internet connection.

Another function provided is caching of Internet domain name information. A typical web page requires translation of two to three domain names before displaying. In a manner similar to that used for content, these translated domain names are stored locally on the school server and reused for subsequent requests, resulting in faster browsing.

If a country chooses to filter a school's access to the Internet, the school server could perform the filtering operation. OLPC does not currently provide network filtering software, but will work with countries to meet their requirements. We typically see this filtering done upstream from the school, at the country, region, or city ISP level.

The school server will also provide computers other than XO laptops at the school with connectivity. However, until the wireless mesh interface used by the laptops becomes available on other computers, this connectivity must be provided through an alternate network. This alternate network may be wired or wireless. If it is wireless, access points other than those provided with the school server will be needed. In order to avoid interference with a school's mesh networks, it is strongly recommended that any non-mesh wireless networks in the school use 802.11a technology.

Backup

The school server provides reliable data storage to the laptop and maintains a backup copy of a student's work. If their laptop is stolen, lost, or broken, their work can be recovered from the server. This backup facility also archives older work that is no longer stored locally on the XO.

In the event of accidental data destruction, all files recently created by a student can be restored from the school server using a process similar to that used for upgrading the laptop software. A redundant backup of student work is planned, from the school server to another server on the Internet; this process will vary from country to country.

As students use their laptops, it is expected that they will exceed its limited storage capacity (around 800 Megabytes of user space). At this point, older documents stored on the laptop will be removed to make room for new documents. Those documents will then be archived on the school server. Not encumbering the students with this multi-level storage model is a feature of the new Journal interface planned for the laptop. The Journal will automatically and transparently restore deleted documents to the laptop if a student wishes to access or edit them.

Asynchronous learning tools

As the school server is running permanently -- or as long as the power supply allows -- it is the network resource that can be counted on being online the most. Asynchronous tools such as forums, wikis and content publishing are hosted here.

The main visible face of the School Server for users is a customised Moodle interface that gives users access to resources and learning activities organised around groups/courses. Additionally, Moodle provides the means to access user-centric resources, such as the web-view of the backed-up Journal files.

Library

The school server houses a library of media, applications, and texts for children and teachers in the area. This school library is distributed across school servers and laptops in a school, and connected to a regional library located on the Internet. Books and media in the library may be accessed directly from the school server or downloaded onto the laptops. The library also houses software updates, repair manuals for the laptop, and new laptop activities.

The school library, at its core, is a local copy of a library assembled by the school's country and region, with help from OLPC. This set of documents is assembled on a country/region server, named a Regional Library. Each individual school server has a section of its library consisting of documents submitted by students and teachers using that server. This is called a Classroom Library. The collection of classroom libraries provided by the school servers at a particular school (there will typically be 2 to 15) is called a School Library. School library content comes from a variety of sources: teachers and students in the school, regional school organizations, the country and [inter]national libraries, school and regional servers in other countries, OLPC, and other free knowledge communities worldwide.

A number of library attributes (discovery and availability of materials, library contributions, collaborative learning) are discussed in following sections. It is important to note that the library is not a single service, but rather a set of services (wiki or wiki+, http cache, bittorrent client, codecs, etc...) that combine to provide library functionality.

Discovery of Materials

Any XO laptop maintains an index of materials on its own machine, as well as those seen on other nearby XOs and on school and regional servers, and can send requests for materials over the mesh or network. School servers maintain a similar but larger index, collating requests for materials and evaluating whether they can be fulfilled over the mesh. A pre-determined subset of the regional library is mirrored in the school library; the remainder of the documents are available over the Internet. Requests that cannot be fulfilled locally can be queued for request from regional servers or the Internet.

Availability of Materials

When a user requests a document from the school or regional library, the document is cached locally for a specified period of time. Caching of recently accessed documents via transparent HTTP proxy provides the best user experience, given limited connectivity. This also minimizes the load on the network connection to the regional library.

Supplying school library content from one school to a large number of other schools is also a challenge due to the limited bandwidth available for uplink from a typical school. Unfortunately, the architecture most useful for nonprofit content distribution is peer-to-peer (P2P), which is not well suited for school servers using highly asymmetrical (DSL, satellite) network connections. One solution is a well-connected regional or country-level 'seed' server with ample storage that can mirror unique content from each school. This server could also provide redundant backup of school libraries. P2P access protocols may be used to reduce the load on these seed servers, and make use of any regional schools with good uplink connectivity.

Note: A P2P protocol may be used to help scale the regional library, but it must be sensitive to the fact that many schools have very limited upstream bandwidth and can not participate as peers. While this protocol may serve well for mirroring content onto school servers, using it to provide on-demand access to library materials by students would require a client that is more complex than a browser.

Library Contribution and Collaborative Learning

Teachers and students should have tools to create and a place to store (and share) any resources they create. One such tool is a local 'wiki' available on each school server. Wikis are websites and software applications that allow users to freely add or edit content displayed on the site. They are powerful and effective tools for collaborative authoring. Other collaborative tools such as Rhaptos and Moodle have been developed specifically for school environments, and will be supported by the Library. The online extension of the Journal can provide students with the ability to blog and set up a shared window into their writing and work.

In any case, software that allows students and teachers to engage in collaborative projects will be made available — either directly on the laptop or for download from the school server. By working through their school servers, several schools in a district may collaborate on the same project. For example, an essay project might involve forming an author group of students from different schools in a district, all working through collaborative tools. Over the course of the semester or the holidays, students could work together on an essay about a chosen topic, even cooperating with other regional groups to contribute to a larger project in a chosen knowledge area (similar to Wikipedia projects). The results can be graded by tutors and teachers. Mentors can help to locate information or to offer advice on how to collaborate. Collaborative projects hone not only the student's writing and communication skills, but their computer skills as well. Skills Kills, Man U is the bomb.

What the School Server is

The school server is a bundle of software that may be run on a variety of platforms, allowing it to support schools of 20 to 2000 students. OLPC will design and build two varieties of school server, small and large, supporting 20 and 150 students respectively. An XO laptop can even serve as a school server in a pinch, though this is not economical. Multiple servers may be used to support larger schools, appearing to the students and teachers as a single 'server'. OLPC will support efforts by individual countries to build their own school servers. All software running on the school server, like the laptop, will be free and open source.

Hardware

See XS Recommended Hardware

Software

Like the XO laptop, the software on the school server is based on the Fedora distribution of Linux. Services and interpreters available for use by applications include SQL, Java, PHP, Python, and Perl. The web server is Apache, and collaborative tools include several wikis and Moodle.

In the long term, virtual servers (see the BitFrost security specification) may allow software applications developed at the local or regional level to execute on the school server without compromising either the security or reliability of the server. Virtual servers can constrain applications in the amount of resources (processor, memory, disk, and network) that they may consume. YOYOYOYOYOYOYO