**1. Introduction**

70 Grid Computing – Technology and Applications, Widespread Coverage and New Horizons

[24] Venugopal S. Scheduling Distributed Data-Intensive Applications on Global Grids.

[25] Verma D., Sahu S., Calo S., Beigi M. and Chang I. A policy service for Grid computing.

[26] Wu J., Savoie M., Campbell S., Zhang H., Bachmann G. V. and St Arnaud B. Customer-

[27] Yang K., Galis A. and Todd C. Policy-based active Grid Allocation architecture. In Towards Network Superiority. (27-30 Aug. 2002). IEEE, Singapore, 2002, 243-8.

The University of Melbourne, 2006.

Allocation, 15, 5 ( 2005), 349-62.

Ph.D. Dissertation, Department of Computer Science and Software Engineering,

In Proceedings (18 Nov. 2002). Springer-Verlag, Baltimore, MD, USA, 2002, 243-55.

managed end-to-end lightpath provisioning. International Journal of Network

The grid computing systems are one of great developments in the field of engineering and computer science and provide a clear future in the global use of various optimal distributed resources (hardware and software). Therefore with expanding grid systems and the importance of finding suitable resources for users (Foster & Kesselman, 2003), while saving time and space, resource discovery algorithms are very important. If one algorithm with less traffic and without reference to unnecessary nodes in a shorter time, can find the appropriate resource for users, it will significantly increase the efficiency of the system.

There are many approaches to resource discovery, such as flooding-based and randombased. These approaches decrease the system efficiency, because the users' requests pass through many unnecessary paths and create additional traffic. Therefore it is not suitable for a grid environment with numerous nodes.

Another approach is resource discovery tree using bitmap (Chang & Hu, 2010). This method decreases some disadvantages of previous methods such as unnecessary traffic and heavy load, and furthermore the cost of update is low. But in this method, users' requests are also sent to unnecessary nodes, so in a grid environment with numerous nodes and requests, the reference to unnecessary nodes will create additional and heavy traffic and decrease the efficiency of the system.

In this work, we use a weighted tree for resource discovery (Khanli & Kargar, 2011). We only use one bitmap for the identification of available resources in nodes and also resources of children and their descendant nodes. The users' request must be transformed into this bitmap. We record a footprint of resources in nodes. When a user's query reaches every node, we can use this footprint to access the directly appropriate resource without visiting additional and unnecessary nodes and no time is consumed. We compare our algorithm with other algorithms and show that our algorithm is very efficient.

We discuss the previous works about the resource discovery in Section 2. In Section 3, we explain our proposed mechanism. Section 4 details the diagrams for comparing our method with previous methods, and finally, Section 5 contains conclusions.

A New Approach to Resource Discovery in Grid Computing 73

local resources of nodes and the index bitmap registers the information about its children nodes which exist in the nodes that have child (non-leaf nodes). In this method, the users' query at first becomes AND with the local resource bitmap and if there is no local resource in the node, it becomes AND with the index bitmap. If the result is a nonzero number, the query will be forwarded to all children until reaching the target node. If the result of the AND operation is zero, it means that there are no resource in children and the query will be

Our algorithm uses a tree structure in which the edges have weight. The advantage of our method is that any node in our weighted tree has a unique path, so the user's query against all of previous methods is not sent to the extra and unnecessary paths. We can directly reach the target node using a resource footprint which is stored in nodes. Furthermore, for resource discovery we only use one bitmap in every node which is for the storing of information about its local resources and the resources of its children and descendant. Also it preserves a footprint of resources and if we need a resource which is available in its children or descendant, we can directly and without any referring to unnecessary and extra nodes, reach the target node. This method significantly reduces the system traffic and

Here, we introduce a weighted tree structure for resource discovery. In this method, like (Chang & Hu, 2010) (explain in previous section) we use one bitmap except several bitmaps will replace one bitmap with different contents. In the current method, we will allocate to any kind of resource two positions of bitmap, where one of them is the ''counter'' and another is the ''path''. A user's request should be changed into this form. There will be one bitmap in every node in which the user's query will be multiplied by this bitmap position to a position in order that the availability of matched resources would be investigated. If the current node contains the requested resource, so the requested resource is found, otherwise if it does not contain the requested resource or have the requested resource in its children and descendant, the query will be sent to the father node. However, if the node does not contain the requested resource but it is available in one of its children or descendant, the target node can be found directly and without any referring to extra nodes using the information stored in this node and weighted edges. Therefore, our offered method decreases unnecessary referrals to other nodes and reduces the additional traffic, so the time

Due to the existence of different resources in the grid environment and also the various types of resources (attributes), the resources and their attributes should be identified in our bitmap. This bitmap has positions that numbers will be stored in. The length of the bitmap depends on the attributes of each resource. For example, if our expected resource is an operating system (OS), the different types of operating systems that are used in our grid environment determine the length of our bitmap. If the types of operating systems are XP, Linux, Unix and MacOS, our bitmap will have six positions. Actually, we allocate two positions for each type in the bitmap: the counter and path. All of the users' queries should be transformed into this form. Fig. 1, shows a sample of this bitmap that contains the XP

There are some differences between our algorithm and the other ones:

sent to the father node.

increases the performance of system.

operating system in the related node.

is saved and the ability of resource discovery is improved.

**3. Our proposed method** 
