Simulation of Replicated Services in Jini

4 downloads 332 Views 280KB Size Report
A service can be: • A single application with a well defined API ... A single application used to access services on .... subsequently by our Jini Service Manager, based on a sys- ... through wireless technology and mobile computing sys- tems.
Proceedings of ICCC2004

Computational Grid and Web Services: Concepts, Functionalities, and Comparisons Vladimir Getov1, Antonio Puliafito2, Omer F. Rana3 1

Harrow School of Computer Science, University of Westminster, London, U.K., [email protected] 2 Department of Mathematics, University of Messina, Messina, Italy, [email protected] 3 Department of Computer Science, Cardiff University, Cardiff, U.K., [email protected]

Abstract. The “service” paradigm is much more coarsegrained than method calls or sub-routines and therefore provides a better abstraction for developing software that can be effectively used in Grid systems and applications. The recent development of the Open Grid Services Architecture (OGSA) is an important step in this direction. A question that has been discussed within the Global Grid Forum (GGF) is to determine what would be a useful means of integrating Grid services with other technologies and to identify if there are common deployment mechanisms for both Grid and Web services. One possible approach, described in this paper, is to integrate Grid services with existing middleware technologies, which enable service interfaces to be defined in XML while supporting the discovery, registration and leasing of services and can allow third party libraries to also co-exist.

