Title: Master%20Thesis%20Proposal
1Master Thesis Proposal
- Building Collaborative Web Browsing and Chat into
Standard Web Pages - By
- Patricia Ferrao
2Introduction
- Casual user can browse the web and chat with a
group of friends - Entirely HTTP based
- No pre-registration, downloads or browser
plug-ins - Login from anywhere and immediately start
collaborating - Requires Internet access, a browser, session
login and password - Uses only light-weight, open source technology
- Works across firewalls
3Competing Products
- Click To Meet by First Virtual Communications
- Uses T.120 and H.323
- Corporate solution
- Client browser requires plug-ins and uses
Active-X components - Expensive (range of 17K to 30K)
- Cisco Collaboration Server by Cisco
- Also a corporate solution
- Need their development kit to customize features
- Client is browser-based, requires no downloads
- Firewall friendly
- What are the metrics for evaluating these
products?
4Competing Products (Contd)
- Instant Co-Browsing by Mitsubishi Electric
Research Labs - light-weight, web-based solution
- Uses Javascript, Java Servlets and DHTML
- Uses client pull
- Does not include chat, but includes a shared
pointer - Not a distributed architecture solution
- Requires that all browsable pages be part of the
same domain as the Servlet application - have not seen an implementation available
- New products rapidly emerging where? citations?
5What Differentiates My Solution?
- Uses Pushlets (server push technology)
- Distributed architecture that scales well and
works across multiple client servers - Can browse across entire Internet (Web pages need
not belong to the same domain as the application) - Uses only open-source technology
6System Architecture
7Client Server Registers with Directory
- All Client Servers register with the Directory
Server - Directory server keeps URLs in database
- Directory Server gives Backbone Servers URL to
Client Servers upon registration - Directory Server keeps track of how many clients
each server has active at any given time
8Client Registers for a Session
- Users determine session ID and password among
themselves - Client uses Directorys URL to initiate the
service connection - Directory redirects user to Client Server with
available resources - User logs in with the Client Server using session
ID, password and login name
9Client Server Sets up a Session
- Client Server informs the backbone that it is
part of a session, and provides session ID and
password - Backbone stores all active session IDs,
passwords, and participating Client Server URLs
in DB - Client Server keeps track of its sessions and
participating clients
10Collaborative Browsing
- User selects a URL to browse
- Client browser retrieves web page
- Client browser posts new URL to its local Client
Server - Client Server provides session ID and URL to
backbone server - Backbone gives new URL to all Client Servers
belonging to session - Client Servers push new URL to participating
clients - Client browsers retrieve and display web page
11Collaborative Chat
- User types text message at browser
- Browser posts chat message with local Server
- Client Server gives session ID, client login
name, and text message to backbone - Backbone provides information to all
participating Clients Servers - Client Servers push chat information to clients
- Browsers display chat id-name and text
12System Technology
MySQL
MySQL
JDBC
BackkBone Server Tomcat, Servlet
Directory Server Tomcat, Servlet
JDBC
HTTP
HTTP
HTTP
HTTP
HTTP
Client Server Tomcat, Pushlet
Client Server Tomcat, Pushlet
Pushlets
Pushlets
Postlets
Postlets
Client DHTML
Client DHTML
13What is a Pushlet?
- Java Servlet application designed by Just van den
Broecke from Just Objects B.V. - Allows a web server to push information to a
client browser - Pushes events to clients using Javascript
- Browser uses Javascript to register for events
with the Pushlet application
14Pushlet (contd)
- Client registers with Pushlet application
-
- Application will hold on to the connection for as
long as the client remains available - Pushlet will push an event to all active clients
as soon as event is generated
15What is a Postlet?
- Also a Java Servlet (Where is the reference? Who
designs it?) - Allows a client browser to post an event to a
Pushlet application - Client uses HTTP Get
- Servlet does not hold up client connection
- Postlet event is published to all Pushlet active
clients
16Pushlet Experiment
- Designed a Pushlet application in Fall 2002 for
semester project - Application generates and clears events randomly
every few seconds - Application pushes event information (either new
event, or event clear) to all registered clients - Client-side DHTML displays events in a table, and
updated the clients browser with new information
from server
17Experimental Results
- Tomcat does not timeout Pushlet connections, even
if information is not frequently pushed - Pushlet holds up a Tomcat client connection. If
all allowable connections are held-up, no other
client can connect - Suggest improvement on Pushlet as part of the
thesis. What is your plan? This can be one of
main contribution.
18Client-Side Technology
- Web page consists of five frames, one of which is
a hidden frame - Visible frames include a status frame, browsing
frame, URL frame, and chat frame - Status frame displays all active participants
login IDs - URL frame contains a text field where a user can
enter a new URL for collaborative browsing
19Client-Side Technology (contd)
- Browsing frame displays the web page that all
participants are currently viewing - Chat frame displays chat messages
- Hidden frame maintains the Pushlet connection,
and distributes events received from Pushlet
application (status, URL, chat) to the correct
frames
20Client-Side Technology (contd)
- Hidden frame posts events (chat, URL) to the
Client Server Postlet application - Chat frame gives its chat messages to the hidden
frame for distribution - Browsing frame gives its URL to the hidden frame
for distribution
21Signed JAVASCIPT
- Javascript does not allow a frame to discover
another frames URL unless all web pages belong
to the same domain - Limitation can be overcome with signed Javascript
technology - Snippet of Javacript code can be certified by a
service like VeriSign - Client is presented with a certificate of
authenticity, and must accept the certificate
before the Javascript code can execute
22Limitations
- Service requires clients to use Netscape
Navigator as the browser (signed Javacript is
browser-dependent) - This service may not work if there are proxy
servers between clients and Client Servers
(limitation of pushlets)
23Timeline
- Already Complete - done during Fall 2002 and
Spring 2003 - Master Pushlets and Postlets, Tomcat Server
- Learn Javascript, Servlets and DHTML
- Research the topic to learn about competing
applications and technologies - Put together a detailed thesis topic
24Timeline (contd)
- In Progress target completion October 2003
- Write thesis proposal, pick a committee and
present topic - Get committee approval
- Put together a presentation for the network
research group discussions
25Timeline (contd)
- Future Fall 2003 and Spring 2004
- Write software
- Setup a test bed and test configuration
- Future - complete during Summer 2004
- Complete implementation and testing of
application (final details) - Give demo to Dr. Chow
26Timeline (contd)
- Future - complete during Fall 2004
- Write Thesis paper
- Defend Thesis
- Graduate!!
27Deliverables
- Collaborative web browsing and text chat
application software - Demo of registration process for Client Servers,
Login process for clients, collaborative
browsing, and collaborative chat (using two
client servers, one backbone and one directory) - Thesis report
28References
- Just van den Broecke, Pushlets Whitepaper ,
Just Objects B.V. 2002/08/05. - Alan W. Esenther, Instant Co-Browsing
Lightweight Real-Time Collaborative Web
Browsing, Mitsubishi Electric Research Labs,
http//www2002.org/CDROM/poster/86/, 2002. - Nishanth Menon, Collaborative Tools for the
next millennium (and beyond) . - Microsoft, Exchange 2000 Conferencing Server
Downloadable documentation, http//www.microsoft.
com/exchange/techinfo/productdoc/2000/conferencedo
c.asp , May 2001. - Microsoft, Microsoft Exchange Chat Service,
http//www.microsoft.com/exchange/en/55/help/docum
ents/chat/coc01_3.htm, February 28, 2000. - Lewis Ward, WebEx MediaTone Delivering on the
Promise of Rich Media Communications, white
paper, http//www.webex.com/technology_whitepape
rs.html , May 2002. - First Virtual Communications, Click To Meet,
http//www.fvc.com.
29References (contd)
- Sun Microsystems, Sun Forum, http//www.sun.com/
desktop/products/software/sunforum/. - John Fontana, Sun Launches IM server,
integrates it with collaborative platform ,
Network World, http//www.nwfusion.com/news/2003/0
410sunim.html, 04/10/03. - Cisco, Cisco Collaboration Server,
http//www.cisco.com/warp/public/180/prod_plat/cus
t_cont/nam/collaboration.html. - Linda Rosencrance, Tech firms lobby for open IM
standards, http//www.computerworld.com/printthis
/2000/0,4814,45662,00.html, June 08, 2000. - Cathleen Moore, XMPP rises to face Simple
standard, InfoWorld, April 18, 2003. - Christopher Saunders, A Lack of Simple
Pleasures, Instant Messaging Planet, Nov. 12,
2002. - Jabber Software Foundation, Jabber Technology
Overview, http//www.jabber.org.
30References (contd)
- Eidelshtein Ilya and Taubkin Victor, IRC
Internet Relay Chat, http//www2.rad.com/networks
/1995/irc/irc.htm. - Elizabeth Daly, Distributed Slide Show Tool,
University of Dublin, September 16, 2002 - Ganesh Godavari , SGFR Secure Groupware for
First Responders, University of Colorado at
Colorado Springs, http//cs.uccs.edu/sgfr/,
2003. - Microsoft Corp. MSN Messenger,
http//messenger.msn.com/ - AOL Instant Messenger, http//www.aim.com/
- YAHOO Messenger, http//messenger.yahoo.com/
- The Apache Jakarta Project, http//jakarta.apache.
org/tomcat/ - Patricia Ferrao, Event Application Using
Pushlets, http//piglet.uccs.edu/cs526/projF2002/
pferrao/doc/Eventapplication.doc, December 6,
2002