groove

36
A. Dogac Ceng 520 Groove: A P2P Collaboration Platform

Upload: datacenters

Post on 17-Feb-2017

295 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Groove

A. Dogac Ceng 520

Groove: A P2P Collaboration Platform

Page 2: Groove

A. Dogac Ceng 520

Collaboration: Where the Technology Stands Today? Groove Workspace technology:

Coordinated supply requests on the front lines in the war in Iraq

Groove system was:• collecting damage assessments and supply needs on laptops while offline and • then transferring the requests back to the supply center when connectivity was available

Page 3: Groove

A. Dogac Ceng 520

What is Groove? “Combination of software and services that

transform the Internet into a personal medium for direct communication and interaction.”

Peer-to-Peer network technology Virtual space for small work groups (ideally

for 30 or less)

Page 4: Groove

A. Dogac Ceng 520

How Does Groove Work? Shared space – a secure environment for

invited members Stored locally on members computers Space synchronized Offline usage P2P architecture

Page 5: Groove

A. Dogac Ceng 520

System Level Services Security

Public/private key and user authentication Local storage, synchronization and peer

connection services License management Component management Usage reporting and monitoring

Page 6: Groove

A. Dogac Ceng 520

Capabilities of Groove1. Communication tools

Live voice, instant messaging, text-based chat, and threaded discussion

2. Content sharing toolsShared files, pictures, and contacts

3. Joint activity toolsCo-Web browsing, multiple-user drawing and editing, and group scheduling/calendar

Page 7: Groove

A. Dogac Ceng 520

Advantages of Groove Ease of connection Flexibility and adaptability Self-updating Cost effective Reduced centralized management resources

Page 8: Groove

A. Dogac Ceng 520

Strengths of Groove Gartner Research Messaging

Secure, flexible and microphone applications Cooperation

Distributed “state-management” engine allowing multiple users to share/currently operate programs

Application Platform Compatibility with other web technology

Page 9: Groove

A. Dogac Ceng 520

Strengths of Groove Gartner Research Multilayered security

Encrypted through public and private keys

All data, objects and transactions are fully encrypted

Page 10: Groove

A. Dogac Ceng 520

Weaknesses of GrooveGartner Research Server licensing

Inability to license the product’s server modules No third-party service providers

Lack of workflow management COM-centric

May not be attractive for Java only environments Easily imitated

Page 11: Groove

A. Dogac Ceng 520

Groove - Ideal MatchGartner Research “Unstructured collaborative efforts employed

by knowledge workers” Private messaging communities Wireless or remote environments Adaptable with a variety of portable Internet

devices Small group interactions

Page 12: Groove

A. Dogac Ceng 520

Groove Pricing

Revenue Model: Licensing + Network Service

Licensing: $49 per user (one-time license fee)

Service: $8 per user per month

Page 13: Groove

A. Dogac Ceng 520

Introduction The basic idea behind Groove’s implementation is to provide a

shared workspace (also known as shared space ) where users can simultaneously perform operations

This shared space is virtual in nature, as it is implemented by always keeping all users local copies of shared space synchronized

The Groove tools are designed to support operations in this shared space

All the users have their own local copy of shared space and every user can perform one or more operations in the shared space

If these operations cause changes to the shared data and view, these operations are sent to other users to be executed on their local copies of shared space

Page 14: Groove

A. Dogac Ceng 520

Introduction

In order to enable the updates across large numbers of users, Groove offers the necessary services for Network communication Security Data storage and persistence Fault-tolerance, and User presence awareness

Further, it also incorporates complimentary services for user interfaces and user accounts

Groove makes its shared space management services available to the developer community via published APIs and special development kits

Page 15: Groove

A. Dogac Ceng 520

Groove Architecture The concept of shared workspace is the center point of

the Groove architecture Users can join shared workspaces to collaborate and

leave at will, without disrupting the shared workspace Another important concept behind Groove is that of tools

operating in a shared workspace All copies of a shared workspace are synchronized e.g.

operations on one are executed on all

Page 16: Groove

A. Dogac Ceng 520

Shared Space Services Services are responsible for shared space management:

Member Services Deltas and Dynamic Services Communication services UI Services Storage Services Component Services Network Services Security Services Device and User Awareness

Page 17: Groove

A. Dogac Ceng 520

