# Wireless grid

Wireless grids are wireless computer networks consisting of different types of electronic devices with the ability to share their resources with any other device in the network in an ad hoc manner. A definition of the wireless grid can be given as: "Ad hoc, distributed resource-sharing networks between heterogeneous wireless devices" The following key characteristics further clarify this concept:
* No centralized control
* Small, low powered devices
* Heterogeneous applications and interfaces
* New types of resources like cameras, GPS trackers and sensors
* Dynamic and unstable users / resources
The technologies that make up the wireless grid can be divided into two main categories; ad hoc networking and grid computing.

## (Wireless) Ad hoc networking

In traditional networks, both wired and wireless, the connected devices, or nodes, depend on dedicated devices (edge devices) such as routers and/or servers for facilitating the throughput of information from one node to the other. These 'routing nodes' have the ability to determine where information is coming from and where it is supposed to go. They give out names and addresses (IP addresses) to each connected node and regulate the traffic between them. In wireless grids, such dedicated routing devices are not (always) available and the bandwidth that is permanently available to traditional networks has to be either 'borrowed' from an already existing network or publicly accessible bandwidth (open spectrum) has to be used.
A group addressing this problem is MANET (Mobile Ad Hoc Network).

### Resource sharing

One of the intended aspects of wireless grids is that it will facilitate the sharing of a wide variety of resources. These will include both technical as information resources. The former being bandwidth, QoS, and web services, but also computational power and data storage capacity. Information resources can include virtually any kind of data from databases and membership lists to pictures and directories.
Ad hoc resource sharing between mobile devices in the wireless grid require for the devices to agree on sharing/communication protocols without the existence of dedicated servers.

### Coordination Systems

Coordination Systems are the actual mechanisms that enable the sharing of resources between different devices. For different resources, devices use different coordination systems. Examples of such mechanisms are: SMB or NFS for sharing disk space and the distributed.net client for sharing processor cycles.

### Trust Establishment

Before users are willing to share any resource, they demand a certain amount of trust between them and the users and/or systems they share resources with. The amount of trust required depends on the kind of information/resource that is to be shared. Sharing processor cycles requires less substantial trust then the sharing of personal information and commercial information can require another level of trust establishment altogether. There are systems currently in operation that can provide a certain amount of trust like the public key infrastructure that makes use of certificates; now often used in web based email systems, and Kerberos.

### Resource discovery

Before any resource on a device in the grid can be utilized, those resources that are available must be discovered; all the devices that make up the grid and the resources they possess have to be identified. When a client enters the grid, such as a PDA, it has to be able to communicate to the other users that it is a PDA and it has a camera, GPS capabilities, a telephone function and various office applications such as a text editor. Protocols like UPnP and zeroconf can detect a new node in the network when it enters. When detected, other users can send a query to the new device to find out what it has to offer. Commercial service providers can 'advertise' the resources they have to offer through IP multicasts. Within large grids containing thousands of nodes, a kind of 'friend of a friend' mechanism can be used. There is a myriad of standards that include resource description protocols. Standards as IETF's zeroconf, Microsoft's UPnP, the Grid Resource Description Language (GRDL), the Web Services Description Language (WSDL) for describing various specific web services and parts of QoS that describe bandwidths all offer devices a way to describe and publish their specific resources and needs. There are also various systems currently available that can gather these resource descriptions and structure them for other devices to use. The OpenGrid Services Architecture (OGSA) uses a Web service-style IndexService. The Web services community has defined UDDI which can makes a database of services that are available on the network, and JXTA uses zeroconf to identify resources in a network. However, the problem with using these in wireless grids is that no stable publisher of these descriptions may exist.

### Resource description

For any device to be able to use any resource, a way to identify and describe the resource has to be agreed on by all available devices. If, for instance, storage capacity is to be shared, it first has to be clear what the capacity of each device is and what the storage need is. As said, there are many techniques to describe certain resources but there is not one technique that is able to provide this service for all resources. The available techniques combined, however, cover most of what is needed.

## Grid Computing

Grid computing came into existence as a manner of sharing heavy computational loads among multiple computers to be able to compute highly complex mathematical problems (a good real-world example being the SETI@Home project). However, it developed rapidly into a way of sharing virtually any resource that is available on any machine on the grid. Wired grids are now used to share not only computing power, but also hard disk space, data, and applications. The grid topology is highly flexible and easily scalable, allowing users to join and leave the grid without the hassle of time and resource hungry identification procedures, having to adjust their devices or install additional software on them. The goal of grid computing is described as "to provide flexible, secure and coordinated resource sharing among dynamic collections of individuals, institutions and resources" (McKnight, Howison, 2004). It is intended to be a dynamic network without geographical, political, or cultural boundaries that offers real-time access to heterogeneous resources and still offer the same characteristics of the traditional distributed networks that are in use everywhere in our houses and offices. These characteristics being stability, scalability, and flexibility as the most important ones. Ian Foster offers a checklist for recognizing a grid.
    A grid allows:
* Coordination of resources that are not subject to centralized control
* Use of standard, open, general-purpose protocols and interfaces
* Delivery of nontrivial qualities of service

### The Wireless Grid

One of the biggest limitations of the wired grid is that users are forced to be in a fixed location as the devices they use are to be hard wired to the grid at all times. This also has a negative influence on the flexibility and scalability of the grid; devices can only join the grid in locations where the possibility exists to physically connect the device to the grid (i.e. there is the need for a hub or a switch to plug into).
One description of the wireless grid is "an augmentation of a wired grid that facilitates the exchange of information and the interaction between heterogeneous wireless devices" (Argawal, Norman & Gupta, 2004)
Argawal, Norman & Gupta (2004) identify three forces that drive the development of the wireless grid:
New user interaction modalities and form factors Applications that exist on current wired grids need to be adapted to fit the devices used in wireless grids. These devices are usually hand held and therefore the user interface devices (screens, keyboards (if any)) are significantly smaller and availability of additional input devices like a mouse are limited. This means the traditional graphical interfaces found on PCs are not suitable.
Limited computing resources Wireless devices do not possess the computing power nor the storage capacity of full size devices like a PC or laptop. Therefore, wireless applications need to have access to additional computing resources to be able to offer the same functionality that wired networks do.
Additional new supporting infrastructure elements In the case of an unforeseen event, there will be the need for major amounts of computational and communications bandwidths. An urban catastrophe, for example, would require a dynamic and adaptive wireless network to alert people within the population as well as those in the various coordination and aid services like the police, army, medical services, and government. Applications to provide for these bandwidths and 'instant' networks need to be addressed.

### Wireless Grids infrastructure

The infrastructure of the wireless grid consists of three basic levels:
* The physical layer technologies and policies. The physical layer contains the spectrum on which the wireless devices can operate and communicate.
* Network infrastructure
* Middleware to provide communications between heterogeneous devices