טכניון מכון טכנולוגי לישראל
הטכניון מכון טכנולוגי לישראל - בית הספר ללימודי מוסמכים  
M.Sc Thesis
M.Sc StudentWeinsberg Yaron
SubjectA Programming Model and System Support for Disconnected-
Aware Applications on Resource-Constrained Devices
DepartmentDepartment of Electrical Engineering
Supervisor Mr. Z. Ben-Shaul


Abstract

The emergence of networked lightweight portable computing devices can potentially enable accessibility to a vast array of remote applications and data. In order to cope with shortage of local resources such as memory, CPU and bandwidth, such applications are typically designed as thin-client thick-server applications.

However, another highly desirable requirement is to support disconnected operation, i.e., a mode of operation that enables a client to continue execution of a distributed application in spite of network disconnection and/or connection deterioration.
Disconnected operation is important due to the low quality and high cost of on-line connectivity, but it conflicts with the thin-client approach since it requires functionality that is sufficient for local only operation.

We present a novel programming model and a runtime infrastructure that addresses these conflicting requirements by automatically reconfiguring the application to operate in disconnected mode of operation, when voluntary disconnection is requested, and automatically resorting to normal distributed operation, upon reconnection. The programming model enables developers to design disconnected-aware applications by providing a set of component reference annotations with special disconnection and reconnection semantics. Using these annotations, designers can identify critical components, priorities, dependencies, local (e.g., low-end) component alternatives, and state merging policies. The runtime infrastructure carries out dis- and re-connection semantics using component mobility and dynamic application layout. The disconnected operation framework, FarGo-DA is an extension of FarGo, a mobile component framework for distributed applications.