node services development n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Node Services Development PowerPoint Presentation
Download Presentation
Node Services Development

Loading in 2 Seconds...

play fullscreen
1 / 19

Node Services Development - PowerPoint PPT Presentation


  • 107 Views
  • Uploaded on

Node Services Development. Thomas D. Uram turam@mcs.anl.gov Argonne National Laboratory. Access Grid Architecture. VenueServer. VenueServer Server component for Venues Venue Virtual representation of a meeting room VenueClient User software for entering a Venue Node

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Node Services Development' - september-vasquez


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
node services development

Node ServicesDevelopment

Thomas D. Uram

turam@mcs.anl.gov

Argonne National Laboratory

access grid architecture
Access Grid Architecture

VenueServer

  • VenueServer
    • Server component for Venues
  • Venue
    • Virtual representation of a meeting room
  • VenueClient
    • User software for entering a Venue
  • Node
    • Aggregation of hardware and software for participating in a meeting

Venue

Venue

Venue

Venue

Client

Node

node architecture
Node Architecture

Node

  • NodeService
    • Aggregates ServiceManagers
    • Manages node configurations
  • ServiceManager
    • Exposes available machine resources
    • Manages AGServices
  • AGService
    • Interface for controlling access to machine resources
    • Exposes service configuration interface

Node

Service

Service

Manager

AGService

overview
Overview
  • Expose machine resources
    • Describe available resources (e.g. video card)
  • Provide configuration layer
    • Describe available configuration parameters (e.g. video quality level)
    • Accept configuration of those parameters
  • Provide service abstraction
    • Services are controlled over SOAP interface, so could be written in any language with an interoperable SOAP implementation
operation
Operation
  • Resources
    • Resources represent something the machine can make available (e.g. video capture device)
    • When a service is added, it may have a resource assigned to it
operation1
Operation

Venue

  • Service Capabilities
    • The capabilities of the node are collected and passed to the venue
    • Capabilities are currently defined with the following attributes:
      • role (e.g. producer, consumer)
      • type (video)
      • codec (h261, dv)
      • rate
      • channels

Capabilities

Venue Client

Capabilities

(aggregated

from services)

Node

operation2
Operation

Venue

StreamDescriptions

  • Capabilities Negotiation
    • The capabilities of the node are collected and passed to the venue
    • The venue allocates a stream (multicast group) for each producer capability of a yet non-existent type
    • The venue returns a stream (multicast group) for each existing consumer capability type
    • The returned streams are passed down to the services

Capabilities

Venue Client

Capabilities

(aggregated

from services)

Node

operation3
Operation

Venue

StreamDescriptions

  • Stream Descriptions
    • The venue returns a stream description (multicast group) for each existing consumer capability type
    • The returned stream descriptions are passed down to the services
    • Service configure for the given streams (typically passing the contained multicast groups to media tools)

Capabilities

Venue Client

StreamDescriptions

Capabilities

(aggregated

from services)

Node

Update AGServices

configuration
Configuration
  • Services may have a set of configurable parameters that control their operation
    • For example: video quality level, audio input gain
  • Configuration parameters are defined in terms of types from AGParameter.py
    • ValueParameter
    • TextParameter
    • OptionSetParameter
    • RangeParameter
  • Basic handling of parameters is performed in AGService
configuration1
Configuration
  • The Node Management user interface includes code to represent parameters for editing

TextParameter

}

OptionSetParameter

}

RangeParameter

configuration2
Configuration
  • Parameter values can be used when the service is started
  • Configuration data is persisted in saved node configuration files
    • ConfigParser format
    • Stored in AccessGrid/nodeConfig
other
Other
  • Logging
    • Services derived from AGService automatically create a logfile in AccessGrid3/Logs, based on Service class name
packaging
Packaging
  • A service is delivered in a service package, a zip-file containing the Python implementation, a service description file, and any supporting implementation files
  • A service description file (.svc) contains information presented to the user before adding the service
  • Service packages are installed using agpm (similar to shared applications):
    • runag3.py agpm3.py -z ServicePackage.zip
  • Service packages are extracted to a temporary directory, subject to their version
packaging1
Packaging
  • Sample service description file

[ServiceDescription]

name = DebugService

description = Example Debug Service

capabilities = Capability1 Capability2 Capability3

executable = DebugService.py

platform = neutral

version = 1.0

[Capability1]

role = consumer

type = audio

[Capability2]

role = consumer

type = video

[Capability3]

role = producer

type = debug

calls from toolkit
Calls from Toolkit
  • On Enter
    • GetCapabilities()
      • Called during aggregation of capabilities from AGServices
    • ConfigureStream(StreamDescription)
      • Called to set the stream the AGService should use
      • Ignores trivial stream changes
  • On Exit
    • Stop()
      • Called to stop the AGService
  • Other
    • Start()
      • Not called explicitly
      • Typically called from ConfigureStream
example debugservice
Example: DebugService
  • Basic service that
    • logs messages in response to various calls to it
    • defines debug parameter which can be set through configuration interface
  • Review log file (DebugService.log) for proper operation
exercise clientannouncerservice
Exercise: ClientAnnouncerService
  • Service to announce presence
  • Sends user’s name over a multicast group
  • Watch for your name to appear on the ClientViewer
exercise clientannouncerservice1
Exercise: ClientAnnouncerService
  • Retrieve Venue URL from VenueClient
  • Send Venue URL with name
  • Use fixed multicast address, to share presence data across Venues