|
Grid Computing Research LaboratoryState University of New York (SUNY) BinghamtonDepartment of Computer Science Michael J. Lewis (mlewis@binghamton.edu) Co-Director, Assistant Professor of Computer Science Madhusudhan Govindaraju (mgovinda@.cs.binghamton.edu) Co-Director, Assistant Professor of Computer Science |
XCAT and OGSI : We have studied the similarities and differences between the OGSI and CCA specifiation. A unification of the two models benefits both efforts, yet lets each group focus on their particular needs. Since the two specifications are evolving, our work on merging the two specifications has focused on identifying OGSI concepts that directly map to CCA features.
Instantiating XCAT Components: Creating instances of components from a set of environment values, such as executable location, host machine, and creation mechanism. A new component can be created in the same address space as the creating component or it may be instantiated in a different one on another host, in which case Globus GRAM (via the Java CoG Kit), or ssh (if no queuing is desired, and Globus is unavailable) can be used. Upon successful instantiation of the component, the creation service returns a ComponentID that serves as a handle for the new component.
Connection Service: XCAT also provides a Connection service which allows instantiated components to establish communication links with one another via their typed ports. By providing an external mechanism for connecting ports, the port types and descriptions themselves can remain free of any connection semantics. This service allows:
Exporting: exporting the ports of another component as one's own. Using this feature, wrapper components can expose selected functionality of other components. This allows a component to present a simplified interface to the end-users, shielding them from the unnecessary details.
Security: Every remote method call can be intercepted by the XCAT-Java framework before it invokes a method on the provides port. A security service can thus be interposed between the provides port and the XCAT framework. This security service can inspect the call and allow its passage if the security requirements have been met. The current version uses SSL with X.509 certificates and supports both authentication as well as a simple authorization model based on access control lists. This has been discussed in detail in this paper.
ComponentID: The ComponentID represents a transportable handle to the component. XCAT uses the remote reference mechanisms provided by XSOAP to represent a ComponentID. This handle can be {\sl stringified} and published to a registry service. It can then be discovered by interested parties and used to invoke methods on the component. The ComponentID in this serialized form is an XML document that describes the component. This XML document can be converted to a WSDL document using a tool provided by the XSOAP toolkit.
Exceptions: XCAT provides an exception model for communication between components. All exceptions thrown during communication between components are caught and returned to the component that initiated the communication. The exceptions are mapped to {\sl SOAP faults} on the wire and then to corresponding exceptions on receiving end of the initiating component.
Events and Notification: XCAT-Java was tested with event notification system called XMessages , which is a messaging middleware system designed for Grid applications that reliably delivers XML messages from publishers to subscribers even if a subscriber moves to a new location, or a publisher is restarted. Currently, the event system is not distributed along with XCAT.