Download presentation
Presentation is loading. Please wait.
1
Electrical Engineering Department Software Systems Lab TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY Meeting recorder Application based on Software Agents Framework Authors: Hazanovitch Evgeny Hazanovitch Alex Instructor: Eddie Bortnikov
2
Project background Synchronous collaboration (Chat, VoIP) Conversation in real time, no history recorded Problem: no history browsing Asynchronous collaboration (Forum, Voice mail, e-mail) All messages recorded Problem: no real-time experience Our goal: get the best of all worlds Recording and browsing of on-line voice and text conferences Now there are two types of multi-user collaboration:
3
Functional: Functional: Develop meeting recorder application that records all text and VoIP streams in chat and gives users ability to retrieve the streams. Develop meeting recorder application that records all text and VoIP streams in chat and gives users ability to retrieve the streams. Software: Software: Develop a framework for automated software agents that will allow implementing more services for rich collaboration experience Develop a framework for automated software agents that will allow implementing more services for rich collaboration experience Goal
4
Problem and Solution Problem: In the middle of important conference One of users may want to leave So he will lose the important conversation Solution: Lets connect Software Agent Software that runs on remote computer Connects to chat like regular user Receives and records Voice and Text streams
5
Project Deliverables Framework for developing extensible collaboration applications: Framework for developing extensible collaboration applications: Agents Agents Software components that join the session as regular users and perform specific functions Software components that join the session as regular users and perform specific functions Plugins Plugins Extensions to client software provided by the agents Extensions to client software provided by the agents Sample Meeting Recorder application Sample Meeting Recorder application Uses a SW agent for recording & retrieving VoIP and text streams Uses a SW agent for recording & retrieving VoIP and text streams
6
Logic flow of SW agent operation Chat room Hello Basic chat room includes Basic chat room includes Instant messaging Instant messaging Chat creation Chat creation Friends list managing Friends list managing In order to enable additional feature in chat, we need to invite appropriate SW agent to the chat Hi Hello Hi When SW agent is invited When SW agent is invited He automatically enters the chat He automatically enters the chat Sends the appropriate plugin to all users in chat Sends the appropriate plugin to all users in chat The plugin files are sent using FTP protocol The plugin files are sent using FTP protocol When plugin was downloaded When plugin was downloaded It is dynamically loaded to memory It is dynamically loaded to memory So client doesn't need to restart the program So client doesn't need to restart the program It is ready to provide new feature It is ready to provide new feature
7
Audio tool and Recording tool (SW agents) In order to enable voice conference in chat: In order to enable voice conference in chat: Chat host needs to invite Audio tool to his chat Chat host needs to invite Audio tool to his chat Audio tool provides Audio plugin to all clients in chat Audio tool provides Audio plugin to all clients in chat Audio plugin is responsible for audio session initiation Audio plugin is responsible for audio session initiation Audio plugin creates multicast audio session with other users in chat Audio plugin creates multicast audio session with other users in chat In order to enable Meeting recorder in chat: In order to enable Meeting recorder in chat: Chat host needs to invite Recording tool to his chat Chat host needs to invite Recording tool to his chat Once he was invited, he receives and records all Voice and Text streams Once he was invited, he receives and records all Voice and Text streams Recording tool provides Recording plugin to all clients in chat Recording tool provides Recording plugin to all clients in chat Recording plugin is responsible for browsing and retrieving recorded streams Recording plugin is responsible for browsing and retrieving recorded streams In order to retrieve recorded stream In order to retrieve recorded stream User needs to choose period for replay and send the request to Recording tool User needs to choose period for replay and send the request to Recording tool The recorded stream will be sent to user as RTP stream The recorded stream will be sent to user as RTP stream Recording plugin is responsible for receiving and replaying the stream Recording plugin is responsible for receiving and replaying the stream
8
Retrieval process User needs to press “Play recorded audio” button in additional GUI provided by Recording plugin User needs to press “Play recorded audio” button in additional GUI provided by Recording plugin “Record chooser” window will be displayed “Record chooser” window will be displayed User needs to choose the period for replay by marking two places on time line (Start time and Stop time) User needs to choose the period for replay by marking two places on time line (Start time and Stop time) Recorded audio is divided to audio block each of 1 hour, if user wants to retrieve previous hour of conversation he needs to press “Next block” button Recorded audio is divided to audio block each of 1 hour, if user wants to retrieve previous hour of conversation he needs to press “Next block” button
9
Technologies Java SIP stack (link) Java SIP stack (link) VoIP and text conferencing control VoIP and text conferencing control Java Multimedia Framework Java Multimedia Framework Real-time VoIP flow management, record, playback Real-time VoIP flow management, record, playback JDBC (MySQL database) JDBC (MySQL database) Metadata management Metadata management Basic application uses 4 tables: Basic application uses 4 tables: Users table Users table Chats table Chats table Friends table Friends table Blocked users table Blocked users table Recording tool uses 4 tables: Recording tool uses 4 tables: Chats table (The chats he was invited to) Chats table (The chats he was invited to) SSRC table (Keeps Synchronization Source identifiers for audio streams identifying) SSRC table (Keeps Synchronization Source identifiers for audio streams identifying) Log table (Keeps all events in chats: user entered, user left, user speaks, user silent) Log table (Keeps all events in chats: user entered, user left, user speaks, user silent) Text messages table (Keeps recorded text messages in chat) Text messages table (Keeps recorded text messages in chat) Audio tool uses 1 table: Audio tool uses 1 table: Chats table (The chats his was invited to) Chats table (The chats his was invited to) Java dynamic class loaders Java dynamic class loaders Dynamic plugin loading Dynamic plugin loading FTP client FTP client Dynamic plugin download Dynamic plugin download
10
Extensions enabled by the SW agents technology Games Games Online translation Online translation Photo sharing Photo sharing File sharing File sharing Censoring Censoring
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.