SlideServe
Menu
Préférences
© SlideServe · v2026

Network Services

senwe avatar
28 diapositives · 407 Views · Sep 19, 2014

This guide explores the limitations of the current architecture in Access Grid (AG) environments and proposes an enhanced architecture that facilitates seamless user participation in AG meetings. It details network services, including video selection and stream processing tailored for heterogeneous environments, while addressing user preferences, capabilities, and bandwidth management. Examples such as a video selector and transcoder demonstrate the implementation of these services, alongside exercises for practical application. This comprehensive overview is designed for developers and researchers looking to improve AG service capabilities.

Network Services - slide 1
01 / 28Network Services
1 / 17

Télécharger la présentation

Network Services
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Network Services Susanne Lefvert lefvert@mcs.anl.gov University of Chicago

  2. Outline • Introduction • Limitations of Current Architecture • Enhanced Architecture • Network Services • Example: Debug Service • Exercises

  3. Introduction • Enable users to seamlessly participate in AG meetings. • Middleware • Stream processing Network

  4. Heterogeneous Environment • Devices • VIC, RAT, Quicktime, Realplayer, H.323 clients… • Formats • Different encodings, sample rate … • Network • Available multicast, bandwidth … • Preferences • Surgery: Want high resolution video • Presentation: Want lower resolution video

  5. Class Diagram VenueClient AGNodeService AGServiceManager AGServiceManager AGService AGService AGService AGService

  6. Capability • Role • CONSUMER • PRODUCER • Type • AUDIO • VIDEO • TEXT Not Sufficient

  7. Sequence Diagram Mismatch can not be resolved

  8. Service capability description limited User preferences do not exist No resolution to capability mismatch Limitations of Current Architecture

  9. Schema including: Service capability Device (sample rate, sample size, sample format…) Encoding (name, quality, bit rate, size…) RTP (payload type, profile…) Node capability Available bandwidth, multicast, firewall… User preferences Preferred quality, bandwidth… Enhanced Capabilities

  10. VenueClient User Preferences AGNodeService Node Capability AGServiceManager AGServiceManager AGService AGService AGService AGService Capability Capability Service Capability

  11. Sequence Diagram

  12. Network Service y = Transform(x) x y x y

  13. Matcher 1. Venue Stream Capabilities Node Capabilities Mismatch 2. Stream Capabilities Node Capabilities Network Service Match Match

  14. Network Service • Registers with a venue or a venue server • Includes input and output capabilities • Provides a Transform() method • Has an interface for remote configuration • Emits heartbeats

  15. Example: Video Selector GOAL: Reduce bandwidth EXAMPLE: Connect from home

  16. Example: Video Selector Multicast Multicast Video Selector

  17. Example: Transcoder GOAL: Enable more devices EXAMPLE: H.323 client

  18. Example: Transcoder Linear16 pcmu Multicast Audio Transcoder Multicast

  19. Implementation Details • Add new capabilities (ServiceCapability) to your node services. • Create a network service matching the new capabilities of the node services. • Connect the network service to the venue • Connect your node services to the venue

  20. Network Service Base Class • Initiates the AG environment • Hides SOAP details • Includes logging • Communicates with venues • Includes the Transform() method

  21. Service Capabilities • Describe input and output • Same as node service capabilities • Used during capability negotiation and network service matching

  22. Example: Video Selector class SelectorNetworkService(AGNetworkService): def __init__(self, name): AGNetworkService.__init__(self, name, 'Selector', '1.0') # Create capabilities inconfig = {"Encoding":"H261"} inCap = ServiceCapability(name, 'consumer', 'video', inconfig) outconfig = {"Encoding":"H261", "StreamSelection":"On"} outCap = ServiceCapability(name, 'producer', 'video', outconfig) self.inCapabilities = [inCap.ToXML()] self.outCapabilities = [outCap.ToXML()] # Manage processes self.processManager = ProcessManager() # Start the soap interface self.Start(self) def StopTransform(self, streamList): # Stop video selector self.processManager.TerminateAllProcesses()

  23. Example: Video Selector def Transform(self, streamList): # Start video selector newStreams = [] for s in streamList: cap = s.capability cap.xml = self.outCapabilities[0] # Create new stream description location = MulticastNetworkLocation("224.2.2.2", 8000) ns = StreamDescription("Video Selector Stream", location, cap) newStreams.append(ns) # Create process arguments fromaddr = s.location.host fromport = s.location.port toaddr = ns.location.host toport = ns.location.port executable = os.path.join(os.getcwd(), "Selector.py") options = [executable, fromaddr, fromport, toaddr, toport, 1] # Start process self.processManager.StartProcess(sys.executable, options) return newStreams

  24. Example: Video Selector Consumer Service def __SetCapabilities(self): oldCap1 = Capability( Capability.CONSUMER, "video" ) # Create new capabilities to include in old capability format val = "Off" for c in self.configuration: if c.name == "video selection": val = c.value config = {"StreamSelection": val, "Encoding":"H261"} nsc1 = ServiceCapability('Video Consumer Selector', oldCap1.role, oldCap1.type, config) oldCap1.xml = nsc1.ToXML() self.capabilities = [oldCap1]

  25. Exercises http://www.mcs.anl.gov/fl/research/accessgrid/documentation/tutorial/AGTk_2.4 Exercise 6 – Network Services: • Testing the video selector service • Running a debug network service • Creating a custom SOAP interface for configuration • Creating a client for connecting to the custom SOAP interface

  26. Exercises 1: Video Selector • Install the modified node services with new capabilities. • Enter the venue the video selector is connected to • Switch between video selection on and off

  27. Exercises 2: Debug Service • Install the two modified node serviceswith new service capabilities • Modify the Debug Network Service • Connect the network service to a venue and enter with the two node services to trigger matching.

  28. Exercises 3: SOAP Interface • Add a SOAP interface to the debug service • Create a client that can communicate remotely with the debug network service SOAP interface.