Presentation is loading. Please wait.

Presentation is loading. Please wait.

OGSI.NET: Building Grids for the.NET World Glenn Wasson Grid Computing Group University of Virginia.

Similar presentations


Presentation on theme: "OGSI.NET: Building Grids for the.NET World Glenn Wasson Grid Computing Group University of Virginia."— Presentation transcript:

1 OGSI.NET: Building Grids for the.NET World Glenn Wasson Grid Computing Group University of Virginia

2 Building Large Grids Standards are important Standards are important OGSA / OGSI OGSA / OGSI WS-* WS-* Others? Others? Grids span many platforms Grids span many platforms But typically not Windows But typically not Windows

3 Enter.NET What is.NET? What is.NET? Runtime (CLR) for many languages Runtime (CLR) for many languages C#, VB, VC++, J#, F#, Perl, Python, Fortran, Cobol, SmallTalk, Pascal, Eiffel, Haskell, Scheme.. C#, VB, VC++, J#, F#, Perl, Python, Fortran, Cobol, SmallTalk, Pascal, Eiffel, Haskell, Scheme.. Runtimes for many platforms Runtimes for many platforms Mono runs on Linux, FreeBSD, Solaris, SPARC, PowerPC, StrongArm, and Windows! Mono runs on Linux, FreeBSD, Solaris, SPARC, PowerPC, StrongArm, and Windows! Technology for many MS products Technology for many MS products ASP.NET, ADO.NET, Web Services ASP.NET, ADO.NET, Web Services

4 .NETs Relationship to the Grid Web Services are fundamental building blocks for Grid Services Web Services are fundamental building blocks for Grid Services Easy to build Web Services with MS tools Easy to build Web Services with MS tools Infrastructure can be used for Grid Services Infrastructure can be used for Grid Services Pervasiveness of.NET capable machines Pervasiveness of.NET capable machines Including handhelds Including handhelds

5 Talk Outline Introduction of OGSI.NET Introduction of OGSI.NET Container Operation Container Operation Message Flow Message Flow Security Security Programming Model Programming Model Application / Research using OGSI.NET Application / Research using OGSI.NET Future Work Future Work

6 OGSI.NET OGSI-compliant hosting environment OGSI-compliant hosting environment Goals: Goals: Bring OGSI-compliant grid services to.NET & Windows world Bring OGSI-compliant grid services to.NET & Windows world Expose MS technology to the grid Expose MS technology to the grid e.g. ADO.NET e.g. ADO.NET

7 OGSI.NET is… A hosting environment A hosting environment Container that holds service instances Dispatcher that routes messages to them Container that holds service instances Dispatcher that routes messages to them Libraries Libraries OGSI port types, Service base class OGSI port types, Service base class Attribute-based programming model Attribute-based programming model Meta-data added to service logic Meta-data added to service logic

8 The OGSI.NET Container

9 OGSI.NET Container Container divided into separate Application Domains (AppDoms) Container divided into separate Application Domains (AppDoms) Process-style memory protection w/o process Process-style memory protection w/o process Each service instance has its own AppDom Each service instance has its own AppDom 1 additional AppDom contains Dispatcher 1 additional AppDom contains Dispatcher Dispatcher Dispatcher Knows how to route requests to services Knows how to route requests to services

10 OGSI.NET Container Each services AppDom contains a Grid Service Wrapper (GSW) Each services AppDom contains a Grid Service Wrapper (GSW) GSW provides GSW provides Message handlers for serializing/deserializing various message types Message handlers for serializing/deserializing various message types Routing requests to methods of services port types Routing requests to methods of services port types SDE storage/retrieval SDE storage/retrieval WSE pipeline WSE pipeline Basically encapsulates service logic with helper code Basically encapsulates service logic with helper code

11 OGSI.NET Request Flow Client sends request message to service Client sends request message to service Assume SOAP/HTTP for the moment Assume SOAP/HTTP for the moment IIS receives HTTP request IIS receives HTTP request If begins with container prefix, sends it to ISAPI filter If begins with container prefix, sends it to ISAPI filter ISAPI filter rewrites request to dispatch into ASP.NET ISAPI filter rewrites request to dispatch into ASP.NET allows arbitrary service names allows arbitrary service names

12 OGSI.NET Request Flow ASP.NET HttpHandler sends request to container process ASP.NET HttpHandler sends request to container process Request received by Dispatcher Request received by Dispatcher Dispatcher routes request into service instances AppDom Dispatcher routes request into service instances AppDom Services GSW selects appropriate message handler Services GSW selects appropriate message handler

