© 2005 Avaya Inc. All rights reserved. A Client-Side Architecture for Supporting Pervasive Enterprise Communications Amogh Kavimandan, Reinhard Klemm,

Slides:



Advertisements
Similar presentations
1. XP 2 * The Web is a collection of files that reside on computers, called Web servers. * Web servers are connected to each other through the Internet.
Advertisements

Polycom Unified Collaboration for IBM Lotus Sametime and IBM Lotus Notes January 2010.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 16 Introduction to Ajax.
CLUE REQUIREMENTS IETF 80 Allyn Romanow
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
17 Copyright © 2005, Oracle. All rights reserved. Deploying Applications by Using Java Web Start.
Introduction to HTML, XHTML, and CSS
General Information Software Robot Benri. Characteristics 1. Connect up to 16 cameras. 2. Do six different type of detections. 3. Define sub-areas where.
Overview Environment for Internet database connectivity
Vishal K. Singh, Henning Schulzrinne
Device Evolution Greg Pelton Chief Technology Officer
Content Interaction and Formatting, Tayeb LEMLOUMA & Nabil Layaïda. November Tayeb Lemlouma & Nabil Layaïda Presented by Sébastien Laborie November.
Fraunhofer Institute FOKUS
New Mexico Broadband Program Internet Tools for Small Business Success Module 5 E-Newsletters.
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
® Microsoft Office 2010 Browser and Basics.
Chapter 13 Review Questions
Rob Marchand Genesys Telecommunications
Interception of User’s Interests on the Web Michal Barla Supervisor: prof. Mária Bieliková.
Variability Oriented Programming – A programming abstraction for adaptive service orientation Prof. Umesh Bellur Dept. of Computer Science & Engg, IIT.
XP Browser and Basics1. XP Browser and Basics2 Learn about Web browser software and Web pages The Web is a collection of files that reside.
Pervasive Enablement of Business Process 徐天送 2004/11/2.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Copyright © 2002 Pearson Education, Inc. Slide 4-1 Choosing the Hardware for an E-commerce Site  Hardware platform  Refers to all the underlying computing.
Internet Telephony Helen J. Wang Network Reading Group, Jan 27, 99 Acknowledgement: Jimmy, Bhaskar.
It’s always better live. MSDN Events Developing ASP.NET AJAX Controls with Silverlight.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
Client-Server Computing in Mobile Environments
SIP-based Application Development SIP International 2004.
Unified. Simplified. Unified Communications Launch 2007.
MyVRM Architectural Review October Agenda myVRM Quick Review Overall Architectural Concepts Design Principals Implementation Detail Q&A.
Boris Tshibangu. What is a proxy server? A proxy server is a server (a computer system or an application) that acts as an intermediary for requests from.
WEB DESIGN SOME FOUNDATIONS. SO WHAT IS THIS INTERNET.
© 2012 Cisco and/or its affiliates. All rights reserved. CDN-4698 Cisco Public Collaboration Enabled Business Transformation (CEBT) Integration Platform.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Submitted by: Madeeha Khalid Sana Nisar Ambreen Tabassum.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
Design of a Collaborative System Minjun Wang Department of Electrical Engineering and Computer Science Syracuse University, U.S.A
HTML, XHTML, and CSS Sixth Edition Chapter 1 Introduction to HTML, XHTML, and CSS.
Iptel not telip 1 03/19/99 Internet Telephony: not Telephony over Internet Jonathan Rosenberg Bell Laboratories Spring VoN 99.
International Telecommunication Union Geneva, 9(pm)-10 February 2009 ITU-T Security Standardization on Mobile Web Services Lee, Jae Seung Special Fellow,
03/09/2003Helsinki University of Technology1 Overview of Thesis Topic Presented By: Zhao Xuetao.
Session Initiation Protocol (SIP). What is SIP? An application-layer protocol A control (signaling) protocol.
© 2005 Avaya Inc. All rights reserved. Using Context-Awareness and User Negotiation for Intelligent Dialing in Enterprise Communications Amogh Kavimandan.
PERVASIVE COMPUTING MIDDLEWARE BY SCHIELE, HANDTE, AND BECKER A Presentation by Nancy Shah.
Active Server Pages  In this chapter, you will learn:  How browsers and servers interacted on the Internet when the Internet first became popular 
1 Welcome to CSC 301 Web Programming Charles Frank.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Building Rich Web Applications with Ajax Linda Dailey Paulson IEEE – Computer, October 05 (Vol.38, No.10) Presented by Jingming Zhang.
Web Services Presented By : Noam Ben Haim. Agenda Introduction What is a web service Basic Architecture Extended Architecture WS Stacks.
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
Search Engine using Web Mining COMS E Web Enhanced Information Mgmt Prof. Gail Kaiser Presented By: Rupal Shah (UNI: rrs2146)
Development of e-Science Application Portal on GAP WeiLong Ueng Academia Sinica Grid Computing
IT533 Lectures ASP.NET AJAX.
Chapter 1 Introduction to HTML, XHTML, and CSS HTML5 & CSS 7 th Edition.
Microsoft Office System UK Developers Conference Radisson Edwardian, Heathrow 29 th & 30 th June 2005.
Michael Miller Senior Director Real-Time Collaboration Products Oracle Collaboration Suite 10g Oracle Corporation.
UCI Large-Scale Collection of Application Usage Data to Inform Software Development David M. Hilbert David F. Redmiles Information and Computer Science.
Web Software Model CS 4640 Programming Languages for Web Applications
Session Initiation Protocol (SIP)
Lecture 1: Multi-tier Architecture Overview
Agile Application-Aware Adaptation for Mobility
Unit V Mobile Middleware.
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Back end Development CS Programming Languages for Web Applications
Back end Development CS Programming Languages for Web Applications
Presentation transcript:

