<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Real Time Synchronization for Creativity in Distributed Innovation Teams</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Dennis Kj rsgaard Peitersen</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Peter Dolog</string-name>
          <email>dolog@cs.aau.dk</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Esben Staunsbjerg Pedersen</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Kenneth H st Pedersen</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yujian Lin</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Intelligent Web and Information Systems, Aalborg University, Department of Computer Science</institution>
          ,
          <addr-line>Selma Lagerloefs Vej 300, DK-9220 Aalborg East</addr-line>
          ,
          <country country="DK">Denmark</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper we introduce a synchronization approach for real time collaborative sketching for creativity in distributed innovation teams. We base our approach on reverse AJAX. This way we ensure scalable solution for real time drawing and sketching important in creativity settings.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Creativity sessions are usually performed in teams with a lot of interactions
between team members. They usually stand at a white board or sit behind a
round table discussing new ideas, organizing them, connecting them to each
other, validating them and so on.</p>
      <p>Several creativity techniques have been introduced to guide and organize
such sessions such as 5WH1, SCAMPER, or Six Hats to name just few of them.
The main idea behind them is that they describe common practices to elicit new
ideas, group members to elicit them, the ways of involving di erent members and
giving them su cient space in the session and so on. The techniques can be seen
as di erent social conventions depending on what the creativity session goal is
(idea generation, exploration, validation and a like). Another strong character of
the creativity sessions is the real time collaboration which needs to be supported
also in distributed teams as well.</p>
      <p>Creativity is a knowledge co-construction process from learning perspective.
Participant himself as well as its peers in the creativity session learn by
performing brainstorming and by co-constructing knowledge about new ideas when
generating them, when validating them and so on.</p>
      <p>The creativity techniques inspired us in developing the idSpace platform. As
di erent phases in creativity process are supported by di erent techniques, we
believe that idSpace platform should support a choice from the techniques and
an ability to mash them up. Furthermore, it needs to support idea management
for further exploration and learning from the work of the others and mash-up
such knowledge into the work of the others.</p>
      <p>In this paper we discuss a prototype which sets a baseline for supporting such
