Proceedings of the International Multiconference onComputer Science and Information Technology pp. 475–479ISBN 978-83-60810-22-4ISSN 1896-7094Recording/Archiving in IBM Lotus Sametime basedCollaborative EnvironmentSunil John, Sorin Ciolofan and Cheryl Anne HardingPeter WesterinkIBM Dublin Software LabIBM Technology CampusDublin, IrelandEmail: suniljoh,ciolofan,[email protected] Watson Research LabsHawthorne, New YorkUnited StatesEmail: [email protected]—Archiving video conferences is an important featurethat allows storing conferences for later playback or for any otherpossible usage. This part of videoconferencing has never beenan active area for most conferencing solutions. Many aspects ofarchiving conferencing solutions, including application sharingas well as document sharing among the participants, are notproperly considered. In this paper we discuss IBM StreamingEngine based archiving solution. This recording and archivingfacility leverages IBM Sametime collaborative conferencing solution. Apart from the discussion on the archiving facilities, a briefdescription of IBM Streaming Engine as well as its features ispresented.Index Terms—Collaborative Computing, Video Conferencing,Video Archiving, Video StreamingI. I NTRODUCTIONOMPUTING activities, including program sharing, document sharing and 24x7 data analysis operations, havebecome a central feature of modern engineering and researchefforts. Engaging in informal interactions and sharing documents and data has proved to be an important part of effectivecollaboration. There is a need for collaborative tools thatsupport connecting people so that they feel like they areworking together on a daily, hourly, or even continuous basis.Messaging systems and presence awareness mechanisms canhelp make collaborations successful as they provide basicconnectivity in a shared context that allows collaborators tohold spontaneous meetings.IBM Lotus Sametime[1] is a middleware platform thatenables unified communications and collaboration for enterprises. Lotus Sametime provides presence information, enterprise instant messaging, web conferencing, community collaboration, and telephony capabilities and integration. Sametimeoffers integration with Microsoft products such as MicrosoftOffice[2] and Microsoft Outlook[3]. Lotus Real-Time Collaboration Gateway allows exchange of messages betweenSametime and other Instant Messaging applications such asYahoo Messenger[4], AOL Instant Messenger[5] and GoogleTalk[6]. Sametime also provide a suite of tools and API’sthat enable the development of new applications as well asintegration of Sametime features with other applications.Lotus Sametime 8.5 is the latest member of the LotusSametime family. It introduces new features such as onlinemeetings as well as enhanced telephony capabilities. UsingCthe Sametime Meetings Participants can collaborate and interact remotely. With access available both from web basedclient and rich client, it can deliver more effective onlinemeetings. One of the important features within Meetings isthe Recording, where the participants can record the meetingsfor later playback. Lotus Sametime Meetings 8.5 leveragesthe capabilities of IBM Streaming Engine[8] for its recordingfunctionality. Streaming Engine is a modular application whichis capable of handling streaming functions.This paper is organised as follows: Chapter 2 mentionsabout Streaming Engine and its high level architecture. InChapter 3 a brief discussion on Lotus Sametime Meetingsfeature is presented. Meeting Recordings feature is mentionedin Chapter 4. In Chapter 5, a partner project, Agora[19] is discussed. This paper is concluded with Chapter 6, Conclusionsand Future Directions.II. IBM S TREAMING E NGINEIn recent years multimedia has become pervasive on personal computers. The most popular multimedia application,that almost all computer users are familiar with, is the socalled player. The best-known players include Flash Player[9],Windows Media Player[10], and QuickTime Player[11]. Theseplayers are typically capable of playing local multimedia files,but they are also able to connect over the network to aserver in order to receive a streamed multimedia presentation.Apart from Video-On-Demand (VOD), i.e. serving stored files,these multimedia servers often can also capture a live sourcesuch as from a camera and stream this to connected players.Multimedia servers can be cascaded to realize scalability withrespect to the number of users that can be connected to a livemultimedia presentation.These and other conceivable multimedia applications aretypically dedicated programs that may share some of the underlying software. For example, a server that can be cascadedcould use the same software for network input as a player. Thismodularity of the software has great advantages with respectto manageability of maintenance of the software.IBM Streaming Engine[8] is a multimedia streaming serverable to stream audio, video, images and text. It can serveboth live and stored content. The streaming protocols arestandards-based, such as the IETF[12] RTSP[13] protocol,475

