02.03.2014 Views

Handbook of Research on Mobile Multimedia - CiteSeerX

Handbook of Research on Mobile Multimedia - CiteSeerX

Handbook of Research on Mobile Multimedia - CiteSeerX

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!