In recent years advances in semiconductor technology ...



Energy Efficient Arbitration of Medium Access in Wireless Sensor Networks

|Gaurav Jolly and Mohamed Younis |

|Dept. of Computer Science and Elec. Eng. |

|University of Maryland Baltimore County |

|1000 Hilltop Circle |

|Baltimore, MD 21250 |

|jolly1@umbc.edu and younis@cs.umbc.edu |

Abstract

Networking of unattended sensors has become very attractive for many civil and military applications such as disaster management and remote surveillance. Sensors in such applications are usually equipped with radio and operated by limited energy supply. Such energy-constrained environment requires careful design in order to extend the life of the network. Time based arbitration of radio transmission among the sensors is one of the effective techniques for energy conservation since it limits collision and allows for turning off the sensor’s radio circuitry when message reception is not expected. In this paper we propose a Tabu search based time-slot assignment algorithm to reduce energy consumption of the radio and eliminate packet drop due to buffer overflow. This algorithm strives to allocate contiguous transmission (reception) slots to each sensor and thus minimizes both radio’s active time and number of transitions between active and sleep modes. Reported simulation results demonstrate the efficiency of our approach.

Keywords: Energy-Aware Communication, Sensor networks, Energy-efficient design, TDMA slot scheduling.

Introduction

In recent years there have been major advances in the development of low power micro sensors. The emergence of such sensors has led practitioners to envision networking of a large set of distributed low power sensors scattered over a wide area of interest. However, these sensors are usually powered using small batteries and in many applications of sensor networks replacing sensor’s battery is not possible or not practical. Such energy constraints limits sensors’ lifetime and thus makes efficient design and management of sensor networks a real challenge. Therefore a lot of the research related to sensor networks has focused on energy-awareness and minimization [1][2][3]. In this paper we concentrate on the minimization of energy consumption at the MAC layer through time-based arbitration of the sensor’s medium access.

Since in TDMA sensors transmit and receive for only certain duration of time, the radio can be turned off when not in use making energy consumption to be much less compared to other MAC schemes. Moreover unlike other techniques where collisions might occur because two sensors, within the transmission range of each other may transmit at the same time. TDMA does not suffer from collisions since any two adjacent sensors are never assigned same transmission slots. However the TDMA scheme can be complicated by the routing scheme employed at the upper layers. Generally the energy consumed in transmitting wireless data is directly proportional to dn, where d is the distance between the transmitter and the receiver and n typically takes values between 2 and 4. Therefore, energy consumption can be attenuated if packets are transmitted in multiple hops of small distance instead of one longer range of transmission.

In a multi-hop routing scheme some sensors will receive multiple packets, and if the reception slots of these packets are spread over the duration of the frame then the sensor will have to be in the active state for extended duration of time. Being in active state consumes excessive energy, and consequently the advantage of TDMA diminishes. Alternatively to conserve energy a sensor should switch to low energy (sleep) mode when idle.

The slot assignment issue is very challenging because it deals with two conflicting attributes. First, the sensors have small buffer size and hence they cannot buffer all the packets. If the buffer gets full any packets arriving after that will have to be dropped and hence have to be retransmitted thus causing energy wastage. Second, the active to sleep transitions consume considerable amount of energy and should be minimized by making the sensors transmit (receive) all packets in contiguous time slots, but with small buffer sizes this is easier said than done.

Breadth first and depth first techniques have been applied to this problem [4]. We propose a novel approach that uses the Tabu search optimization algorithm. Simulation results show that the new algorithm outperforms BFS and DFS and achieves significant energy savings.

In the balance of this section we define the architectural model, the energy consumption model and summarize the related work. Section 2 describes our approach to energy-aware scheduling of slots in sensor networks. Description of the simulation environment and analysis of the experimental results can be found in section 3. Finally section 4 concludes the paper and discusses our future research plan.

1 System Model

The system architecture for the sensor network is depicted in Fig. 1. In the architecture sensor nodes are grouped into clusters controlled by a single command node. Every cluster has a gateway node that manages sensors in the cluster. Clustering the sensor network is performed by the command node and is beyond the scope of this paper. Sensors are only capable of radio-based short-haul communication and are responsible for probing the environment to detect a target/event.

