Collabrary Toolkit for Multimedia Groupware Michael Boyle Saul Greenberg University of Calgary.

Slides:



Advertisements
Similar presentations
Connecting to Databases. relational databases tables and relations accessed using SQL database -specific functionality –transaction processing commit.
Advertisements

Chapter 10: Designing Databases
A component- and message-based architectural style for GUI software
IiWAS2002, Bandung, Indonesia Teaching and Learning Databases Dr. Stéphane Bressan National University of Singapore.
8.
Object Eventing Service Michael Boyle and Michael Rounding.
Saul Greenberg Groupware Infrastructures Saul Greenberg Professor Department of Computer Science University of Calgary.
Presentation Outline  Project Aims  Introduction of Digital Video Library  Introduction of Our Work  Considerations and Approach  Design and Implementation.
Overview Distributed vs. decentralized Why distributed databases
Authentication Center for SDP Federation
Data Management I DBMS Relational Systems. Overview u Introduction u DBMS –components –types u Relational Model –characteristics –implementation u Physical.
Internet Resources Discovery (IRD) IBM DB2 Digital Library Thanks to Zvika Michnik and Avital Greenberg.
1 9 Concepts of Database Management, 4 th Edition, Pratt & Adamski Chapter 9 Database Management Approaches.
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
The University of Akron Dept of Business Technology Computer Information Systems Database Management Approaches 2440: 180 Database Concepts Instructor:
Distributed Systems & Networks i206 Fall 2010 John Chuang Some slides adapted from Coulouris, Dollimore and Kindberg.
Groupware toolkits for Synchronous work Saul Greenberg, Mark Roseman Dept. of Computer Science, Univ. of Calgary In M. Beaoudouin-Lafon, editor, Computer-Supported.
1 © Prentice Hall, 2002 The Client/Server Database Environment.
Tiered architectures 1 to N tiers. 2 An architectural history of computing 1 tier architecture – monolithic Information Systems – Presentation / frontend,
Ch4: Distributed Systems Architectures. Typically, system with several interconnected computers that do not share clock or memory. Motivation: tie together.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Concepts of Database Management, Fifth Edition
OASIS V2+ Next Generation Open Access Server CSD 2006 / Team 12.
Week 7 Lecture Web Database Development Samuel Conn, Asst. Professor
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
Database Architecture Introduction to Databases. The Nature of Data Un-structured Semi-structured Structured.
Version 4.0. Objectives Describe how networks impact our daily lives. Describe the role of data networking in the human network. Identify the key components.
Wikis are websites where pages can be edited using an online document editor. Users can easily edit and share content. Enterprise wikis are platforms.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Simple Database.
Goodbye rows and tables, hello documents and collections.
CS480 Computer Science Seminar Introduction to Microsoft Solutions Framework (MSF)
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
NoSQL Databases Oracle - Berkeley DB Rasanjalee DM Smriti J CSC 8711 Instructor: Dr. Raj Sunderraman.
NoSQL Databases Oracle - Berkeley DB. Content A brief intro to NoSQL About Berkeley Db About our application.
SPREAD TOOLKIT High performance messaging middleware Presented by Sayantam Dey Vipin Mehta.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Standard Grade Presentations & Multimedia. Presentation & Multimedia Software Allows the user to set up exciting and attractive documents which helps.
CSC2636, CSCW Course: Assignment 1 Overview Assignment 1 Page:
2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the differences and similarities between relational and object-oriented.
Wrapping Scientific Applications As Web Services Using The Opal Toolkit Wrapping Scientific Applications As Web Services Using The Opal Toolkit Sriram.
1 CS 430 Database Theory Winter 2005 Lecture 2: General Concepts.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Database Management Systems (DBMS). 2 Database Management Systems (DBMS) n Overview of: ä Database Management Components ä Database Systems Architecture.
Netprog: Corba Object Services1 CORBA 2.0 Object Services Ref: The Essential Distributed Objects Survival Guide: Orfali, Harky & Edwards.
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
1 Chapter 1 Introduction to Databases Transparencies.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
IEEE P Architecture Subcommittee Model Update and Discussion November 1, 2007.
1 Geog 357: Data models and DBMS. Geographic Decision Making.
Introduction to Databases Dr. Osama AL Rababah. Objectives In this capture you will learn: Some common uses of database systems. The characteristics of.
Chapter 1 Database Access from Client Applications.
Computer Science Centre University of Indonesia Chapter 1 Database & Database Users.
1 10 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 10 Designing Databases.
PARALLEL AND DISTRIBUTED PROGRAMMING MODELS U. Jhashuva 1 Asst. Prof Dept. of CSE om.
D ATABASE MANAGEMENT SYSTEM By Rubel Biswas. W HAT IS I NFORMATION ? It’s just something you can’t avoid. It is generally referred to as data.
1 © 2007 Cisco Systems, Inc. All rights reserved.Cisco Public Network Architecture Characteristics  Explain four characteristics that are addressed by.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Introduction to DBMS Purpose of Database Systems View of Data
SFS-HTTP: Securing the Web with Self-Certifying URLs
Chapter 9: The Client/Server Database Environment
COMSATS INSTITUTE OF INFORMATION TECHNOLOGY, VEHARI
The Client/Server Database Environment
Data, Databases, and DBMSs
סכימה פנימית (Physical Schema)
Introduction to Databases Transparencies
Software models - Software Architecture Design Patterns
Introduction to DBMS Purpose of Database Systems View of Data
C++/Java/COM Interoperability
Presentation transcript:

Collabrary Toolkit for Multimedia Groupware Michael Boyle Saul Greenberg University of Calgary

What is the Collabrary? COM object library Rapid prototyping of novel, multimedia groupware Multimedia capture, analysis, manipulation Shared Dictionary (network service)

What is the Shared Dictionary? Notification Server + Persistent Data Hierarchy of key/value pairs Subscription-based notifications Central-server architecture Simple, flexible programmatic API

Programmatic API Looks like a typical dictionary/hash table String keys look like file-system paths Client 1: SD(“/users/joe/name”) = “Joe Smith” /users/joe/name /users/joe/photo /users/mary/ … Client 2: /users/joe/name changed

Programmatic API Subscriptions: asynchronous notifications Glob-like pattern-matching language Dim Subscr As Subscription Set Subscr = SD.Subscribe(“/users/*/name”) Subscr_Notified(key,inst,val,reason,prev) Update GUI to reflect change in user name … End

Automagic Data marshalling Primitives: 54.25, “Hello world!” Complex data types:  Pictures  Sounds  Binary data: 01293ab92c03f023d…  Structs and marshal-by-value objects

Automagic Reconnection on network failure Data tied to client lifetimes Example: SD.Open “tcp://myserver.com:TestDictionaryName

Shared Dictionary Advantages Simple API Integrated support for multimedia Performance Persistence

Absent from the Shared Dictionary Authentication and authorization Encryption (possible, but not automatic) Sophisticated concurrency control algorithms Transactions Super-high scalability (e.g., federations) These aren’t needed for prototyping groupware!

Shared Dictionary In Action Examples  Notification Collage  Graffiti Video Conferencing

Summary Collabrary: toolkit for prototyping multimedia groupware  Notifications + Persistence + Multimedia Flexible, feature-rich design Simple programmatic interface