ogsi net building grids for the net world
Skip this Video
Download Presentation
OGSI.NET: Building Grids for the .NET World

Loading in 2 Seconds...

play fullscreen
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?