476PROCEEDINGS OF THE IMCSIT. VOLUME 4, 2009InputProcessingFig. 1.General structure of a streaming application.RenderingCaptureFile ReaderNetworkInputOutputProcessingFile WriterNetworkOutputFig. 2. A general streaming application with further specification of theinputs and outputs.Fig. 3. Lotus Sametime Meeting workspace. A document is shared amongthe participants.and the streamed content itself also adheres to standardssuch as MPEG-4 video and MP3 audio. In stored applications the server streams the content from a standardQuickTime/MPEG-4 file that does not require so-called hinttracks.The basic architecture of Streaming Engine is simple andit is similar to a typical streaming application. A streamingapplication, be it live capture, VOD serving, playback, orother, can all have the same general structure, as shown inFigure 1. A player that is playing back from a local filehas a local file reader as input, decoders as the processingunits, and a renderer as output. Likewise, an IP camera has acaptured signal for input, encoding for processing, while theoutput is a network output that for example uses the IETFprotocols RTP/SDP/RTSP (see [15], [14] and [13]). Sincethis generalization can be fitted onto any existing multimediastreaming application, Streaming Engine adapts to this basicarchitecture.Within the input module of Streaming Engine, three types ofinput are specified: Capture, Local File Reading and NetworkInput. Likewise, the output module also is subdivided intothree types: Rendering, File Writing and Network Output. Thisis shown in Figure 2.The connection between inputs and outputs is typicallyrun via one or more processing elements. The most commonare encoders and decoders where, for example, decoders areusually needed to connect a network input to a renderingoutput. Examples of other processing elements are: videodown-sampling, speech-to-text conversion or face recognition.By defining a certain data format between inputs, processingand outputs, it is possible to create new and/or custom inputs,processing elements and outputs. This makes Streaming Engine architecture extensible and configurable.III. L OTUS S AMETIME M EETINGSMeetings is a new feature introduced with the Lotus Sametime 8.5 release. This feature has been introduced to improvethe collaboration among the participants. A screenshot ofLotus Sametime 8.5 Meetings is shown in Figure 3. Thisfeature essentially helps the users participate in meetings andcollaborate. It is based on creation of virtual rooms, calledmeeting rooms, where the participants can collaborativelyshare documents, applications and discuss using the messagingsystem and audio. As depicted in Figure 3, the Meetingsworkspace has been divided into several sections for presenting and sharing meeting artifacts. Apart from uploading andsharing documents and applications, there are more advancedfeatures available, like defining and sending polls, sharingURL’s, saving or sending emails containing automaticallygenerated transcripts from the Discussions and Minutes area.Annotations tools like highlighter (color configurable) andlaser pointer are available to annotate and highlight the presenting documents. The Sametime Meetings is available formultiple OS platforms like Windows, Linux and Mac as it hasbeen developed in Java.IV. M EETING R ECORDINGSThe architectural specification of the recording functionalityis presented in Figure 4. This feature leverages with StreamingEngine as well as with other Sametime Meeting components.Input entry into this component is Sametime Meetings 8.5Rich Client. As specified in Chapter 2, Streaming Enginearchitecture consists of three components namely Input, Processing Unit and Output. These components are developedin C/C and provide an encapsulated JNI layer, throughwhich a Java application can interact with Streaming Engine.Interaction between Sametime Meeting 8.5 components andStreaming Engine is shown if Figure 4. The Projector component of the Meetings module is responsible for rendering theshared application and document in the client window. TheNotification Controller keeps track of the changes relate tothe state of the data that captures. For example, if sound datais detected as a result of performing voice conversation, the