© 2005 Avaya Inc. All rights reserved. A Client-Side Architecture for Supporting Pervasive Enterprise Communications Amogh Kavimandan, Reinhard Klemm, Ajita John, Doree Seligmann, Aniruddha Gokhale Vanderbilt University, Nashville TN Avaya Labs Research, Basking Ridge NJ

2 © 2005 Avaya Inc. All rights reserved. Hermes: Pervasive, Context-Aware Enterprise Communications Middleware Hermes Enterprise Communications Middleware Business processes need to communicate with people and connect people with each other Hermes automates people communications by enabling design and execution of communications applications Integration with business processes Hermes communications applications connect the right people, at the right time, via the right communication media Communications Application Business Process Communications Application Communications Application Bob Alice Cary Conferencing Systems Communication Servers Messaging Systems Voice Switches

3 © 2005 Avaya Inc. All rights reserved. launches Expert Finder Application Example of Hermes Communications Application Conference Bridge Manager Conference Hermes Alice in her home office Browser Hermes User Portal logs into bridges in sends dialog pops up returns filled dialog transmits user context Client-Side Agent Pervasive, context-aware enterprise communications middleware requires client-side support –Specific to communication endpoints, media fills out dialog

4 © 2005 Avaya Inc. All rights reserved. Client-Side Challenges for Pervasive, Context- Aware Enterprise Communications (1/3) Pervasive, context-aware communications applications make decisions about who, when, how to contact/connect people Effective decision-making requires efficient collection of user context: –User presence: which communication endpoint(s) is user connected to? –User communication activity: what communication activities has user engaged in during last x time units? With whom/what is user communicating right now?

5 © 2005 Avaya Inc. All rights reserved. Client-Side Challenges for Pervasive, Context- Aware Enterprise Communications (2/3) –User interruptibility: can user be interrupted with request for feedback? Computed from user presence, communication activity, nature of request, enterprise and personal rules/policies –User availability: can user participate in new communication session? If not now, how soon? Computed from user feedback, for specific communication session –Communication device characteristics: can user participate in/continue with new/ongoing communication using current communication endpoint? Static and dynamic characteristics

6 © 2005 Avaya Inc. All rights reserved. Client-Side Challenges for Pervasive, Context- Aware Enterprise Communications (3/3) –Support for application-user dialogs: dialogs for collecting user availability feedback either outside or during ongoing communication session Notifying user of pending dialogs or barge-in Rendering (multiple) dialogs Collecting user responses Dialog presence –Session management: users may be engaged in several communications sessions simultaneously and need to receive dialogs in the right session(s) –Transparency: user should not perceive difference in performing various communication tasks despite ongoing user context collection

7 © 2005 Avaya Inc. All rights reserved. Argus: A Client-side Architecture for Supporting Pervasive Enterprise Communications (1/2) Argus complements enterprise communications middleware on the client-side for supporting pervasive, context-aware communications applications Negotiation between users and communications applications through Argus agents Enterprise Communications Middleware Endpoint 1 Endpoint 2 Endpoint 3 Endpoint 4 Argus Agent Session Mgmt. Device Monitor Session Mgmt. Device Monitor Session Mgmt. Device Monitor Session Mgmt. Device Monitor