The gateway node interfaces the command node with the sensor network via long-haul communication links. Sensors receive commands from and send readings to their gateway node, which processes these readings and transmits the fused information to the command node. The command node performs system-level fusion of collected reports for overall situation awareness. Unlike sensors the gateways are significantly less energy constrained. Hence the gateway is assigned the responsibility of organizing the sensors and routing generated data. Sensor organization refers to activating a subset of available sensors in the cluster to probe the environment based on the application and sensor’s capabilities. The gateway sets multi-hop routes and periodically sends route updates to the sensors calculated based upon the current state of the network. Route assignment will designate some sensors to act as relays. The sensors then adjust their transmit power based upon their next hop neighbor.

Radios are assumed to have the ability to operate in four distinct modes transmit, receive, idle and sleep. The energy consumed in idle mode is almost equivalent to that in receive mode [5]. The energy consumed by the radio is:

Eradio = Ntx [Ptx (Ton-tx+Tst) +PoutTon-tx] +Nrx [Prx (Ton-rx+Tst)] …… (1)

Where Ntx/rx is the average number of times per second transmitter/receiver is used. Tst is the transition time from sleep to active mode. Ton-tx/rx is the on time of transmitter/receiver. Pout is the output transmission power. Ptx/rx is the power consumed by transmitter/receiver [2] [6].

The on-board clocks of both the sensors and the gateway are assumed to be synchronized, e.g. via the use of GPS. While the GPS consumes significant energy, it has to be turned on for a very short duration during network startup. TDMA based MAC enables the maintenance of clock synchronization afterward. It is worth noting that most of these capabilities are available on some of the advanced sensors, e.g. the SenTech Acoustic Ballistic Module [7].

2 Related Work

In wireless networks, signal interference has received the most attention from the research community. Only recently energy efficiency has started to receive attention, especially with the increasing interest in the applications of unattended sensor networks [8].

Power management of the radio gains significant importance in sensor networks since the radio is a major of consumer of sensor’s energy. Several methods have been suggested to reduce the energy consumption of the RF circuitry. One such technique is to power off the sensor when it is idle, by making active to sleep transition [9][11]. However time taken to make a transition from sleep to active mode consumes a considerable amount of energy. With small packet sizes the energy consumed due to transitions becomes even more prominent and dominates the active mode’s energy consumption [10]. An approach to reduce such startup time in the radio circuitry was suggested in [11].

Energy saving through the use of time-based MAC in wireless sensor networks was explored in [4] [12] [13]. The idea is to schedule when to activate the radio receiver so that it can be turned off while not expecting a message. Turning off the receiver has been shown to achieve saving of up to 70% in energy consumption [12]. Approaches for determining when to turn off the receiver varies. While slots are prescheduled in [4], the decision for deactivating the receiving circuit is made autonomous in [12] by probing the environment. A reservation-based approach for scheduling medium access is pursued in [13]. Nodes make a request to a base station, which responds with a traffic control message indicating medium access schedule. Nodes not included in the traffic control message can turn off their receiver. In this paper we present an approach for optimally assigning slots with the consideration of routing paths. We believe that probing the environment or using reservation requests do not capture all the potential energy saving that time-based MAC can achieve in sensor networks.

Since long transmissions require more power, energy can also be saved if sensors transmit in multiple hops of small distances instead of one long transmission. It has been shown in [14] that majority of packets received by the sensors are for forwarding to other destinations.

Though akin to the above work in some aspects, the Tabu Search based technique presented in this paper is distinct since it deals with energy conservation through intelligent slot assignment with an objective of minimizing the transition between active and sleep modes and the time for which the radio is idle. Scheduling time slots can be NP-Hard especially when considering flow constraints and sensor’s capabilities limitations such as buffer size.

Slot Assignment in TDMA

Based on the current application mission, the gateway selects a set of sensors to probe the environment. There are many energy aware approaches that the gateway can use in route setup, e.g. [5]. Contingent upon these routes and the buffer size of the sensors, the gateway then calculates the order in which transmission slots are assigned to active sensors, both probing and relaying. In order to conserve energy, active sensors should shut down their radio when they are not transmitting or receiving.

