Your SlideShare is downloading. ×
0
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
An Analysis of Reliable Delivery Specifications for Web Services
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

An Analysis of Reliable Delivery Specifications for Web Services

270

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
270
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Each audio package is independent of others. Therefore, each package in the audio stream takes almost the same amount of time to route. This results in very small amount of jitter. In addition, the latency values for the first participant is almost always the same independent of the number of participants in the meeting.
  • Since there are multiple video packages in a frame, upcoming packages wait the earlier ones in the frame. Therefore, even the latency values of the first participant increases as the number of participants increase in the meeting. Similarly, the jitter increases as the number of participants increase in the meeting. One broker can support at most 400 participants. Although the broker is saturated when there are 1000 participants.
  • Each meeting has 20 participants and one transmitter. Results are gathered from 10 meetings when there are more than 10 meetings. Average latency and jitter is much smaller than single video meeting test results. There is no late arriving packages until 700 participants. Therefore, 35 meetings with 700 participants can be supported by one broker.
  • There is one video meeting. There are equal number of participants in each broker. We gather results from first and last user from each broker.
  • Transcript

    • 1. Scalable Service Oriented Architecture for Audio/Video Conferencing By Ahmet Uyar Wednesday, March 23, 2005
    • 2. Outline Research Issues Criteria for videoconferencing systems Overview of current videoconferencing systems Overview of GlobalMMCS architecture NaradaBrokering overview and additions Performance tests for audio/video delivery Service oriented architecture for videoconferencing Conclusion
    • 3. Research Issues We investigate the question of how to develop scalable and universally accessible videoconferencing systems over Internet. We propose using publish/subscribe event broker systems for the distribution of real-time audio and video streams in videoconferencing sessions and investigate the issues pertaining to scalability, performance, data representation, meeting management and media processing services. Since real-time audio/video delivery requires low latency and high bandwidth, we investigate the performance and the scalability of this software based messaging middleware extensively. We propose service oriented architecture for videoconferencing. We identify the tasks performed in videoconferencing sessions and provide independently scalable components for each task. We identified three main tasks in videoconferencing sessions: audio/video distribution media processing meeting management.
    • 4. Criteria for Videoconferencing Systems We identified the following criteria for videoconferencing systems: Scalability Security Traversing through firewalls, proxies and NAT Supporting heterogeneous clients Easy to develop, maintain and use Support for data conferencing
    • 5. Videoconferencing Standards and Systems Multicast based systems AccessGrid H.323 based systems Polycom CUseeMe VRVS
    • 6. Multicast Based Systems AccessGrid is the most commonly used room based videoconferencing system for group communications. Scales well. Difficult to provide security services. No authority to manage multicast IP numbers. Vulnerable to denial-of-service attacks. No support for going through firewalls and proxies. Low end users can not join meetings. No media processing is provided. Easy to use and understand. Third party data conferencing applications can be used.
    • 7. H.323 Based Systems There are many companies that provide H.323 based videoconferencing systems. Polycom, FVC, etc. Does not scale well. H.235 defines the security mechanisms but most H.323 based systems do not implement it yet. H.323 based systems are not firewall friendly. It requires almost all ports to be open. Limited number of heterogeneous clients can be supported. Not very easy to understand and develop services. T.120 define data conferencing: whiteboard sharing, file transfer and application sharing.
    • 8. H.323 Centralized H.323 Decentralized Multipoint Conferencing Multipoint Conferencing F E Multicast or unicast bus Audio Video Audio A MCU D Video A B C D E F MC B C H.323 MCU cascading architecture
    • 9. VRVS (Virtual Rooms Videoconferencing System) Uses software reflectors to distribute audio/video streams. Not open source. No details available. Can go through firewalls, NATs and proxies.
    • 10. GlobalMMCS Overview Videoconferencing Tasks: Audio/Video Distribution Media processing Meeting management Media Processing Unit Meeting Management Unit NaradaBrokering Media Processors Messaging Network user user user user user
    • 11. Evaluation of GlobalMMCS Scalability: Provides scalability by separating media processing from media delivery. Security: NB provides all security services. It also takes precautions against denial of service and replay attacks. Traversing through firewalls, proxies and NAT Supporting heterogeneous clients: Since we provide a scalable media processing framework and many transport protocols, we can support a diverse set of end points. Easy to develop, maintain and use Support for data conferencing
    • 12. Media Distribution Middleware (NaradaBrokering) Requirements for Media Delivery High Bandwidth Low latency Tolerate Package Loss NaradaBrokering NB organizes brokers in a hierarchical cluster-based architecture. NB supports dynamic broker and link additions/removals. Messages are routed only to those brokers that have at least one subscription NB has a flexible transport mechanism NB is JMS compliant and supports reliable message delivery. NB provides performance monitoring service
    • 13. NaradaBrokering broker organization r SC-8 d p SC-7 o s 5 SC-2 4c q 6 SSC-C e a SC-1 t b SSC-A SC-9 u f SC-3 g z SC-11 SSC-D y k w i SC-5 v h l SC-10 SC-4 x j SSC-B m SC-6 n
    • 14. Incorporating Support for Audio/Video Delivery in NaradaBrokering Adding support for an unreliable transport protocol, UDP Implementing a distributed topic number generation mechanism Designing a Unique ID Generation Mechanism Designing a new compact event Adding support for legacy RTP clients Some improvements in the routing algorithm
    • 15. Implementing Distributed Topic Number Generation Mechanism The requirements for topic number generation: spatial independence of a topic generator temporal independence of a topic generator Acceptable size One topic number generator runs in every broker 20 bytes topic generator id guarantees spatial independence 220 = 1,048,576 topic number generators 44 bytes timestamp provides temporal independence 244=17592186044416 distinct timestamp values 557 years with one millisecond resolution. UUID solves a similar problem with 16 bytes This mechanism can also be used to generate unique ids. Topic Number Generator ID Timestamp 20 bits 44 bits
    • 16. Designing a New Event In publish/subscribe messaging systems, messages tend to have many headers. A message in JMS API has at least 10 headers. These headers take around 200 bytes when they are serialized to transfer over the network. A ULAW audio package for 20 ms has a size of 172 bytes and entails 64 kbps network bandwidth. Padding an extra 200 bytes of header to each audio package results in the bandwidth requirement of 148 kbps. It is also more costly to serialize/de-serialize more headers. RTPEvent has four headers and 14 bytes long. Event and Media headers are 1 byte each Topic Name is 8 bytes Source info is 4 bytes. Used to route messages Eliminates echo problem intelligenty in system Event Media Topic Name Source Info RTP Payload Header Header Identifies Event as RTP Payload RTPEvent RTP Header Audio or Video Data Identifies the media (12 bytes) type of the Event
    • 17. Supporting Legacy RTP Clients RTPLinks receive raw RTP packages over UDP or Multicast from legacy systems, wrap them in RTPEvents and propagate them through the broker node. It also receives RTPEvents from the broker node and sent them as raw RTP packages to clients. Each RTPLink starts two sockets: one for RTP and the other for RTCP. Similarly, it subscribes to two topics: one for RTP and the other for RTCP. Some RTP sessions might have more than one media stream, in that case, each stream might be published to a different topic. RTPLinks can either be managed by statically of dynamically.
    • 18. Performance Tests of NaradaBrokering The Characteristics of Audio and Video Streams Quality Assessment of Media Delivery Performance Tests for One Broker Performance Tests for Distributed Brokers Wide-Area Media Delivery Tests
    • 19. Characteristics of Audio and Video Streams Audio streams are composed of fixed size packages with regular intervals. We chose 64 kbps ULAW audio stream to be used in the tests: One audio package is sent every 30ms. Each audio package is 252 bytes. There are 4100 packages in total, during 2 min. Video codecs also encode frames periodically. However, each frame may have multiple video packages. Full picture update frames have much more packages. We chose H.263 video format, avrg. bandwidth 280kbps, for 2 min: 15 frames are encoded every second. One frame every 66ms. 1800 frames and 5610 packages in total. On avrg. 3.1 packages per frame. One full picture update every 60 frames or 4 seconds. 20 16 number of packages 12 8 4 0 0 200 400 600 800 1000 1200 1400 1600 1800 video frame number
    • 20. Quality Assessment of Media Delivery There are three important factors: latency, jitter and package loss ITU recommends that the mouth-to-ear latency of audio should be Less than 400ms for acceptable quality Less than 300ms for good quality Less than 150ms for excellent quality. The total latency is the combination of: Processing at sender and receiver Transmission latency Routing latency by the broker network We limit the routing latency to 100ms at most. The packages that take more than 100ms are labeled as late arrivals. We limit the jitter caused by routing to 10ms We limit the loss rate to 1.0%
    • 21. Performance Tests for One Broker Single Meeting Tests Single audio meeting tests Single video meeting tests Audio + Video meeting tests Multiple Meeting Tests Multiple audio meeting tests Multiple video meeting tests Multiple Audio + Video meeting tests
    • 22. Single Meeting Tests One transmitter and 12 measuring receivers. Other receivers are passive. Tests are conducted in a Linux cluster with 8 identical machines. These machines had Double Intel Xeon 2.4GHz CPUs, 2GB of memory with Linux 2.4.22 kernel. All programs are written in Java. There is gigabit connection among the cluster nodes. Passive Machine 3 Receivers Audio/Video Transmitters Passive NB Broker Machine 4 Receivers Measuring Receivers Machine 1 Machine 2 Passive Machine 8 Receivers
    • 23. Single Audio Meeting Tests I Number first user Of L(1) L(N) L(av) J(av) LA(av) last user Clients (ms) (ms) (ms) (ms) (%) Average 40 12 0.5 0.7 0.6 0.18 0 35 100 0.5 2.3 1.4 0.15 0 30 Average latency in ms 200 0.5 4.1 2.3 0.18 0 25 400 0.5 7.9 4.2 0.21 0 20 800 0.5 15.5 8 0.18 0 15 10 1200 0.5 22.6 11.6 0.22 0 5 1400 0.5 26.5 13.5 0.26 0 0 0 500 1000 1500 2000 1500 3.3 32.3 17.8 0.44 0.25 number of participants 1600 2260 2290 2275 1.2 100
    • 24. Single Audio Meeting Tests II The latency of first user is constant and does not depend on the number of users in a meeting Each audio package is independent of others. The routing of each package is completed before the next one arrives. All audio packages in the audio stream takes almost the same amount of time to arrive to a client. The broker saturates when the latency of the last user is more than 30ms. 1500 users can be supported in an audio meeting Audio Package Latencies for the Last User in Single Audio Meeting w ith 800 Participants 40 35 30 Latency in ms 25 20 15 10 5 0 0 500 1000 1500 2000 2500 3000 3500 4000 Package Num ber
    • 25. Broker saturation in single audio meeting Latency values for the middle user in single audio meeting with 1600 participants. 5000 4000 Latency in ms 3000 2000 1000 0 0 1000 2000 3000 4000 Package Number
    • 26. Single Video Meeting Tests I Number Of L(1) L(N) L(av) J(av) LA(N) first Clients (ms) (ms) (ms) (ms) (%) last average 12 1 1.3 1.2 0.44 0 120 100 3.1 5 4 2 0 100 200 6.3 10.2 8.3 4.7 0 Average Latency in ms 80 300 10.2 16.2 13.2 7.8 0 60 400 13.4 21.2 17.3 10.1 0.75 40 500 18.2 28.5 23.4 13.2 3.0 20 600 22.6 34.5 28.6 15.5 5.1 700 29.8 43.7 36.8 18.1 8.4 0 0 500 1000 1500 800 45.6 61.6 53.6 21.3 17.6 number of participant 900 93.7 111.7 102.7 23.8 40.8 1000 1599 1619 1609 27.8 99
    • 27. Single Video Meeting Tests II Latency values for the last receiver in single video meeting with 400 participants. Peaks correspond to full picture update frames. One broker can support at most 400 participants because of late arriving packages. Although the broker is saturated when there are 1000 participants. The main reason for the late arriving packages are the full picture updates. 140 120 100 Latency in ms 80 60 40 20 0 0 1000 2000 3000 4000 5000 6000 Package Number
    • 28. Audio and Video Combined Meeting Tests Each one affects the other. Our initial tests showed that the impact of video meeting on the performance of an audio meeting is significant. Therefore, we gave priority to audio routing at the broker. There are two queues at the broker: audio and non-audio. If an audio package arrives, it is routed first as long as the routing of the currently routed package is over. When there are 600 participants, there is only 5ms difference. Therefore, the impact of the video meeting is not significant on the performance of the audio meeting 12 Average latency in ms 9 audio + video 6 audio only 3 0 0 200 400 600 800 1000 number of participants
    • 29. Comparison of single video meetings and audio + video meetings This test shows that the impact of an audio meeting on the performance of a video meeting is not significant. In audio and video combined meetings, the broker supports almost the same number of participants as in the case of single video meetings. The main reason for this is the better utilization of broker resources when there are two concurrent meetings. 60 50 Avrg. latency in ms 40 audio + video 30 video only 20 10 0 0 200 400 600 800 1000 number of clients
    • 30. Multiple Video Meeting Tests # of multi-meeting Total Meet L(av) J(av) single meeting users ings (ms) (ms) LA(av) 120 100 5 2.25 0.68 0 100 Avrg. Latency in ms 200 10 2.74 0.85 0 80 300 15 3.17 0.86 0 60 400 20 4.54 1.1 0 40 500 25 5.94 1.3 0 20 600 30 6.8 1.37 0 0 700 35 10.6 1.52 % 0.7 0 200 400 600 800 1000 800 40 81.1 1.8 % 19 Total Number of Receivers 900 45 2787 3.3 % 98
    • 31. Latency values for each video package when there are 30 meetings with 600 participants. This graph shows that there are no peaks in latency values for full picture update frames as it was the case in the single video meeting case. 40 35 30 latency in ms 25 20 15 10 5 0 0 1000 2000 3000 4000 5000 package number
    • 32. Summary of Single Broker Tests 1500 participants are supported in one audio meeting 400 participants are supported in one video meeting Up to 400 audio participants and 400 video participants are supported in audio + video meetings. 700 participants can be supported in 35 video meetings each having 20 participants 1300 participants can be supported in 65 audio meetings each having 20 participants 20 audio and 20 video meetings can be supported each having 20 participants.
    • 33. Performance Tests for Distributed Brokers We have given priority to inter-broker package delivery over local client deliveries. This lets packages to travel many brokers with very little overhead. It lets the broker network to scale. It also eliminates cases where one overloaded broker severely affects the performance of other brokers. Inter First To Broker Thread 1 Queue Brokers router To Second client Thread 2 local Queue router clients
    • 34. Test results with single and double queuing First Mid Last User User User Avr. (ms) (ms) (ms) (ms) Machine 1 Broker 1 Measuring Video Receivers Transmitter 400 users 15.8 20.2 24.5 20.2 Broker 2 Machine 3 Machine 2 (6 users) 16.1 16.1 16.2 16.1 Broker 2 Broker 1 First Mid Last User User User Avr. Video (ms) (ms) (ms) (ms) Receivers Machine 4 Broker 1 400 users 16.1 20.5 24.9 20.5 Broker 2 (6 users) 1.4 1.5 1.6 1.5
    • 35. Single Video Meeting Tests for Distributed Brokers There are equal number of participants in each broker. We gather results from first and last user from each broker. Linux Cluster 2 Linux Cluster 1 Machine 1 Measuring Video Receivers Transmitter Broker 4 Broker 3 Broker 2 Broker 1 Video Video Video Video Receivers Receivers Receivers Receivers
    • 36. Latencies from 4 brokers Broker1 and Broker2 have very similar latency values. Broker3 and Broker4 have similar and slightly better latency values. Going through multiple brokers does not introduce considerable overhead. Scalability of the system can be increased almost linearly by adding new brokers. 180 150 Avrg. Latency in ms 120 broker1 broker2 90 broker3 60 broker4 30 0 0 200 400 600 800 1000 Number of receivers
    • 37. Multiple Meeting Tests for Distributed Brokers The same setting as the single video meeting tests. However, all broker were running at cluster 2. The behavior of the broker network is more complex when there are multiple concurrent meetings compared to having a single meeting. Having multiple meetings provide both opportunities and challenges. Conducting multiple concurrent meetings on the broker network can increase both the quality of the service provided and the number of supported users as long as the size of these meetings and the distribution of clients among brokers are managed appropriately. The best broker utilization is achieved when there are multiple streams coming to a broker and each incoming stream is delivered to many receivers. If all brokers are utilized fully in this fashion, multi broker network provides better services to higher number of participants.
    • 38. Multiple Video Meeting Tests 4 brokers can support 48 meetings with 1920 users in total with excellent quality. This number is higher than the single video meeting tests in which four brokers supported up to 1600 users. When we repeated the same test with meeting size 20, 1400 participants can be supported. Number of Total Broker1 Broker2 Broker3 Broker4 Meetings users (ms) (ms) (ms) (ms) 40 1600 3.34 6.93 8.43 8.37 Latency values 48 1920 3.93 8.46 14.62 10.59 and loss rates 60 2400 9.04 170.04 89.97 25.83 for meeting Number of Total Broker1 Broker2 Broker3 Broker3 size 40 Meetings users (%) (%) (%) (%) 40 1600 0.00 0.00 0.00 0.00 48 1920 0.12 0.29 0.50 0.50 60 2400 0.16 1.30 2.51 2.82
    • 39. Wide-Area Media Delivery Tests We tested with five distant sites: We tested two cases: Syracuse, NY, single broker at Indiana Tallahassee, Florida, Cardiff, UK one broker at each site Two sites at Bloomington, IN
    • 40. Summary of Wide-Area Tests Running brokers at distributed locations has many benefits: Saves bandwidth, and eliminates bandwidth limitations. Transferring smaller number of streams yields better transmission services with smaller latency, jitter and loss rates. Load is distributed to many brokers, more users can be served with better quality services. sender-to-receiver transmission latency can be reduced considerably by running brokers at geographically distant locations. The networks that we used provided excellent services with very small loss rates, latency and jitter values. The network connections need to be checked for high quality. Cardiff site was not even able to support 10 video streams (3Mbps), way below its full capacity (10Mbps).
    • 41. Meeting Management Architecture and Services There are three main components. Meeting Management Unit starts/ends meetings, handles user joins and leaves. Media Processing Unit provides; audio mixing, video mixing and image grabbing. A unified framework is provided to distribute service providers and to manage the interactions among system components. Meeting Management Unit NaradaBrokering Media and Media Processing Unit Content Distribution Network Meeting MediaServers Schedulers RTP Link Manager Meeting Managers Audio Mixer RLM Broker 1 RLM Broker 2 Servers Audio Session Video Mixer RLM Broker N Servers Image Grabber Video Session Servers MediaServer Manager user user user user
    • 42. Messaging Among System Components Although some messages are sent to a group of destinations, many messages are destined to one target. Therefore, an efficient message exchange mechanism should be designed. We use reliable JMS messages to provide communications among various components in the system. This simplifies building a scalable solution, since messages can be delivered to multiple destinations without explicit knowledge of the publisher. Messaging Semantics Request/Response messaging Group messaging Event based messaging
    • 43. Topic Naming Conventions Two types of topics are needed; group topics and unique component topics All topic names start with a common root, GlobalMMCS. Group topic names are constructed by adding the component name to the root GlobalMMCS/AudioSession GlobalMMCS/AudioMixerServer Unique component topic names are constructed by adding the unique ids: GlobalMMCS/AudioSession/<sessionID> GlobalMMCS/AudioMixerServer/<serverID> Sometimes a component communicates with many different components; in that case, there is one more layer to distinguish these communication channels GlobalMMCS/AudioSession/<sessionID>/AudioMixerServer GlobalMMCS/AudioSession/<sessionID>/RtpLinkManager
    • 44. Service Distribution Framework A unified framework to distribute many types of service providers Addressing: Each service provider and consumer is identified by a unique topic name. Service Discovery: Dynamic discovery mechanism. Inquiry & ServiceDescription messages. Service Selection: the consumer selects the best service provider. Service Execution: the consumer executes the service by sending an Request message. Consumer 1 Service Provider 1 •Advantages: Consumer 2 Service Provider 2 • Fault tolerant • Scalable Consumer 3 Broker Network Service Provider 3 • Location independent Consumer M Service Provider N
    • 45. Session Management Audio and video sessions are managed separately. AudioSession objects manage audio sessions and VideoSession objects manage video sessions MeetingManager objects act as factories for session objects. They initialize and end them. AudioSession and VideoSession objects provide session management services to participants, such as user joins and leaves. While handling these requests, they usually talk to other system components, such as media processing units and RTP link managers.
    • 46. JMS message paths for an AudioSession GlobalMMCS/AudioMixerServer/<serverID> GlobalMMCS/AudioSession/<sessionID>/RtpEventMonitor GlobalMMCS/AudioSession/<sessionID>/AudioMixerServer Audio Mixer Server GlobalMMCS/AudioSession/<sessionID>/RtpLinkManager GlobalMMCS/RtpLinkManager/<brokerID> Broker Network Audio Session RLM Broker A RTP Link Manager GlobalMMCS/AudioSession/<sessionID>/Participant GlobalMMCS/AudioSession/Participant/<userID> user A
    • 47. Audio Mixing & Performance Tests 6 speakers in each mixer. Two of them were continually talking. One more audio stream constructed with the mixed stream of all speakers. All streams were 64kbps ULAW. The machine: WinXP, 512 MB memory, 2.5 GHz Intel Pentium 4 CPU. This machine can support around 20 audio mixing sessions Multiple Streams Speaker To Multiple Number CPU Stream 1 D R PQ Streams Speaker Of usage Stream 2 S E D R PQ mixers % Quality Audio To listeners 5 12 No loss Mixer E Speaker 1 To Speaker 1 10 24 No loss D R PQ S E To Speaker N 15 34 No loss Speaker N D R PQ S E Negl. D: Decoder S: Subtracter R: Repacketizer 20 46 Loss PQ: Package Queue E: Encoder
    • 48. JMS message paths for a VideoSession GlobalMMCS/VideoSession/<sessionID>/VideoMixerServer GlobalMMCS/VideoMixerServer/<serverID> GlobalMMCS/ImageGrabberServer/<serverID> GlobalMMCS/VideoSession/<sessionID>/RtpEventMonitor Image Grabber GlobalMMCS/VideoSession/<sessionID>/ Server ImageGrabberServer Video Mixer GlobalMMCS/AudioSession/<sessionID>/RtpLinkManager Server GlobalMMCS/RtpLinkManager/<brokerID> Video Session Broker Network RLM Broker A RTP Link Manager GlobalMMCS/VideoSession/<sessionID>/Participant GlobalMMCS/VideoSession/Participant/<userID> user 1
    • 49. Video Mixing & Performance Tests Four video streams are mixed into one video Number of stream. Video CPU Incoming video streams were 150 kbps H.261 Mixers usage % stream. Mixed video stream was H.263 with 18 fps. 1 20 Linux machine with 1 GB memory and 1.8GHz 2 42 Dual Intel Xeon CPU. 3 68 Only 3 video mixers are served. 4 94 Stream 1 Decoder Buffer Resizer Stream 2 Decoder Buffer Resizer Mixed Video video Encoder Stream 3 Mixer Decoder Buffer Resizer Stream 4 Decoder Buffer Resizer
    • 50. Mixed video streams in various media players
    • 51. Image Grabbing & Performance Tests The purpose of image grabbing is to provide users with a meaningful video stream list in a session. Generated images can either be published on topics on the broker network or can be saved to files. An image is saved every 60sec to the disk in JPEG format. The video stream was an H.261 stream with an av. bw of 150 kbps. 50 image grabbers can be supported on this machine. Number CPU The same machine as video mixing test. of IG usage % 10 15 20 35 Video Encoded Stream Image 30 50 Looping Decoder Buffer Thread Resizer Encoder 40 60 50 70
    • 52. Media Processing Service Distribution MediaServers act as factories for service providers. They start/stop/advertise them. Each MediaServer is independent of others. New ones can be added dynamically . Service providers can either be started from command line when starting the service container, or they can be started by using the MediaServerManager. New services are assigned to least loaded media processing units. MediaServer 2 MediaServer Manager 2 SP 1 SP 2 JMS Messages JMS Messages SP N MediaServer 1 SP 1 SP 2 NaradaBrokering MediaServer Broker Network Manager 1 SP N MediaServer K MediaServer Manager M SP 1 SP 2 SP: ServiceProvider SP N
    • 53. Conclusion Main Contributions: Proposing a new architecture for scalable videoconferencing that separates media distribution, media delivery and meeting management Investigating the issues related to using publish/subscribe systems for real- time audio/video delivery Analyzing the performance and the scalability of NaradaBrokering broker network for the distribution of real-time audio and video streams in videoconferencing sessions. Implementing a meeting management and media processing service distribution mechanism based on publish/subscribe middleware. Future Works Media processing service distribution algorithms may be developed for large scale deployments Audio/video stream delivery through firewalls need to be investigated More performance tests can be conducted with higher number of brokers
    • 54. Publications Ahmet Uyar, Wenjun Wu, Geoffrey Fox. “Service-Oriented Architecture for a Scalable Videoconferencing System”. Submitted to IEEE International Conference on Pervasive Services 2005 (ICPS'05) 11-14 July 2005, Santorini, Greece. A. Uyar, G. Fox. “Investigating the Performance of Audio/Video Service Architecture I: Single Broker”. To be presented at The International Symposium on Collaborative Technologies and Systems. May 2005, Missouri, USA. A. Uyar, G. Fox. “Investigating the Performance of Audio/Video Service Architecture II: Broker Network.” To be presented at The International Symposium on Collaborative Technologies and Systems. May 2005, Missouri, USA. Ahmet Uyar, Shrideep Pallickara, Geoffrey Fox. “Towards an Architecture for Audio/Video Conferencing in Distributed Brokering Systems”. The proceedings of The 2003 International Conference on Communications in Computing, June 23 - 26, Las Vegas, Nevada, USA.

    ×