The Buddies – Project Proposal

The Buddies

CS551 – Project Proposal

Project Group

Sushil Puradkar

Uday Joshi

Swapnil Deshmukh

Preeti Naik

Madhura Maideo

Neeta Prasad

Saurabh Pathak

Date of Submission: September 29, 2003

Table of Contents

1.Introduction

2.Project Goal and Objectives

Overall Goal

Specific Objective

Significance

3.Project Background

Work done by others

Relation of our project to current research

4.General plan of work

Proposed Solution

Proposed System

5. Reference

1.Introduction

Imagine a scenario where you enter in your office. You stand in front of a coffee machine. Coffee machine recognizes you, greets you and prepares your favorite coffee for you. Then it asks you whether you would like to listen to your favorite song or would like to listen to your emails while you are sipping in your coffee! Then it will tell you that you are late for you job and your boss is waiting for you!

You meet your boss and both of you go to the conference room where you are supposed to give a presentation in five minutes. Well, you are kind of a person who likes to work at home too. You have stored your presentation on your desktop computer at home. The conference room is intelligent. As you walk into the conference room, it will recognize you. It will know that your presentation will start in next five minutes so it will fetch your presentation from your home desktop pc and when you are about to start your presentation it will dim all the lights and will project your presentation on the screen! It seems like we are talking about something impossible, like some science fiction. But the way we see it, it’s possible. It’s possible in tomorrow’s pervasive computing world, the world that we dream.

Pervasive computing is all about computers. They will pervade in your life. They will act as your friend, subordinate, guide and trainer. Pervasive computing world will be erected on collaboratively working and intelligent environments. We call such intelligent environments as ‘Autonomous System’ (AS). To achieve such intelligent environment, we need all devices talk to communicate with each other; know each other’s capabilities and work collaboratively to execute any task. We need these environments to know humans, understand their feeling and provide service that would be most preferred by them. After all, they are made intelligent to assist humans. There are many hurdles in developing such intelligent environment. We need to tackle many issues like device communications, user profiling, decision-making intelligence and security. In this project we will try to address some of these issues and will try to come up with a framework that could become as a backbone to develop pervasive computing environment.

Another quite unexplored area is semantic web. It is all about making information globally accessible, classifying information and searching web intelligently to gather relative and accurate information. There are many research groups that are working in this field and have developed different standards to describe information. Again there are different issues, like information description, information discovery and information gathering, associated with this field. Surely this technology has a great potential to be useful for pervasive computing, as one of the requirements of pervasive computing is to make information globally accessible, yet maintaining privacy of the information. So we are also looking into different ways of incorporating this technology in our pervasive computing framework. Using semantic web will certainly strengthen our framework and will make it more flexible and useful. We will also try to figure out what other technologies we can use to strengthen our framework.

Very few groups are currently exploring this area. Although they are working with their own ideas, eventually all are working towards developing their dream world of pervasive computing. Even we are looking forward to contributing our efforts for the same cause, just a small brick in the foundation of tomorrow’s pervasive computing world!

During the process of exploring the end-less pervasive computing world, we plan to achieve some generic and some specific milestones. These will help us identify and measure our work done so far. The generic approach will make it easy for other researchers to build upon our concept.

Lets now move ahead and have a look at our goals.

2.Project Goal and Objectives

Overall Goal

The ‘Buddy – Everywhere’ project essentially gives the look and feel of the pervasive computing environment. We are planning to define a general script and framework which can act as the base for deploying any type of pervasive service. As an example, we will give a small demo of how a buddy system works.

We plan to achieve following goals.

Creating or defining a general scripting language in which the pervasive-aware users can write their specific scripts.

We will allow use of simple English words instead of machine-understandable commands.

This will give a better user friendly interface.

All the machines and devices in the system will be identified by the URI.

Using web services to information associated with particular URI

This will help us in making intelligent choice between the devices depending on the task to be performed.

Then we need to define an intelligent framework which understands this script and translates these simple English words into machine-executable commands.

The URI will map to the device ontology to gain more knowledge about that particular device. The ontology plays a very important part as it is the base on which the entire framework will take its decision from time to time.

