Distributed Account Management Middleware

Distributed Account Management
Middleware
Glenn Bresnahan (PI), Boston University
Steve Quinn (CoPI), NCSA
Aaron Fuegi, Boston University
Chris Pond, NCSA
Michael Shapiro, NCSA
Ester Soriano, NCSA
Objective
Provide mechanisms to allow for the
automated management of resource
allocations, resource access control,
user information, user login accounts,
and usage reporting in a grid
environment spanning multiple
administrative domains
Background

Alliance partnership (PACI)
– NCSA, Boston, Kentucky, New Mexico,
Wisconsin, Maui
NSF PACI Allocation Peer Review
(NRAC and AAB)
 Manage accounts, allocations and
reporting across Alliance resources

Requirements
Compatible with current practices
(e.g. PACI)
 Independent of local account
management system
 Heterogeneous environment
 Multiple administration domains
 Economic model neutral

Strategy

Provide grid services to exchange and
manipulate shared accounting objects
–
–
–
–
–
–
Resource requests
Resources allocations
User information
Project/group information
Access permissions
Usage reports
AMIE Data Representation

XML schema for Accounting Objects
– Machines
– Users
– Accounts
– Allocations
– Usage
AMIE Architecture

Transaction-based exchange mechanism
– Transaction comprised of sequence of packets
(messages) and acknowledgements

Sites send Requests and Notifications
– Site A requests site B to perform an action
– Site B notifies site A of actions taken
• Independently or as the result of a request

Set of objects and states
– Well defined state change sequences


Robust error detection and recovery
Asynchronous or real-time communication
– No transport reliability assumptions

“Glue” modules to interface to site-specific
accounting system
Configuration: Star
Remote
Site
Remote
Site
AMIE
AMIE
Central Account
Data Base
AMIE
Remote
Site
AMIE
Remote
Site
Configuration: Peer to Peer
Site A
AMIE
Site B
Current Implementations

Alliance Partner Sites (Version 1)
 Alliance Grid Testbed (Version 1)
 Teragrid (Version 2 – NMI)
 NEES Grid (Version 2 – NMI)
(implementation in progress)
Transaction Example 1
Account Creation
Local Site
Central Database
request_account_create
acknowledge
notify_account_create
acknowledge
data_account_create
acknowledge
inform_transaction_complete
acknowledge
Transaction Example 2
Modify User Information
Local Site
Central Database
request_user_modify
acknowledge
notify_user_modify
acknowledge
inform_transaction_complete
acknowledge
Transaction Example 3
Usage Reporting
Local Site
Central Database
notify_project_usage
acknowledge
inform_transaction_complete
acknowledge
Transaction States
Four possible states
1. On-hold - Waiting for another event. No
further action should be taken until state
changes.
2. In-progress – processing is underway
3. Completed – processing completed
4. Error – processing failed. More
information is available via the packet
state
Transaction Packet States
Incoming Packets







Construct – Message being assembled
Received – Complete and ready to be
processed
Validate – Waiting for XML validation
Inbox – Waiting to be put into AMIE DB
Done – All processing sucessfully
completed
Error – Awaiting error notification to be
issued
Failed – Completed with failure
Transaction Packet States
Outgoing Packets








Construct – Message being assembled
Validate – Waiting for XML validation
Outbox – Waiting to be transmitted
Sent – Sucessfully sent to remote site
Wait – Waiting for a reply
Done – All processing sucessfully
completed
Error – Awaiting error notification to be
issued
Failed – Completed with failure
AMIE Reference Implementation
Site A
Site B
Account
Account Management
Management
System
System A
A
Account
Account Management
Management
System
System B
B
Account
Account Management
Management
Data
Data Base
Base A
A
Account
Account Management
Management
Data
Data Base
Base B
B
AMIE
AMIE Methods
Methods
AMIE
AMIE Methods
Methods
AMIE
AMIE Data
Data Base
Base
AMIE
AMIE Data
Data Base
Base
Transactions
Transactions
Transactions
Transactions
Current Status
Items Complete
Core AMIE system
 XML Schema
 XML validation
 Method call interface specification
 Transport/processing engine
 State tracking
 Error handling
 Testbed Implementation

Current Status
Reference Implementation
Reference implementation of AMIE
method call interface
 Relational "intermediate DB" schema
(Oracle, Postgres, Sybase support)
to interface AMIE to local AM system

Current Status
In Development

Reference implementation of
Account Management system
– fully functional AM DB Schema
– method call implementation
– glue between AM system and AMIE
implementation
– Should be "drop in" AM system with
grid capability through AMIE
Current Status
Packaging
Core implementation
 Reference implementation of method
call interface
 Reference AM implementation
 Documentation

Distributed Account Management
Questions?