SUNIL JOHN ET. AL: RECORDING/ARCHIVING IN IBM LOTUS SAMETIMESametime Meetings 8.5VideoAudioStreaming LayerRecordingControllerG.711MPEG 4FileWriterDocshareFig. 4.477MotionJPEGAppshareInitialise EngineHigher Level depiction of Meeting Recordings architecture.Fig. 6.Fig. 5.Highlighter option to highlight the presentation.Url sharing among the meeting participants.Notification Controller trigger events that needs to be handledfurther by the Recording Controller.The GIPS Engine [7] is a platform-specific binary for thecontrol and rendering of audio/video data on client workstations. GIPS is responsible for interfacing with hardware andproviding an abstract API for managing media streams.The recorded Meetings movie shows documents and applications shared by the participants during the meeting andincludes the sound generated on clients’ computers by microphones. The recording is in MPEG-4 format and consists oftwo tracks: one for the image and the other for the sound.The role of the Streaming Engine is to encode the streams ofbytes corresponding to application/document share images aswell as audio, and also to synchronize these tracks by usingan unique time reference.IBM Lotus Sametime [1] allows multiple remote parties toshare documents and applications while conferencing usingaudio and video (Figures 5, 6 and 7). The Streaming Enginehas been integrated into the Sametime product to record suchmeetings. The inputs to the Streaming Engine comprise of theaudio and video streams plus screen captures of the sharedapplications or documents. The audio and video are recordedFig. 7. Recording of a meeting. A message box to indicate the location ofthe saved movie is in their respective encoding formats (currently H.264video and G.711 audio). The application/document windowis input into the Streaming Engine in uncompressed format,where it is encoded using an H.264 video encoder. Theapplication/document images may include mouse cursor andother dynamically visual items requiring a capture frequencyin the order of a few frames per second. Therefore, using avideo encoder like H.264 greatly reduces the file size overusing image encoders like JPEG, while maintaining a goodvisual quality. The resulting recording is in the ISO BaseFile Format [16], which, depending on the content, is alsoknown as QuickTime mov file, MPEG-4 file or Flash f4vfile. The current Sametime collaboration meeting recordingscan be played back by various standard players such as theQuickTime player[17] and the VLC media player[18].Figures 8 and 9 show the comparison between video encoders H.264 and Motion JPEG when used for recording. The

478PROCEEDINGS OF THE IMCSIT. VOLUME 4, 2009the timeline. The web-based system enables users to uploadmeeting video or audio, automatically create transcriptions andattach metadata such as tags and comments along the timelineidentifying and elaborating points and segments of interest.The video file becomes thus searchable, in the sense that a usercan directly go to the clip of interest in the movie (based onannotations) rather than being forced to watch the entire moviein order to be able to extract the information he is interestedin. The reuse of segments of the movie is also possible. Theadvantages that we envision from the use of Agora systemwithin Meetings are: the possibility of persisting the recordingin a centralized repository making it easy for later sharing withother users, adding knowledge to the movie (by the mean ofvarious metadata), making the movie files searchable basedon annotations and, not less important, allowing automaticallytranscription of the sound included in the video recording filein text format. These will make the recording of meetings morepowerful in the context of collaboration.Fig. 8.Recording of a document share with annotations. Two videoencoders—H.264 AVC and Motion JPEG—have been tested. As can be seenfrom the graph, H.264 produces smaller files.VI. C ONCLUSIONIn this paper Collaborative Meetings experience using IBMLotus Sametime as well as its recording capabilities is discussed. Sametime allows multiple remote parties to share documents and applications while conferencing using audio andvideo. IBM Streaming Engine is the backbone for providingthe recording functionality to the Lotus Sametime. StreamingEngine supports multiple video encoders. Selecting an optimalencoder increases the recording performance. This paper alsoanalyses the performance figures when choosing the videoencoders. The recorded movie file is generally in MPEG-4format, which can be playable using Apple Quicktime Player.The future directions include the integration of the Lotus Sametime environment with Agora[19] which providessearch and collaboration around recorded meeting artifacts.A Streaming Engine based custom media player should alsobe considered, which would allow avoiding dependency onother players. The other enhancement that can be developedis a Streaming Engine based File Server, where the recordedmeetings files can be posted.Fig. 9. Recording of Application and Document share. H.264 proved betterperformance.ACKNOWLEDGMENTThe support of IBM Dublin Software Laboratory and IBMLotus Sametime Management teams are hereby acknowledged.experiments have been performed on IBM IntelliStation Z Proworkstation with 3.0 GHz Dual-Core Intel Xeon Processorrunning on Redhat Enterprise Linux 5.2. The first experimentis performed on document share with arbitrary annotations.The second experiment is a recording of simultaneous application and document share.V. AGORA I NTEGRATIONDeveloped by the IBM Watson Research Center, Agora [19]is a collaborative media service whose prime goal is to drawupon the vast collective power of the crowd and skill sets foundwithin the community, to surface ideas and information buriedin meetings and expose this new dimension to viewers alongA BOUTTHEAUTHORSSunil John: Sunil John is Technical Leader for the LotusSametime Meetings feature within IBM Dublin Software Laboratory. He received his PhD and MSc in Computer Sciencefrom University College Cork, Ireland and Bachelors degreein Computer Science from National Institute of Technology,Kerala, India. Dr. John joined IBM in 2006 and has beenworking in a number of areas including Service OrientedArchitecture, High Performance Computing and CollaborativeComputing.Sorin Ciolofan: Sorin N. Ciolofan is a Software Developerin the IBM Dublin Software Laboratory, Sametime Core