Thus, the framework will choose the best or preferred device based on various preferences like configuration, user intent, nature of task, time to complete the desired task, other available compatible devices, web-service specifications etc and will implement work-flow.

All the internal modules and operations will be seen as wrapped under a web service to rest of the world. This will include database services, ontology derivation, interface for creating and handling various events during entire life cycle of Buddy-system. Generating and implementing intelligent atomic functions.

As an example of above pervasive computing, we will implement Buddy System.

Specific Objective

Although we are going to develop a generic framework and script, we do plan to show an example of such pervasive environment by implementing the basics of the Buddy system. It may include registration, preferences (Configuration options) and receiving and sending out messages/notification. This includes implementation of numerous sub-tasks.

The service will use ‘Buddy’ script that can be downloaded onto local or central machine of any organization.

First time, the user can go in and register with the system and eventually define his/her specific options/ preferences, which will be stored as configuration options.

The user can add other users by either their email address, cell phone number or login name or all

Whenever his buddy arrives online into the system, the user will be notified on the device that he is currently online. (This can be PDA, Cell-phone, computer or e-mail)

Example:

Lets say that a very large organization (maybe UMKC, Microsoft etc) having many distinct offices over a small area (This may or may not be the case) has deployed this system.

Whenever a professor or employee walks in, he / she will swap his ID card and will be entered into the central database of that organization.

This will trigger the Buddy system and all the people related to this person will get notified on their respective computers, PDA, cell phone about his/ her arrival.

Such other people could be his boss, other fellow teachers, students who have taken his course etc

Thus, the system will keep track and give timely notifications.

Significance

System will be highly modularized and hence new components can be added or existing components can be changed easily.

Since we are focusing on developing a general framework and scripting interface, it can be looked at as a ready to use component which can be deployed in type of service.

The organizations can define its own service for its own purpose and use these off-the-shelf components to cater to their needs.

Also, these systems will have in-built intelligence residing in the framework, which makes a smart choice out of given options.

These systems over the time can adapt to changing environments and behave accordingly. Thus, such framework is flexible.

The Buddy – System in particular can be useful to acknowledge the presence and absence of selected people who may not be directly contactable. Thus, you can always be in touch even if you are out of town or out of state.

The Buddy-system will roam around with the user. It will be a ‘pervasive’ module/component which will travel with the user everywhere and all the time.

3.Project Background

Work done by others

Pervasive Computing is evolving from the already existing technologies like distributed computing and mobile computing. The vision of Pervasive computing is to create an environment such that all the devices in it should be able to compute and easily communicate with each other in the environment [4]. Due to inadequate resources (like hardware) and technologies development of pervasive computing environment were a big hindrance, but today there is availability of many sophisticated devices and technologies which makes the development of pervasive computing environment possible. There are lots of researches issues involved in this field. The four main research issues in pervasive computing involve; Effective use of smart spaces: Pervasive computing infrastructure is to be embedded in a small area like building or an office, which will create a pervasive computing environment. Invisibility: User should not be aware of existence of such kind of environment. Localized Scalability: The environment should be able to grow locally rather then globally. Masking uneven Conditioning: the amount of variation visible to user is to be reduced in the pervasive computing environment. Pervasive computing is just on the early stages of development, there is lot more to do and it is very difficult to predict the future of such kind of system at this time.

The next step in Pervasive computing is to create an infrastructure such that it should minimize the attention of humans with such an environment [5]. The project Aura is currently being developed in order to achieve this goal. It works around the concepts of proactivity and self-tuning. Proactivity is ability of a lower layer to interact and process requests with upper layer and Self-tuningisaboutadjusting performances and resource usage of layers depending on the demand made on them. Thus idea is to create system layer behavior more dynamic and lower demand for human attention. The Aura project is being deployed in CMU campus and several applications are being developed that can be used across the campus. Different services were developed during this project like cyber-foraging, wireless bandwidth advisor and the WaveLAN-based people locator. The main features of Aura were it supported user mobility and shielding user from resource availability. Aura attempts to adapt the environment to the changing requirements of the user. Another aspectof Project Aura was to develop applications that use this infrastructure. Two applications were designed based on this portable Help-desk and Idealink. Portable Help-desk is built on two fundamental services (a) Spatial awareness: for user relative and absolute position and orientation (b) Temporal awareness: for scheduled time of public and private events. Idealink is an application, which facilitates planned and ad-hoc collaboration among mobile users.