13 OGSI.NET Request Flow Message Handler processes request Message Handler processes request Runs WSE pipeline (examine msg headers) Runs WSE pipeline (examine msg headers) Deserializes data items Deserializes data items GSW marshals data items and calls requested method GSW marshals data items and calls requested method Result sent to message handler for serialization Result sent to message handler for serialization Could be return values or exceptions Could be return values or exceptions Result message follows reverse path Result message follows reverse path

14 OGSI.NET Security Web Service Extensions (WSE) pipeline in each AppDom Web Service Extensions (WSE) pipeline in each AppDom Digital Signing and Encryption Digital Signing and Encryption X509, Kerberos and WindowsIdentity tokens X509, Kerberos and WindowsIdentity tokens WS-SecurityPolicy WS-SecurityPolicy more later… more later…

15 Programming Grid Services Goal: Make it as easy as Web Services Goal: Make it as easy as Web Services Difference between a Grid Service and service logic is meta-data Difference between a Grid Service and service logic is meta-data Defines how methods and data are exposed Defines how methods and data are exposed Conditions of exposure (policy) Conditions of exposure (policy) Programmers annotate their code Programmers annotate their code C# attributes (can get at runtime) C# attributes (can get at runtime) Other languages (need pre-processing) Other languages (need pre-processing)

16 OGSI.NET Attribute-based Programming [OGSIPortType] [OGSIPortType][OGSIPortType(typeof(FactoryPortType))][OGSIPortType(typeof(NotificationSourcePortType))][OGSIPortType(typeof(GridServicePortType))] public class FactoryService : GridServiceSkeleton { [SoapDocumentMethod] [SoapDocumentMethod][WebMethod][SoapDocumentMethod("http://gcg.virginia.edu/samples/ counter#subtract", Binding="CounterSOAPBinding")] [return: XmlElement("returnValue")] public int subtract(int value) {

17 Exposing Service Data [ SDE ] [ SDE ] [SDE ("interface", typeof(XmlQualifiedName), false, typeof(XmlQualifiedName), false, MutabilityType.constant, false, MutabilityType.constant, false, "1", "unbounded")] "1", "unbounded")] public class GridServicePortType : GridServiceSkeleton {

18 Exposing Service Data Get and Set handlers for SDEs Get and Set handlers for SDEs[SDEGet(currentTime)] public ArrayList getTime(OGSIServiceData sde, GridServiceWrapper gsw) GridServiceWrapper gsw){ Member variables as SDEs Member variables as SDEs public class SomeServicePortType : GridServiceSkeleton { SomeServicePortType() { … } [SDE] public int foo;

19 Specifying Service Policy Initially security 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… Other types of policy…

20 Issues in Building an OGSI- Compliant Container Processing GWSDL (de/serialization) Processing GWSDL (de/serialization) Wsdl.exe and xsd.exe dont correctly process the OGSI v1.0 WSDL and data types Wsdl.exe and xsd.exe dont correctly process the OGSI v1.0 WSDL and data types Somewhat broken even for WSDL 1.1… Somewhat broken even for WSDL 1.1… C# doesnt have faults in its function signature C# doesnt have faults in its function signature So you cant just reflect on the method (attributes needed) So you cant just reflect on the method (attributes needed) Inter-op with GT3 Inter-op with GT3 OGSI spec compliance not enough OGSI spec compliance not enough Need similar service semantics Need similar service semantics Microsofts envisioned usage pattern for tools Microsofts envisioned usage pattern for tools

21 Grid Services: Heavy or Light? Not one service per process Not one service per process Thread pool for the container Thread pool for the container Let OS sort it out Let OS sort it out Light-weight services Light-weight services Services without full container under them Services without full container under them More than one service per AppDom More than one service per AppDom Notification sinks Notification sinks

22 UVa OGSI.NET NAMD Testbed

23 Research with OGSI.NET Role of hand-held devices in the grid Role of hand-held devices in the grid.NET CF Grid Services on PocketPC.NET CF Grid Services on PocketPC OGSI.NET clients exist, server-side is future OGSI.NET clients exist, server-side is future Policy for Grids Policy for Grids What policies might be particular to grids? What policies might be particular to grids? Survivability policy! Survivability policy! Not writing a new policy specification language (i.e. use WS-Policy or other) Not writing a new policy specification language (i.e. use WS-Policy or other)

24 Future Work What is next for OGSI? What is next for OGSI? WSDL 1.2? WSDL 1.2? Improve service programming model Improve service programming model Policy for grid services Policy for grid services More interesting security work More interesting security work Services on the device Services on the device Globus protocols/GGF standards? Globus protocols/GGF standards? OGSA compliance? OGSA compliance?


Download ppt "OGSI.NET: Building Grids for the.NET World Glenn Wasson Grid Computing Group University of Virginia."

Similar presentations


Ads by Google