Menu

Mobile Computing & Networking Research


The Mobile and Pervasive Computing Lab is focused on systems research and experimental aspects of Mobile Computing, emphasizing Mobile Computing Models, Mobile Data Access, Mobile Networking, and Power-Aware Mobile Computing. Individual projects are listed below.



Peer-2-Peer and Mobile Computing Models ❯ Konark - Ad-Hoc Service Discovery

Overview

The proliferation of mobile devices and the pervasiveness of wireless technology have provided a major temptation to replicate the network-based service discovery technologies in wireless andmobile networks. However, existing service discovery protocols and delivery mechanisms fall short of accommodating the complexities of the ad-hoc environment. They also lay emphasis on devices rather than software services, making them unsuitable for m-commerce oriented scenarios. Konark is a service discovery and delivery protocol designed specifically for ad-hoc, peer-to-peer networks, and targeted towards m-commerce oriented software services. Konark has two major aspects - service discovery and advertisement, and service description and delivery. Konark uses a tree-based structure for storing services. This tree is used for the registration and advertisement of services on a mobile device, and the discovery of services on other devices in the environment. The approach towards service description is XML based. It includes a description template that allows services to be described in a human and software understandable forms. A micro HTTP server present on each device handles service delivery, which is based on SOAP. Along with the development of a design, ongoing efforts in Konark also include an implementation of the protocol for Personal Java based virtual machines. Currently, we have an implementation on WinCE 3.0 based iPAQs running Jeode virtual machine from Insignia.

Objective

The overall self describing sensor network approach is based on the need to provide a scalable, plug and play, smart sensor network that is more flexible and maintainable. The approach leverages both mature and new technologies and standards to develop the system architecture composed of the sensor platform architecture, sensor network hierarchy, and associated software framework. The main approach consists of empowering the sensor network by using surrogate code located on the sensor node to allow interpretation of the data and sensor node control. Our sensor network hardware platform includes RF communications, EEPROM for data storage, EEPROM for surrogate storage, and microprocessor for communication and data manipulation.

Tutorial and Examples

The goal of the Konark project is to provide developers with a high level API to easily create applications used to discover and deliver services in an ad-hoc environment. At the base level, Konark is a protocol that uses this API to locate services, determine what is needed by the users, and deliver the services similar to web services. However, web services require an Internet connection. With Konark, no solid Internet connection is needed. A device may roam in and out of the network as they wish and rely on the hardware to take care of the connection.

Konark exists in four parts: the discovery protocol, the delivery protocol, the registry, and the service creation. The basic Konark protocol works as follows:

  1. The registry loads a standard service tree describing all possible categories of services. At this point, the developer of the application has the option to register any existing services.

  2. Discovery of services: Discovery determines what services are available and for how long. Discovery can be customized for specific services.

  3. Once services are discovered, delivery may take place by either calling an HTTP server on the distant machine or by receiving HTTP requests from a distant machine, depending on who is invoking the service. There are two steps in delivery.

    • Getting the full service description. This delivers the XML file that describes the service entirely. This is read by the calling device and the user can determine if he/she wants the service.

    • If the user determines he/she wants to invoke the service, the final step, which is the service delivery, occurs.

  4. The final aspect of Konark is the creation of services. Following only a few Konark standards, developers can write and produce their own custom services for almost any application.

This tutorial will cover writing applications using the Konark API for each of these steps. The final step requires a simple understanding of the Konark delivery standards to write a custom service. Below, each of the steps is covered.

What can you do with Konark?

View the Konark API details.

Learn how to create new services.

Download the dll file, and example KonarkApps.

Building a Konark application step by step.

People

Dr. Sumi Helal
Dr. Choonhwa Lee
Pushkar Pradhan
Nitin Desai
Varun Verma

Publications

  • C. Lee, A. Helal, N. Desai, V. Verma, and B. Arslan, "Konark: A System and Protocols for Device Independent, Peer-to-Peer Discovery and Delivery of Mobile Services", the IEEE Transaction on Systems, Man and Cybernatics, Volume 33, Number 6, November 2003, pp682-696. (pdf)

  • Sumi Helal, Nitin Desai, Varum Verma and Choonhwa Lee, "Konark – A Service Discovery and Delivery Protocol for Ad-hoc Networks," Proceedings of the Third IEEE Conference on Wireless Communication Networks (WCNC), New Orleans, March 2003 (pdf).

  • Nitin Desai, Varun Verma and Sumi Helal, "Infrastructure for Peer-to-Peer Applications in Ad-Hoc Networks," Submitted to the 2nd International Workshop on Peer-to-Peer Systems (IPTPS '03), to be held in Berkeley, CA, February 2003 (pdf).

  • Pushkar Pradhan and Sumi Helal, "An Efficient Algorithm for Maintaining Consistent Group Membership in Ad Hoc Networks," Proceedings of the First International Workshop on Mobile Distributed Computing (MDC'03), to be held in Providence, Rhode Island, May 2003 (pdf).