Thursday, February 3, 2011

Context Aware Computing

Imagine a mobile device which tells you nearest restaurant when you feel hungry, which tells you who are the friends nearby when you travel, which tells you latest sport news of your interest, which tell you great places to visit when you are on a trip, which tells you about good shopping places nearby, which shows a parking lot when you are looking for parking slot.

Imagine a conference room which sends reminders to participants about meeting, which download the slides for the presenter, which turn on the projector on time, which find external information about the topic being discussed.

Imagine a vehicle which alarm driver when they about to pass dangerous area, which alarm when driver feel sleepy, which warn when driver is drunk.

Imagine a world where systems being proactively behave according to the CONTEXT. This is the ultimate goal of context aware computing research.

I recently read about context aware computing, its application and its challenges. This is a summarization of my recent study. I would like to decompose my discussion into few sub topics, namely definition, factors, applications, modeling and reasoning.

Definition


What is the definition of context?
Following are some of definitions I found:
• The interrelated conditions in which something exists or occurs
• Information that can be used to characterize the situation of an entity. An entity is a person, place or object that is considered relevant to the interaction between a user and an application, including the user and application themselves.
• Context is any information that can be used to characterize the situation of person or computing entity.

I rather like to introduce context as identified status about environment/occasion/event depending on the known facts.

What is context aware computing?
Context aware computing is a relatively old computing paradigm where people try to invent computing systems which adapts/responds according to situation.

Factors
There are several major factors that help to understand certain environment/occasion/event. Some of them are,
• Location
• Time
• Nearby resources
• Motion
• Noise
• Identity
• Activity
• Connectivity/bandwidth
• Vibration
• Gestures

Even though we see these are the major factors that we use to understand certain situation, we always use our knowledge about these situations implicitly to understand what is going on.

Applications
Before talking about the technical aspects of the context aware computing, I would like to discuss about some interesting applications. Following are some application that researches developed as prototypes.

Easymeeting room : A meeting room that understands meeting and remind its participants, provide resources to the meeting proactively.
University navigation system : A navigation system which assist new students to explore the university(students will be provided with information about the location they passby).
Context aware mobile phone : A mobile phone which provide location based services and user profile based services.
Shopping assistant: Guide user to shopping places where he/she find interesting stuff.
Software Engineering environment : Assign task according to the complexity, skills of engineers and availability.
Parking lot: Assist user to find free parking lot when user looking for parking slot

Apart from these there are vast number of context aware applications we can think of.

Now let’s talk about the technology behind these applications.
Context Modeling

We should be able to represent the knowledge about context in a manner in which an automated system can understand. This is a major challenge in context aware computing as well as many other computing paradigms. People use different strategies represent context, namely,
• Key/value pairs
• Tagged encoding
• XML
• Object oriented
• Logic based model
• Entity relationship model
• Ontology

But none of these are totally successful in general. Each of this modeling technique has its own advantages and disadvantages. Most interesting and successful applications were used ontology as context modeling technique.

Context Reasoning
Finally in order to provide context based services, automated system should be able to understand the situation by using provided facts. So reasoning is the core functionality in context aware systems. People use rule based systems and inference engines to reason about certain situation. But still with the limitation or the resources in the environment (context aware systems are highly deployed in mobile devices where processing power is very limited) these are not scale well. So scalability is main challenge in context reasoning.

Apart from these major technical areas people talk about hardware components which are capable of sensing the changes in environment, architectural issues in context aware computing and finally security and privacy issues. Although context aware computing is relatively old research area, still there is no ‘killer application’ which realizes the context aware computing.


References:
Merriam-Webster’s Collegiate Dictionary
Towards better understanding of context and context awareness (Anind K. Dey, Gregory D. Abword)
A Survey of Context-Aware Mobile Computing Research (Guanling chen, David Kotz)
Semantic web in a pervasive context-aware architecture(Harry Chen, Tim Finin, Anupam Joshi)
Ontology based context modeling and reasoning using OWL(Xiao Hang Wang, Tao Gu, Da Qing Zhang, Hung Keng Pung)
Context-Aware Computing: A Test Case (Jenna Burrell, Geri K Gay, Kiyo Kubo, Nick Farina)
Leveraging Semantic web computing for Context-Aware software engineering environments (Roy Oberhauser)

Wednesday, December 1, 2010

First Quarter in US

It’s my first snowing experience today. It has been three months since I have been to US for my PhD. I thought of writing the my experience not expecting someone will read it or somebody will be benefit from this writing, but to my own reference expecting this writing will give me nice memory someday.

Life
First of all life in US, since I don’t know the exact meaning of the word ‘life’, I may write things not align with your understanding of term life. This is about how I feel life in US. It’s easy as far as you get it easy. Being an alien to here I always felt I miss the great time in my life, because I miss my family, friends and all good and bad experiences back in my mother country Sri Lanka. But I must write here that nice people who were around me help me to feel that I didn’t miss all of those.

The quality of living is very high standard compared to my experience. Especially transportation, normally it took 1 hour and 15 minutes to go to my office which is 17km away from my home back in SL. But it is about 10 to 12 minutes’ drive in here. That is a major thing that we (as sri lankan’s) should consider. We should not let people waste their time in the road on fully loaded buses in huge traffic. Hopefully this issue will be resolved at least within next 10 years.

Fun
Yeah it’s fun, fun to be here as long as we can balance all things in life. Within last three months I visited three major attractions in US. First one was mammoth cave (One of the largest cave system in the world). Second one was Virginia and third one was Washington DC. I visited Norfolk harbor during my visit to Virginia, there were more than 30 war ships which belongs to US Navy. It was a great experience. I wish if we could have one such ship for my country. During my visit to Washington I visited white house which is not big as I thought.

Education
In terms of education student have full freedom to do what they want. Unlike in SL student are not restricted to specific area of study even when they doing their undergrad degree. Our system has restrictions for university students to explore what they want. You can’t take whatever subjects you want in the university, if you are there to do computer science you have to follow very restricted curriculum and earn the degree, but in US you can experiment yourself, you can take subjects from phycology department, business school and also from computer science department, after experimenting yourself then you select your major. I think this is a good system since just after doing advance level it is not possible to select what you want to do? Since school education is totally different from university education.

Culture
This is where the major conflict comes. Culture is totally different. It’s different from every aspects of it such as clothes, relationships, life style etc… . But still I love my culture.