Ogsi net building grids for the net world
1 / 24

OGSI.NET: Building Grids for the .NET World - PowerPoint PPT Presentation

  • Uploaded on

OGSI.NET: Building Grids for the .NET World. Glenn Wasson Grid Computing Group University of Virginia. Building Large Grids. Standards are important OGSA / OGSI WS-* Others? Grids span many platforms But typically not Windows. Enter .NET. What is .NET? Runtime (CLR) for many languages

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

PowerPoint Slideshow about 'OGSI.NET: Building Grids for the .NET World' - yana

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
Ogsi net building grids for the net world

OGSI.NET: Building Grids for the .NET World

Glenn Wasson

Grid Computing Group

University of Virginia

Building large grids
Building Large Grids

  • Standards are important

    • OGSA / OGSI

    • WS-*

    • Others?

  • Grids span many platforms

    • But typically not Windows

Enter net
Enter .NET

  • What is .NET?

    • Runtime (CLR) for many languages

      • C#, VB, VC++, J#, F#, Perl, Python, Fortran, Cobol, SmallTalk, Pascal, Eiffel, Haskell, Scheme..

    • Runtimes for many platforms

      • Mono runs on Linux, FreeBSD, Solaris, SPARC, PowerPC, StrongArm, and Windows!

    • Technology for many MS products

      • ASP.NET, ADO.NET, Web Services

Net s relationship to the grid
.NET’s Relationship to the Grid

  • Web Services are fundamental building blocks for Grid Services

    • Easy to build Web Services with MS tools

    • Infrastructure can be used for Grid Services

  • Pervasiveness of .NET capable machines

    • Including handhelds

Talk outline
Talk Outline

  • Introduction of OGSI.NET

  • Container Operation

  • Message Flow

  • Security

  • Programming Model

  • Application / Research using OGSI.NET

  • Future Work

Ogsi net

  • OGSI-compliant hosting environment

  • Goals:

    • Bring OGSI-compliant grid services to .NET & Windows world

    • Expose MS technology to “the grid”

      • e.g. ADO.NET

Ogsi net is

  • A hosting environment

    • Container that holds service instances Dispatcher that routes messages to them

  • Libraries

    • OGSI port types, Service base class

  • Attribute-based programming model

    • Meta-data added to service logic

Ogsi net container
OGSI.NET Container

  • Container divided into separate Application Domains (AppDom’s)

    • Process-style memory protection w/o process

    • Each service instance has its own AppDom

    • 1 additional AppDom contains Dispatcher

  • Dispatcher

    • Knows how to route requests to services

Ogsi net container1
OGSI.NET Container

  • Each service’s AppDom contains a Grid Service Wrapper (GSW)

  • GSW provides

    • Message handlers for serializing/deserializing various message types

    • Routing requests to methods of service’s port types

    • SDE storage/retrieval

    • WSE pipeline

    • Basically encapsulates service logic with helper code

Ogsi net request flow
OGSI.NET Request Flow

  • Client sends request message “to service”

    • Assume SOAP/HTTP for the moment

  • IIS receives HTTP request

    • If begins with container prefix, sends it to ISAPI filter

    • ISAPI filter “rewrites” request to dispatch into ASP.NET

    • allows arbitrary service names

Ogsi net request flow1
OGSI.NET Request Flow

  • ASP.NET HttpHandler sends request to container process

  • Request received by Dispatcher

  • Dispatcher routes request into service instance’s AppDom

  • Service’s GSW selects appropriate message handler

Ogsi net request flow2
OGSI.NET Request Flow

  • Message Handler processes request

    • Runs WSE pipeline (examine msg headers)

    • Deserializes data items

  • GSW marshals data items and calls requested method

  • Result sent to message handler for serialization

    • Could be return values or exceptions

  • Result message follows reverse path

Ogsi net security
OGSI.NET Security

  • Web Service Extensions (WSE) pipeline in each AppDom

  • Digital Signing and Encryption

    • X509, Kerberos and WindowsIdentity tokens

  • WS-SecurityPolicy

    • more later…

Programming grid services
Programming Grid Services

  • Goal: Make it as easy as Web Services

  • Difference between a “Grid Service” and “service logic” is meta-data

    • Defines how methods and data are exposed

    • Conditions of exposure (policy)

  • Programmers annotate their code

    • C# attributes (can get at runtime)

    • Other languages (need pre-processing)

Ogsi net attribute based programming
OGSI.NET Attribute-based Programming

  • [OGSIPortType]




    public class FactoryService : GridServiceSkeleton


  • [SoapDocumentMethod]



    counter#subtract", Binding="CounterSOAPBinding")]

    [return: XmlElement("returnValue")]

    public int subtract(int value)


Exposing service data
Exposing Service Data

  • [SDE]

    [SDE ("interface",

    typeof(XmlQualifiedName), false,

    MutabilityType.constant, false,

    "1", "unbounded")]

    public class GridServicePortType : GridServiceSkeleton


Exposing service data1
Exposing Service Data

  • Get and Set handlers for SDEs


    public ArrayList getTime(OGSIServiceData sde,

    GridServiceWrapper gsw)


  • Member variables as SDEs

    public class SomeServicePortType : GridServiceSkeleton


    SomeServicePortType() { … }


    public int foo;

Specifying service policy
Specifying Service Policy

  • Initially security policy

    [Integrity(“require”, “body”, “token1, token2”)]

    [Confidentiality(“reject”, “header1”, “token3”)]

    [Message(“require”, “age<30”)]

    [Token(“token1”, “x509v3”, “subject=Bob Smith, CA=UVA”)]

    [Token(“token2”, “Kerberosv5ST”)]

    [Token(“token3”, “SecurityContextToken”,

    “issuer=http://token.virginia.edu/ mytoken”)]

    public class Service1 : GridServiceSkeleton


  • Other types of policy…

Issues in building an ogsi compliant container
Issues in Building an OGSI-Compliant Container

  • Processing GWSDL (de/serialization)

    • Wsdl.exe and xsd.exe don’t correctly process the OGSI v1.0 WSDL and data types

    • Somewhat broken even for WSDL 1.1…

    • C# doesn’t have faults in its function signature

      • So you can’t just reflect on the method (attributes needed)

  • Inter-op with GT3

    • OGSI spec compliance not enough

    • Need similar service semantics

  • Microsoft’s envisioned usage pattern for tools

Grid services heavy or light
Grid Services: Heavy or Light?

  • Not one service per process

    • Thread pool for the container

    • Let OS sort it out

  • Light-weight services

    • Services without full container under them

    • More than one service per AppDom

    • Notification sinks

Research with ogsi net
Research with OGSI.NET

  • Role of hand-held devices in the grid

    • .NET CF → Grid Services on PocketPC

    • OGSI.NET clients exist, server-side is future

  • Policy for Grids

    • What policies might be particular to grids?

    • Survivability policy!

    • Not writing a new policy specification language (i.e. use WS-Policy or other)

Future work
Future Work

  • What is next for OGSI?

    • WSDL 1.2?

  • Improve service programming model

  • Policy for grid services

  • More interesting security work

  • Services on the device

  • Globus protocols/GGF standards?

  • OGSA compliance?