Optimizing Offline LMS Architectures for Rural Higher Education

Abstract

Colleges outside Pakistan's major cities routinely lose grid power for hours at a time, and where internet access exists at all it is usually a slow, shared satellite link. This paper describes an LMS architecture designed around that reality instead of around it: a local caching layer, a plain Gigabit LAN inside each lab, and a nightly sync that moves only what changed. The result is a student dashboard that loads instantly whether or not the campus has a working internet connection that day.

Introduction

Most learning management systems assume a reliable internet connection, because most of them were built for institutions where that assumption holds. It doesn't hold here — a constraint already documented across the region [@khan2022]. In the sub-districts this project covers, grid power drops out several times a day and the nearest fiber line can be a two-hour drive away. Students either give up on the portal entirely or sit waiting for a page that should have loaded instantly.

Architecture

Each lab runs a low-power Ubuntu machine acting as a local mirror, holding a full copy of the course database. It syncs with the university's central server once a night, when bandwidth is cheap and nobody is trying to use it — the same nightly-batch pattern recommended for bandwidth-constrained networks generally [@nadeem2023]. During the day, every request a student makes stays on the local network and never touches the satellite link at all. Where a lab genuinely needs a shared queue depth bound, we cap it at $Q_{max} = 32$ concurrent requests per mirror, past which further concurrency showed no throughput gain.

Results

After moving a pilot lab onto this setup, page loads that used to take 20-25 seconds over the satellite connection dropped to under 200 milliseconds. The improvement had very little to do with clever code — it came almost entirely from not asking a slow, expensive connection to do work it didn't need to do.

| Lab | Before (satellite) | After (local mirror) | |---|---|---| | Sinawan Lab 1 | 24.1s | 0.19s | | Sinawan Lab 2 | 21.7s | 0.21s | | Kot Addu Lab | 26.4s | 0.18s |