Title: ECOO: Environment and COOperation
1ECOO Environment and COOperation
- Hala Skaf-Molli
- Assistant Professor University Nancy1
- LORIA-INRIA lorraine
- skaf_at_loria.fr
- Pascal Molli
- Assistant Professor University Nancy1
- LORIA-INRIA lorraine
- molli_at_loria.fr
www.loria.fr
2ECOO Members
Responsable Claude Godart, Prof. UHP, ESSTIN
Phd students(8) Karim Baina, Julia Bitcheva
Christophe Bouthier Abdelmajid
Bouazza Daniela Grigori Benoît Sonntag
Samir Tata Olivier Zendra
Ingenieur(3) Philippe Canalda Saâd El
Hadri Marc Patten
Permanents (10) Khalid Benali, MC Nancy
2 Nacer Boudjlida, Prof UHP Gérôme Canals, MC
Nancy 2 François Charoy, MC Nancy 2, CR INRIA
(sept 00 -- sept 02) Dominique Colnet, MC UHP, CR
INRIA (sept 99 -- sept 01) Luigi Liquori, MC
INPL, Jacques Lonchamp, Prof. Nancy 2 Pascal
Molli, MC UHP, CR INRIA (sept 00 -- sept
02) Olivier Perrin, MC Nancy 2 Hala Skaf-Molli ,
MC UHP
3Applications
- Cooperative work
- Co-conception, co-authoring, co-engineering,
virtual teams, virtual enterprises - Keywords
- CSCW, Workflow, Software Engineering, Distributed
systems, Databases Systems
4Industrial Relations...
- AEE (Renault, Valéo,..)
- Interoperability of processes
- CNET (France-Télécom)
- Virtual teams for architects
- Hitachi Japan
- Flexible workflow
- ...
5Virtual Teams
- Team
- A group of people interact through interdependent
tasks guided by a common goal - Virtual
- Distributed across the time, space and the
organizations - Linked by webs of communications technologies
6Introduction
- Why virtual teams ?
- Quickly gathered core competencies of different
organizations - Work is achieved in a competitive time
- High-productivity, Mobility
- Examples
- Research project (AAE, CNET, Hitachi )
- Co-authoring (web), co-design
7Introduction
- Providers host virtual teams
- BSCW Reference of CSCW community for shared
workspace, a commercial product now - SourceForge 10000 open source projects, 70 000
virtual members - HotOffice, TeamCenter, Egroups, Instant!TEAMROOM
Commercial products
8Virtual team services
- Shared data
- Object and dependencies, Concurrency, versioning,
annotation, Access Control, Notification - Communication Services
- Synchronous video-conference, application
sharing, collaborative tools, shared whiteboard,
chat - Asynchronous Mailing list, web pages, forums,
persistent notification
9Virtual Team Services
- Coordination Tasks management
- Manual Project Management
- Enacted ToDo List
- Defined in a process and enacted Workflows
- Awareness pertinent
- Activity awareness, Availability awareness,
Process awareness.
10Problems
- Shared data consistency
- Concurrent access to shared data
- Coordination
- Implicit coordination (informal)
- Explicit coordination (formal)
11Shared Data in Virtual Teams
Private Workspace
Private Workspace
Private Workspace
Shared Workspace
Private Workspace
Private Workspace
Private Workspace
Private Workspace
12Shared Data and Copy-Modify-Merge
Private Workspace
Private Workspace
Private Workspace
Shared Workspace
Private Workspace
Private Workspace
Private Workspace
Private Workspace
13Shared Data and Consistency
a
b
C
14Data Consistency
- Transactional approach
- Encapsulate activities in transactions.
- The system will take in charge the problem of
concurrent access
15Data Consistency
Private Workspace
Private Workspace
Private Workspace
Shared Workspace
Private Workspace
Private Workspace
Private Workspace
Private Workspace
16Data Consistency
- Results
- Coo-serializability new correction criterion
for cooperative executions - Coo-transactions new advanced transaction model
based on coo-serlializability - COO prototype a cooperative development
environment based on the coo-transactions.
17Problems
- Shared data consistency
- Concurrent access to shared data
- Coordination
- Implicit coordination (informal)
- Explicit coordination (formal)
18Informal Coordination
- Gutwin, Roseman and Greenberg in CSCW96
- "Workspace awareness reduces the effort needed
to coordinate tasks and resources, help people to
move between individual and shared activities,
provides a context in which interpret utterance,
and allows anticipation of others actions
19Informal Coordination
- Coordination based on group awareness
- Keep team members informed about the project
activity.. - So they will communicate...
- And auto-coordinate.
- Essential problem
- Providing pertinent information.
- Which information ? when ? To whom ?
20Informal Coordination
- A pertinent source of information
- The measurement group divergence.
- Group divergence
- Measure the quantity of disorder between the
different copies of shared data...
21Divergence
Divergence concurrent modifications on the
different copies of the object. Convergence
integration of parallele modifications ...
Divergence
time
User1
User2
synchro. Points
User3
22Divergence/convergence
- Divergence phase Monitor...
- Convergence phase Accelerate...
- Convergence points COO-SR
23Divergence
- How to measure divergence?
- How to propagate it ? According to which model ?
- How to visualize it in a real time ?
24How to Measure Divergence?
- Configuration management approach
- Copy/modify/merge calculate the difference
between the different copies of an object
flexible merge, diff - Transactional approach
- Number of dirty reads ?-serializability
- Operational transformation
- Number of conflict operations Ellisgibbs,
SOCT4.
25Divergence Propagation
- Divergence is the quantity of disorder in objects
network - It propagates through dependencies between
objects ...
26Divergence Visualization
- User must be able to monitor divergence
variation like CPU load or network activity. - Peripheral, scalable, customizable...
27Divergence Visualization
28Divergence Visualization
29Divergence Visualization
30Experimentation
- Prototype
- MOTU prototype is under realization in an
advanced step.. - motu.sourceforge.net
- Hypothesis
- If users visualize divergence in a real time so
they will communicate to auto-coordinate. - Experience
- Clinical studies on virtual teams disposed on
information about divergence. - This is the objective of the project COCAO with
CNET.
31Conclusion on Informal Coordination
- Divergence is a pertinent source of notification
- A peripheral visualization allows user to
monitor divergence like CPU load or network
activity.. - Auto-coordination
32Problems
- Shared data consistency
- Concurrent access to shared data
- Coordination
- Implicit coordination (informal)
- Explicit coordination (formal)
33Formal Coordination
- Approach based on workflow (explicit
coordination) - Workflow is used in several domains to coordinate
works - Example coordinate tasks in office automation
- Use it to coordinate virtual teams !
34Workflow Management System
- Two components
- Process definition (declarative or/and visual)
- Define tasks ...
- Who must accomplish the task
- Define transitions between tasks.
- Process execution engine
- Execution environment
- Users tasks appear on their desktop...
35 Example Loan Request Handling
- Activities
- Collect credit information
- Assess risk (amount lt 10 000 FF)
- Request approval (amount gt 10 000 FF or high
risk) - Accept credit
- Reject credit
36Control flow of activities
37My activities
38Workflow
- Actual workflow systems are rigid
- End-gtbegin dependency
- Execute in isolation
- Add flexibility to workflow systems
39Cooperative Workflow
- Two methods
- Change the execution engine
- Keep the model simple (minimal modifications)
- Accept cooperative executions (break isolation)
- Change the process model
- Add cooperative operators to the model
40Change the Execution Engine
- Anticipation..
- If intermediate results are available you can use
them - To start tasks as soon as
- Example process of write/ review a document
41Conclusion on Anticipation
- Easy to do, to understand
- No modifications on the process's model
- According to the users needs
42Cooperative Workflow
- Two methods
- Change the execution engine
- Keep the model simple (minimal modification)
- Take in consideration cooperative executions
- Change the process model
- Add cooperative operators to the model
43Change the Process Model
- Cooperation is defined and controlled explicitly
- 3 cooperation patterns
- Client server
- Redactor reviewer
- Cooperative writing
- Users can negotiate their cooperation strategy
44Cooperation Patterns
- Client/Server
- NO concurrent modifications on shared data
- Redactor/reviewer
- Cross reading of shared data
- Cooperative Writing
- Concurrent modifications
45Example Cooperative Write
A
Edit
Shared workspace
B
Edit
Cooperative Operator
46Application
- Project Corvette between Hitachi Japan and the
ECOO team of Loria - Cooperative patterns are implemented in Motu..
- Adding cooperative operators to the workflow
system WorkCoordinator" developed by Hitachi - Adding flexibility to WorkCoordinator
47Conclusion on Cooperative Workflow
- Cooperation is defined
- Explicitly
- With cooperation patterns
- Choice of cooperation strategy
- Flexible workflow
48General Conclusion
- Data consistency
- Coo-transactions
- Two approaches
- Informal coordination
- Auto-coordination based on group awareness
- Divergence metrics
- Formal coordination
- Cooperative workflow
- Flexible execution
49Cooperation with Universities of Sydney
- Integrating of Network Services for Virtual Teams
50Virtual Teams and Network Services
- Virtual teams services
- Shared Data, Coordination, Communication,
Awareness - But...
- Security, Predictive behavior, Quality of
services are required to make it commercially
viable...
51Limitations of Existing Virtual Teams Software
- Predictive behavior
- Not sure to access any virtual team service
- Servers downs, service interrupted by provider
- Software not designed to handle scalability
52Limitations of Existing Virtual Team Software
- Security
- Access are (poorly) authenticated, Web access use
SSL - Other kinds of connection use SSH
53Limitations of Existing Virtual Team Software
- Quality of service ?
- Video-conferencing relies on video-conferencing
software - File sharing through normal FTP
- Awareness notifications not delivered in
bounded time
54Virtual Team Nature
- High productivity
- members have to start a virtual team as soon as
possible - Deployment of security, quality of service have
to be compatible with this requirements - Mobility
- Virtual team members are mobile
- Virtual team services HAVE TO be available with
the same quality of service if people move
55Requirements for network services
- Security, Quality of service, predictive behavior
- Compatible with
- High-productivity and Mobility
-
- Virtual team business
56Experimentation
- Motu is a prototype for virtual team developed
by the ECOO team at LORIA - Shared Data Multi-version file system, long
transactions, ACL, Notification API - Coordination Workflow engine
- Awareness Presence awareness, State awareness,
divergence awareness - Communication instant message, built-in
video/audio conference
57motu.sourceforge.net
58Experimentation
- Integrate in the Motu prototype Security, Quality
of service - Experiments the result between France and
Australia - Motu is 100 java software, communications use
RMI, and IP-multicast for video-conference
59Conclusion
- Writing a paper about Integrating Network
Services for Virtual Teams - ECOO team, LORIA competencies in Virtual
Teams.. - UNSW, UWS competencies in network
- Evaluate cost and complexity of integration Qos
and Security on existing VT software - Do it on the Motu prototype
60I N T E R N E T Q U A L I T Y
Coordination
A W A R E N E S S
Formal Informal Workflow Awareness
Communication
Synchrony Asynchrony Chat, email,
mailing-lists, Videoconference, forum
Shared whiteboards shared agenda
Shared Data
Versions, Replication, Configuration,
Concurrency, Consistency
TOOLS
61I N T E R N E T Q U A L I T Y
Coordination
A W A R E N E S S ??
Formal Informal Workflow Awareness
Communication
Synchrony Asynchrony Chat, email,
mailing-lists, Videoconference, forum
Shared whiteboards shared agenda
Shared Data
Versions, Replication, Configuration,
Concurrency, Consistency
TOOLS
62A W A R E N E S S
Communication
I N T E R N E T
Synchrony Asynchrony Chat email
Videoconference forum
Shared Data
Versions, replication, Configuration,
Concurrency, Consistency
TOOLS