SUNIL JOHN ET. AL: RECORDING/ARCHIVING IN IBM LOTUS SAMETIMEServices team. He received in 2004 his MSc in SoftwareEngineering from Politehnica University of Bucharest, Facultyof Automation Control and Computer Science. Prior joiningIBM he has worked as a Software Engineer and R&D engineerin Java web applications development and Semantic Web.Cheryl Anne Harding: Cheryl Anne Harding is a SoftwareDeveloper in IBM Dublin Software Laboratory, SametimeCore Services team. She received her BSc in ComputerScience from University College Dublin, Ireland. Prior joiningLotus Sametime team, she also worked as Extreme BlueStudent with IBM Dublin Software Lab.Peter Westerink: Peter Westerink is a research staff member at the IBM T. J. Watson Research center in Hawthorne,New York. He received his Ph.D. in 1989 in electrical engineering from the Delft University of Technology, the Netherlands, and joined IBM in 1995. Since then, Dr. Westerink hasbeen working in the areas of video compression, multimediastreaming, standardization organizations (MPEG and ISMA),and Web services.R EFERENCES[1] IBM Lotus Sametime, ][7][8]Microsoft Office, Outlook, Messenger, Instant Messenger, Talk, IP Solutions,[9] Adobe Flash Player,[10] Microsoft Windows Media,[11] Apple QuickTime,[12] The Internet Engineering Task Force (IETF),[13] H. Schulzrinne, A. Rao, R. Lamphier, Real Time Streaming Protocol(RTSP), RFC 2326, April 1998.[14] M. Handley, V. Jacobson, SDP: Session Description Protocol, RFC2327, April 1998.[15] H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson, RTP: Atransport protocol for real-time applications, RFC 1889, Jan 1996.[16] ISO/IEC 14496-12:2008, Information technology – Coding of audiovisual objects – Part 12: ISO base media file format,[17] Apple QuickTime,[18] VLC media player, the cross-platform media player and streamingserver,[19] M. Topkara, B. Rogowitz, S. Wood and J. Boston, Collaborative Editingof Micro-tags, CHI Work-in-Progress (CHI-09), Boston, MA, April 2009

Sametime and other Instant Messaging applications such as Yahoo Messenger[4], AOL Instant Messenger[5] and Google Talk[6]. Sametime also provide a suite of tools and API’s that enable the development of new applications as well as integration of Sametime features with other applications. Lotus Sametime