OGSA Prof S.Ramachandram Dept of CSE,UCE Osmania University
Jan 20, 2016
OGSA
Prof S.RamachandramDept of CSE,UCEOsmania University
Major Goals
Identify the use cases that can drive the OGSA platform components
Identify and define the core OGSA platform components
Define hosting and platform-specific bindings
Define resource models and resource profiles with interoperable solutions
More specific goals Facilitating distributed resource management across
heterogeneous platforms Providing seamless QOS delivery Building common base for automatic management solutions Providing common infrastructure blocks to avoid stovepipe
solution towers Open published interfaces and messages Industry-standard integration solutions including web
services Facilities to accomplish seamless integration with existing It
resources where resources become on-demand services/resources
Providing more knowledge-centric and semantic orientation of services
Functional requirements of OGSA
Discovery of resources Instantiating new service Service-level management to meet user expectations Enabling metering and Accounting to quantify resource
usage into pricing units Monitoring resource usage and availability Managing service policies Providing service grouping and aggregation to provide
better indexing and information Managing end-to-end security Servicing life cycle and change management Failure management Provisioning Management Workload management Load balancing to provide a scalable system
Classification of Functions
Basic functions Security functions Resource Management functions System properties
OGSA platform componentsLayers
Native platform services and transport mechanisms
OGSA hosting environment OGSA transport and security OGSA infrastructure( OGSI) OGSA Basic Services (meta-os and
domain services)
Open Grid Service Architecture Three principal elements of OGSA: OGSI,
OGSA services, OGSA applications
OGSA main architecture
OGSA - Definition The Open Grid Services Architecture (OGSA) defines mechanisms for creating, managing,
and exchange information among entities called Grid Services
Grid Service instance: (persistent or transient) service that conforms to a set of conventions (expressed as WSDL interfaces, extensions, and behaviors) for such purposes as lifetime management, discovery of characteristics, notification, and so forth, described from a WSDL PortType
PortType: a WSDL element that describes a collection of message signatures (operation elements) that define the abstract interface of the Web Service
Grid Service instances are made accessible to client applications through the use of a GSH and a GSR
• GSH (Grid Service Handle): URI (uniform resource identifier) that identifies in univocal way a instance, directs to a GSR
• GSR (Grid Service Reference): WSDL document that contains information about the location of the instance
OGSI
OGSI: provides a uniform way for software developers to model and interact with grid services by providing interfaces for discovery, life cycle, state management, creation and destruction, event notification, and reference management
Requesting a service
Important OGSI concepts and interactions
service data, keep-alive,notifications,
service invocation
create service
grid service handleservice requester
servicediscovery
serviceregistry
registerservice
resourceallocation
service factory
serviceinstances
GSH e GSR
URIwww.pc2.it/gsr1
GSH1
WSDL Document
1
GSR1
Grid ServiceInstance
1
URIwww.pc3.it/gsr2
GSH2
WSDL Document
2
GSR2
Grid ServiceInstance
2
Client
Naming
Because Grid services are dynamic and stateful, we need a way to distinguish one dynamically created service instance from another.
Thus, we need a naming scheme for Grid service instances.
Naming
OGSI defines a two-level naming scheme for Grid service instances based on simple, abstract, long-lived Grid service handles (GSH).
GSH can be mapped by handle resolution services to concrete but potentially short-lived Grid service references (GSR).
Naming
A GSH is a globally unique name that distinguishes that specific Grid service instance from all other Grid service instances that have existed, exist now, or will exist in the future.
A GSH is represented using a Uniform Resource Identifier.
Naming
A GSH carries no protocol- or instance-specific information such as network address or supported protocol bindings.
All other instance-specific information is encapsulated into a single abstraction called a Grid service reference (GSR).
Naming
client handleresolver
GSR1 GSR2
serviceinstance
serviceinstance
Resolve (GSH)
time>Ttime<T
migrate
at time T
Grid Service PortTypes (1) A Grid Service can implement following PortType:
GridService: encapsulates the root behavior of the component model
HandleResolver: mapping form a GSH to a GSR
NotificationSource: allows clients to subscribe to notification messages
NotificationSubscription: defines the relationship between a single NotificationSource and NotificationSink pair
NotificationSink: defines a single operation for delivering a notification message to the service instance that implements the operation
Factory: standard operation for creation of Grid Service instances
Registration: allows clients to register and unregister registry contents
Grid Service PortTypes (2)Grid Service
(required)
…other interfaces…
(opzional)
Implementation
Service data access
Explicit destruction
Soft-state lifetime
Standard:
-Notification
-Authorization
-Service creation
-Service registry
-Manageability
-Concurrency
+ application-specific interfaces
Hosting environment/runtime(“C”, J2EE, .NET, …)
WSDL Extensions OGSA architecture introduced WSDL extensions to allow Grid Service
implementation
New WSDL elements:
• serviceData: represents properties of the service’s state that may be externally queried
• serviceDataDescription: formal description of serviceData elements
• Convention on portType name: naming conventions and immutability of portType names
• Grid Service Reference
• Grid Service Handle
ServiceData Concept (1) Service data: to support discovery, introspection, and monitoring of Grid Service
instanceò it refers to descriptive information about Grid Service instance, including
Meta-Data: information about the service instance
State Data: runtime properties of the service instance
Each Grid Service instance has an associated set of SDEs (each one is represented in XML by a serviceData element)
ServiceData Concept (2) serviceData elements samples:
Instance’s data which value can change at runtime
ServiceData Concept (3) Each Grid Service instance is associated with a set of SDEs. This set is modelled
as a serviceDataSet:
serviceData cpuSpeed with relative description: type, value
serviceData configuration with relative description
Grid Service = Interfaces + Service Data
cpuLoad Counter value
Example of Grid Service : DB Service
A DBaccess Grid Service has at least two portType
GridService
DBaccess
Each has any serviceData
GridService: base informations, lifetime informations,…
DBaccess: kind of database, query languages supported, current load,…
Example of Grid Service : DB Service
The UK e-Science Institute collaborate in the OGSA Project, and it implemented a Grid Data Service, a Grid Service with portType to work with many database (relational, XML-DB, …)
http://umbriel.dcs.gla.ac.uk/NeSC/general/
Grid Service
XML-DB portType
Relational-DB portType
…Grid Data Service
GridService portType: operations
FindServiceData: query the service data
RequestTerminationAfter: request that the termination time of this service be changed
RequestTerminationBefore: request that the termination time of the service be changed
Destroy: explicity request destruction of this service
Client
FindServiceData(lifetime)
Factory portType It is used by a client to create an instance of a Grid Service
It is a Grid Service that must implement the Factory portType, which provides a standard WSDL operation for creation of Grid Service instances
The used operation is: CreateService
User Application
Service Provider
Grid Service
Counter Factory
Factory portType It is used by a client to create an instance of a Grid Service
It is a Grid Service that must implement the Factory portType, which provides a standard WSDL operation for creation of Grid Service instances
The used operation is: CreateService
User Application
Service Provider
Grid Service
Counter Factory
CreateService
Factory portType It is used by a client to create an instance of a Grid Service
It is a Grid Service that must implement the Factory portType, which provides a standard WSDL operation for creation of Grid Service instances
The used operation is: CreateService
User Application
Service Provider
Grid Service
Counter Factory
CreateService
Counter
Registration A registry is a Grid Service that maintains a collection of GSH, with policies
associated with that collection. Clients may query the registry to discover what services are available
The registration portType allows clients to register and unregister registry content
The registry makes available a WS-Inspection document (defined with the Web Services Inspection Language – WSIL) to aid in discovery of the services in that registry
Registration
User Application
Service Provider
Grid Service
Registry portType
Registration
User Application
Service Provider
Grid Service
Registry portType
RegisterService(locator 1)
Registration
User Application
Service Provider
Grid Service
Registry portType
RegisterService(locator 1)
GSH 1
Registration
User Application
Service Provider
Grid Service
Registry portType
GSH 1
Registration
User Application
Service Provider
Grid Service
Registry portType
UnregisterService(GSH 1)
GSH 1
Registration
User Application
Service Provider
Grid Service
Registry portType
Transients Database Services
Notification The purpose of the notification is to deliver interesting messages from a
notification source to a notification sink
Notification source: sender of the notification messages
Notification sink: Grid Service instance that receives notification messages from any number of sources
Notification message: XML element sent from a notification source to a notification sink
Subscription expression: XML element that describes what messages should be sent from the notification source to the notification sink
Notification portTypes NotificationSource portType
Subscribe
NotificationSubscription portType: used from Clients to manage the subscription (lifetime and others properties)
NotificationSink portType
deliverNotification
USE CASE OF NOTIFICATION
User Application
Service Provider
Grid Service
Notification portType
X=0
serviceData
USE CASE OF NOTIFICATION
User Application
Service Provider
Grid Service
Notification portType
X=0
serviceData
Subscribe(x=1, sink, exp time)
USE CASE OF NOTIFICATION
User Application
Service Provider
Grid Service
Notification portType
X=0
serviceData
USE CASE OF NOTIFICATION
User Application
Service Provider
Grid Service
Notification portType
X=1
serviceData
USE CASE OF NOTIFICATION
User Application
Service Provider
Grid Service
Notification portType
X=1
serviceData
DeliverNotification(x=1)
HandleResolver portType
A Handle Resolver is a Grid Service instance that implements the HandleResolver portType
FindByHandle: returns a serviceLocator, which contains one or more GSR (Grid Service Reference) for a GSH (Grid Service Handle)