Electrical Engineering Department Software Systems Lab TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY Persisten t chat room Authors: Hazanovitch Evgeny Hazanovitch Alex Instructor: Eddie Bortnikov
Dec 20, 2015
Electrical EngineeringDepartment
SoftwareSystems
Lab
TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY
Persistent chat roomAuthors: Hazanovitch Evgeny
Hazanovitch AlexInstructor: Eddie Bortnikov
Project backgroundProject background
• Synchronous collaboration (Chat) - conversation in real time, history of messages is not recorded
• Problem: User is not able to see messages that were sent since he was absent
• Asynchronous collaboration (Forum) - the history of messages is recorded
• Problem: Non real-time experience
• Our goal:• Get the best of all worlds
Now there are two types of multi-user collaboration:
Create chat room application that records all Create chat room application that records all messages in chat and gives users ability to messages in chat and gives users ability to see a history of the messages. see a history of the messages.
Develop a framework for automated software Develop a framework for automated software agents that will allow implementing more agents that will allow implementing more services for rich collaboration experienceservices for rich collaboration experience
GoalGoal
Problem and SolutionProblem and Solution
NetworkProblem:In the middle of important conferenceOne of users may want to leaveSo he will lose the important dialogue
Solution:Lets connect Software Agent
Software that runs on remote computer Connects to chat like regular user Receives and records chat messages
Project DeliverablesProject Deliverables Automated Software AgentsAutomated Software Agents
Join the session as regular usersJoin the session as regular users Can perform standard chat functions Can perform standard chat functions Perform specific functionsPerform specific functions Modular approach for developing rich Modular approach for developing rich
servicesservices Do not require extensions of existing Do not require extensions of existing
softwaresoftware Persistent Chat room ApplicationPersistent Chat room Application
Uses a SW agent for recording & Uses a SW agent for recording & retrieving chat dataretrieving chat data
Features enabled by Features enabled by the SW agents the SW agents
technologytechnology Persistent chatPersistent chat GamesGames Online translationOnline translation Photo sharingPhoto sharing Voice and Video conferencingVoice and Video conferencing CensoringCensoring
What is Persistent chat room application?
Instant messaging Chat creation Friends list managing
Persistent chat Persistent chat roomroom
Persistent chat room application is a standard application for multi-user conferencing, with new feature.
Standard features:
Messages recording
New feature:
UsersUsers• Administrator
Can block other users.• Chat host
Can be any user. Can invite other users to chat. Can kick users out of chat. Can save history of chat messages.
• User Creates friends list. Can send private messages. Can enter any chat. Can request chat messages history.
ImplementationImplementation
• Server based groupware application.
• Uses SIP (Session initiation
protocol) . The protocol is used for:
Session initiation.Sending short text messages.
• Messages divided into different types(Chat message, Private message etc.)
•Uses MySql database to store information.
SW agent SW agent implementationimplementation
SW agent requires new message SW agent requires new message types to perform specific functionstypes to perform specific functions
In spite of that there is no need to In spite of that there is no need to extend server’s softwareextend server’s software
Message semantics are transparent Message semantics are transparent to serverto server
New messages will be handled by New messages will be handled by client application client application
So we may need to install plug-in So we may need to install plug-in on client application on client application
Recording tool as example of Recording tool as example of SW agentSW agent
“View history”•New message type•Recipient is SW agent
“History”•New message type•Contains history block•Recipient is Evgeny
Message of new type must beforwarded to recipient. Message of new type must beforwarded to recipient.
The message will be handled by client application.
User’s request for chat history
Recording tool Recording tool implementationimplementation
Software Agent.Software Agent. Invited to chat.Invited to chat. Receives and stores all the messages in Receives and stores all the messages in
chat.chat. Stores messages in blocks.Stores messages in blocks. Uses MySql database.Uses MySql database.
Receives requests from users for chat Receives requests from users for chat history.history. Current block is sent to every user when he enters Current block is sent to every user when he enters
chat. chat. Every user can request for other blocksEvery user can request for other blocks
Chat host can archive current block.Chat host can archive current block.
Future workFuture work
Voice and video conferencingVoice and video conferencing Recording of voice & video conferencesRecording of voice & video conferences
That is a goal of our next project.....