Presentation is loading. Please wait.

Presentation is loading. Please wait.

Access Grid Workshop – APAC ‘05 Node Services Development Thomas D. Uram Argonne National Laboratory.

Similar presentations


Presentation on theme: "Access Grid Workshop – APAC ‘05 Node Services Development Thomas D. Uram Argonne National Laboratory."— Presentation transcript:

1 Access Grid Workshop – APAC ‘05 Node Services Development Thomas D. Uram turam@mcs.anl.gov Argonne National Laboratory

2 Access Grid Workshop – APAC ‘05 Access Grid Architecture VenueServer Venue Client Venue Client Node 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

3 Access Grid Workshop – APAC ‘05 Node Node Architecture Node Service Node Service Manager Service Manager AGService 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

4 Access Grid Workshop – APAC ‘05 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

5 Access Grid Workshop – APAC ‘05 Operation Resources –Resources represent something the machine can make available (e.g. video capture device) –Resources are currently defined with only type and role attributes (e.g. type==video, role==producer) –When a service is added, it may have a resource assigned to it

6 Access Grid Workshop – APAC ‘05 Operation Service Capabilities –The capabilities of the node are collected and passed to the venue –Capabilities are currently defined with only type and role attributes (e.g. type==video, role==producer) Node Venue Client Venue Capabilities(aggregatedfrom services) Client Profile(incl. Capabilities)

7 Access Grid Workshop – APAC ‘05 Operation 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 Node Venue Client Venue Venue State(incl. StreamDescs) Capabilities(aggregatedfrom services) Client Profile(incl. Capabilities)

8 Access Grid Workshop – APAC ‘05 Operation 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) Node Venue Client Venue Venue State(incl. StreamDescs) StreamDescriptions Capabilities(aggregatedfrom services) Client Profile(incl. Capabilities) Update AGServices

9 Access Grid Workshop – APAC ‘05 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

10 Access Grid Workshop – APAC ‘05 Configuration The Node Management user interface includes code to represent parameters for editing TextParameter OptionSetParameter RangeParameter } }

11 Access Grid Workshop – APAC ‘05 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

12 Access Grid Workshop – APAC ‘05 Other Logging –Services derived from AGService automatically create a logfile in AccessGrid/Logs, based on Service class name

13 Access Grid Workshop – APAC ‘05 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.py (similar to shared applications): –agpm.py -z ServicePackage.zip Service packages are extracted to a temporary directory, subject to their version

14 Access Grid Workshop – APAC ‘05 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

15 Access Grid Workshop – APAC ‘05 AGService API

16 Access Grid Workshop – APAC ‘05 AGService API AGServices are typically exposed using the AGServiceIW interface, but can specialize it to their needs

17 Access Grid Workshop – APAC ‘05 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

18 Access Grid Workshop – APAC ‘05 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

19 Access Grid Workshop – APAC ‘05 Exercise: ClientAnnouncerService Service to announce presence Sends user’s name over a multicast group Watch for your name to appear on the ClientViewer

20 Access Grid Workshop – APAC ‘05 Exercise: ClientAnnouncerService Retrieve Venue URL from VenueClient Send Venue URL with name Use fixed multicast address, to share presence data across Venues


Download ppt "Access Grid Workshop – APAC ‘05 Node Services Development Thomas D. Uram Argonne National Laboratory."

Similar presentations


Ads by Google