HKU Sparkle Project

Prepared by C.L. Wang


Computing has been an ever-changing paradigm since the beginning of its creation. With the millennium, there is an advent of a new computing environment. Computing is no longer limited to a "computer" per se. You see more and more different types of devices, such as personal digital assistants (PDAs) and mobile phones, taking advantage of wireless networks to connect to the Internet to provide services to the user. A wealth of effort going into the development of intelligent appliances and information appliances. More people are using mobile devices to access information or perhaps even just to communicate with each other. There is, no doubt, a trend towards more and more networked small devices with wireless access present in living and working spaces. The future, thus, will see great emphasis on pervasive computing. Pervasive computing can be summarized by 3 A's - having access to computing and information Anywhere, Anytime and from Any device. The computing environment can be characterized by: · 

The whole environment can be seen as a huge ad-hoc distributed system, with a multitude of small devices moving from one place to another and cooperating with each other. With this new environment, new approaches have to be used to build applications. Current approaches to build distributed applications have been found to be flawed in a pervasive environment. The pervasive computing environment poses new requirements on the infrastructure. These requirements are: 

Our project aims to build a user-oriented infrastructure designed specially with the needs of the future in mind. Our goals include: 

To achieve the above goals, a combination of software development techniques and infrastructural entities have to be used. The traditional software architecture for application development has to be changed. Instead of being huge monolithic chunks, software should be made up of smaller components. In addition, the network should have some intelligence to enable adaptability and provide for user-oriented services. Also, mobile code systems have to be incorporated in the software architecture, which utilize a combination of data and code mobility in order to achieve a flexible computation model. 

An application executing with "facets".


The Sparkle System Overview


In our architecture, all applications are built from small functional components, called facets. A facet fulfills a certain functionality. It is stateless and possesses single invoking interface. It is associated with a manifest called shadow, which contains a description of its resource requirements, run-time behaviour, context conditions, etc. Facets run in containers, which is an abstraction that  provides an application-like feeling to end-users. Each container is associated with a particular application and contains a set of functionalities which the application can offer. The container, while running, would request for facets which fulfill the required functionalities. Figure 1 (above) shows an overall picture of the Sparkle architecture that operates on the facet abstraction. It consists of several entities, which are briefly described below:

Under normal cases, the client request is sent to the proxy. Since the proxy possesses the overall view: it knows what facets are available in the facet servers and it knows the requirements of the client, it can return the facet that best matches the client’s requirement. If connection to the proxy is not available, the client device can send requests to nearby peers to see if they have a facet with the required functionality available or even migrate the whole execution through the proposed mobility system: the LMAS.

Previous Research Students:

Nalini Moti Belaramani 

Chow Yuk

Vivien Wai-Man Kwan
(Left to right: Laurel, Pauline, Weisong, and Tianqi)



This is an ongoing research project conducted by The Systems Research Group. The project is supported by a grant from the Research Grants Council (RGC) of the Hong Kong government (Project No. HKU7146/04E). The team, together with Shanghai Jiaotong University and Zhejiang University,  are working on a new 4-year project "Studies on Core Theories and Techniques for Pervasive Computing" funded by National Natural Science Foundation of China (NSFC), from 01/2006 to 12/2009. If you consider to join this research, please send e-mail to Dr. C.L. Wang ( You may also get more information about our recent progress on Sparkle system in the Sparkle-II project webpage here.

Last revised:

Monday, November 30, 2009