Handbook of Research on Mobile Multimedia - CiteSeerX
Handbook of Research on Mobile Multimedia - CiteSeerX
Handbook of Research on Mobile Multimedia - CiteSeerX
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<str<strong>on</strong>g>Handbook</str<strong>on</strong>g> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>Research</str<strong>on</strong>g> <strong>on</strong><br />
<strong>Mobile</strong> <strong>Multimedia</strong><br />
Sec<strong>on</strong>d Editi<strong>on</strong><br />
Ismail Khalil Ibrahim<br />
Johannes Kepler University Linz, Austria<br />
Volume II<br />
Informati<strong>on</strong> science reference<br />
Hershey • New York
Director <str<strong>on</strong>g>of</str<strong>on</strong>g> Editorial C<strong>on</strong>tent:<br />
Director <str<strong>on</strong>g>of</str<strong>on</strong>g> Producti<strong>on</strong>:<br />
Managing Editor:<br />
Assistant Managing Editor:<br />
Typesetters:<br />
Cover Design:<br />
Printed at:<br />
Kristin Klinger<br />
Jennifer Neidig<br />
Jamie Snavely<br />
Carole Couls<strong>on</strong><br />
Jeffrey Ash and Michael Brehm<br />
Lisa Tosheff<br />
Yurchak Printing Inc.<br />
Published in the United States <str<strong>on</strong>g>of</str<strong>on</strong>g> America by<br />
Informati<strong>on</strong> Science Reference (an imprint <str<strong>on</strong>g>of</str<strong>on</strong>g> IGI Global)<br />
701 E. Chocolate Avenue, Suite 200<br />
Hershey PA 17033<br />
Tel: 717-533-8845<br />
Fax: 717-533-8661<br />
E-mail: cust@igi-global.com<br />
Web site: http://www.igi-global.com<br />
and in the United Kingdom by<br />
Informati<strong>on</strong> Science Reference (an imprint <str<strong>on</strong>g>of</str<strong>on</strong>g> IGI Global)<br />
3 Henrietta Street<br />
Covent Garden<br />
L<strong>on</strong>d<strong>on</strong> WC2E 8LU<br />
Tel: 44 20 7240 0856<br />
Fax: 44 20 7379 0609<br />
Web site: http://www.eurospanbookstore.com<br />
Copyright © 2009 by IGI Global. All rights reserved. No part <str<strong>on</strong>g>of</str<strong>on</strong>g> this publicati<strong>on</strong> may be reproduced, stored or distributed in any form or by<br />
any means, electr<strong>on</strong>ic or mechanical, including photocopying, without written permissi<strong>on</strong> from the publisher.<br />
Product or company names used in this set are for identificati<strong>on</strong> purposes <strong>on</strong>ly. Inclusi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> the names <str<strong>on</strong>g>of</str<strong>on</strong>g> the products or companies does<br />
not indicate a claim <str<strong>on</strong>g>of</str<strong>on</strong>g> ownership by IGI Global <str<strong>on</strong>g>of</str<strong>on</strong>g> the trademark or registered trademark.<br />
Library <str<strong>on</strong>g>of</str<strong>on</strong>g> C<strong>on</strong>gress Cataloging-in-Publicati<strong>on</strong> Data<br />
<str<strong>on</strong>g>Handbook</str<strong>on</strong>g> <str<strong>on</strong>g>of</str<strong>on</strong>g> research <strong>on</strong> mobile multimedia / Ismail Khalil Ibrahim, editor. -- 2nd ed.<br />
p. cm.<br />
Includes bibliographical references and index.<br />
Summary: "The book is intended to clarify the hype, which surrounds the c<strong>on</strong>cept <str<strong>on</strong>g>of</str<strong>on</strong>g> mobile multimedia through introducing the idea in a<br />
clear and understandable way, with a str<strong>on</strong>g focus <strong>on</strong> mobile soluti<strong>on</strong>s and applicati<strong>on</strong>s"--Provided by publisher.<br />
ISBN 978-1-60566-046-2 (hardcover) -- ISBN 978-1-60566-047-9 (ebook)<br />
1. <strong>Mobile</strong> communicati<strong>on</strong> systems. 2. Wireless communicati<strong>on</strong> systems. 3. <strong>Multimedia</strong> systems. 4. <strong>Multimedia</strong> communicati<strong>on</strong>s. 5.<br />
<strong>Mobile</strong> computing. I. Ibrahim, Ismail Khalil.<br />
TK6570.M6H27 2008<br />
384.3'3--dc22<br />
2008013114<br />
British Cataloguing in Publicati<strong>on</strong> Data<br />
A Cataloguing in Publicati<strong>on</strong> record for this book is available from the British Library.<br />
All work c<strong>on</strong>tributed to this book set is original material. The views expressed in this book are those <str<strong>on</strong>g>of</str<strong>on</strong>g> the authors, but not necessarily <str<strong>on</strong>g>of</str<strong>on</strong>g><br />
the publisher.<br />
If a library purchased a print copy <str<strong>on</strong>g>of</str<strong>on</strong>g> this publicati<strong>on</strong>, please go to http://www.igi-global.com/agreement for informati<strong>on</strong> <strong>on</strong> activating<br />
the library's complimentary electr<strong>on</strong>ic access to this publicati<strong>on</strong>.
702<br />
Chapter XLIX<br />
C<strong>on</strong>text Aware Collaborative<br />
Working Envir<strong>on</strong>ments<br />
Stephan Reiff-Marganiec<br />
University <str<strong>on</strong>g>of</str<strong>on</strong>g> Leicester, UK<br />
Yi H<strong>on</strong>g<br />
University <str<strong>on</strong>g>of</str<strong>on</strong>g> Leicester, UK<br />
H<strong>on</strong>g Qing Yu<br />
University <str<strong>on</strong>g>of</str<strong>on</strong>g> Leicester, UK<br />
Schahram Dustdar<br />
Vienna University <str<strong>on</strong>g>of</str<strong>on</strong>g> Technology, Austria<br />
Christoph Dorn<br />
Vienna University <str<strong>on</strong>g>of</str<strong>on</strong>g> Technology, Austria<br />
Daniel Schall<br />
Vienna University <str<strong>on</strong>g>of</str<strong>on</strong>g> Technology, Austria<br />
H<strong>on</strong>g-Linh Tru<strong>on</strong>g<br />
Vienna University <str<strong>on</strong>g>of</str<strong>on</strong>g> Technology, Austria<br />
Sebastien Peray<br />
European Micros<str<strong>on</strong>g>of</str<strong>on</strong>g>t Innovati<strong>on</strong> Center GmbH,<br />
Germany<br />
Marcel Tilly<br />
European Micros<str<strong>on</strong>g>of</str<strong>on</strong>g>t Innovati<strong>on</strong> Center GmbH,<br />
Germany<br />
Giovanni Giuliani<br />
HP European Innovati<strong>on</strong> Center, Italy<br />
Christian Melchiorre<br />
S<str<strong>on</strong>g>of</str<strong>on</strong>g>teco Sismat SpA, Italy<br />
Sim<strong>on</strong>a Stringa<br />
S<str<strong>on</strong>g>of</str<strong>on</strong>g>teco Sismat SpA, Italy<br />
Abstract<br />
Collaborative Work Envir<strong>on</strong>ments are s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware systems that allow teams, which are nowadays <str<strong>on</strong>g>of</str<strong>on</strong>g>ten<br />
distributed in locati<strong>on</strong> and organizati<strong>on</strong> to which they bel<strong>on</strong>g, to achieve certain projects or activities.<br />
In recent years, the available computer tools that can support such activities have grown; however, their<br />
integrati<strong>on</strong> is not necessarily achieved. Furthermore, users <str<strong>on</strong>g>of</str<strong>on</strong>g> such systems need to typically provide<br />
a large amount <str<strong>on</strong>g>of</str<strong>on</strong>g> setup informati<strong>on</strong> as the systems are not c<strong>on</strong>text-aware and hence cannot gather<br />
informati<strong>on</strong> about user activities in a simple way, and almost certainly will falter when the c<strong>on</strong>text <str<strong>on</strong>g>of</str<strong>on</strong>g><br />
users changes. This chapter describes the inC<strong>on</strong>text approach: a collecti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> novel techniques and a<br />
Copyright © 2009, IGI Global, distributing in print or electr<strong>on</strong>ic forms without written permissi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> IGI Global is prohibited.
C<strong>on</strong>text Aware Collaborative Working Envir<strong>on</strong>ments<br />
reference architecture to support integrati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> tools and c<strong>on</strong>text informati<strong>on</strong> to provide collaborative<br />
work envir<strong>on</strong>ments for the mobile worker <str<strong>on</strong>g>of</str<strong>on</strong>g> today. We will explore in detail how collaborative services<br />
are selected and how c<strong>on</strong>text is modeled, and c<strong>on</strong>sider the details <str<strong>on</strong>g>of</str<strong>on</strong>g> team forms.<br />
Emerging Collaborative<br />
Systems<br />
People for a l<strong>on</strong>g time have c<strong>on</strong>ducted work in a<br />
collaborative manner; and <str<strong>on</strong>g>of</str<strong>on</strong>g> course, with a growing<br />
amount <str<strong>on</strong>g>of</str<strong>on</strong>g> service work, network c<strong>on</strong>nectivity,<br />
and s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware use, computers have started to play<br />
a greater role.<br />
More recently, we are encountering an “always-<strong>on</strong>”<br />
ethic <str<strong>on</strong>g>of</str<strong>on</strong>g> many knowledge workers; that<br />
is, people want to be c<strong>on</strong>nected all the time, want<br />
to be able to check and receive e-mail, work as if<br />
they were in the <str<strong>on</strong>g>of</str<strong>on</strong>g>fice regardless <str<strong>on</strong>g>of</str<strong>on</strong>g> where they<br />
actually are, want to exchange documents in transparent<br />
ways, and so forth. C<strong>on</strong>sidering this view,<br />
s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware support for collaborative work needs to<br />
address a multitude <str<strong>on</strong>g>of</str<strong>on</strong>g> requirements; <str<strong>on</strong>g>of</str<strong>on</strong>g> course,<br />
basic collaborati<strong>on</strong> functi<strong>on</strong>ality is essential,<br />
but this needs to be available in a c<strong>on</strong>text-aware<br />
manner that <strong>on</strong> the <strong>on</strong>e hand provides the required<br />
transparency for a mobile workforce and <strong>on</strong> the<br />
other also supports the fact that individuals are<br />
generally part <str<strong>on</strong>g>of</str<strong>on</strong>g> many teams working <strong>on</strong> a multitude<br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> projects simultaneously. These teams<br />
might span organizati<strong>on</strong>s, and teams might be <str<strong>on</strong>g>of</str<strong>on</strong>g><br />
different forms as far as their l<strong>on</strong>gevity and other<br />
aspects are c<strong>on</strong>cerned.<br />
Based <strong>on</strong> various criteria such as team goal,<br />
coupling, time span, and so forth, we classify<br />
emerging team forms into Nimble, Virtual, and<br />
<strong>Mobile</strong> teams (N/V/M teams). A nimble team<br />
quickly gathers to work <strong>on</strong> problems that may<br />
emerge unexpectedly. Team members can be<br />
distributed or collocated in terms <str<strong>on</strong>g>of</str<strong>on</strong>g> physical<br />
space. Team leadership is established in an ad hoc<br />
fashi<strong>on</strong>, while peers may take up multiple roles<br />
simultaneously. Examples for nimble teams are<br />
task forces <str<strong>on</strong>g>of</str<strong>on</strong>g> specialists for crisis mitigati<strong>on</strong> in<br />
health care (e.g., SARS) or scientists organizing<br />
a c<strong>on</strong>ference at a new locati<strong>on</strong>.<br />
Virtual team members collaborate across geographical<br />
distance and organizati<strong>on</strong>al boundaries<br />
and have a somewhat stable team c<strong>on</strong>figurati<strong>on</strong><br />
with roles and resp<strong>on</strong>sibilities assigned to the team<br />
members. Exemplary virtual teams are technical<br />
c<strong>on</strong>sultants for a mechanical engineering project<br />
or a producti<strong>on</strong> team for a movie.<br />
Members <str<strong>on</strong>g>of</str<strong>on</strong>g> nomadic teams are typically<br />
involved in several projects at the same time in a<br />
loosely coupled fashi<strong>on</strong>.<br />
As the name suggests, the c<strong>on</strong>cept and model<br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> mobile teams aims to characterize and support<br />
team members that are highly mobile and<br />
frequently change their locati<strong>on</strong>s and move to<br />
different places where they may meet other collaborators.<br />
Collocati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> peers, without being<br />
explicitly planned or scheduled, yields the need<br />
to opportunistically collaborate by exchanging<br />
data and artifacts in an ad hoc fashi<strong>on</strong>. Experts<br />
in a political c<strong>on</strong>flict resoluti<strong>on</strong>, musicians providing<br />
a compositi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> soundtracks, or actors<br />
providing stunt or dubbing services are some<br />
real-world examples.<br />
Hence, modern collaborative working envir<strong>on</strong>ments<br />
need to provide soluti<strong>on</strong>s for these issues.<br />
They should also be delivering increases in<br />
productivity; that is, they must support people in<br />
what they do and not introduce an extra burden.<br />
To that extent, they must integrate the existing<br />
tools <str<strong>on</strong>g>of</str<strong>on</strong>g> relevance that team members are using<br />
(be they public services or proprietary <strong>on</strong>es) and<br />
support complex forms <str<strong>on</strong>g>of</str<strong>on</strong>g> interacti<strong>on</strong>s occurring<br />
in the various team forms.<br />
The research focus <str<strong>on</strong>g>of</str<strong>on</strong>g> the inC<strong>on</strong>text project<br />
centers <strong>on</strong> how to exploit and combine novel<br />
techniques in the fields <str<strong>on</strong>g>of</str<strong>on</strong>g> c<strong>on</strong>text modeling and<br />
703
C<strong>on</strong>text Aware Collaborative Working Envir<strong>on</strong>ments<br />
reas<strong>on</strong>ing, service management, interacti<strong>on</strong> mining,<br />
and service-oriented architecture technologies<br />
to develop a novel pervasive collaborative<br />
working envir<strong>on</strong>ment for emerging team forms.<br />
Those research fields are already well established,<br />
but their applicati<strong>on</strong>s in CWEs are not well understood.<br />
Basic collaborative tools, such as document<br />
sharing, co-<str<strong>on</strong>g>of</str<strong>on</strong>g>fice, calendars, instant messaging,<br />
and so forth, provide the basic elements that are<br />
wrapped and integrated into the inC<strong>on</strong>text envir<strong>on</strong>ment.<br />
The inC<strong>on</strong>text envir<strong>on</strong>ment provides<br />
an architecture that follows service-oriented<br />
computing ideas, especially Web service technology,<br />
to provide loose and flexible coupling with<br />
<strong>on</strong>-demand binding <str<strong>on</strong>g>of</str<strong>on</strong>g> the relevant collaborati<strong>on</strong><br />
services. The inC<strong>on</strong>text architecture allows easy<br />
compositi<strong>on</strong> and automatic selecti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> services<br />
to support demands <str<strong>on</strong>g>of</str<strong>on</strong>g> various teams.<br />
The architecture makes use <str<strong>on</strong>g>of</str<strong>on</strong>g> a range <str<strong>on</strong>g>of</str<strong>on</strong>g><br />
techniques to automatically select the most appropriate<br />
services based <strong>on</strong> the user’s c<strong>on</strong>text.<br />
For this to work, enhancements have been made<br />
to the service management structures <str<strong>on</strong>g>of</str<strong>on</strong>g> SoA to<br />
rank services by suitability with the use c<strong>on</strong>text<br />
informati<strong>on</strong>. Also, development <strong>on</strong> the modeling<br />
and gathering <str<strong>on</strong>g>of</str<strong>on</strong>g> and reas<strong>on</strong>ing about c<strong>on</strong>text<br />
informati<strong>on</strong> has addressed the specific requirements<br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> collaborative teams.<br />
This chapter presents details <str<strong>on</strong>g>of</str<strong>on</strong>g> the inC<strong>on</strong>text<br />
architecture and then discusses in detail the three<br />
main comp<strong>on</strong>ents: c<strong>on</strong>text, collaborati<strong>on</strong>, and<br />
service management. We round the chapter <str<strong>on</strong>g>of</str<strong>on</strong>g>f<br />
with a small case study before c<strong>on</strong>cluding and<br />
making suggesti<strong>on</strong>s for future directi<strong>on</strong>s.<br />
State <str<strong>on</strong>g>of</str<strong>on</strong>g> the Art and Related<br />
Work<br />
Many groupware systems such as the file-oriented<br />
BSCW (Bentley, Horstmann, Sikkel & Trevor,<br />
1995) and the virtual <str<strong>on</strong>g>of</str<strong>on</strong>g>ficelike Groove (www.<br />
groove.net) have emerged. These are usually<br />
rigid, tightly integrated systems, and while they<br />
address the collaborati<strong>on</strong> functi<strong>on</strong>alities required,<br />
they rarely c<strong>on</strong>sider c<strong>on</strong>text informati<strong>on</strong> about<br />
the user, activities, or tasks. On the other hand,<br />
systems such as the process-aware ad hoc collaborati<strong>on</strong><br />
system Caramba (Dustdar, 2004) allow<br />
activity-centric collaborati<strong>on</strong> but lack the noti<strong>on</strong><br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> service-oriented computing and a dedicated<br />
c<strong>on</strong>text management.<br />
On the other hand, much work has been c<strong>on</strong>ducted<br />
in the area <str<strong>on</strong>g>of</str<strong>on</strong>g> c<strong>on</strong>text frameworks that are<br />
targeted at specific groups such as mobile users<br />
(Bardram & Hansen, 2004; Tang, Yankelovich,<br />
Begole, Van Kleek, Li & Bhalodia, 2001) or<br />
small mobile groups (Pokraev et al., 2005) acting<br />
independently <str<strong>on</strong>g>of</str<strong>on</strong>g> others. More generic c<strong>on</strong>text<br />
frameworks try to cover a wider area but lack<br />
explicit support for group interacti<strong>on</strong> (e.g., CASS)<br />
(Fahy & Clarke, 2004), CoBra (Chen, Finin &<br />
Joshi, 2003), CORTEX (Biegel & Cahill, 2004),<br />
Gaia (Roman, Hess, Cerqueira, Ranganathan,<br />
Campbell & Nahrstedt, 2002), Hydrogen (H<str<strong>on</strong>g>of</str<strong>on</strong>g>er,<br />
Schwinger, Pichler, Le<strong>on</strong>hartsberger & Altmann,<br />
2002), and SOCAM (Gu, Pung & Zhang, 2004).<br />
A more complete overview <str<strong>on</strong>g>of</str<strong>on</strong>g> such frameworks<br />
can be found in Baldauf, Dustdar, and Rosenberg<br />
(2006). These c<strong>on</strong>text-aware middleware systems<br />
and applicati<strong>on</strong>s provide and exploit various<br />
types <str<strong>on</strong>g>of</str<strong>on</strong>g> c<strong>on</strong>textual informati<strong>on</strong> about locati<strong>on</strong>,<br />
time, user activities, user preferences, pr<str<strong>on</strong>g>of</str<strong>on</strong>g>iles <str<strong>on</strong>g>of</str<strong>on</strong>g><br />
users, devices, networks, and so forth (Abowd,<br />
Dey, Brown, Davies, Smith & Steggles, 1999;<br />
Raento, Oulasvirta, Petit & Toiv<strong>on</strong>en, 2005; Solarski,<br />
Strick, Mot<strong>on</strong>aga, Noda & Kellerer, 2004).<br />
However, those models do not address the rich set<br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> c<strong>on</strong>text informati<strong>on</strong> associated with collaborati<strong>on</strong>s.<br />
They focus mainly <strong>on</strong> user-related c<strong>on</strong>text<br />
and device capabilities.<br />
The closest match is probably the Kimura system<br />
(Voida, Mynatt, MacIntyre & Corso, 2002),<br />
which m<strong>on</strong>itors user’s interacti<strong>on</strong> during the collaborati<strong>on</strong><br />
by integrating and providing various<br />
types <str<strong>on</strong>g>of</str<strong>on</strong>g> c<strong>on</strong>text informati<strong>on</strong>. However, Kimura<br />
is targeted to an <str<strong>on</strong>g>of</str<strong>on</strong>g>fice envir<strong>on</strong>ment and does not<br />
address issues posed by emerging team forms.<br />
704
C<strong>on</strong>text Aware Collaborative Working Envir<strong>on</strong>ments<br />
An SOA-oriented approach to c<strong>on</strong>text awareness<br />
(Gu et al., 2004) and collaborati<strong>on</strong> (Jørstad,<br />
Dustdar & van Do, 2005) is very promising, but the<br />
noti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> c<strong>on</strong>text as proposed by Dey and Abowd<br />
(1999) needs to be extended bey<strong>on</strong>d involved services<br />
(Dorn & Dustdar, 2006) to explicitly include<br />
teams as a first order entity. The exhaustive review<br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> current literature by Powell, Picolli, and Ives<br />
(2004) reveals that research efforts have focused<br />
merely <strong>on</strong> distributed teams as a whole without<br />
analyzing the internal interacti<strong>on</strong>.<br />
Overview <str<strong>on</strong>g>of</str<strong>on</strong>g> the inC<strong>on</strong>text<br />
Pervasive and Collaborative<br />
Working Envir<strong>on</strong>ment<br />
The inC<strong>on</strong>text envir<strong>on</strong>ment comprises three main<br />
parts: Collaborati<strong>on</strong> Services, the core inC<strong>on</strong>text<br />
Platform, and User Applicati<strong>on</strong>s. An overview <str<strong>on</strong>g>of</str<strong>on</strong>g><br />
the architecture is depicted in Figure 1. The User<br />
Applicati<strong>on</strong>s essentially provide an interface to<br />
the users <str<strong>on</strong>g>of</str<strong>on</strong>g> the system (they tend to be either<br />
Web-based, based <strong>on</strong> specific device capabilities<br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> small devices, or based <strong>on</strong> a specific computer<br />
applicati<strong>on</strong>/plugin) and shall not be discussed in<br />
more detail here.<br />
Collaborati<strong>on</strong> Services are services that are<br />
normally required in team collaborati<strong>on</strong>. These<br />
are either special services specifically built for<br />
use in the collaborative architectures or general<br />
services (e.g., calendars that team members use<br />
anyway). Furthermore, they can be proprietary,<br />
company intern with specific interfaces, or open<br />
source and public. We make the assumpti<strong>on</strong> that<br />
any service useful for team collaborati<strong>on</strong> is networked<br />
and has a well-defined interface, either<br />
as a Web service or such that it can be wrapped<br />
into a Web service interface. More examples <str<strong>on</strong>g>of</str<strong>on</strong>g><br />
collaborati<strong>on</strong> services are document sharing (e.g.,<br />
Document Management or Document Search),<br />
communicati<strong>on</strong> (e.g., SMS [Short Message Service],<br />
Instant Messaging [IM], E-mail, etc.), and<br />
team and project management (e.g., User and Team<br />
Management and Activity Management). Those<br />
services could be specific to particular projects,<br />
but many are generic services that can be rec<strong>on</strong>figured<br />
to fit into particular purposes.<br />
The inC<strong>on</strong>text platform is the central and most<br />
interesting part <str<strong>on</strong>g>of</str<strong>on</strong>g> the inC<strong>on</strong>text envir<strong>on</strong>ment.<br />
It integrates the algorithms and methods that<br />
provide the c<strong>on</strong>text awareness and collaborative<br />
functi<strong>on</strong>ality bridging and binding the services.<br />
It includes novel services that support advanced,<br />
dynamic collaborati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> emerging teams based <strong>on</strong><br />
a c<strong>on</strong>text and interacti<strong>on</strong> model. The Access Layer<br />
acts as an intermediary receiving requests from<br />
the client side and invoking services; all interacti<strong>on</strong>s<br />
with the core system are passed through the<br />
access layer to allow for logging and subsequent<br />
mining <str<strong>on</strong>g>of</str<strong>on</strong>g> interacti<strong>on</strong>s. The Interacti<strong>on</strong> Mining<br />
is used to extract and analyze interacti<strong>on</strong>s inherent<br />
within collaborati<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> teams, but also the<br />
historic decisi<strong>on</strong>s <strong>on</strong> which services were most<br />
appropriate, given a certain c<strong>on</strong>text. The C<strong>on</strong>text<br />
Management manages c<strong>on</strong>text associated with<br />
humans, services, teams, and activities c<strong>on</strong>ducted.<br />
It supports reas<strong>on</strong>ing mechanisms to infer new<br />
c<strong>on</strong>text informati<strong>on</strong> and can enrich existing<br />
c<strong>on</strong>text informati<strong>on</strong>. The Service Management<br />
is resp<strong>on</strong>sible for selecting the right services,<br />
ranking the services and invoking the services<br />
according to requests from Access Layer. All the<br />
aforementi<strong>on</strong>ed comp<strong>on</strong>ents can be deployed in<br />
and operate in a distributed manner.<br />
The architecture shown in Figure 1 is a reference<br />
implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> the so-called Pervasive<br />
Collaborati<strong>on</strong> Service Architecture (PCSA) that<br />
we have developed in the inC<strong>on</strong>text project.<br />
By introducing new core services that support<br />
c<strong>on</strong>text- and interacti<strong>on</strong>-based collaborati<strong>on</strong>, the<br />
inC<strong>on</strong>text platform is able to integrate various existing<br />
collaborati<strong>on</strong> services to establish a network<br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> PCSAs deployed in multiple organizati<strong>on</strong>s.<br />
705
C<strong>on</strong>text Aware Collaborative Working Envir<strong>on</strong>ments<br />
Figure 1. The InC<strong>on</strong>text envir<strong>on</strong>ment<br />
C<strong>on</strong>text Modeling, Gathering,<br />
and Reas<strong>on</strong>ing<br />
C<strong>on</strong>text-aware systems have been discussed for<br />
some time as a way to enhance computer systems;<br />
this happens mostly at two levels: either at<br />
the system management level or to enhance the<br />
user experience. In both cases, relevant c<strong>on</strong>text<br />
informati<strong>on</strong> is being gathered, and the system<br />
adapts to the respective c<strong>on</strong>text. One example <str<strong>on</strong>g>of</str<strong>on</strong>g><br />
c<strong>on</strong>text use to enhance the user’s experience stems<br />
from the telecommunicati<strong>on</strong>s domain. The aim<br />
was to develop a framework to allow end users<br />
to express how they want their communicati<strong>on</strong>s<br />
to be c<strong>on</strong>ducted, and it was identified that this<br />
depends very much <strong>on</strong> the c<strong>on</strong>text <str<strong>on</strong>g>of</str<strong>on</strong>g> the users<br />
(Reiff-Marganiec & Turner, 2002).<br />
Until now, c<strong>on</strong>text models discussed in the<br />
literature have either targeted c<strong>on</strong>crete situati<strong>on</strong>s<br />
or have been very abstract. However, we believe<br />
that a c<strong>on</strong>text model should provide the scope for<br />
encapsulating all kinds <str<strong>on</strong>g>of</str<strong>on</strong>g> c<strong>on</strong>text informati<strong>on</strong><br />
such as individual settings and team envir<strong>on</strong>ments,<br />
short-lived coordinati<strong>on</strong> activities, and l<strong>on</strong>g-running<br />
complex projects. At the same time, the<br />
model needs to provide ways to manage c<strong>on</strong>text;<br />
the model should have noti<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> how c<strong>on</strong>texts<br />
can change and which changes influence other<br />
areas <str<strong>on</strong>g>of</str<strong>on</strong>g> c<strong>on</strong>text. For example, if users change<br />
their locati<strong>on</strong> by going home from work, they<br />
might also change their roles, for instance, from<br />
a team leader to a wife and mother.<br />
Hence, our suggested c<strong>on</strong>text model c<strong>on</strong>sists<br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> several layers, ranging from c<strong>on</strong>crete instantiati<strong>on</strong>s<br />
(the system level; M0) via a domain layer<br />
(M1) to a meta model layer (M2). An overview is<br />
shown in Table 1. The meta model layer represents<br />
c<strong>on</strong>cepts that are relevant for all collaborative<br />
706
C<strong>on</strong>text Aware Collaborative Working Envir<strong>on</strong>ments<br />
Table 1. Layered c<strong>on</strong>text model<br />
M3<br />
Language for system<br />
models<br />
M2<br />
Model <str<strong>on</strong>g>of</str<strong>on</strong>g> Meta<br />
Classes<br />
M1<br />
Model <str<strong>on</strong>g>of</str<strong>on</strong>g> System<br />
Level Objects<br />
M0<br />
System Level<br />
CWE Domain Specific C<strong>on</strong>crete<br />
Role<br />
Managers, Technical<br />
Staff<br />
Manager: Jim<br />
All possible system C<strong>on</strong>crete system<br />
C<strong>on</strong>crete System<br />
model<br />
model<br />
working envir<strong>on</strong>ments, while the domain layer<br />
and instantiati<strong>on</strong> layer c<strong>on</strong>tain c<strong>on</strong>cepts that are<br />
required for Collaborative Working Envir<strong>on</strong>ments<br />
(CWE) in a specific domain. Finally, the instance<br />
layer provides c<strong>on</strong>crete instances for a particular<br />
situati<strong>on</strong>. We also have a layer (M3) that provides<br />
notati<strong>on</strong>s for expressing the c<strong>on</strong>cepts at level M2;<br />
however, this is very generic, and UML or OWL,<br />
for example, provide the relevant mechanisms.<br />
To identify the relevant c<strong>on</strong>cepts at the domain<br />
model layer M1, we identified five major team<br />
views. These views combined make up the Team<br />
Characteristics Model.<br />
• Spatial view. Physical space can be characterized<br />
by geometric quantities such as<br />
volume, area, point, and extensi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> space.<br />
We look at measures that characterize entities<br />
such as users within space and their<br />
relati<strong>on</strong> to <strong>on</strong>e another. A positi<strong>on</strong> in space<br />
is expressed by locati<strong>on</strong> informati<strong>on</strong> that<br />
can also provide a semantic descripti<strong>on</strong> or<br />
representati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> space. The spatial distributi<strong>on</strong><br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> team members is the geographical<br />
distance <str<strong>on</strong>g>of</str<strong>on</strong>g> individuals as well as distance<br />
between subteams. From a team’s point <str<strong>on</strong>g>of</str<strong>on</strong>g><br />
view, a proximity measure may be used to<br />
indicate distance or distributi<strong>on</strong>. Temporal<br />
aspects such as transiti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> entities to a new<br />
locati<strong>on</strong> or frequency <str<strong>on</strong>g>of</str<strong>on</strong>g> locati<strong>on</strong> changes are<br />
expressed by locati<strong>on</strong> dynamics. Dynamics<br />
applied to teams include informati<strong>on</strong> such<br />
as the likelihood <str<strong>on</strong>g>of</str<strong>on</strong>g> intersecting trajectories<br />
or variati<strong>on</strong>s due to entities traveling at<br />
different speed. Awareness <str<strong>on</strong>g>of</str<strong>on</strong>g> locati<strong>on</strong> informati<strong>on</strong><br />
and dynamics is a prime c<strong>on</strong>cern<br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> the different team forms. Being aware <str<strong>on</strong>g>of</str<strong>on</strong>g><br />
locati<strong>on</strong> is not <strong>on</strong>ly a questi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> observing<br />
the locati<strong>on</strong> c<strong>on</strong>text <str<strong>on</strong>g>of</str<strong>on</strong>g> other entities, but also<br />
the ability to recognize places or discover<br />
situated entities such as infrastructure elements<br />
and computing devices.<br />
• Organizati<strong>on</strong>al view. The organizati<strong>on</strong>al<br />
level defines the structure <str<strong>on</strong>g>of</str<strong>on</strong>g> an organizati<strong>on</strong>.<br />
Specifically, it defines a topology, which<br />
denotes links and relati<strong>on</strong>ships between<br />
workers, employees, and departments. Staff<br />
members take up different (organizati<strong>on</strong>al)<br />
roles within organizati<strong>on</strong>s/departments<br />
such as supervisor, manager, and CEO.<br />
Relati<strong>on</strong>ships and roles are essential for<br />
trust building am<strong>on</strong>g individuals as well<br />
as between subdivisi<strong>on</strong>s. An organizati<strong>on</strong><br />
may define rules and guidelines at different<br />
levels in the topology that have impact, for<br />
instance, <strong>on</strong> how people communicate and<br />
execute projects in different team forms.<br />
These rules can be manifested in the form<br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> policies and are referred to as enterprise<br />
culture.<br />
• Project view. The project view aims at<br />
organizing and managing resources. It<br />
includes the definiti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> scope <str<strong>on</strong>g>of</str<strong>on</strong>g> required<br />
work (project goals) and planning and<br />
m<strong>on</strong>itoring <str<strong>on</strong>g>of</str<strong>on</strong>g> c<strong>on</strong>straints such as time, cost,<br />
and risk. Projects are usually instantiated<br />
707
C<strong>on</strong>text Aware Collaborative Working Envir<strong>on</strong>ments<br />
under a certain premise; for instance, a<br />
company’s missi<strong>on</strong> or the missi<strong>on</strong> and goals<br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> nimble teams. The missi<strong>on</strong> is shaped by<br />
the management unit and team leaders. The<br />
resp<strong>on</strong>sibility <str<strong>on</strong>g>of</str<strong>on</strong>g> a leader is to ensure that the<br />
actual outcome is created such that defined<br />
c<strong>on</strong>straints and desired quality are satisfied<br />
(i.e., by m<strong>on</strong>itoring and coordinating<br />
project-related activities). People exercise<br />
various roles in a project. We note that<br />
people increasingly work <strong>on</strong> more than <strong>on</strong>e<br />
project or set <str<strong>on</strong>g>of</str<strong>on</strong>g> activities simultaneously.<br />
The role might depend <strong>on</strong> a particular task<br />
in a certain project (peer membership and<br />
cohesi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> teams).<br />
• Interacti<strong>on</strong> view. Interacti<strong>on</strong> patterns are<br />
activities or activity steps that are frequently<br />
repeated and can be observed by means <str<strong>on</strong>g>of</str<strong>on</strong>g><br />
pattern detecti<strong>on</strong> between human actors.<br />
Such patterns may impact a team in terms<br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> being aware <str<strong>on</strong>g>of</str<strong>on</strong>g> dynamics, status updates,<br />
and so forth, as well as the measures that<br />
can be taken to support collaborati<strong>on</strong>. A<br />
communicati<strong>on</strong> pattern in human collaborati<strong>on</strong><br />
shows how distributed teams exchange<br />
informati<strong>on</strong> by means <str<strong>on</strong>g>of</str<strong>on</strong>g> synchr<strong>on</strong>ous or<br />
asynchr<strong>on</strong>ous communicati<strong>on</strong> channels.<br />
Whether or not individual interacti<strong>on</strong>s have<br />
great or <strong>on</strong>ly limited impact <strong>on</strong> a team is<br />
limited by the scope <str<strong>on</strong>g>of</str<strong>on</strong>g> an interacti<strong>on</strong>.<br />
• Service view. Services are means for supporting<br />
the user/teams in project-dependent<br />
activities and tasks. Service interacti<strong>on</strong>s are<br />
related to situati<strong>on</strong>s that arise when services<br />
engage in c<strong>on</strong>current and interrelated interacti<strong>on</strong>s.<br />
Services may be c<strong>on</strong>sumed in<br />
combinati<strong>on</strong> by sequential, parallel, or c<strong>on</strong>diti<strong>on</strong>al<br />
executi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> tasks. Patterns provide<br />
the foundati<strong>on</strong> for aggregating a number<br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> services that are used in combinati<strong>on</strong>.<br />
Providing a service from a pool <str<strong>on</strong>g>of</str<strong>on</strong>g> available<br />
services, c<strong>on</strong>sidering the c<strong>on</strong>sumer’s<br />
c<strong>on</strong>text, is defined as relevance-based<br />
service provisi<strong>on</strong>ing. A service is provided<br />
up<strong>on</strong> request (reactive) or provided based<br />
<strong>on</strong> c<strong>on</strong>text (proactive), thereby c<strong>on</strong>sidering<br />
collaborative activities or a task at hand. By<br />
understanding service interacti<strong>on</strong>s, a set <str<strong>on</strong>g>of</str<strong>on</strong>g><br />
aggregated services could be provided so that<br />
human collaborators are able to complete an<br />
activity or progress toward an objective.<br />
For the instantiati<strong>on</strong> level M0, let us c<strong>on</strong>sider<br />
two examples: roles and locati<strong>on</strong>s. At the meta<br />
model layer, we are aware that users play certain<br />
roles; however, roles differ very much from domain<br />
to domain. In a medical c<strong>on</strong>text, we might have<br />
doctors and nurses; in academia, we find teachers<br />
and students. For locati<strong>on</strong>s we might have grid<br />
coordinates when c<strong>on</strong>sidering outdoor locati<strong>on</strong>s,<br />
or we might have room numbers if we are inside<br />
a building. At the instance level, we find that Jim<br />
might be a manager, and that he is currently in a<br />
meeting in a specific building or room.<br />
C<strong>on</strong>text informati<strong>on</strong> plays an important<br />
role in adapting services suitable for emerging<br />
team forms. Unlike existing c<strong>on</strong>text-awareness<br />
systems in HCI or locati<strong>on</strong>-based services that<br />
utilize limited c<strong>on</strong>text informati<strong>on</strong> related to<br />
devices, user preferences, user presence, and<br />
locati<strong>on</strong>, the c<strong>on</strong>text associated with human<br />
collaborati<strong>on</strong> is much more complex. C<strong>on</strong>text <str<strong>on</strong>g>of</str<strong>on</strong>g><br />
emerging teams will be associated with human<br />
(e.g., pers<strong>on</strong>, organizati<strong>on</strong>, skill, etc.), services<br />
(e.g., SMS and Document Management), locati<strong>on</strong><br />
(e.g., site and address), teams (e.g., membership<br />
role and department), activities (e.g., project and<br />
communicati<strong>on</strong>), and interacti<strong>on</strong>s am<strong>on</strong>g human<br />
and services. Therefore, to describe the c<strong>on</strong>text<br />
model for inC<strong>on</strong>text, we have to not <strong>on</strong>ly utilize<br />
many existing c<strong>on</strong>cepts and but also develop new<br />
<strong>on</strong>es suitable for emerging team forms.<br />
Our approach in inC<strong>on</strong>text is that we rely <strong>on</strong><br />
<strong>on</strong>tology, named Web Ontology Language (OWL)<br />
(http://www.w3.org/TR/owl-ref/) to model c<strong>on</strong>text<br />
informati<strong>on</strong>. To this end, we incorporate existing<br />
<strong>on</strong>tologies with newly developed <strong>on</strong>es. Figure<br />
2 depicts the hierarchy <str<strong>on</strong>g>of</str<strong>on</strong>g> existing and inC<strong>on</strong>-<br />
708
C<strong>on</strong>text Aware Collaborative Working Envir<strong>on</strong>ments<br />
Figure 2. Structure <str<strong>on</strong>g>of</str<strong>on</strong>g> the inC<strong>on</strong>text c<strong>on</strong>text model<br />
text <strong>on</strong>tologies. We partially reuse c<strong>on</strong>cepts in<br />
standard <strong>on</strong>tologies for describing user pr<str<strong>on</strong>g>of</str<strong>on</strong>g>iles,<br />
locati<strong>on</strong> informati<strong>on</strong>, time informati<strong>on</strong>, and so<br />
forth. Examples <str<strong>on</strong>g>of</str<strong>on</strong>g> such <strong>on</strong>tologies are the FOAF<br />
vocabulary (http://xmlns.com/foaf/spec/), which<br />
provides c<strong>on</strong>cepts such as Pers<strong>on</strong>, Organizati<strong>on</strong>,<br />
Group, Document, Project, or the Basic Geo Data<br />
(http://www.w3.org/2003/01/geo/) for c<strong>on</strong>cepts<br />
related to locati<strong>on</strong>s such as latitude and l<strong>on</strong>gitude.<br />
In additi<strong>on</strong> to those reusable <strong>on</strong>tologies, we develop<br />
five new core <strong>on</strong>tologies for collaborative<br />
work-specific issues:<br />
• Locati<strong>on</strong>. Describes various types <str<strong>on</strong>g>of</str<strong>on</strong>g> locati<strong>on</strong><br />
informati<strong>on</strong>, including mobility <strong>on</strong>e,<br />
because Basic Geo and vCard <strong>on</strong>tologies<br />
are not enough to express relocati<strong>on</strong>.<br />
• Activity. Describes the basic nature <str<strong>on</strong>g>of</str<strong>on</strong>g> activities<br />
and how they relate to users, resources,<br />
artefacts, and other activities.<br />
• Team. Extends FOAF c<strong>on</strong>cepts to describe<br />
teams in more detail.<br />
• Resource. Describes usual input for an<br />
activity such as documents, services, and<br />
devices.<br />
• Acti<strong>on</strong>. Models the highly dynamic c<strong>on</strong>text<br />
that is subject to permanent changes.<br />
Based <strong>on</strong> the c<strong>on</strong>text model, we have developed<br />
a set <str<strong>on</strong>g>of</str<strong>on</strong>g> s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware sensors that capture relevant<br />
c<strong>on</strong>text informati<strong>on</strong>. The c<strong>on</strong>text informati<strong>on</strong> is<br />
captured and stored whenever c<strong>on</strong>text is changed.<br />
C<strong>on</strong>text informati<strong>on</strong> is collected from various<br />
sources and is not stored at any centralized place.<br />
As shown in Figure 3, the C<strong>on</strong>text Management<br />
subsystem does not store c<strong>on</strong>text informati<strong>on</strong> into<br />
a central repository. Instead, c<strong>on</strong>text informati<strong>on</strong><br />
is stored into and retrieved from distributed<br />
services. A core model is stored in a dedicated<br />
store within the C<strong>on</strong>text Management, and from<br />
that model, different types <str<strong>on</strong>g>of</str<strong>on</strong>g> c<strong>on</strong>text informati<strong>on</strong><br />
are linked by using RDF.<br />
By using <strong>on</strong>tologies, c<strong>on</strong>text informati<strong>on</strong> can<br />
be inferred based <strong>on</strong> rules in order to provide<br />
709
C<strong>on</strong>text Aware Collaborative Working Envir<strong>on</strong>ments<br />
Figure 3. Sources <str<strong>on</strong>g>of</str<strong>on</strong>g> c<strong>on</strong>text informati<strong>on</strong><br />
value-added informati<strong>on</strong> about the c<strong>on</strong>text associated<br />
with people, teams, services, and activities.<br />
Our c<strong>on</strong>text reas<strong>on</strong>ing techniques are built <strong>on</strong><br />
the SPARQL++ engine named dlvhex, which<br />
processes <strong>on</strong>tological c<strong>on</strong>text data collected in<br />
the C<strong>on</strong>text Management.<br />
For example, let’s assume we want to set up<br />
a team <str<strong>on</strong>g>of</str<strong>on</strong>g> civil engineers <strong>on</strong> demand for work at<br />
a particular site. To find suitable engineers, the<br />
SPARQL query shown in Listing 1 can be used.<br />
PREFIX team:<br />
SELECT ?engineer<br />
WHERE{<br />
?engineer :hasPr<str<strong>on</strong>g>of</str<strong>on</strong>g>ile ?pr<str<strong>on</strong>g>of</str<strong>on</strong>g>ile.<br />
?pr<str<strong>on</strong>g>of</str<strong>on</strong>g>ile :hasSkill ?skill.<br />
?skill :name ?sname.<br />
?engineer :locatedAt :’’Genoa sea<br />
port’’<br />
FILTER regex(?sna me,”civil<br />
engineer”,”i”)<br />
}<br />
Listing 1. Finding suitable engineers using<br />
SPARQL.<br />
Any services and clients can invoke the C<strong>on</strong>text<br />
Management to query c<strong>on</strong>text informati<strong>on</strong>.<br />
Furthermore, c<strong>on</strong>text reas<strong>on</strong>ing techniques can<br />
be used to aggregate c<strong>on</strong>text informati<strong>on</strong> from<br />
external sources, and evaluate and query rules<br />
defined over c<strong>on</strong>text informati<strong>on</strong>.<br />
Collaborative teams: team<br />
forms and interacti<strong>on</strong>s<br />
The term interacti<strong>on</strong> pattern refers to a comm<strong>on</strong>,<br />
reoccurring interacti<strong>on</strong> scenario between actors.<br />
The term relati<strong>on</strong> refers to a tie or link between<br />
two actors within a pattern. We take three initial<br />
interacti<strong>on</strong> patterns that are well known in the<br />
domain <str<strong>on</strong>g>of</str<strong>on</strong>g> S<str<strong>on</strong>g>of</str<strong>on</strong>g>tware Engineering (SE) and apply<br />
them to the domain <str<strong>on</strong>g>of</str<strong>on</strong>g> human collaborati<strong>on</strong>.<br />
710
C<strong>on</strong>text Aware Collaborative Working Envir<strong>on</strong>ments<br />
Proxy Pattern<br />
Originally, the proxy pattern was introduced by<br />
Gamma, Helm, Johns<strong>on</strong>, and Vlissides (1994) as<br />
a structural pattern in s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware design. The intenti<strong>on</strong><br />
for using a proxy is “to provide a surrogate or<br />
placeholder for another object to c<strong>on</strong>trol access to<br />
it.” Besides forwarding the clients’ requests and<br />
sending back the resp<strong>on</strong>ses, a proxy can do pre- or<br />
postprocessing, depending <strong>on</strong> its type. A real-life<br />
example <str<strong>on</strong>g>of</str<strong>on</strong>g> a proxy in human collaborati<strong>on</strong> is a<br />
secretary. A secretary receives e-mails, ph<strong>on</strong>e<br />
calls, messages, and so forth, which are actually<br />
intended for a different entity (i.e., the boss). The<br />
secretary preprocesses these client requests, for<br />
example, by filtering out unwanted requests (protecti<strong>on</strong><br />
proxy) or even answering simple requests<br />
without having to involve the boss (cache proxy)<br />
(Dustdar & H<str<strong>on</strong>g>of</str<strong>on</strong>g>fmann, 2006).<br />
A proxy pattern usually describes a 1:1 relati<strong>on</strong>ship<br />
between proxy and original. However,<br />
there are two excepti<strong>on</strong>s, remote proxies and<br />
firewall proxies, where a proxy is resp<strong>on</strong>sible for<br />
multiple originals.<br />
Broker Pattern<br />
The broker architectural pattern can be used<br />
to structure distributed s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware systems with<br />
decoupled comp<strong>on</strong>ents that interact by remote<br />
invocati<strong>on</strong>s. “A broker comp<strong>on</strong>ent is resp<strong>on</strong>sible<br />
for coordinating communicati<strong>on</strong>, such as<br />
forwarding requests, as well as for transmitting<br />
results and excepti<strong>on</strong>s” (Buschmann, Meunier,<br />
Rohnert, Sommerlad & Stal, 1996). According<br />
to Dustdar and H<str<strong>on</strong>g>of</str<strong>on</strong>g>fmann (2006), “a broker’s<br />
foremost goal is to achieve locati<strong>on</strong> transparency<br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> servers/services. … The broker is resp<strong>on</strong>sible<br />
to locate a server/service that can handle a given<br />
request. Then the broker forwards the request to<br />
the appropriate comp<strong>on</strong>ent, receives its resp<strong>on</strong>se<br />
and delivers the resp<strong>on</strong>se to the client.” In c<strong>on</strong>trast<br />
to a proxy, a broker does not perform any pre- or<br />
postprocessing.<br />
Master/Slave Pattern<br />
The SE domain defines a Master/Slave (M/S) pattern<br />
as follows: “The Master-Slave design pattern<br />
supports fault tolerance, parallel computati<strong>on</strong> and<br />
computati<strong>on</strong>al accuracy. A master comp<strong>on</strong>ent<br />
distributes work to identical slave comp<strong>on</strong>ents<br />
and computes a final result from the results these<br />
slaves return” (Buschmann et al., 1996).<br />
Understanding interacti<strong>on</strong> am<strong>on</strong>g team members<br />
and services sheds light <strong>on</strong> characteristics<br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> team members; for example, the role <str<strong>on</strong>g>of</str<strong>on</strong>g> a<br />
team member, which type <str<strong>on</strong>g>of</str<strong>on</strong>g> communicati<strong>on</strong>s a<br />
team member prefers, and the performance <str<strong>on</strong>g>of</str<strong>on</strong>g> a<br />
service. Quantitative informati<strong>on</strong> associated with<br />
interacti<strong>on</strong>s can then be used to enrich c<strong>on</strong>text<br />
informati<strong>on</strong> and utilized as inputs directly by the<br />
service selecti<strong>on</strong> and ranking.<br />
Because in emerging team collaborati<strong>on</strong> many<br />
activities are defined <strong>on</strong> demand without any<br />
predefined processes, interacti<strong>on</strong>s are detected<br />
from log informati<strong>on</strong> based <strong>on</strong> correlati<strong>on</strong> techniques.<br />
Various types <str<strong>on</strong>g>of</str<strong>on</strong>g> interacti<strong>on</strong>s associated<br />
with humans and services are inherent within<br />
collaborative envir<strong>on</strong>ments. We categorize three<br />
kinds <str<strong>on</strong>g>of</str<strong>on</strong>g> interacti<strong>on</strong>s:<br />
• Service-to-service interacti<strong>on</strong>. The interacti<strong>on</strong><br />
between two services (e.g., a service<br />
might call another service)<br />
• Human-to-service interacti<strong>on</strong>. The interacti<strong>on</strong><br />
between a human and a service (e.g.,<br />
how which services are used by a team).<br />
• Human-to-human interacti<strong>on</strong>. The interacti<strong>on</strong><br />
between human and human (e.g., how<br />
a team member interacts with another <strong>on</strong>e<br />
in order to perform activities).<br />
For each type <str<strong>on</strong>g>of</str<strong>on</strong>g> interacti<strong>on</strong>, interacti<strong>on</strong> mining<br />
is applied at multiple levels such as individual<br />
(human or service), group (a team or a set <str<strong>on</strong>g>of</str<strong>on</strong>g> services),<br />
and the whole system (all services and/or<br />
teams). In order to provide metrics associated with<br />
interacti<strong>on</strong>s, we have collected log informati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g><br />
711
C<strong>on</strong>text Aware Collaborative Working Envir<strong>on</strong>ments<br />
collaborati<strong>on</strong> services and performed the mining.<br />
Using aggregati<strong>on</strong> techniques, higher-level metrics<br />
can be determined from lower-level <strong>on</strong>es.<br />
The amount <str<strong>on</strong>g>of</str<strong>on</strong>g> informati<strong>on</strong> provided by the<br />
Interacti<strong>on</strong> Mining is vast, and the informati<strong>on</strong><br />
ranges from low-level such as historical metrics<br />
associated with a service, to high-level, such<br />
as detected patterns associated with a team. To<br />
provide such informati<strong>on</strong> to C<strong>on</strong>text Management<br />
and Service Management as well as to other<br />
clients, the Interacti<strong>on</strong> Mining provides APIs and<br />
languages for accessing the informati<strong>on</strong> through<br />
Web services. We are currently working <strong>on</strong> a query<br />
language that allows the client to specify c<strong>on</strong>cepts<br />
in inC<strong>on</strong>text <strong>on</strong>tologies and durati<strong>on</strong> for which<br />
the Interacti<strong>on</strong> Mining should provide mining<br />
informati<strong>on</strong> associated with the c<strong>on</strong>cepts.<br />
Collaborati<strong>on</strong> Services:<br />
Descripti<strong>on</strong>, Lookup and<br />
Selecti<strong>on</strong><br />
Service-Oriented Architecture (SOA) is becoming<br />
a more and more established paradigm. The<br />
fundamental c<strong>on</strong>cept <str<strong>on</strong>g>of</str<strong>on</strong>g> SOA is the noti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> a<br />
service that is defined by the following basic<br />
properties:<br />
• The service provides well-defined functi<strong>on</strong>ality<br />
• The interface c<strong>on</strong>tract for the service is<br />
platform-independent<br />
• The service can be dynamically discovered<br />
and invoked<br />
• The service is self-c<strong>on</strong>tained and loosely<br />
coupled<br />
SOA and Web services-based soluti<strong>on</strong>s have<br />
been used in many domains and have proved the<br />
advantages promised in the definiti<strong>on</strong>s already<br />
menti<strong>on</strong>ed (flexibility, interoperability, loose coupling)<br />
and have become quite mature technologies.<br />
Still, due to the dynamic nature <str<strong>on</strong>g>of</str<strong>on</strong>g> teams and the<br />
large variety <str<strong>on</strong>g>of</str<strong>on</strong>g> group types, additi<strong>on</strong>al research<br />
efforts need to be put in the following areas:<br />
• Enabling flexibility in terms <str<strong>on</strong>g>of</str<strong>on</strong>g> dynamic<br />
discovery <str<strong>on</strong>g>of</str<strong>on</strong>g> available services, which can<br />
frequently change based <strong>on</strong> user and team<br />
settings<br />
• Extended descripti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> services (syntax not<br />
sufficient) for c<strong>on</strong>text-based aut<strong>on</strong>omous<br />
selecti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> alternative services<br />
• Support mechanisms to facilitate compositi<strong>on</strong><br />
and orchestrati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> higher-level<br />
services to support the typical operati<strong>on</strong>s<br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> collaborati<strong>on</strong><br />
• Dynamic adaptati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> service compositi<strong>on</strong>s<br />
based <strong>on</strong> the c<strong>on</strong>text <str<strong>on</strong>g>of</str<strong>on</strong>g> users and teams<br />
Before we can approach dynamic, c<strong>on</strong>textaware<br />
service compositi<strong>on</strong>, we need to enable<br />
c<strong>on</strong>text-aware service selecti<strong>on</strong>. Existing approaches<br />
do not take c<strong>on</strong>text into account at all, or<br />
they focus <strong>on</strong>ly <strong>on</strong> individuals (Cuddy, Katchabaw<br />
& Lutfiyya, 2005) rather than teams.<br />
Through the dynamic selecti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> services, it<br />
is possible to cater to a different requirement <str<strong>on</strong>g>of</str<strong>on</strong>g><br />
collaborati<strong>on</strong>, depending <strong>on</strong> the team structure,<br />
interacti<strong>on</strong> pattern, or c<strong>on</strong>text. This approach<br />
allows compositi<strong>on</strong> at different levels, such as<br />
c<strong>on</strong>crete and abstract workflows and n<strong>on</strong>coupled<br />
tasks that have to be combined during runtime.<br />
Thus, an architecture supporting collaborative<br />
workspaces must be able to react to changing<br />
c<strong>on</strong>text settings (e.g., to c<strong>on</strong>tact a user depends<br />
<strong>on</strong> the user’s locati<strong>on</strong>, current <strong>on</strong>line status, and<br />
the device currently in use). In a situati<strong>on</strong> where<br />
the user is sitting in fr<strong>on</strong>t <str<strong>on</strong>g>of</str<strong>on</strong>g> a PC, it might be possible<br />
to c<strong>on</strong>tact the user directly via e-mail, but<br />
if the user is currently <strong>on</strong> the move (the c<strong>on</strong>text<br />
would say that the user is <str<strong>on</strong>g>of</str<strong>on</strong>g>f-line), a possible<br />
notificati<strong>on</strong> for c<strong>on</strong>tacting would be to send an<br />
SMS to the user’s mobile ph<strong>on</strong>e. Hence, as SOA<br />
helps to abstract from the underlying technology<br />
and infrastructure, a platform will <str<strong>on</strong>g>of</str<strong>on</strong>g>fer different<br />
c<strong>on</strong>tact services, such as e-mail, SMS, or instant<br />
712
C<strong>on</strong>text Aware Collaborative Working Envir<strong>on</strong>ments<br />
Figure 4. Service lookup and ranking<br />
A cces s<br />
L ayer<br />
(de)register<br />
lookup<br />
invoke<br />
S ervice M an ag em en t<br />
C <strong>on</strong> text<br />
P ro vider<br />
D ata &<br />
P attern s<br />
M in in g<br />
Get<br />
M ining D ata<br />
Get<br />
M ining D ata<br />
Service<br />
R egistry<br />
Pub/Sub<br />
Query<br />
Get C <strong>on</strong>text D ata<br />
R elevance<br />
Engine<br />
F ind services<br />
Policy<br />
Store<br />
Service<br />
Lookup<br />
Get r anked<br />
list o f s ervices<br />
Pro-Active R ules<br />
F ind<br />
services<br />
Service<br />
C om poser<br />
Pro-Active<br />
Engine<br />
W F Executi<strong>on</strong><br />
Service<br />
Lookup tem plate<br />
T em plate<br />
Store<br />
Store<br />
T em plate<br />
C om pose<br />
w orkflow<br />
Pub/Sub<br />
Query<br />
messaging depending <strong>on</strong> c<strong>on</strong>text informati<strong>on</strong>.<br />
The decisi<strong>on</strong> is not made by the c<strong>on</strong>text itself;<br />
rather the collaborati<strong>on</strong> platform selects the most<br />
relevant service based <strong>on</strong> c<strong>on</strong>text informati<strong>on</strong>.<br />
For this purpose, all services are registered in a<br />
service registry such as UDDI. Figure 4 displays<br />
the overview <str<strong>on</strong>g>of</str<strong>on</strong>g> the service management showing<br />
the mechanisms for lookup <str<strong>on</strong>g>of</str<strong>on</strong>g> a service. Figure<br />
5 refines the details <str<strong>on</strong>g>of</str<strong>on</strong>g> ranking a set <str<strong>on</strong>g>of</str<strong>on</strong>g> services<br />
featuring c<strong>on</strong>text-based metadata as executed by<br />
the relevance engine to create a ranking <str<strong>on</strong>g>of</str<strong>on</strong>g> these<br />
services. To do so, the relevance engine retrieves<br />
relevant c<strong>on</strong>text informati<strong>on</strong>.<br />
In the PCSA, there are many collaborati<strong>on</strong><br />
services readily available. Services can complement<br />
or compete with each other; for example, two<br />
providers can provide two services with the same<br />
functi<strong>on</strong>. However, each particular collaborati<strong>on</strong><br />
instance might require different kinds <str<strong>on</strong>g>of</str<strong>on</strong>g> services,<br />
depending <strong>on</strong> the c<strong>on</strong>text. The key <str<strong>on</strong>g>of</str<strong>on</strong>g> adaptati<strong>on</strong><br />
is centered <strong>on</strong> how to use c<strong>on</strong>text and interacti<strong>on</strong><br />
informati<strong>on</strong> and service informati<strong>on</strong> to select suitable<br />
service instances for the collaborati<strong>on</strong>. The<br />
Service Management is not <strong>on</strong>ly for managing<br />
collaborati<strong>on</strong> services but also for selecting the<br />
right service based <strong>on</strong> the c<strong>on</strong>text. To this end,<br />
three sources <str<strong>on</strong>g>of</str<strong>on</strong>g> informati<strong>on</strong> are used by Service<br />
Management: c<strong>on</strong>text informati<strong>on</strong>, interacti<strong>on</strong><br />
informati<strong>on</strong>, and service meta-informati<strong>on</strong>.<br />
While c<strong>on</strong>text and interacti<strong>on</strong> informati<strong>on</strong> can<br />
be obtained from corresp<strong>on</strong>ding comp<strong>on</strong>ents, the<br />
service meta-informati<strong>on</strong> has to be managed by<br />
the C<strong>on</strong>text Management. In doing so, we have<br />
to integrate different kinds <str<strong>on</strong>g>of</str<strong>on</strong>g> meta-informati<strong>on</strong><br />
associated with services. We developed a service<br />
meta-informati<strong>on</strong> model used to relate different<br />
types <str<strong>on</strong>g>of</str<strong>on</strong>g> informati<strong>on</strong> associated with services,<br />
based <strong>on</strong> what service selecti<strong>on</strong> is performed. In<br />
this model, we first define a service category to<br />
indicate the type <str<strong>on</strong>g>of</str<strong>on</strong>g> services, such as SMS and<br />
DocumentSharing. Then operati<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g>fered by<br />
services are mapped into <strong>on</strong>e or more categories.<br />
For each service operati<strong>on</strong>, a set <str<strong>on</strong>g>of</str<strong>on</strong>g> criteria<br />
will be used to represent the meta-informati<strong>on</strong><br />
about service operati<strong>on</strong>.<br />
713
C<strong>on</strong>text Aware Collaborative Working Envir<strong>on</strong>ments<br />
Figure 5. Details <str<strong>on</strong>g>of</str<strong>on</strong>g> the ranking process<br />
A criteri<strong>on</strong> is represented as a quadruple (name,<br />
type, value, weight), indicating the name <str<strong>on</strong>g>of</str<strong>on</strong>g> the<br />
criteri<strong>on</strong>, the data type, value <str<strong>on</strong>g>of</str<strong>on</strong>g> the criteri<strong>on</strong>,<br />
and weighted factor, respectively. For example,<br />
an SMS service provides an operati<strong>on</strong> named<br />
sendSMS, which can be associated with the following<br />
criteria:<br />
name Type value weight<br />
cost double 1.3 EUR 0.25<br />
reliability double 1.0 % 0.75<br />
Based <strong>on</strong> c<strong>on</strong>text informati<strong>on</strong>, interacti<strong>on</strong> informati<strong>on</strong>,<br />
and service meta-informati<strong>on</strong>, the<br />
ServiceManagement performs the selecti<strong>on</strong> and<br />
ranking <str<strong>on</strong>g>of</str<strong>on</strong>g> services. This involves multiple steps.<br />
First, using c<strong>on</strong>text reas<strong>on</strong>ing, the Service Management<br />
picks up the right service categories.<br />
Next, based <strong>on</strong> service meta-informati<strong>on</strong> and<br />
interacti<strong>on</strong> metrics, the services are ranked. Then<br />
the best service is selected based <strong>on</strong> its rank. The<br />
reas<strong>on</strong>ing step is performed by sending a request<br />
to the C<strong>on</strong>text Management. For ranking services,<br />
we have developed a modified Logic Scoring<br />
Preference (LSP) algorithm (Reiff-Marganiec,<br />
Yu & Tilly, 2007).<br />
C<strong>on</strong>clusi<strong>on</strong> and Future<br />
Directi<strong>on</strong>s<br />
This chapter describes the inC<strong>on</strong>text pervasive and<br />
collaborative working envir<strong>on</strong>ment. Motivated<br />
by the lack <str<strong>on</strong>g>of</str<strong>on</strong>g> suitable CWEs for emerging team<br />
forms, the inC<strong>on</strong>text project has introduced novel<br />
techniques to integrate existing collaborati<strong>on</strong><br />
services, c<strong>on</strong>text, and interacti<strong>on</strong>-based collaborati<strong>on</strong><br />
to support advanced features supporting<br />
different collaborative teams, ranging from mobile<br />
and nomadic to ad hoc <strong>on</strong>es. In this chapter, we<br />
presented the main comp<strong>on</strong>ents <str<strong>on</strong>g>of</str<strong>on</strong>g> the inC<strong>on</strong>text<br />
envir<strong>on</strong>ment in more detail.<br />
More specifically, we have presented achievements<br />
in the areas <str<strong>on</strong>g>of</str<strong>on</strong>g> team forms and interacti<strong>on</strong>,<br />
service management and c<strong>on</strong>text gathering, and<br />
reas<strong>on</strong>ing.<br />
Computer-supported or mediated human-tohuman<br />
collaborati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g>fers the great flexibility<br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> working <strong>on</strong> joint activities, together with other<br />
714
C<strong>on</strong>text Aware Collaborative Working Envir<strong>on</strong>ments<br />
team members across space and time. People work<br />
<strong>on</strong> numerous activities in different projects/teams<br />
at the same time. C<strong>on</strong>text helps people to focus<br />
their attenti<strong>on</strong>s <strong>on</strong> relevant pieces <str<strong>on</strong>g>of</str<strong>on</strong>g> informati<strong>on</strong>.<br />
Interrupti<strong>on</strong>s can be minimized by promoting important<br />
requests. Various c<strong>on</strong>textual informati<strong>on</strong><br />
such as locati<strong>on</strong>, presence, and so forth help to<br />
establish team awareness in disparate teams. By<br />
using human interacti<strong>on</strong> patterns, we can reveal<br />
hidden interacti<strong>on</strong>s and make collaborati<strong>on</strong> more<br />
effective.<br />
An SOA-based approach to challenges in CWE<br />
allows us to support changing needs <str<strong>on</strong>g>of</str<strong>on</strong>g> distributed<br />
teams. These requirements become increasingly<br />
dynamic as teams are dispatched in a multitude<br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> collaborative envir<strong>on</strong>ments in respect to team<br />
coupling, time <str<strong>on</strong>g>of</str<strong>on</strong>g> existence, locati<strong>on</strong> dynamics,<br />
and so forth. A Web services-based architecture<br />
allows collaborati<strong>on</strong> services to be discovered,<br />
assembled, aggregated, and adapted according<br />
to users’ c<strong>on</strong>text.<br />
Still there is space for improvements. One aspect<br />
is to study the nature <str<strong>on</strong>g>of</str<strong>on</strong>g> human collaborati<strong>on</strong><br />
itself and to use this knowledge to design s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware<br />
that supports the user and yet is as transparent as<br />
possible. We also see a growing need for collaborative<br />
devices to automatically sense the user’s<br />
c<strong>on</strong>text and to provide informati<strong>on</strong>, notificati<strong>on</strong>,<br />
and support based <strong>on</strong> that c<strong>on</strong>text.<br />
We believe that our human-centered approach<br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> service-interacti<strong>on</strong> mining will be a significant<br />
c<strong>on</strong>tributi<strong>on</strong> to useful service provisi<strong>on</strong>ing and,<br />
during service lookup, for ranking <str<strong>on</strong>g>of</str<strong>on</strong>g> discovered<br />
services.<br />
Acknowledgment<br />
This research is partially supported by the EU<br />
STREP project inC<strong>on</strong>text (FP6-034718). We<br />
thank all members <str<strong>on</strong>g>of</str<strong>on</strong>g> the inC<strong>on</strong>text c<strong>on</strong>sortium<br />
for their c<strong>on</strong>tributi<strong>on</strong>s to the development <str<strong>on</strong>g>of</str<strong>on</strong>g> the<br />
inC<strong>on</strong>text envir<strong>on</strong>ment; in particular, thanks are<br />
due to Axel Polleres (DERI, Ireland), Dino Baggio<br />
(Electrolux, Italy), Sarit Moretzki (Comverse,<br />
Israel) and Pete Kendal (WMLGA, UK).<br />
References<br />
Abowd, G.D., Dey, A.K., Brown, P.J., Davies,<br />
N., Smith, M., & Steggles, P. (1999). Towards<br />
a better understanding <str<strong>on</strong>g>of</str<strong>on</strong>g> c<strong>on</strong>text and c<strong>on</strong>text<br />
awareness. Proceedings <str<strong>on</strong>g>of</str<strong>on</strong>g> the 1 st Internati<strong>on</strong>al<br />
Symposium <strong>on</strong> Handheld and Ubiquitous Computing,<br />
304–307.<br />
Baldauf, M., Dustdar, S., & Rosenberg, F. (2006).<br />
A survey <strong>on</strong> c<strong>on</strong>text aware systems. Internati<strong>on</strong>al<br />
Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Ad Hoc and Ubiquitous Computing<br />
(forthcoming).<br />
Bardram, J.E., & Hansen, T.R. (2004). The<br />
AWARE architecture: Supporting c<strong>on</strong>text-mediated<br />
social awareness in mobile cooperati<strong>on</strong>. Proceedings<br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> the 2004 ACM C<strong>on</strong>ference <strong>on</strong> Computer<br />
Supported Cooperative Work, 192–201.<br />
Bentley, R., Horstmann, T., Sikkel, K., & Trevor,<br />
J. (1995). Supporting collaborative informati<strong>on</strong><br />
sharing with the World-Wide Web: The BSCW<br />
shared workspace system. Proceedings <str<strong>on</strong>g>of</str<strong>on</strong>g> the 4th<br />
Internati<strong>on</strong>al WWW C<strong>on</strong>ference, 63–74.<br />
Biegel, G., & Cahill, V. (2004). A framework for<br />
developing mobile, c<strong>on</strong>text-aware applicati<strong>on</strong>s.<br />
Proceedings <str<strong>on</strong>g>of</str<strong>on</strong>g> the Sec<strong>on</strong>d IEEE Internati<strong>on</strong>al<br />
C<strong>on</strong>ference <strong>on</strong> Pervasive Computing and Communicati<strong>on</strong>s,<br />
361–364.<br />
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad,<br />
P., & Stal, M. (1996). Pattern-oriented<br />
s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware architecture: A system <str<strong>on</strong>g>of</str<strong>on</strong>g> patterns. West<br />
Sussex, England: John Wiley & S<strong>on</strong>s Ltd.<br />
Chen, H., Finin, T., & Joshi, A. (2003). An <strong>on</strong>tology<br />
for c<strong>on</strong>text-aware pervasive computing<br />
envir<strong>on</strong>ments. Knowledge Engineering Review,<br />
18(3), 197–207.<br />
715
C<strong>on</strong>text Aware Collaborative Working Envir<strong>on</strong>ments<br />
Cuddy, S., Katchabaw, M., & Lutfiyya, H. (2005).<br />
C<strong>on</strong>text-aware service selecti<strong>on</strong> based <strong>on</strong> dynamic<br />
and static service attributes. Proceedings <str<strong>on</strong>g>of</str<strong>on</strong>g> the<br />
IEEE Internati<strong>on</strong>al C<strong>on</strong>ference <strong>on</strong> Wireless and<br />
<strong>Mobile</strong> Computing, Networking and Communicati<strong>on</strong>s,<br />
13–20.<br />
Dey, A.K., & Abowd, G.D. (1999). Towards a better<br />
understanding <str<strong>on</strong>g>of</str<strong>on</strong>g> c<strong>on</strong>text and c<strong>on</strong>textawareness<br />
[GVU Technical Report GITGVU-99-22].<br />
Georgia Institute <str<strong>on</strong>g>of</str<strong>on</strong>g> Technology.<br />
Dorn, C., & Dustdar, S. (2006). Sharing hierarchical<br />
c<strong>on</strong>text for mobile Web services. Distributed<br />
and Parallel Databases, Special Issue <strong>on</strong> C<strong>on</strong>text-<br />
Aware Web Services, forthcoming.<br />
Dustdar, S. (2004). Caramba—A process-aware<br />
collaborati<strong>on</strong> system supporting ad hoc and collaborative<br />
processes in virtual teams. Distributed<br />
and Parallel Databases, 15(1), 45–66.<br />
Dustdar, S., & H<str<strong>on</strong>g>of</str<strong>on</strong>g>fmann, T. (2006). Interacti<strong>on</strong><br />
pattern detecti<strong>on</strong> in process oriented informati<strong>on</strong><br />
systems. Data and Knowledge Engineering,<br />
forthcoming.<br />
Fahy, P., & Clarke, S. (2004). CASS—A middleware<br />
for mobile c<strong>on</strong>text-aware applicati<strong>on</strong>s.<br />
Proceedings <str<strong>on</strong>g>of</str<strong>on</strong>g> the Workshop <strong>on</strong> C<strong>on</strong>text Awareness,<br />
MobiSys 2004. Retrieved January 1, 2007,<br />
from http://sigmobile.org/mobisys/2004/c<strong>on</strong>text_awareness/papers/cass12f.pdf<br />
Gamma, E., Helm, R., Johns<strong>on</strong>, R., & Vlissides,<br />
J. (1994). Design patterns—Elements <str<strong>on</strong>g>of</str<strong>on</strong>g> reusable<br />
object-oriented s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware. Bost<strong>on</strong>, MA: Addis<strong>on</strong>-<br />
Wesley.<br />
Gu, T., Pung, H.K., & Zhang, D.Q. (2004). A<br />
middleware for building c<strong>on</strong>text-aware mobile<br />
services. Proceedings <str<strong>on</strong>g>of</str<strong>on</strong>g> the IEEE Vehicular Technology<br />
C<strong>on</strong>ference (VTC 2004), 2656–2660.<br />
H<str<strong>on</strong>g>of</str<strong>on</strong>g>er, T., Schwinger, W., Pichler, M., Le<strong>on</strong>hartsberger,<br />
G., & Altmann, J. (2002). C<strong>on</strong>text<br />
awareness <strong>on</strong> mobile devices—The hydrogen<br />
approach. Proceedings <str<strong>on</strong>g>of</str<strong>on</strong>g> the 36 th Annual Hawaii<br />
Internati<strong>on</strong>al C<strong>on</strong>ference <strong>on</strong> System Sciences,<br />
292–302.<br />
Jørstad, I., Dustdar, S., & van Do, T. (2005). A<br />
service oriented architecture framework for collaborative<br />
services. Proceedings <str<strong>on</strong>g>of</str<strong>on</strong>g> the 3rd Internati<strong>on</strong>al<br />
Workshop <strong>on</strong> Distributed and <strong>Mobile</strong><br />
Collaborati<strong>on</strong> (DMC) IEEE WETICE’05.<br />
Kephart, J.O., & Chess, D.M. (2003). The visi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g><br />
aut<strong>on</strong>omic computing. Computer, 36(1), 41–50.<br />
Pokraev, S., et al. (2005). Service platform for rapid<br />
development and deployment <str<strong>on</strong>g>of</str<strong>on</strong>g> c<strong>on</strong>text aware,<br />
mobile applicati<strong>on</strong>s. Proceedings <str<strong>on</strong>g>of</str<strong>on</strong>g> the Internati<strong>on</strong>al<br />
C<strong>on</strong>ference <strong>on</strong> Web Services, 639–646.<br />
Powell, A., Picolli, G., & Ives, B. (2004). Virtual<br />
teams: A review <str<strong>on</strong>g>of</str<strong>on</strong>g> current literature and directi<strong>on</strong>s<br />
for future research. ACM SIGMIS Database,<br />
35(1), 6–36.<br />
Raento, M., Oulasvirta, A., Petit, R., & Toiv<strong>on</strong>en,<br />
H. (2005). C<strong>on</strong>textph<strong>on</strong>e: A prototyping platform<br />
for c<strong>on</strong>text-aware mobile applicati<strong>on</strong>s. IEEE<br />
Pervasive Computing, 4(2), 51–59.<br />
Reiff-Marganiec, S., & Turner, K.J. (2002). Use<br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> logic to describe enhanced communicati<strong>on</strong><br />
services. In D.A. Peled, & M.Y. Vardi (Eds.),<br />
LNCS2529: Formal techniques for networked<br />
and distributed systems—FORTE2002. Berlin:<br />
Springer.<br />
Reiff-Marganiec, S., Yu, H.Q, & Tilly, M. (2007).<br />
Service selecti<strong>on</strong> based <strong>on</strong> n<strong>on</strong>-functi<strong>on</strong>al properties.<br />
Proceedings <str<strong>on</strong>g>of</str<strong>on</strong>g> NFPSLASOC 2007.<br />
Roman, M., Hess, C., Cerqueira, R., Ranganathan,<br />
A., Campbell, R.H., & Nahrstedt, K. (2002). A<br />
middle-ware infrastructure for active spaces.<br />
IEEE Pervasive Computing, 1(4), 74–83.<br />
Rosenberg, F., Platzer, C., & Dustdar, S. (2006).<br />
Bootstrapping performance and dependability<br />
attributes <str<strong>on</strong>g>of</str<strong>on</strong>g> Web services. Proceedings <str<strong>on</strong>g>of</str<strong>on</strong>g> the<br />
IEEE Internati<strong>on</strong>al C<strong>on</strong>ference <strong>on</strong> Web Services<br />
(ICWS’06).<br />
716
C<strong>on</strong>text Aware Collaborative Working Envir<strong>on</strong>ments<br />
Solarski, M., Strick, L., Mot<strong>on</strong>aga, K., Noda,<br />
C., & Kellerer, W. (2004). Flexible middleware<br />
support for future mobile services and their c<strong>on</strong>text-aware<br />
adaptati<strong>on</strong>. In Aagesen, Anutariya,<br />
& Wuw<strong>on</strong>gse (Eds.), INTELLCOMM, Lecture<br />
Notes in Computer Science (volume 3283) (pp.<br />
281–292. Springer.<br />
Tang, J.C., Yankelovich, N., Begole, J., Van Kleek,<br />
M., Li, F., & Bhalodia, J. (2001). C<strong>on</strong>Nexus to<br />
awarenex: Extending awareness to mobile users.<br />
Proceedings <str<strong>on</strong>g>of</str<strong>on</strong>g> the SIGCHI C<strong>on</strong>ference <strong>on</strong> Human<br />
Factors in Computing Systems, 221–228.<br />
van Do, T., Jørstad, I., & Dustdar, S. (2006). <strong>Mobile</strong><br />
multimedia collaborative services. In <str<strong>on</strong>g>Handbook</str<strong>on</strong>g><br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> research <strong>on</strong> mobile multimedia (pp. 414–429).<br />
Hershey, PA: Idea Group Publishing.<br />
Voida, S., Mynatt, E.D., MacIntyre, B., & Corso,<br />
G.M. (2002). Integrating virtual and physical<br />
c<strong>on</strong>text to support knowledge workers. IEEE<br />
Pervasive Computing, 1(3), 73–79.<br />
key Terms<br />
C<strong>on</strong>text: The envir<strong>on</strong>ment in which a system<br />
is executed, or for collaborative systems, the<br />
envir<strong>on</strong>ment <str<strong>on</strong>g>of</str<strong>on</strong>g> the collaborative activity, including<br />
informati<strong>on</strong> <strong>on</strong> locati<strong>on</strong>s, activities, people,<br />
and their relati<strong>on</strong>s. Generally, the c<strong>on</strong>text data<br />
are volatile.<br />
C<strong>on</strong>text-Aware System: A computer system<br />
that adapts its behavior with respect to changes<br />
in its operating c<strong>on</strong>text.<br />
Collaborative Work Envir<strong>on</strong>ment: A computer<br />
system that provides support to c<strong>on</strong>ducting<br />
tasks in a collaborative manner.<br />
Service-Oriented Architecture: A way <str<strong>on</strong>g>of</str<strong>on</strong>g><br />
building computer systems from comp<strong>on</strong>ents<br />
(called services) that are loosely coupled and<br />
dynamically selected at runtime to fulfill user<br />
requirements. Often also used for implementati<strong>on</strong>s<br />
<str<strong>on</strong>g>of</str<strong>on</strong>g> such systems, with Web services being<br />
the most predominant implementati<strong>on</strong>.<br />
Service Selecti<strong>on</strong>: The act <str<strong>on</strong>g>of</str<strong>on</strong>g> dynamically<br />
chooses (at system runtime) services to fulfill a<br />
certain role in a system following the serviceoriented<br />
architecture paradigm.<br />
717