8 © 2005 Avaya Inc. All rights reserved. Argus: A Client-side Architecture for Supporting Pervasive Enterprise Communications (2/2) Argus agents are deployed with user communication endpoints Agents provide context gathering, propagation, dialog presentation functionalities Device monitor tracks and reports device properties of interest – e.g. battery remaining, interaction capabilities etc. Session management associates session information with individual communication endpoints

9 © 2005 Avaya Inc. All rights reserved. Web Browsers as Communication Endpoints Web-based user context data collection is meaningful since employees spend a lot of time interacting with enterprise Web portals that expose a variety of enterprise applications Web browsers are universally deployed, programmable client software of choice for many user activities Can render multimedia contents easily Already provide infrastructure support for uploading information, rendering interaction (through forms) and returning user feedback Firefox Web browser extension mechanism for implementing data collection functionality Other communication endpoints to follow…

10 © 2005 Avaya Inc. All rights reserved. Argus Architecture Argus consists of two main components: –Communication Agent: Tightly coupled with endpoint (here: browser). Responsible for user context gathering, dialog presentation, feedback collection –Machine Agent: Mediates between user and middleware. Maintains session information, sends device characteristics to middleware One Communication Agent per communication endpoint, but only one Machine Agent per client machine Web Services Client Proxy Server Device Agent Per endpoint instance Machine Agent Per device User Device Enterprise Communication Middleware Web Services Client Proxy Server Device Agent Communication Agent AJAX Components User Response UI Elements Activity Monitor

11 © 2005 Avaya Inc. All rights reserved. Communication Agent Communication Agent monitors user activity and manages dialogs –Activity Monitor Context data may be the current page being presented, time spent on the page, what Web application is being used etc. Periodically packages observed context data and sends package to Machine Agent –User Response Component Makes upcalls into the AJAX components to forward the context data Receives dialogs to be rendered as forms to the user –AJAX Components Asynchronous components Create server requests from JavaScript calls, return control back to extension event loop

12 © 2005 Avaya Inc. All rights reserved. Machine Agent Single instance of Machine Agent per device provides session management for all active sessions –Proxy Server Single point of contact for Communication Agents to send user context information to Maintains session information, dialog graphs –Device Agent Currently implemented for Windows XP but can be easily ported to other operating systems Collects, reports static/dynamic device capabilities (device context) Device context helps enterprise communications middleware to adapt dialog design

13 © 2005 Avaya Inc. All rights reserved. Dialog Rendering and Injection Synchronized Multimedia Integration Language (SMIL), designed for describing and rendering interactive multimedia presentations, is used for dialogs –Standardized development tools –Rendering supported in Web browsers Dialogs are associated with session ID of target browser session Machine Agent detects and receives (through Java/Web Services calls) list of pending dialogs for active session from middleware Communication Agent retrieves dialogs (as SMIL scripts) through HTTP requests and renders them through User Response component in Firefox extension Web Services Client Proxy Server Device Agent Machine Agent User Device Enterprise Communication Middleware Web Services Client Proxy Server Device Agent Communication Agent AJAX Components User Response UI Elements Activity Monitor JS CallsHTML HTTP XML Java Method Calls Web Services Calls

14 © 2005 Avaya Inc. All rights reserved. User Perspective (1/2) Communication Agent implemented as Firefox extension: –Context gathering is transparent – no perceivable change in browsing experience –User can turn on/off context gathering at any point Dialogs are rendered in the form of a pop-up window which the user can fill in –May contain audio, video

15 © 2005 Avaya Inc. All rights reserved. User Perspective (2/2) Proxy server Communication Agent Dialogs may be presented piecemeal, where each dialog depends on the outcome of the previous user response Can be seen as a graph maintained at Machine Agent

16 © 2005 Avaya Inc. All rights reserved. Conclusion and Future Work We presented the client-side architecture Argus for supporting pervasive, context-aware enterprise communications Argus gathers user context information, propagates it to enterprise communications middleware, and supports multimodal dialogs, thereby accelerating decision-making in enterprise communications applications We plan to do several user studies for quantifying usability and measure accuracy of user context data provided by Argus Argus has been extended to work with Thunderbird client; we are also looking at extending it to a range of communication endpoints