Collaboration over Internet

Post on 03-Feb-2016

19 views 0 download

description

Collaboration over Internet. Ivan Tomek, Rick Giles, Hai Zhang, Li Di Jodrey School of Computer Science Acadia University, Wolfville, Nova Scotia, Canada. Overview. Definitions. Why is this important? Work environments - categories and examples FCVW – Acadia experiments. - PowerPoint PPT Presentation

Transcript of Collaboration over Internet

Collaboration over Internet

Ivan Tomek, Rick Giles, Hai Zhang, Li DiJodrey School of Computer Science

Acadia University, Wolfville, Nova Scotia, Canada

Overview

• Definitions.• Why is this important?• Work environments - categories and examples • FCVW – Acadia experiments.• FVE – Current Acadia project:

– Features.– Demo.– Design and implementation.

• Future work.

Definitions

• Groupware – software for collaboration.

• CSCW - Computer Supported Collaborative Work.

Why is groupware important

• Globalization, technology.

• Potential exists to satisfy needs.

Types and examples

• Limited scope applications.

• Integrated multi-function environments.– Types by paradigm:

• Project-centered.• Meeting centered.• Space emulation:

– 3D virtual world.– GUI-based.

Types and examples - FolderaProject-based.

Central concepts: – Activity Folder.– Documents.– Communication. – Group.

Tools: – E-mail.– Task Manager.– Contact Manager.– Calendar.– etc.

Types and examples - Foldera

Types and examples - Marratech

Meeting-based.

Central concepts:• Virtual meeting / virtual room.

Tools:– Whiteboard.– Audio-visual Conferencing.– Recording.– Shared Document Access.– Application Sharing.– Etc.

Types and examples - Marratech

Types and examples - CVW

Virtual room-based - Collaborative Virtual Workspace.

Central concepts: • GUI-based emulation of physical space:

Building, floors, purpose-dedicated private and shared virtual rooms.

• Tools:– Users. – Groups. – Whiteboard. – Recorder. – Audio-visual conferencing. – Shared documents. – User-programmable at runtime.– Etc.

Types and examples - CVW

Types and examples

Conclusions

• Variety of paradigms but shared needs.

• Mostly failing in extendibility –closed to evolution.

• Most powerful paradigm – space-based, extendible.

• => Use CVW and address its limitations.

• => FCVW – CVW experiments at Acadia.

FCVW experiments

FCVW = Federated CVW.

Features:• Virtual room-based.• Federated servers – ‘campus of buildings’.• Programming support – IDE, etc.• Mobile clients.• Software agent framework.• New user interfaces.

FCVW

FCVW limitations:

• CVW design documentation (‘none’).• Implementation (poor, outdated).• Adaptability (poor)• User programmability (poor).

=> Redesign, reimplementation: FVE

FVE

FVE = Federated Virtual Environment

FVE = CVW with

• New features.

• New design.

• New implementation.

• Documentation.

Current state: Working subset of FCVW + multi-language programmability.

FVE

FVE Demo

FVE - Architecture

FVE - Design

• FVE Desktop Client– New GUI design - SWT.

• FVE middleware– Virtual campus.– Concealing multiple FVE servers from client.

• FVE Building server.• FVE Document server

– File sharing and management.– Version control.

4) The TaskManager checks what the next task in the queue is.5) The TaskQueue responds to the TaskManager.6) The TaskManager asks the TaskQueue to send the task to the GeneralExecutor

8) The GeneralExecutor retrieves the verb.9) The GeneralExecutor invokes the corresponding Script Executor10) The Script Executor runs the verb "Say" and sends results to clients via the ConnectionToClient.11) The ConnectionToClient sends results to needed clients.

Example of Operation

FVE - Design

• Multiple scripting language support– Commands

• CVW, FCVW: LambdaMOO.

• FVE: BeanShell, JRuby, and Jython.• Federated FVE server support

– Inspired by FCVW.

– Several servers may run on the same machine.

• Server-side relational database support.– Universe and code database.

FVE - Design

• Client-side administration tool support:– User account management.

– Server management.

– Virtual space management.

– Database management.

• Client-side verb programming tool support– MOO extensibility

• MOO: Multiple user dimension Object Oriented.

FVE - Implementation

• Multiple scripting language support– Java SE 6: javax.scripts.*

– JSR 223: script engines.

• Federated FVE server support– SWT: The Standard Widget Toolkit.

– Individual JRE.

• Server-side relational database support– MySQL.

– JDBC: Java Database Connectivity.

FVE - Implementation

• Client-side administration tool support:– SWT and MCP (MUD Client Protocol).

– FVE Admin server and server-side database.

• Client-side command programming tool support:– SWT and MCP.

– FVE Admin server and server-side database.

Future work

• Completion of functionality: A/V conferencing, whiteboard, recorder, etc.

• Client: User Interfaces.• Framework solution: Modularization of client and

server implementation. Eclipse plugins.• Testing:

– Performance and scalability. – Usability.– Extendibility.

Future work

• Use in real communities – work (groupware) and social (socialware).

• Communication protocols. • Virtual engines other than JVM. • Peer-to-peer technology. • Software agents. • Browser-based client. • Mobile clients.

References

Foldera:

http://www.foldera.com/

Marratech:

http://www.marratech.com/support.html

CVW:

http://cvw.sourceforge.net/