Analysis of the Relationships between Changes in Distributed System Behavior and Group Dynamics
The rapid evolution of portable devices and social media has enabled pervasive forms of distributed cooperation. A group could perform a task using a heterogeneous set of the devices (desktop, mobile), connections (wireless, wired, 3G) and software clients. We call this form of systems Distributed Dynamic Cooperative Environments (DDCEs).
Content in DDCEs is created and shared by the users. The content could be static (e.g., video or audio), dynamic (e.g.,wikis), and/or Objects with behavior. Objects with behavior are programmed objects that take advantage of the available computational services (e.g., cloud-based services).
Providing a desired Quality of Experience (QoE) in DDCEs is a challenge for cooperative systems designers. DDCEs are expected to provide groups with the utmost flexibility in conducting their cooperative activities. More flexibility at the user side means less control and predictability of the groups' behavior at the system side.
Due to the lack of Quality of Service (QoS) guarantees in DDCEs, groups may experience changes in the system behavior that are usually manifested as delays and inconsistencies in the shared state. We question the extent to which cooperation among group members is sensitive to system changes in DDCEs. We argue that a QoE definition for groups should account for cooperation emergence and sustainability.
An experiment was conducted, where fifteen groups performed a loosely-coupled task that simulates social traps in a 3D virtual world. The groups were exposed to two forms of system delays. Exo-content delays are exogenous to the provided content (e.g., network delay). Endo-content delays are endogenous to the provided content (e.g., delay in processing time for Objects with behavior). Groups' performance in the experiment and their verbal communication have been recorded and analyzed.
The results demonstrate the nonlinearity of groups' behavior when dealing with endo-content delays. System interventions are needed to maintain QoE even though that may increase the cost or the required resources.
Systems are designed to be used rather than understood by users. When the system behavior changes, designers have two choices. The first is to expect the users to understand the system behavior and adjust their interaction accordingly. That did not happen in our experiment. Understanding the system behavior informed groups' behavior. It partially influenced how the groups succeeded or failed in accomplishing its goal. The second choice is to understand the semantics of the application and provide guarantees based on these semantics. Based on our results, we introduce the following design guidelines for QoE provision in DDCEs.
• If possible the system should keep track of information about group goals and add guarding constraints to protect these goals. • QoE guarantees should be provided based on the semantics of the user-generated content that constitutes the group activity. • Users should be given the option to define the content that is sensitive to system changes (e.g., Objects with behavior that are sensitive to delays or require intensive computations) to avoid the negative impacts of endo-content delays. • Users should define the Objects with behavior that contribute to the shared state in order for the system to maintain the consistency of the shared state. • Endo-content delays were proven to have significantly negative impacts on the groups in our experiment compared to exo-content delays. We argue that system designers, if they have the choice, should trade processing time needed for Objects with behavior for exo-content delay.