Member Services These services maintain and provide user account information A user account can contain one or more user identities, where

each identity can belong to many shared workspaces An identity contains three important pieces of information; user

contact information in vCard format, security information and network addresses of all user devices

To support Groove users access to shared workspaces from multiple and different devices, member services manage user accounts over all devices in use

User account information is stored and synchronized across all user devices using a special purpose shared workspace

Further, these services provide mechanisms for account/identity management including creation, update and deletion

Page 18: Groove

A. Dogac Ceng 520

Deltas and Dynamic Services

The shared workspace synchronization is provided by delta and dynamics services (DS)

Delta, the construct used to represent change in Groove is a collection of operations/commands to be executed on a tool’s data storage

DS are responsible for the creation, dissemination, and execution of the deltas among all workspaces

DS use communications services for actual transfer of delta over network

Page 19: Groove

A. Dogac Ceng 520

Deltas and Dynamic Services The DS sequence the deltas upon creation, to

provide a deterministic data model across the shared workspaces

Upon receiving a delta from the communications services or from local shared workspace tools, the DS use delta sequence numbers to decide on delta execution order

This practice ensures consistent data among all shared workspaces

By having the same data in all local shared workspaces, every user can see changes made by other users

Page 20: Groove

A. Dogac Ceng 520

Deltas and Dynamic Services Delta processing involves contacting corresponding tools in the

local shared workspaces and passing the commands to be executed by each tool

Deltas are applied to the local data storage in a synchronous fashion

However, all remote instances of a shared workspace are updated asynchronously

This avoids any delays for changes in the UI of users to ensure a better experience

DS themselves have no knowledge of active shared spaces and/or tools within them

It is the responsibility of the tools to register with the DS in order to receive deltas of their interest

Page 21: Groove

A. Dogac Ceng 520

Deltas and Dynamic Services

Services are also responsible for delta recovery and cleanup

A delta recovery is performed by requesting re-submission of delta from the delta originator

In cases, where the originator cannot be contacted e.g. the originating user has gone offline; other shared workspace members are requested for delta re-submission

The DS also removes all executed deltas from the shared workspace when they are no longer required (garbage collection)

Page 22: Groove

A. Dogac Ceng 520

Deltas and Dynamic Services

Lastly, smart bandwidth consumption is also embedded in the DS, e.g. upon detection of low bandwidth availability, deltas are only submitted to one shared space user with possibly high bandwidth to further disseminate deltas

The shared-space services allow delta transmission among many heterogeneous online users without any centralization

However, in case of offline and firewall protected shared workspace, Groove uses relay services for delta transmissions

Page 23: Groove

A. Dogac Ceng 520

User Interface Services The first set of UI services provides management of UI

components Examples of these components include buttons, text areas,

menus, lists and forms Each UI component has its own set of design-time properties,

which can be set to customize component’s look and behavior within tool

UI services also provide many layout schemes for UI components such as HTML tables, and X/Y positioning

UI components within the tools make it possible for user to modify tools data

Groove has also made it possible to use platform specific UI components

This enables tool developers to provide platform specific look and feel to their tools

The second set of UI services are responsible for updating UI components upon changes in underlying tool data storage

Page 24: Groove

A. Dogac Ceng 520

Communication Services

Communication services (CS) provide wire transport of deltas to dynamics services

These services include routing, session management and device connections

CS are capable of supporting transmission in three different modes: Unicasting, Multicasting and Broadcasting

Page 25: Groove

A. Dogac Ceng 520

Communication Services

CS establishes the best mode of communication after discovering device bandwidth and end point availabilities

If targeted user(s) are online and originating device have sufficient bandwidth, deltas are directly sent to other users

Otherwise communication services send data to a selected device or to relay server, which on behalf of device can forward data to requested end points

Page 26: Groove

A. Dogac Ceng 520

Storage services All Groove data, including both system and user data, is stored in

XML Storage services provide data integrity, update, security,

programmatic access, transactions and logging These services are only responsible for operations on local data

storages Other services such as DS, which are responsible for data

persistence across all workspaces, use storage services to achieve persistent data

Using these services tools can query data storage to display data in their user interfaces

All data access is within the scope of a transaction and is done in a secure fashion

Groove transactions are typical ACID transactions Security is provided through data encryption/decryption prior to

read and write operation

Page 27: Groove

A. Dogac Ceng 520