1. Introduction Web Services (WS) have become an important area of research and development, and integrate many different technological paradigms into a single stack. Each of these paradigms – such as programming languages (Java, C#), middleware technologies (Jini, DCOM, .NET, JXTA, CORBA), connectivity schemes (client-server, peer-2peer), and communication frameworks [11] – have been developed independently over the last few years. The emphasis has been on using off-the-shelf software based on commercial standards to achieve integration, rather than develop dedicated software that is likely to be domain or problem specific. There is also the reliance on using existing Web servers to deliver and access services – hence benefiting from the large number of servers, which already exist worldwide. WS may be defined as: “loosely coupled software components that interact with one another dynamically, via standard Internet technologies” [15]. They also provide a useful mechanism for implementing the Virtual Organisations (VO) concept identified in [9] – especially if using a public domain infrastructure, whereby participants from multiple sites can collaborate

with each other to solve a single problem, or share commonly used software libraries and resources. OGSA aims to integrate Grid systems with WS and defines standard mechanisms to create, name, and discover (transient) Grid service instances. The core concept within this architecture is the notion of a “Grid Service”, defined in the Web Services Description Language (WSDL) [7], and containing some pre-defined attributes (such as types, operations and bindings). A service is treated as an abstract concept, which may be implemented using a number of existing technologies. A service can interact with another service, using a number of different protocols, encoding styles and messaging styles – where each of these approaches may be encoded using the Simple Object Access Protocol (SOAP) [2]. In OGSA additional extensions are provided to enable a means of structuring complex and long-lived stateful applications [1]. It is assumed that a Computational Grid (CG) [10] environment is composed of a number of heterogeneous resources, which may be owned and managed by different administrators. Each of these resources may offer one or more services. A service can be: • A single application with a well defined API (which also includes wrapped applications from legacy codes). In this case, the software application is offering some service, which may vary in granularity from a simulation kernel to a molecular dynamics application, for instance. • A single application used to access services on other resources – controlled by a different administrator. • A collection of coupled applications, with welldefined dependencies. • A software library, with a number of subservices, which are all related in some functional sense. For instance, a graphics or a numerics library, etc. • An interface for managing access to a resource – this may include access rights and security, scheduling priorities, license checking software, etc. The integration of ideas from WS with CG therefore becomes an important undertaking. By combining part of

the software layer from WS with Grid services, as it has been considered in the Globus framework [1], it becomes possible to utilise commercial software and standards with resource management tools for CG. In this paper, we build on some of the discussions taking place within GGF working groups and outline reasons for the deployment of existing state-of-the-art technologies in building Grid services.

3. Integration with Globus The Jini-Grid [18] project is aimed at integrating the Jini service discovery, leasing and registration mechanism with the Globus MDS service [8]. This is being achieved by using the CoG kit [13] as a mechanism to access the MDS from Java. The objective of the project is to enable multiple MDS services to co-exist, and to extend the information maintained within an MDS service (which generally consists of host and operating environment related information – primarily) with additional information about software services also maintained on a given host. The Globus system comprises of the Grid Resource Information Service (GRIS) and the Grid Index Information Service (GIIS). GRIS acts as a 'white pages directory' to support service discovery, and also supports a uniform mechanism for querying resource properties. Such resources can generally include computational resources (although the approach is general and can also apply to data resources) and must have a distinguished name. Information about the properties of each resource is maintained as an object, such as CPU speed, memory, cache, etc. The GRIS server must exist on each host machine, and keeps information corresponding to only that host. Hence, issuing the command grid-info-hostsearch -L -b “o=Grid” -h inca.cf.ac.uk “(objectclass=*)” to search for information on inca host machine with the starting point at “o=Grid” of its Directory Information Tree (as defined by the LDAP [21] protocol used in MDS) will produce a list of objects, with each object corresponding to one property of host inca. Generally, the GRIS uses a well-known port number 2135 to listen for user requests. Subsequently, the GIIS or “yellow pages directory” offers a means of integrating arbitrary GRIS services, to support resource queries, which include parameter ranges or constraints on resource properties. The GIIS may be searched by Grid applications, and may maintain information gathered from multiple GRIS servers. The GIIS information service can therefore represent the resources available to a virtual organisaion on that site. GRISs may register with multiple GIISs, and a hierarchical structure linking sites to a top level VO GIIS is possible using referral. We extend the resource centric approach in GRIS to enable description of software services available on these resources, in addition to properties of these resources – using Jini as a means to store, retrieve, and manage access to these services. A client query would consist of inquiring system properties about a resource, and software libraries managed on it. The query is first serviced by GRIS and subsequently by our Jini Service Manager, based on a system management ontology developed as part of the FIPA platform [5], and encoded in XML. A client request for a matrix solver, consists of nu-

2. Background A distinguishing feature of a service is that it does not involve persistent software applications running on a particular server. Primarily, a service is executed only when a request for the service is received by a “service provider”. The service provider publishes (advertises) the capability it can offer, but does not need to have a permanently running server to support the service. There is also a need for the environment, which supports the service abstraction to satisfy all pre-conditions needed to execute a service. A service may also have a “soft state” – implying that the results of a service may not exist forever. The soft state is particularly important in the context of dynamic systems – such as CGs – where resources and user properties can vary over time. Jini [19] and JXTA [20] are possible candidate existing technologies that could be deployed in building dynamic Grid systems [12]. To enable more effective discovery and sharing of services, a service ontology becomes an important undertaking -- especially in the context of Web services. An Ontology defines the concepts within a particular application domain, their inter-relationships, and constraints on concepts. In the context of CG, we consider two kinds of ontologies to co-exist: 1. application ontologies – which have a well defined scope, and are aimed at sharing applications and software components within a particular problem domain, 2. management ontologies -- which identify key services that must be supported by particular middleware systems. It is unlikely for there to be agreement on a single ontology within each of these two categories -- and existing work of DAML [4], domain specific ontologies [14] and ontology servers such as Ontolingua [16] become important in reconciling some of these differences. Some of these schemes, such as DAML, can be integrated with ontology definition languages such as OIL [6], to identify how services relate to each other. An important new development in this context is the creation of RuleML [17] – to enable various representation techniques (such as DAML and RDF) to be analysed using logical rules. This is particularly useful to supporting inferencing on an existing knowledge representation.

11

and of the specific equipment available at that time. A very attractive new application domain enabled by the new generation of wireless technologies is defined by time-critical on demand applications that require continuously high bandwidth for the whole duration of a single session. Typical examples of such applications are streaming video and real-time access to the stock markets. Support for the above features can be provided by an extensible, scalable and flexible middleware architecture for the provision of mobile secure services, which is based on standards, as well as robust and useful across application domains. The lack of such an infrastructure means that currently different mobile services can not easily be accessed in a seamless mode. This limits the mobile user who wishes to move from one application domain to another, from one geographical area to another. More specifically, a possible approach intends to develop agentbased middleware services to: • support roaming users with service portability, session mobility and service scalability; • allow the use of multiple wireless access technologies according to the maintenance of stringent QoS and security principles; • exploit the Grid computation paradigm to provide value added services (VAS).

meric.solvers.matrix, or a call for all solvers as numeric.solvers.*, in which case a list of suitable solvers is returned from which a client may select. Such a lookup service aids a service broker in first discovering services of interest, and then properties of resources on which these services exist – using GRIS and GIIS. Current focus has been on implementing an effective service discovery mechanism, as it plays an important role in all design patterns. The discovery service also records data obtained from execution runs of a service, which subsequently aids the discovery process.

4. Advanced Grid Systems 4.1. JXTA on resource-limited devices The availability of JXTA on resource-limited devices (supported through the J2ME (Java2 Micro Edition) API) also provides a useful way of supporting portals on handheld and wireless platforms. The objective of the JXTA for J2ME project is to enable JXTA to exist of resourcelimited devices, but be interoperable with JXTA on desktops and workstations. This effort is centered on the existing Mobile Information Device Profile (MIDP) and Connection Limited Device Configuration (CLDC) supported in J2ME. The CLDC provide a restricted Java API which can be accommodated in a limited memory. The MIDP provides an abstact mobile device which can then be ported onto a particular devices (similar to the concept of the Java virtual machine). JXTA for J2ME peers are therefore restricted to only act as edge peers [3] – i.e. they cannot offer services to other members in the peer group. In this context, wireless peers act as relay points into the networks to which they are connected (delegating complex tasks such as searching for resources, performing computationally intensive tasks etc to other peers in the network). Hence, JXTA relays act as proxies for small devices, and can filter JXTA traffic and optimise adverts to forward to others. Such JXTA relays can also be used to support other operations – such as accessing real JXTA peers behind firewalls. Unlike client-server systems (such as Jini), wireless JXTA peers do not maintain a static relationship with their designated JXTA relays. For instance, two JXTA for J2ME peers can be connected to different relays and still support discovery.

Figure 1: Reference hybrid communications system

4.2. Grid Services for Hybrid Communications Wireless communication systems represent the new pervasive technology that is progressing at very high speed, offering solutions to an always-increasing range of situations related to the everyday needs of individual citizens and the society at large. Users benefit from accessing Internet resources from their physical environment through wireless technology and mobile computing systems. They wish to access the information they need at any moment, independently of the location where they are

Such hybrid communications system allows mobile users using different kinds of technologies to access VAS made available in the core network through an agentbased Grid middleware, capable of guaranteed levels of security and QoS. Figure 1 gives a typical block diagram of such a system. It identifies three different parts, indicated as wired, access and wireless areas. We believe that the evolution towards next generation wireless follows a path from wireless being simply a mode of access to a

12

identify themselves uniquely in any visited network and receive the service they have subscribed to. These services would then be “network-seamless services”. Providing network-seamless services so far have been a priority among mobile networks. In order for true service portability to be achieved, services need to be offered in partnership between mobile and fixed networks. The theme of mobile personal communications has been “anytime, anywhere” access. The new problem is, then, “anyhow” access. With the arguable domination of IP networking, the anytime, anywhere, anyhow access will be best realized by an IP-based architecture. Figure 2 shows a possible reference architecture with layers from top to bottom as follows: Application services and user portal, Agent-based and Portal middleware, Hybrid communication technology. The left hand side of the figure identifies components of the core network, while the right hand side shows a typical mobile terminal architecture that allows the user to access distributed services. The communication technology layer is common for both sides. It accomodates both wired and wireless communication technologies. The former is represented through the LAN/WAN box, while the latter distinguishes the available wireless technologies according to the level of utilization: personal level (ad hoc, bluetooth), local and home level (WLAN, UWB), cellular level (GPRS, UMTS) and wider area level (DVB-T).

wired network where the entire network architecture aims to provide wireless communications. The wireless area is characterized by the presence of Access Points (APs), which allow mobile hosts to connect to the wired infrastructure through wireless links. APs are equipped with a wireless interface by which they can communicate with all mobile hosts located in a geographical area called cell. Cells of APs may partially overlap, or may be organized in multilayers, according to a microcell/macrocell overlay model. Mobile hosts are free to change their position in time without any restriction, while maintaining their connection to the service they are using and also if/when the access technology changes due to varying environmental conditions, economical issues or service availability. The wireless area may accommodate a number of different wireless technologies, which will be selected according to user preferences, service characteristics and availability in order to provide a seamless service with session continuity and service adaptability features. The generic system described so far has to be intrinsically secure. Secure dissemination of information across a network, and secure delivery of information to diverse user environments requires the orchestration of the interactions between service support layer and the basic network management layer. Secure information delivery techniques via various wireless interfaces have been defined. Cellular standards, bluetooth, and ad-hoc networks have key-based techniques, encryption, and frequency hopping in spread spectrum. However, the cost of security is different in each case. Network Security is managed differently in the existing standards. Sometimes it is not managed at all, affecting interoperability, portability and seamless connection because of issues related to authentication, confidentiality, integrity, proof of origin, and nonrepudiation. The security function module will have to perform the duty of coordinating the cost of the overall security in service subscription as well as the security cost of each session, along with the location and multicast servers. Other crucial aspects to be addressed regard the new and challenging problems related to the fact that mobile terminals may offer features that may differ a lot from one to another. This impacts both the way in which applications have to be developed and the way they have to be accessed by the end users. Static applications are unfit to dynamically adapt to user requirements, to satisfy his/her preferences and match the computational processing power offered from his/her mobile device. New and more stringent QoS requirements have to be satisfied, developing new and more sophisticated strategies that involve also programming at the network equipment level providing also load-balancing, availability of resources and security policies management, distribution and up-date. The fundamental service portability problem in the application area at hand, as in many others, is the enabling of users to

Applications

User Portal

GRID services Basic GRID Functions Mobility

Security

Portal Middleware

QoS

Hybrid Communication Technology LAN / WAN

Ad-hoc /Bluetooth

WLAN

GPRS / UMTS

DVB-T

Figure 2: Architecture of Grid services with support for hybrid communications The mobile agent technology seems to be a natural choice for dealing with some of these issues. The technology of agent programming has emerged as a flexible and complementary way to manage resources of distributed systems due to the increased flexibility in adapting to the dynamically changing requirements of such systems. Distributing intelligence across the network allows the fast

13

exploitation of more advanced services that can dynamically adapt to user’s requirements. Mobile agents provide the highest possible degree of flexibility and can carry application specific knowledge into the network to locations where and whenever is needed. In an environment, where multiple and different networking infrastructures are involved, we plan to use an agent-based management system as an underlying layer to the network model to collect the required management data, distribute and balance the computation inside the network, negotiate and adjust the required and/or feasible levels of security, and maintain a high level of fault tolerance in the system. The middleware layer is separated into an agent-based part (i.e. the one being executed in the core network: routers, access points, network equipments in general) and a terminal part (which represents the new software features to be integrated into Personal Digital Assistants (PDAs) and mobile phones as well as in laptops and workstations to access value added services). The left hand side of the application layer indicates the services available in the core network. They might be directly accessable from the middleware layer or through the Grid sublayer, which offers an efficient way of managing distributed computing and storage resources. On the right hand side the user terminal box represents the application (usually a thin client) allowing the user to access the available services. Our reference architecture will be able to accommodate the following two types of services: • Service type 1 (S1): services that can/should be accessed via the Grid infrastructure • Service type 2 (S2): services that are available via more traditional Internet software (e.g. Web services). We assume that services will be accessed through three different types of portals: • Terminal type 1 (T1): PDAs and intelligent mobile phones which allow high mobility degree and may benefit from a plethora of wireless communication technologies • Terminal type 2 (T2): laptop using wireless technology (mainly WLAN) to access the network • Terminal type 3 (T3): desktop/laptop workstations which access the fixed (core) network through wired communication technology

scenarios seem to be S1 – T1/T2 and S2 – T1/T2. Attention will be devoted to demonstrate the need of Grid services and the great potential this technology can offer in terms of storage and computing capabilities. Scenarios involving T3 are less attractive because of the very limited mobility, but still very important, and therefore one has to include them but with lower priority.

References: [1] ANL, The Globus http://www.globus.org/.

Project.

See

Web

site

at:

[2] Apache Simple Object Access Protocol (SOAP). See Web site at: http://xml.apache.org/soap/. [3] A. Arora, C. Haywood, and K.S. Pabla, JXTA for J2ME Extending the Reach of Wireless With JXTA Technology, White paper. See Web site at: http://jxme.jxta.org/. [4] G. Denker, J.R. Hobbs, D. Martin, S. Narayanan, and R. Waldinger, Accessing Information and Services on the DAMLEnabled Web, White paper, SRI International, Menlo Park, California, January 2001. Also see Web site at: http://www.daml.org/. [5] Emorphia, FIPA – Open Source. See Web site at: http://fipaos.sourceforge.net/. [6] D. Fensel, I. Horrocks, F. Van Harmelen, S. Decker, M. Erdmann, and M. Klein, “OIL in a Nutshell”, In R. Dieng et al. (Eds.), Proceedings of EKAW'00, LNAI, Springer-Verlag, October 2000. [7] D. Ferguson, IBM Web Services: Technical and Product Architecture and Roadmap, IBM White paper, May 2001. See Web site at: http://www4.ibm.com/software/solutions/webservices/pdf/roadmap.pdf [8] S. Fitzgerald, I. Foster, C. Kesselman, G. von Laszewski, W. Smith, and S. Tuecke, “A Directory Service for Configuring High-Performance Distributed Computation”, Proceedings of IEEE HPDC Symposium, pp 365-375, 1997. [9] I. Foster, C. Kesselman, S. Tuecke, “The Anatomy of the Grid: Enabling Scalable Virtual Organizations”, International Journal of Supercomputer Applications, 15(3), 2001. [10] I. Foster and C. Kesselman (Eds.), The Grid: Blueprint for a New Computing Infrastructure, Morgan Kaufmann Publishers, Inc, 1999.

5. Conclusions

[11] V. Getov, G. von Laszewski, M. Philippsen, I. Foster. “Multi- Paradigm Communications in Java for Grid Computing”. Communications of the ACM, vol. 44(10), 118-125, 2001. [12] V. Getov, S. Newhouse, O.F. Rana, E. Sharakan. “Developing Grid Services with Jini and JXTA”, Proceedings ICCC’04, 2004.

It is envisaged that commercial-grade Grid applications are likely to utilise off-the-shelf software, built on industry standards – such as SOAP and XML, and prefer these approaches to proprietary (often research-grade) software. In this paper we presented some considerations for building future Grid systems. We also outlined several possible user applications scenarios. The high priority

14

[13] G. von Laszewski, I. Foster, J. Gawor, W. Smith, and S. Tuecke, “CoG Kits: A Bridge between Commodity Distributed Computing and High-Performance Grids”, ACM JavaGrande Conference, 2000.

[17] Rule Markup Languages. http://www.dfki.uni-kl.de/ruleml/.

See

Web

site

at:

[18] D. Saelee and O.F. Rana, “Implementing Services in a Computational Grid with Jini and Globus”, at First EuroGlobus Workshop, Leece, Italy, 2001. See Web site at: http://www.euroglobus.unile.it/.

[14] L. Moreau, “Agents for the Grid: a Comparison with Web Services (Part I: Transport Layer)”, Proceedings of IEEE CCGrid 2002, Berlin, 2002. [15] J.M. Myerson, Web Services Architectures. White paper at: http://www.WebServices.org. [16] The Ontolingua Project, Knowledge Systems Laboratory Knowledge Systems Laboratory, Stanford University. See Web site at: http://www-ksl-svc.stanford.edu:5915/

[19] Sun Microsystems, http://www.jini.org/.

Jini.

[20] Sun Microsystems, http://www.jxta.org/.

JXTA.

See See

Web

site

at:

Web

site

at:

[21] M. Wahl, T. Howes, and S. Kille, Lightweight Directory Access Protocol (LDAP) v3.0, RFC 2251, December 1998.

15

Suggest Documents