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.
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