One of the successful implementation of pervasive computing system is Oxygen [1], developed by MIT. This project enables pervasive, human-centric computing through a combination of specific user and system technologies. Oxygen’s device, network, and software technologies dramatically extend our range by delivering user technologies to us at home, at work or on the go. Collection of embedded devices, called E21s, create intelligent spaces inside offices, buildings, homes, and vehicles. Handheld devices, called H21s, provide mobile access points for users both within and without these spaces. Networks, called N21s, connect dynamically changing configurations of self-identifying mobile and stationary devices to form collaborative regions. The Oxygen software environment is built to support change to provide adaptable system. Speech and vision provide the main modes of interaction in Oxygen. Oxygen’s user technologies like automation, collaboration and knowledge access harness its massive computational, communication and system resources.

Research group at UMBC is working on concept to express ontology in Web Ontology Language for supporting agent based context-aware systems in a pervasive computing environment [2]. The design is aimed to create a set of ontological vocabularies with basic semantics that are pragmatic for building these systems in the near future. The group working on this is developing a new pervasive context-aware computing infrastructure called Context Broker Architecture (CoBrA), to support ubiquitous agents, services and devices to behave intelligently in according to their situational contexts. Their work is closely related to other research such as Intelligent Room, Context Toolkit and Cooltown, One.World and Centaurus. But it is also trying to develop explicit ontology representations of contexts, supporting context reasoning and maintenance through logic inferences and providing user privacy protection using policies. They plan to prototype an intelligent context broker and integrate it with the Centaurus system. Their aim is to create and deploy a pervasive context-aware meeting room in UMBC main campus.

A context oriented-programming (COP) approach is proposed for pervasive computation [3]. The resulting programming method relives programmers from explicitly specifying and managing context awareness and the associated adaptation mechanisms. COP uses a special construct called open terms to express pervasive applications. Formalizing and defining new types of interactions (e.g. Linda, Ambient) has received a strong boost from the research community. Today’s research does not address the problem of how to program pervasive systems and how the ever-changing a-priori unknown heterogeneous contexts can be taken into account in order to program adopted interactions. They lack the support for concise description, manipulation and formal models for reasoning about contexts. This programming paradigm addresses such problems. Their future work will explore ways to define formal semantics of COP, an extension of ambient calculus. They plan to define transition and reduction rules, a polymorphic type system and type inference algorithm which support their notion of context.

Even though there are lots of sophisticated devices available to be used in pervasive computing environment, but lack of suitable application infrastructure is the main hindrance in its development [6]. There is a research going in Carnegie-Mellon University to build the middleware for such kind of applications. Some scenarios such as devices with completely auto-centric user interfaces, applications which determine the user physical locations and multi-user collaboration systems were thought of developing. The students of Carnegie-Mellon University are in second phase of developing this application. They are maintaining certain principles while developing this application: Keeping the infrastructure flexible so that some kind of innovation can be added later. Designing the application by keeping security issues in mind and it should not be added later. System should be robust and there should be appropriate support against failures.

Relation of our project to current research

Right now there are few pervasive computing systems and architectures developed by different research groups in different universities. The systems that they have developed are ad-hoc in nature. These systems work on specific technologies and uses intelligent devices. Such devices are not developed at large scale. These are advance devices would become integral part of tomorrow’s pervasive computing world.

In our project we try to work with normal devices or devices with very limited intelligence. Intelligence of our system is in pervasive computing framework and not in devices used to form a pervasive computing environment. Such framework will surely help to develop intelligent autonomous systems with current devices. This framework will help many device workflows to execute different tasks. We are working towards developing a scripting language, which would be easy to write and understand, to describe such workflow. This framework could be implemented in smart offices, smart home or any smart environment, which will make them really smart.