Component Services Groove is a component-based implementation and the Groove

tools require many components to be available and updated in order to function

A Groove component offers a set of services that can be used by other components

Component services are responsible for identifying component requirements for a tool, retrieving, verifying, and installing required components

Identification, retrieval, and verification of component are done asynchronously, where as installation requires user interaction and therefore is a synchronous process

Component services employ communication service and its wire transport mechanism to download components

Page 28: Groove

A. Dogac Ceng 520

Network Services Services in this category refer to services hosted by

Groove Networks These services provide downloadable components for

Groove users, directory listing of Groove users, and relay services

Relay services play four main roles and are essential for Groove’s functionality They provide storage of deltas for offline users Deltas are forwarded to users when they come online to ensure

that their workspace is synchronized with other shared space members

Page 29: Groove

A. Dogac Ceng 520

Network Services Second, relays can act as proxies for delta

transmission to users behind firewall Groove uses its proprietary transport protocol (Simple

Symmetrical Transmission Protocol), however, in case of users located behind a firewall, it switches to HTTP

Third, relay servers are used for delta transmissions in situations when the originator is of low bandwidth and needs to submit deltas to a large number of users

In this case, deltas are only sent to relay servers, which can then multicast deltas to all shared space users

Forth, relay service transmits device presence information between users

Page 30: Groove

A. Dogac Ceng 520

Security Services Security is a key issue within the Groove network All the data either on-the-wire or on local disk is confidential Data is also ensured to be correct; hence Groove provides data

integrity and authentications mechanisms for users of shared workspaces

All of this is part of the Groove security services Tool developers can access these services programmatically to

define roles and perform user authentications. Further, security services are used by other services, e.g. the DS

uses security services to encrypt data before it is sent to users in shared space

Page 31: Groove

A. Dogac Ceng 520

Security Services The security services architecture consists of three layers The top layer is responsible for the implementation of the

security protocols using primitives provided by lower layers All other services requiring security communicate with this top

layer. The middle layer provides abstract interfaces, which are then

implemented in the bottom layer also know as concrete layer The main idea behind this layered architecture is to allow easy

access to different implementation of security primitives For example, various encryption algorithm implementations can

be interchanged in the concrete layer to make them available for use by the top protocol implementation layer

Page 32: Groove

A. Dogac Ceng 520

Security Services “Groove runs automatically with out-of-the-box defaults for

universally trusted algorithms, and for key lengths that are more than sufficient for almost all users

Users only have to provide a strong pass phrase; Groove handles all the details of securing the data

Behind the scenes, the default secret-key algorithm is MARC4 (Modified-Alleged-RC4)

The default public-key algorithms are ElGamal and DiffieHellman The default digest (hash) algorithm is SHA1, and the default

integrity-protection algorithm is HMAC-SHA1 The default size for secret-keys in Groove is 24 bytes (192 bits),

and the default size for public/private-keys is 192 bytes (1536 bits)”

Page 33: Groove

A. Dogac Ceng 520

Security Services User public-private keys are generated when the user creates a

new identity in an account Public keys are exchanged among shared space users upon

sending and receiving membership invitations These keys are also used to confirm a user’s identity A hash of public-private keys is used for this purpose Private keys exist only in the user account and therefore, it is

impossible to spoof public-private key hash Every custom groove tool must sign its component before it can

be deployed in Groove to ensure component authentication

Page 34: Groove

A. Dogac Ceng 520

Device and User Awareness There are two types of awareness in Groove, device awareness and

user awareness Device awareness is related to online status of any user device, where

as user awareness refers to the online status of a particular user or identity on any device

A Groove relay server is used for device awareness Devices register with the relay server upon start up so that the relay

server can announce their presence to other interested devices At start up time, devices also obtain information about other available

devices and can then either communicate directly or use relay server to communicate with other devices, which might be located behind a firewall

Devices also un-register with relay server when Groove is shut down to notify other shared workspace members of their unavailability

User presence awareness is possible without using a relay server Every Groove client can poll other users in the shared workspace or can

subscribe to events from other clients to learn about their presence

Page 35: Groove

A. Dogac Ceng 520

Groove Transceiver & Shared Spcace Architecture

Page 36: Groove

A. Dogac Ceng 520

Groove and XML

My Services

Calendar Tool

XMI (XML/SOAP)