XS Server Services/lang-ko
스쿨 서버가 제공할 서비스들입니다. 고려 중인 추가 서비스들은 별도로 나열됩니다. 설치와 관리와 같은 서비스 메타 이슈들은 스쿨 서버 스펙에서 논의됩니다.
기타 토의 중인 화제가 있으면 여기에 링크를 추가해 주십시오.
라이버러리
스쿨 라이버러리는 스쿨 서버를 이용하여 학생과 교사에게 미디어 컨텐트를 제공합니다. 이 컨텐트는 스쿨 라이버러리에서 직접 제공되거나, 노트북에 다운로드될 것입니다. 스쿨 라이버러리 컨텐트는 다양한 소스에서 제공됩니다: OLPC, OEPC, 국가, 지역 학교 조직, 다른 학교, 그리고 학생 및 교사들입니다. 여기에는 소프트웨어 업데이트와 노트북 수리 매뉴얼이 포함됩니다.
많은 라이버러리 속성들 (자기 관리, 확장성, 성능, 식별)이 하단의 각 섹션에서 논의됩니다. 그러나, 라이버러리가 하나의 서비스가 아니라, 일련의 서비스 집합체 (위키 또는 wiki+,http cache, bittorrent client, codecs, etc...)로서, 라이버러리 기능을 제공하는 것은 분명합니다.
라이버러리의 핵심은 해당 학교의 국가와 지역이 OLPC의 도움과 더불어 라이버러리의 "지역 복사본" 역할을 하는 것입니다. 이 문서들은 국가/지역 서버 상에 조직되고, 지역 라이버러리로 불립니다. 각각의 SS는 해당 서버를 이용하는 학생과 교사들이 제공하는 문서들로 구성된 지역 라이버러리를 가집니다. 특정한 학교의 스쿨 서버가 제공하는 클래스룸 라이버러리 (2~15개)의 집합이 스쿨 라이버러리입니다.
디스커버리
기본적인 대역폭 가정: XO들 간의 산발적 메쉬 연결, XO와 스쿨서버 [SSs] 간의 고속 연결, 스쿨 서버들 간의 산발적 연결 b/t SSs , 지역 서버를 통한 인터넷, 지역 서버와 인터넷 간의 고속 접속 (적어도 다운로드).
주: XO는 지역 XO들, 스쿨 및 지역 서버들 자료에 대한 인덱스를 유지할 수 이으며, 메쉬 또는 네트워크를 통해 자료를 요청할 수 있습니다. 스쿨 서버는 유사하지만 더 큰 인덱스를 유지하며, 자료 요구를 취합하고, 메쉬를 통해 제공 가능한 지를 판단합니다. 그 외에는 지역 서버 또는 인터넷에 큐로 저장됩니다.
- Indices would include a variety of useful metadata, including size, location, latency/availability (available via Torrent, FTP availability, estimated speed of connection), and rough content-based IDs.
- Servers and perhaps XOs would maintain basic statistics on what materials and types were most requested, with some special attention to requests for large files (which are harder to fulfill without saturating the network), and when nearby queues and indexes have been updated.
A reasonably accurate method is needed for keeping these indices mutually up to date, sending feedback back to requestors ("this material is 9GB in size; the request is unlikely to be fulfilled. please contact your network maintainer for more information."), and sending feedback to content hosts ("this file is very frequently requested. please seed a torrent network with it. <links>").
On the "internet at large" side of indexing are national and global libraries, metadata repositories such as the OCLC, global content repositories such as Internet Archive mirrors, and a constellation of web pages organized by various search-engine indexes [cf. open search, Google]. There is fast connection among these groups, and various categorization, discussion, and transformation of material (for instance, to compressed or low-bandwidth formtas) can be done there in preparation for sending it back to the less swiftly-connected parts of the network. (For instance, one often scans high-bitrate multimedia on a local networks at much lower bitrates, edits the low-bitrate material, and sends the collected edits back to be applied to the original media high-power machines and over a high-bandwidth network.)
확장성
지역 라이버러리의 사전에 정의된 서브셋은 스쿨 라이버러리에 미러되며, 나머지 문서는 인터넷을 통해 가용합니다.
최근 접속한 문서의 캐싱을 통해 제한된 접속으로 최상의 유저 경험을 제공하지만, 지역 라이버러리에 대한 로드를 최소화하는 효과도 가집니다. 이것은 transparent HTTP 프록시를 통해 수행됩니다.
피어-투-피어 프로토콜을 통해 지역 라이버러리를 확장할 수 있지만, 많은 학교들이 매우 제한된 상향 대역폭을 가지며, 피어로 참여하지 않을 수 있다는 점을 고려해야만 합니다. 이 프로토콜이 스쿨 서버에 컨텐트 미러링을 하지만, 학생들이 이 라이버러리에 접근하려면, 브라우저보다 복잡한 클라이언트를 요구합니다 (P2P Caching 참조).
학교 수준에서, 학교 내의 모든 서버들 간에 문서 캐시를 배포하는데는 지역 접속의 이점을 살릴 수 있습니다. 유감스럽게도, 우리가 필요로 하는 정확한 소프트웨어는 아직 개발되지 않았습니다 (P2P Caching 참조)
자기 관리
What is the mechanism for user submissions of media to the library? Teachers (and students) should certainly have a place to put resources they create where all can retrieve.
What about local wikis? Should they be supported on the School server? They are probably best replaced with a more function oriented information organization tool such Rhaptos or Moodle, and an online extension of the journal which supplants blogging.
리포지토리
Content centered, but allowing collaboration in building new content. See http://cnx.org for an example. The service is provided as open source software by the name Rhaptos. It's Python based.
협업적/출판/학습 관리 시스템
Moodle could be an option? http://moodle.org
- Exchanging published work with other communities could be done using a USB key, taking a class portfolio (using moodle pages) to another village. Distance collaboration can also be done in an asynchronous way, where each school has its page or set of pages in Moodle, and it would work like standard mail, travelling by land to another school, kids contributing, commenting, peer-assessing, and then back again.--Anonymous contributor
미니 무들 플랜
- These draft notes from Martin Langhoff, Moodle developer (14/03/2007): we are keen on helping prepare / package / customise Moodle for deployment in this environment, and have experience with Debian/RPM/portage packaging and auth/authz/sso. Actually, I lurk in laptop-dev and sugar-dev keen on discussing this further. Right now reading up on Bitfrost.
There's been some private correspondance between Moodle devs (MartinD, MartinL) discussing an overview of what the main work areas for Moodle on XS would be:
- Packaging (RPM?)
- Provide an out-of-the-box config that Just Works
- Integration with auth / sso (Bitfrost)
- Integration with group / course management (Is this too structured ;-) ?)
- Replace mod/chat and messaging infrastructure with mod/chat-olpc that hooks into Sugar chat/IM
- (maybe) Replace mailouts with OLPC infrastructure for email
- Work on an XO theme and UI revamp
(MartinL is happy to help on all except the theme/UI, due to sheer lack of talent)
That's the basics of getting a basic integration in place. The fun work will be in creating activity modules that make sense in a XO environment.
- Maybe this should be moved to a subpage?
지역 컨텐트의 대역폭 확장
This refers to the problem of supplying content posted to a School Library to a large number of other schools. This is a problem due to the limited bandwidth available for uplink from a typical school. Unfortunately, the architecture most useful for nonprofit content distribution --- peer-to-peer (P2P)--- is not well suited for use by school servers using highly asymmetrical (DSL, satellite) network connections.
One solution is a well-connected server with a large amount of storage provided at the regional or country level which will mirror the unique content from each school. This has the dual purpose of backing up said content. P2P access protocols may be used to reduce the load on these (seed) servers making use of any regional schools with good uplink connectivity.
보안과 식별
The Library uses the identity convention introduced by Bitfrost. When a laptop is activated, it is associated in some way (TBD) with a school server. This is the School server hosting the Classroom Library that a student is allowed to publish onto. Students not associated with a Classroom Library only have read permissions on the Library.
백업
According to this description of the Journal, it will provide automatic backup to the School server, with a variety of restore options.
What are the plans for providing additional storage to users of the XO laptops? How does the Journal handle filling up the available storage on the XO? allocated storage on the School server?
네트워크 라우터
School server는 최초의 인터넷 연결을 제공하는 무선 메쉬 노드입니다.
우선적인 가정은 이것이 투명한 라우터라는 것이며, 네트워크 주소 번역이나, 패킷 필터링을 거의 하지 않으며, 인터넷으로의 공정한 접속을 보장하는 대역폭 형성을 수행합니다.
HTTP 캐싱
The only packet filtering proposed is a transparent proxy on port 80, which will allow a caching of commonly accessed HTTP (web) content to occur locally. This will reduce the load on the internet connection, as well as the response time seen by a user. This may be relied upon to implement the School library.
The problem here is availability of HTTP caching software. The most popular open source provider, squid, is not IPv6 compliant yet. However, there's work underway for that.
A more intelligent caching/redirection scheme may be provided by CoDeeN. Unfortunately, it is built on top of commercial proxy software.
And a third option, (actually potentially related to CoDeeN), is Vivek Pai and Anirudh Badam at Princeton have done some work on a light weight caching proxy (HashCache) that may become suitable for OLPC at some point in the future.
See also 서버 캐싱
Name Resolution과 서비스 발견
The School server will use and support the use of Zeroconf techniques for device name declaration and service discovery.
It should also support traditional DNS by exporting the mDNS name registry.
대역폭 공정성
The School server should implement a bandwidth fairness algorithm which prevents a single user from dominating the use of the internet connection. The problem is that the short-term fairness algorithms used by TCP give P2P software equal consideration as users trying to access a document over the web. By biasing the queueing algorithm based on usage over the past 4 to 24 hours, we can protect the random browser from the heavy downloader.
The problem is that due to our mesh network, we may really be penalizing a remote classroom relayed through a single node.
We could bias the bandwidth allocation based on remote port (e.g. favoring web access to port 80), but this solution seems less than optimal.
동적인 IP 주소 할당
The school server will take responsibility for assigning IP network addresses to device on subnets it is routing.
Does the school server give out IP addresses to non-OLPC hardware? If so, should the DHCP be linked to the mDNS name registry ? I.e. if a machine requests a particular name in the DHCP request, should this name be recorded in the mDNS registry for the subnet?