Groove: A P2P Collaboration Platform - PowerPoint PPT Presentation

1 / 36
About This Presentation
Title:

Groove: A P2P Collaboration Platform

Description:

License management. Component management. Usage reporting and monitoring. A. Dogac. Ceng 520 ... Server licensing. Inability to license the product's server modules ... – PowerPoint PPT presentation

Number of Views:26
Avg rating:3.0/5.0
Slides: 37
Provided by: srdcMe
Category:

less

Transcript and Presenter's Notes

Title: Groove: A P2P Collaboration Platform


1
Groove A P2P Collaboration Platform
2
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

3
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)

4
How Does Groove Work?
  • Shared space a secure environment for invited
    members
  • Stored locally on members computers
  • Space synchronized
  • Offline usage
  • P2P architecture

5
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

6
Capabilities of Groove
  • Communication tools
  • Live voice, instant messaging, text-based chat,
    and threaded discussion
  • Content sharing tools
  • Shared files, pictures, and contacts
  • Joint activity tools
  • Co-Web browsing, multiple-user drawing and
    editing, and group scheduling/calendar

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

8
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

9
Strengths of Groove Gartner Research
  • Multilayered security
  • Encrypted through public and private keys
  • All data, objects and transactions are fully
    encrypted

10
Weaknesses of GrooveGartner Research
  • Server licensing
  • Inability to license the products server modules
  • No third-party service providers
  • Lack of workflow management
  • COM-centric
  • May not be attractive for Java only environments
  • Easily imitated

11
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

12
Groove Pricing
  • Revenue Model
  • Licensing Network Service
  • Licensing
  • 49 per user (one-time license fee)
  • Service
  • 8 per user per month

13
Introduction
  • The basic idea behind Grooves 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

14
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

15
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

16
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

17
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

18
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 tools 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

19
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

20
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

21
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)

22
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

23
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
    components 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

24
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

25
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

26
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

27
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

28
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 Grooves 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

29
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

30
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

31
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

32
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)

33
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 users
    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

34
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

35
Groove Transceiver Shared Spcace
Architecture
36
Groove and XML
XMI (XML/SOAP)
Calendar Tool
Write a Comment
User Comments (0)
About PowerShow.com