Since the number of nodes managed by the gateway is large, the number of possible schedules can increase exponentially with the increase in sensor count. Therefore to overcome this limitation we propose a Tabu search based optimization algorithm for slot assignment.

Tabu search was introduced in [15] [16] and subsequently has been used to solve many optimization problems. Tabu search has become an accepted technique that in some cases surpassed conventional optimization techniques. Analogous to other optimization techniques Tabu search employs an iterative procedure in order to find a better solution in the neighborhood of the initial (current) solution. The search process is concluded when a terminating condition, such as maximum numbers of iterations or limited enhancements in the solution, is met. Unlike other techniques Tabu search employs an evolving memory to prevent getting trapped in a local minimum. In the balance of this section we formulate the slot assignment problem and discuss our approach to solve it.

Table 1: Using BFS, some packets will not reach the gateway (maximum buffer size = 2). A total of 9 state transitions are needed. Sensor A and C are idle for one slot. (Tr = Transmit, Rec = Receive, Sl = Sleep)

Slot No. / Sensor ID |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 | |A |Sl |Sl |Sl |Sl |( Rec |Rec |Rec(Drop) |Tr |Tr |idle | |B |Sl |Sl |Sl |Sl |( Tr |( Sl |Sl |Sl |Sl |Sl | |C |Sl |Sl |( Rec |Rec |idle |Tr |Tr |( Sl |Sl |Sl | |D |Rec |Rec |Tr |Tr |( Sl |Sl |Sl |Sl |Sl |Sl | |E |Sl |( Tr |( Sl |Sl |Sl |Sl |Sl |Sl |Sl |Sl | |F |Tr |( Sl |Sl |Sl |Sl |Sl |Sl |Sl |Sl |Sl | |Gateway |- |- |- |- |- |- |- |Rec |Rec |- | |Table 2: Using Tabu search, there is no packet drop and a total of 9 transitions. No node is in idle mode for any of the slots (Tr = Transmit, Rec = Receive, Sl = Sleep)

Slot No./ Sensor ID |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 | |A |Sl |Sl |Sl |Sl |( Rec |Rec |Tr |Tr |Rec |Tr | |B |Sl |Sl |Sl |Sl |Sl |Sl |Sl |Sl |( Tr |( Sl | |C |Sl |Sl |( Rec |Rec |Tr |Tr |( Sl |Sl |Sl |Sl | |D |Rec |Rec |Tr |Tr |( Sl |Sl |Sl |Sl |Sl |Sl | |E |Sl |( Tr |( Sl |Sl |Sl |Sl |Sl |Sl |Sl |Sl | |F |Tr |( Sl |Sl |Sl |Sl |Sl |Sl |Sl |Sl |Sl | |Gateway |- |- |- |- |- |- |Rec |Rec |- |Rec | |Table 3: Using DFS, total of 15 transitions take place. (Tr = Transmit, Rec = Receive, Sl = Sleep)

Slot No./ Sensor ID |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 | |A |Sl |Sl |( Rec |Tr |( Sl |Sl |( Rec |Tr |Rec |Tr | |B |Sl |Sl |Sl |Sl |Sl |Sl |Sl |Sl |( Tr |( Sl | |C |Sl |( Rec |Tr |( Sl |Sl |( Rec |Tr |( Sl |Sl |Sl | |D |Rec |Tr |( Sl |Sl |( Rec |Tr |( Sl |Sl |Sl |Sl | |E |Sl |Sl |Sl |Sl |( Tr |( Sl |Sl |Sl |Sl |Sl | |F |Tr |( Sl |Sl |Sl |Sl |Sl |Sl |Sl |Sl |Sl | |Gateway |- |- |- |Rec |- |- |- |Rec |- |Rec | |

1 Initial Solution

Fig. 2a represents a sample sensor network topology. It consists of two clusters. Each cluster has its own gateway that is responsible for assigning slots to sensors in the cluster. In the rest of this section we will concentrate on cluster #1 to illustrate our slot scheduling approach. The gateway of cluster #2 follows the same methodology. In Fig. 2a, nodes B, E, F, G and H are sensing nodes that generate their own packets, while nodes A, C, D and I are relays.

The paths followed by the packets of different branches of the gateway are independent of each other. Therefore, sensors can be grouped based upon routes assigned to them. This observation significantly reduces the complexity of the slot-scheduling problem since now the gateway has to deal with smaller groups of sensors instead of one large set of all sensors in the cluster. For example in Fig. 2b two graphs are generated after the grouping the sensors of cluster #1.Thereafter, one of these graphs is selected and transmission slots are initially allocated to its nodes using BFS.

For example, for graph #1, the first two slots are assigned to nodes E and F, followed by slots # 3 and 4 allocated to D. Nodes B and C are allocated slots # 5, 6 and 7. Finally node A is assigned slots 8 to 10. However as shown in table 1, with a maximum buffer size of two this will result in one packet being dropped at node A forcing slot # 10 to be idle. Additionally if the latency in going from active to sleep and then going back from sleep to active is greater than one slot size then node C has to remain idle for slot number 5. In graph #2 nodes G, H can be allocated slots 11 and 12, with node I getting slots 13 and 14 for transmitting to the gateway. Hereafter we will only concentrate on graph #1 since graph #2 is dealt with in a similar fashion.

To generate the initial solution for Tabu search an approach similar to BFS is employed. However at any stage if the buffer of any node gets full, it is assigned next few transmission slots equivalent in number to its buffer size. As shown in Fig 2c, node A is assigned slots 7 and 8 ahead of node C, when its buffer (buffer size = 2) gets full. This will prevent the buffer overflow at this node since the buffer will be flushed as soon it gets filled up.

2 Search Heuristic

To increase the efficiency of the search, a divide and conquer scheme is employed. Tabu search is partitioned into three distinct levels, each having individual Tabu memory. In the first level, one of the graphs generated by the initial solution is selected and passed to second level for optimization. This process is repeated until all graphs have been optimized. Moreover the selected graph is added to the Tabu list so that it will not be selected again. For example in Fig 2b graph 1 is selected.

In level two, one of the nodes of the selected graph is picked and passed to the third level for optimization. The second level is repeated until all nodes have been optimized or the maximum number of iterations has been reached. This node is then added to the Tabu list of this level. For example in Fig 2c out of nodes A, B, C, D, E and F, node A is selected.

In level 3, slots assigned to in-bound branches (links) of the selected node are swapped. For example slots assigned to nodes B and C are swapped in Fig 2c to get a new schedule in Fig 2d. Thereafter the energy consumed by the new solution is compared with the energy of the current (best) solution. If new solution consumes less energy, it will become current solution. The swap move is saved in to the Tabu list of this level so that it is not repeated again. This level is terminated either when all the swap moves are in the Tabu list or maximum numbers of iterations is reached.

Since most improvements are found at the branches of the nodes, level-3 searches extensively at the branches. Diversification is the procedure of shifting the search to a new area when trapped in local optima. This is implemented by exiting each level if no improvement is made for a certain number of iterations. The algorithm is sketched in Fig. 3.

Table 2 shows a transmission schedule when applying our approach. For the sake of comparison we include the schedule using DFS in table 3. Comparing table 2 to tables 1 and 3 demonstrates the superiority of our approach to BFS and DFS, both in terms of packet drop count and energy consumption due to both transitions and idle time.

Experimental Validation

The effectiveness of our approach is validated through simulation. This section describes performance metrics, simulation environment and experimental results.

1 Performance Metrics

• Buffer-caused packet drop count: the total number of packets dropped by the nodes due to buffer overflow. This should ideally be zero to avoid retransmission.

• Sensor’s energy unnecessarily consumed: This measures energy consumed by sensors while turning the radio circuitry on and staying idle and due to transitions between active and sleep modes.

• Total gateway energy consumed for slot scheduling: This metric quantifies the price that the gateway pays for energy saving at the sensor level.

• Number of search iterations: It is used to study the trade-off between energy saving at the sensor level and the cost at the gateway level.

2 Environmental Setup

In the experiments varying number of nodes are randomly placed in a 1000(1000 meter square area. The gateway is randomly positioned within this area. A free space propagation channel model is assumed [17] with the capacity set to 2Mbps. Packet lengths are 10 Kbit for data packets. For a node in the sensing state, packets are generated at a constant rate of 1 packet/sec [7]. The time taken in making a transition between the sleep and active states is assumed to be 470µsec. The power consumed at the circuit level in transmission and reception of a packet is set to 81mW and 180mW respectively [2]. The energy consumed in the transition is obtained by multiplying the transition time by the average of the power consumed while the radio is in active and sleep states. A radio circuit in a sleep mode is assumed not to consume any power. Routes are computed based upon the approach proposed in [5].

We assume that the sensors are tasked with a target-tracking mission. The initial set of sensing nodes is chosen to be the nodes on the convex hull. The set of sensing nodes changes as the target moves. Since targets are assumed to come from outside, the sensing circuitry of all boundary nodes is always turned on. Targets are assumed to start at a random position outside the convex hull. These targets are characterized by having a constant speed chosen uniformly between 4 and 6 meters/s.

3 Performance Results

We have studied the performance of our approach using the above metrics. It should be noted that the reported energy consumption is for transitions between sleep and active modes and for being in the idle state. Energy consumed in transmission and reception has not been presented here because the number of transmission/reception slots remains the same and our algorithm only changes the ordering of these slots.

Appropriateness of our Approach: For this experiment we varied the packet sizes and observed its effect on the energy consumed by the system due to transitions. As the packet sizes were reduced the energy contributed due to transitions increased manifold. Therefore as shown in Fig. 4 for smaller packet sizes effect of transitions becomes more conspicuous and hence the significance of our approach increases.

Comparison between time slot assignment algorithms: We ran a set of experiments to compare the performance of our approach against DFS and BFS. The results are shown in figures 5 and 6. As can be seen from Fig. 5 our approach eliminates packet drop.

Fig. 6 displays the energy consumed by active sensors due to transitions and idle state as an average of multiple experiments. The results corroborate the practicality of our approach, since it combines the advantages of the other two approaches.

Cost and benefit of algorithm: In order to examine the pay-off of the algorithm at the system’s level, we conducted a set of experiments and calculated the energy consumed at the gateway and corresponding energy conserved by a group of 15 active sensors monitoring a moving target. The experiments were conducted on a Pentium 850MHz processor where the power consumption of the CMOS circuitry is given by P= 1/2CV2f, where C is the load capacitance and taken to be 10 pico Farads, V is the supply voltage and equals 3.3 Volts and f is the clock frequency in Hertz[18]. The execution time is measured and then and multiplied by the power consumed in order to calculate the depleted energy in running the algorithm. The results in Fig. 7 show that increase in the number of iterations performed in the Tabu search reduces the energy consumption of the sensors to almost 50 % at a reasonable cost. After a certain number of iterations there is no improvement in the solution and the gateway energy is unnecessarily wasted. Fig. 7 can be used to perform trade-off analysis between the energy conservation at sensor and gateway level. Depending on the energy reserve at sensors and the importance of their role it might be justifiable to consume additional gateway energy to run more search iterations.

Conclusion and Future Work

In this paper we have introduced a novel approach that employs the Tabu search optimization technique for assigning time slots in sensor networks. The approach conserves sensor’s energy by minimizing the number of transition between active and sleep modes and the duration in which active sensors are idle. In addition, our approach observes the buffering limitation at sensor’s node and prevents packet drop. Simulation results demonstrate that our approach outperforms contemporary approach such as DFS and BFS.

In this paper we have assumed that the sensor network employs a TDM-FDM scheme where the nodes in different clusters within transmission range or each other use different frequencies. We however believe that energy can further be conserved, if nodes in each cluster can use the full bandwidth. We would like to investigate a scheme where gateways could arbitrate among themselves and then assign slots in a manner that despite using the same frequency the sensors in distinct clusters that are in transmission range of each other do not transmit in the same slot.

References

1] A.A. Abidi, G.J. Pottie, and W.J. Kaiser, “Power-Conscious Design of Wireless Circuits and Systems,” Proceedings of the IEEE, vol. 88, no. 10, pp. 1528-45, October 2000.

2] E. Shih, et al., "Physical Layer Driven Algorithm and Protocol Design for Energy-Efficient Wireless Sensor Networks", in the Proceedings of the 7th ACM Mobile Computing and Communication (MobiCom 2001), Rome, Italy, July 2001. 

3] A. Woo and D. Culler, “A transmission control scheme for medium access in sensor networks,” in the Proceedings of the 7th ACM Mobile Computing and Communication (MobiCom 2001), Rome, Italy, July 2001.

4] K. Arisha, M. Youssef, M. Younis, “Energy-Aware TDMA-Based MAC for Sensor Networks,” Proceedings of the IEEE Workshop on Integrated Management of Power Aware Communications, Computing and Networking (IMPACCT 2002), New York City, New York, May 2002.

5] M. Younis, M. Youssef, K. Arisha, “Energy-Aware Routing in Cluster-Based Sensor Networks”, in the Proceedings of the 10th IEEE/ACM International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS2002), Fort Worth, Texas, October 2002.

6] National Semiconductor Corporation, LMX3162 Evaluation Notes and Datasheet, April 1999.

7] "Data sheet for the Acoustic Ballistic Module", SenTech Inc.,

8] J. M. Kahn, R. H. Katz and K. S. J. Pister, “Mobile Networking for Smart Dust”, in the Proceedings of the 5th ACM Mobile Computing and Communication (MobiCom 99), Seattle, WA, August 1999.

9] V. Raghunathan, et al., “Energy aware wireless microsensor networks”, IEEE Signal Processing Magazine, March 2002.

10] E. Shih, et al., "Energy-Efficient Link Layer for Wireless Microsensor Networks", in the Proceedings of the Workshop on VLSI 2001 (WVLSI '01), Orlando, Florida, April 2001

11] A. Wang, et al., "Energy-Efficient Modulation and MAC for Asymmetric Microsensor Systems", in the Proceedings of ISLPED 2001, Huntington Beach, CA. August 2001.

12] S. Singh and C.S. Raghavendra, “PAMAS: Power Aware Multi-Access protocol with Signaling for Ad Hoc Networks”, ACM Computer Communications Review, July1998.

13] P. Havinga, G. Smit, “Energy-efficient TDMA medium access control protocol scheduling,” in the Proceedings of the Asian International Mobile Computing Conference (AMOC 2000), November 2000.

14] V. Tsiatsis, S. Zimbeck, and M. Srivastava, “Architectural strategies energy efficient packet forwarding in wireless sensor networks,” in the Proceedings of ISLPED 2001, Huntington Beach, CA. August 2001.

15] F. Glover “Tabu Search, Part I,” ORSA Journal on Computing 1, pp. 190-206, 1989.

16] F. Glover “Tabu Search, Part II,” ORSA Journal on Computing 2, pp. 4-32, 1990.

17] J. Andresen, et al., “Propagation Measurements and Models for Wireless Communications Channels,” IEEE Communications Magazine, Vol. 33, No. 1, January 1995.

18] J. Pouwelse, K. Langendoen and H. Sips, “Dynamic Voltage Scaling on a Low-Power Microprocessor,” in the Proceedings of the International Symposium on Mobile Multimedia Systems & Applications (MMSA'2000), Delft, The Netherlands, November 2000.

-----------------------

[pic]

Fig. 4: Effect of packet size on transition energy

[pic]

Fig.6: Effect of number of sensors on the average energy consumed by a sensor in idle state

[pic]

Fig 1. Architecture of unattended sensor network

[pic]

Fig. 5: Effect of Buffer Size on Packet Drop Count.

E

D

C

B

A

F

E

D

C

B

A

Level - 3

Level - 2

Slot No. |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 | |Receive |D |D |C |C |A |A |Gateway |Gateway |A |Gateway | |Transmit |F |E |D |D |C |C |A |A |B |A | |

d)

Slot No. |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 | |Receive |D |D |C |C |A |A |Gateway |Gateway |A |Gateway | |Transmit |F |E |D |D |B |C |A |A |C |A | |

c)

Level - 1

Sensor (Relay mode)

Sensor (Sensing mode)

Gateway-2

O

N

M

L

K

J

P

Fig 2: a) Initial Topology represented as graphs b) Cluster-1 after partitioning into distinct graphs

c) Node A is selected at level-2 of Tabu Search d) At level-3 slots of B and C are exchanged

Gateway-1

Graph #2

Graph #1

Cluster #2

Cluster #1

H

G

I

H

G

I

b)

[pic]

Fig 7. Effects of the number of search iterations on energy consumed by the gateway and the sensors.

a)

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download