a creativity and knowledge co-construction. We describe a prototype which allow
for meshing up di erent editors for sketching the ideas and subsequent idea
management. We describe a solution to synchronize the editors in real time by using
so called comet approach which contributes to the fact that the collaboration in
the distributed creativity sessions is perceived as real time.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        The use of creativity techniques in industry varies. Some companies just use
paper and pencil, some have adopted ICT-based techniques, which are used
mostly in isolation though. The frequency and distribution of techniques and
tools used varies from country to country. Brainstorming [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] is conducted widely,
with mind mapping [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] as the most used supportive technique (see for example
[
        <xref ref-type="bibr" rid="ref3 ref5 ref8">5, 8, 3</xref>
        ].
      </p>
      <p>
        The reasons for using particular techniques di er slightly as well, re ecting
culture, industrial domain and working style. Various techniques for the
systematic structuring and re nement of ideas have been proposed. Examples are
morphological analysis [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and methods of structured inventive thinking like
TRIZ (Teoriya Resheniya Izobretatelskikh Zadatch i.e. theory of inventive
problem solving) and SIT (systematic inventive thinking) [
        <xref ref-type="bibr" rid="ref4 ref7">4, 7</xref>
        ].
      </p>
      <p>In this paper we propose a solution which enables a real time combination
of sketches performed under di erent editors when participants are distributed
and are using Internet to collaborate. We do not limit ourselves yet to any of the
mentioned creativity techniques as all of them might bene t from the solution
we propose in this paper. We base our solution on the Liferay portal. This way
we enable the use of any technique as a plugable toolset to the Liferay.</p>
      <p>There are di erent possibilities for realizing real time collaborative editing.
As we focus on Internet browser based collaboration, we look here only at those
which are commonly used in such situation. One approach is to query server
which keeps the share copy for editing in regular time interval. This creates
performance problems. Another approach is to used recently introduced AJAX
(Asynchronous Javacript) for subscribing and receiving back the request. Our
approach is based on AJAX and we will discuss several approaches how to
implement real time collaboration in the next section.</p>
      <p>There are several real time collaborative editors available such as Adobe
Buzzword1, ZOHO2 and the others. Most of them however support only text
editing. We base our solution on MxGraph3, graph editing software, to provide
scalable solution for creativity sessions. We cannot use supported shared
editing functions as they are based on one single model. We need to extend the
synchronization to support synchronization of related models which are stored
1 http://www.adobe.com/acom/buzzword/
2 http://www.zoho.com/
3 http://www.mxgraph.com/
separately. Furthermore, comet based approach we have implemented seems to
provide more scalable solution.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Ensuring Real-Time Synchronization</title>
      <p>The general architecture is designed as a centralized client/server
architecture. Meaning that the model layer is handled by the server and clients can show
a representation of the model. The centralized server pattern is used to ensure
consistency in the graph models and collaborative editors. The architecture is
outlined in Figure 1.</p>
      <p>The real time collaboration on sketches in creativity sessions is based on
synchronization of work performed under di erent instances of editors in distributed
fashion. Traditional way of performing real-time synchronization between web
clients is limited by the HTTP protocol. The HTTP protocol is build on a client
creating a request for a web page and the server responding with the source of
the page. In order to create a traditional real-time synchronization in
collaborative editors would involve every client constantly asking the server if there is
new updates. This creates a performance and scalability problems. An example
of using this technique could be old chat rooms refreshing every second or so,
and updating the screen accordingly.</p>
      <p>Another approach lies in so called reverse AJAX. As AJAX it is not a
technology by itself, but a technique using existing technology. Of course it is not
possible to actually push data from the server directly to the clients, without
them asking for it, but it can be emulated at a performance level, which is close
to real-time.</p>
      <p>There is a lot of di erent implementations of this technique, but the most
widely used is the DWR framework. The DWR framework o ers three di erent
strategies for reverse AJAX: \Polling", \Comet" and \Piggybagging".
Polling: The browser makes a request to the server in regular intervals and
receives updates when the server responds.</p>
      <p>Comet: The clients sends a request to the server, which then starts to answer
very slowly. It answers so slow, that the connection is kept open at almost all
time, which in fact eliminates the limitations of the stateless HTTP protocol.
Data can ow in each direction at all times with this technique, so there is
no blocking communication either.</p>
      <p>Piggybagging: The client does not get updated until it sends a request to the
server, the server then sends all updates back.</p>
      <p>
        The solution chosen for the reverse AJAX technique between the client and
server is comet, because it gives the best results in terms feeling the application
runs in real-time. Figure 2 illustrates a sequence of events happening on both
client and server, and outlines how they transmit data between each other.
Holding the connection open at all times leads to the question of whether or not it
will create thread starvation. Normally it will, but the DWR framework comes
with implemented strategies to resolve the issue and ensure that the solution is
scalable [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>DWR is implemented client side by adding auto generated javascript libraries.
The libraries is auto generated by a DWR servlet running on the tomcat server.
Thereby eliminating synchronization issues, because the client will automatically
get the last compiled server interface.</p>
      <p>
        Collaborative editing uses a shared model, which di erent client represents
and is able to manipulate. In order to create the one-to-many dependency
between the model and the clients, an observer pattern is applied [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Figure 3
shows the class diagram of the observer pattern applied to the sketch model,
which is observed by the clients. This design creates transparency for the
developer and allows for further extensions to other editor types, such as idea editors,
topic map representations etc.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Conclusions</title>
      <p>In this paper we have introduced an approach for real time synchronization of
di erent sketching editors for real time collaboration in creativity sessions. The
approach uses comet and reverse AJAX as techniques of doing that. The
advantage of the proposed architecture is that it keeps the communication channel
between connected clients and server almost constantly allowing to send any
kind of information between each other. However, with large models, we might
still encounter performance issues. We will further study how to exchange only
changed part of the model to improve performance and study further
technologies to improve collaborative real time sketching supporting also larger teams. In
the future work we plan to evaluate this approach with real users in the context
of idSpace project.</p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgement</title>
      <p>We would like to thank our various project partners for inputs and discussions
on earlier versions of the ideas presented in this paper. The present work was
carried out as part of the idSpace project on Tooling and Training for
collaborative product innovation http://idspace-project.org. This project is partially
supported by the European Community under the Information and
Communication Technologies (ICT) theme of the 7th Framework Programme for research
and development (FP7-IST-2007-1-41, project number 216799). This document
does not represent the opinion of the European Community, and the European
Community is not responsible for any use that might be made of its content.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>T.</given-names>
            <surname>Buzan</surname>
          </string-name>
          .
          <article-title>The Mind Map Book</article-title>
          . New York: Penguin,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Erich</surname>
            <given-names>Gamma</given-names>
          </string-name>
          , Richard Helm, Ralph Johnson, and John Vissides.
          <article-title>Design patterns : elements of reusable object-oriented software</article-title>
          .
          <source>Addison Wesley</source>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>H.</given-names>
            <surname>Geschka</surname>
          </string-name>
          .
          <article-title>Creativity techniques in germany</article-title>
          .
          <source>Creativity and Innovation Management</source>
          <volume>5</volume>
          (
          <issue>2</issue>
          ),
          <fpage>87</fpage>
          -
          <lpage>92</lpage>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>N.</given-names>
            <surname>Leon</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Aguayo</surname>
          </string-name>
          .
          <article-title>A new model of the conceptual design process using qfd/fa/triz</article-title>
          . In Paper Presented at the QFD-Symposium, Novi, Michigan,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>J.</given-names>
            <surname>Nielsen</surname>
          </string-name>
          and
          <string-name>
            <surname>K. F. M. Lieshout</surname>
          </string-name>
          (Eds.). Awareness,
          <article-title>use and e ectiveness of models and methods for new product development</article-title>
          .
          <source>European Journal of Marketing</source>
          , Vol.
          <volume>29</volume>
          No.
          <issue>10</issue>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>A. F.</given-names>
            <surname>Osborn</surname>
          </string-name>
          .
          <article-title>Applied imagination: Principles and procedures of creative problem solving</article-title>
          . New York: Charles Scribners Sons.,
          <year>1963</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>J.</given-names>
            <surname>Terninko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Zusman</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Zlotin</surname>
          </string-name>
          . Systematic Innovation |
          <article-title>An Introduction to TRIZ</article-title>
          . CRC Press, USA,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Y.</given-names>
            <surname>Xin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. H.</given-names>
            <surname>Chai</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Bauly</surname>
          </string-name>
          .
          <article-title>The application of new product development tools in industry</article-title>
          .
          <source>In Proceedings of the IEEE International Engineering Management Conference</source>
          <year>2004</year>
          . Oct.
          <year>2004</year>
          . IEEE Press,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Frank</surname>
            <given-names>W.</given-names>
          </string-name>
          <string-name>
            <surname>Zammetti</surname>
          </string-name>
          .
          <source>Practical DWR 2 Projects. Appress</source>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>F.</given-names>
            <surname>Zwicky</surname>
          </string-name>
          . Discovery, Invention, Research - Through
          <source>the Morphological Approach</source>
          . Toronto: The Macmillian Company,
          <year>1969</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>