Title: Collaboration Services Specification
1- Collaboration Services Specification
Dr. Mark T. MayburyExecutive DirectorInformatio
n Technology Centerhttp//www.mitre.org/resou
rces/centers
Organization G060 Project 03986078-AA
MITRE
2Evolution of Market Offerings
- Place-based, support all models of
collaboration - Synchronous and asynchronous
- People as core component
- Persistence
- Document-centric, share information and ideas
- Email
- Bulletin boards / discussion databases
- Information sharing tools / Intranets
- Group calendaring
- Meeting-centric, interactive and share in
creation process - Supports formal and ad hoc collaborations
- Text chatter
- Shared whiteboards
- Application sharing / screen sharing
- LAN-based video and audio conferencing
AsynchronousCollaboration Solutions
SynchronousCollaboration Solutions
Integrated CollaborationEnvironments
3Example Participant View MITREs Collaborative
Virtual Workspace (CVW)
4Collaboration Server Architecture (Services)
Tool
Search
Archive
Context
Process
Security
Directory
Document
Conferencing
Instrumentation
Semantic Collab
Users/Participants/Roles
Event Support
Asymmetric Collaboration
Interactive Multimodal Participants
5Services View
Vertical Markets
Common Facilities
C4ISR
Financial
Medical
ApplicationObjects
Collaboration Facilities
Context
Participant
Conference
Horizontal Facilities
TaskManagement
SystemsManagement
InformationManagement
User Interface
Object Request Broker
Object Services
6Context (1 of 2)
- Contexts are the persistent, objective focal
point for organizing and containing activities,
people/agents, information/data, and
applications. - They also provide the integration point for
- Conferences
- Instrumentation
- Context-specific capabilities
- Security
- Foundation for collaboration metaphor
- End-user experience metaphor?
7Context (2 of 2)
- Contexts maintain
- A list of Participants
- A ConferenceManager for conferences
- A Folder of user-published objects
- Contexts may relate to
- Plan nodes (objectives)
- Process
- Organization (logistics cell)
- Functional area
- Individual users (private offices)
- Reimplement room/building metaphor
- Ability to join a context is regulated by
Role-based access controls
8Context Directory
- Maintains the searchable directory of Contexts
- Creates locally-hosted Contexts
- Registers Contexts hosted elsewhere
9Role
- Participants present a set of Roles they are
representing in a Context or Conference - Roles are both informational and used for access
control - A tree rooted at all users relates all roles
- Access control by name via personal roles
- Credentials are used to authenticate the proposed
use of a Role
10Context
Context
Participant
Context Member
Folder
CollabRole
Conference
Credential
11Context Distribution
- Design allows Contexts to be hosted on distinct
physical machines - If a Context will primarily be used on a
particular LAN, it can be moved there - Reduce network bandwidth, improve latency
- Still available to outside users
- Suggested that centers of excellence may leave
contexts available during day-to-day use - Will be attempted in phase 2
- Context Server design could be replicated
- Not necessary for distributed demo
- Will be investigated as time and priority permits
12What do Contexts and Roles do for me?
- Contexts provide a workspace management tool
- Switch between sets of tools, data and
collaborators by switching contexts - Facilitates discovery of people and useful
information for users working similar problems - Roles control access to tools and data
- but also provide cues to which visualizations
are appropriate for a particular users task - Role will be related to eventual security
architecture - To be effective, Role and Context information
must be propagated throughout the JFACC system - User interface across the system needs this
- Back-end tools may need Role/Credential
information to decide access
13Participant
- Models a user of the system
- Human user or software agent
- Independent of location/connection
- Contains information required to visually present
the Participant (name, rank, email address) - Has a set of Roles known to be available
- Lists Contexts currently a member of
14Participant Directory
- Searchable directory of Participants
- By role
- By name
- By search language (soon)
- Maintains availability information
- Delivers pages or instant messages to
Participants and Roles - Could easily fall back to email/pager/ for
disconnected Participants - Is this the authoritative directory service for
users in the JFACC system?
15Participant
Participant
CollabRole
Credential
Human Participant
Software Participant
16Conference
- A Conference is a single-medium collaboration
- Provides
- A roster of Participants and their Roles in the
Conference - Media type and suggested application
- Access control
- A ConferenceManager organizes and manages
Conferences inside of a Context
17Conference
Context
Conference Manager
Participant
Conference
Node Controller
Conference Participant
...
CollabRole
Credential
Schema Conference
Data Conference
Mcast Conference
18Conference design
- Conference is designed as an interface
- JCS supports third-party integration of sessional
collaboration systems against the Conference API - Conference objects may be hosted anywhere on the
network - Network impact dependent on Conference
implementation - For example, chatter Conferences typically
contain a message exploder collocated with the
Conference object - Audio/video conferences as MulticastConference
communicate peer-to-peer
19Conference implementations
- TextConference implements basic chat capabilities
- MulticastConference models multicast streaming
media conferences - vat (audio), nv (video), wb (whiteboard)
- Allows heterogeneous clients for a media type
- DataConference provides a simple generic event
distribution mechanism with support for roster
and late join - Suggested base for application developers
- SDK includes Java-oriented API
20C2SchemaConference (under development)
- Supports synchronous collaboration on C2Schema
objects - Users work on tentative draft objects to be
eventually relinked to plan - Provides field-level change notification
- An additional application-specific channel allows
broadcast of view-specific events (scrolling
around map, presentation change) - Current implementation uses CORBA DII
- FineC2 support in design phase
21Intelligent Multimodal Participants (IMPs)
22Collaboration Relationships
Context
Context
Relationships
Participant