Chapter 3 DESIGN APPROACH
3.1. Network Layer MDS
We propose a network layer resource monitoring and discovery service (NL-MDS) scheme that includes the following characteristics of wireless grids [10]:
z Resource providers arrive and depart frequently.
z Mobile wireless devices are generally less powerful than wired devices.
z The information services on wireless grids should be able to probe the status of resource providers dynamically.
In addition, we add a new control message extension to each of three AODV routing packets: RREQ, RREP, and Hello [12][13] for resource monitoring and discovery and a resource table for the look-up of resource providers.
A. Control Message Extension for Resource Monitoring and Discovery
In order to support the resource table establishment, we design a new control message extension for NL-MDS, which was modified from the message extension of SREP and was described in Section 2.3. In Figure 4, the format of the proposed control message extension is shown and the definition of each filed is given in Table 4.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Type Length Lifetime
Resource
type Resource property URL
Length URL (variable length)
Figure 4: The proposed control message extension format.
Table 4: The definition of each field in the proposed control message extension.
Field Definition Type The value of the message type
Length Length of the extension Lifetime
The lifetime of the association between the service and the IP address of the node hosting the service
Resource Type
The type of the sharing resource:
the CPU free time, free memory space, or network bandwidth on wireless grids
Resource Property Property descriptions for the resource
URL Length Length of the URL URL
The service: URL strings as defined by the Service Location Protocol
By piggybacking the resource types and their status information to the message extensions of AODV control packets, whenever the route path discovery is initiated, the resource discovery is also in progress. While the RREP acts as a backward path discovery to establish a route path, the route table will be built, so will the resource table. The resource table contains the resource information of the current node and any other nodes along the same route path.
It offers the resource type and resource properties for look-up when a node needs some information about a required resource. In Figure 5, the resource discovery algorithm in NL-MDS is shown. A node will receive RREQ packets or RREP packets in the resource discovery procedure. When the received packet is a RREQ, it will update the route to the originator. If the current node is a destination or has a fresh route, it will attach resource information to the RREP message extension and send the RREP back to the originator, or it will attach resource information to the RREQ message extension and forward the RREQ to neighbors. On the other hand, when the received packet is a RREP, it will update the route table. If the current node is the originator, it will update the resource table; otherwise it will update the resource table and forward the RREP to neighbors.
Resource
Figure 5: Flowchart of resource discovery.
B. The Resource Table for Look-up
Resource type
Resource
property URL Lifetime
Figure 6: The proposed resource table.
We design a resource table for resource providers to exchange their sharing resources as shown in Figure 6. The definition of each field is shown in Table 5.
With only four fields are included in the resource table, our approach can provide a lightweight information service. When a route path is established, the route table and resource table will be established in each node as well. If a node initiates a request for sharing resources on wireless grids, it will first perform a fast look-up in its resource table. Because the node simply performs a look-up in its own resource table, it can get the information very quickly without any network transmission delay, mass look-up request and reply packets. The resource table not only supports the resource type and properties, but also offers the URL information to map to the IP addresses of the resource providers.
Considering the update frequency in wireless grids, the lifetime field is needed to keep the entry in the resource table fresh enough for look-up.
Table 5: The definition of each field in the resource table.
Field Definition
Resource type
The type of the sharing resource:
the CPU free time, free memory space, or network bandwidth on wireless grids
Resource property Property descriptions for the resource
URL
The service: URL strings as defined by the Service Location Protocol
Lifetime
The lifetime of the association between the service and the IP address of the node hosting the service
C. The Resource Monitoring
Upon the completion of resource discovery, the resource monitoring starts.
Similar to the route table maintenance, the resource table uses AODV Hello messages with the proposed message extension to detect the possible status change of resources. Hello messages, which are RREP messages with the hop count of 1, are used to detect the linkage broken and keep the connectivity with neighboring nodes. We also use Hello messages to exchange the resource information status between neighboring nodes. And when the resource information status changed, the associated node records the status in the message extension. Then if any neighboring node receiving the message extension will update its own resource table to keep the table fresh after checking the sequence number of the Hello message to make sure no duplication.
The resource monitoring algorithm is shown in the Figure 7. When in a resource monitoring cycle, the current node will check the Hello message. If there is no
change of resource information status, the current node will simply use the Hello packet without message extension, and the neighbors will receive the Hello packet. If there is any change of resource information status, the current node will attach updated information to the Hello message extension. And when the neighbors receive the Hello packet with message extension, it will check the sequence number. If the sequence number is new, the neighboring node will update the resource information, or skip this packet.
Neighbors
Figure 7: The flowchart of resource monitoring.