BACKGROUND

1. Field of the Invention

The present invention relates generally to irrigation, and more specifically to controlling irrigation.

2. Discussion of the Related Art

Water continues to be a precious commodity. Further, the conservation of water continues to be a topic of great interest to governments, water authorities, municipalities, farms, corporations, and individual consumers. Additionally, the price of water continues to rise.

Accordingly, the use of water and its application in irrigation is becoming more important. Similarly, the control of the application of water in irrigation is also becoming more important. Many irrigation systems employ multiple controllers to control irrigation over a geographic area. These systems utilize master valves to, at least in part, control the water flow through the irrigation system. Some systems further utilize sensors in identifying parameters that can be used to control irrigation.

SUMMARY OF THE INVENTION

Several embodiments of the invention advantageously address the needs above as well as other needs by providing methods of controlling irrigation. In some embodiments, methods of irrigation comprise: communicating an assumption broadcast from a first irrigation controller to each of a plurality of other irrigation controllers of an irrigation system, where the assumption broadcast defines assumed states of operation of one or more control elements each coupled to a respective one of the first irrigation controller or a respective one of the plurality of other irrigation controllers of the irrigation system, wherein the irrigation system is configured to implement irrigation scheduling instructions, wherein the one or more control elements are shared with one or more of the first irrigation controller and the plurality of other irrigation controllers of the irrigation system that are not coupled to the one or more control elements; determining whether a reply is received from one or more of the plurality of other irrigation controllers in reply to the assumption broadcast; identifying, from the reply, a correction to a state corresponding to a first control element of the one or more control elements, where the first control element is associated with a first of the plurality of other irrigation controllers; updating state information corresponding to the first control element in response to the identifying the correction; and communicating a subsequent notification from the first irrigation controller to each of the plurality of other irrigation controllers of the irrigation system, where the subsequent notification comprises the updated state information corresponding to the first control element.

In some embodiments, an irrigation system comprises: a computer-based central irrigation controller configured to communicationally couple with multiple satellite irrigation controllers; and a sub-system comprising: a server satellite irrigation controller of the multiple satellite irrigation controllers, in communication with the central irrigation controller; one or more client satellite irrigation controllers, of the multiple satellite irrigation controllers, where the one or more client satellite irrigation controllers are in communication with the server satellite irrigation controller and where each of the one or more of client satellite irrigation controllers controls one or more irrigation devices in implementing respective irrigation scheduling instructions received from the computer-based central irrigation controller via the server satellite irrigation controller and stored at each of the one or more client satellite irrigation controllers; and one or more control elements, where each of the one or more control elements are coupled to a respective one of the server satellite irrigation controller or the one or more of the client satellite irrigation controllers, and where the one or more control elements are shared with one or more of the server satellite irrigation controller and the one or more client satellite irrigation controllers of the sub-system that are not coupled with the control element; where the server satellite irrigation controller is configured to: communicate an assumption broadcast to each of the one or more client satellite irrigation controllers, where the assumption broadcast defines assumed states of operation of the one or more control elements; determine whether a reply is received from one of the one or more client satellite irrigation controllers in reply to the assumption broadcast; identify, from the reply, a correction to a state corresponding to a first control element of the one or more control elements, where the first control element is associated with at least the one of the one or more client satellite irrigation controllers; update state information corresponding to the first control element in response to the identifying the correction; and communicate a subsequent notification to each of the one or more client satellite irrigation controllers, where the subsequent notification comprises the updated state information corresponding to the first control element.

In other embodiments, methods of controlling irrigation comprise: receiving, at a first client satellite irrigation controller of a sub-system of a central control irrigation system, an assumption broadcast communicated from a server satellite irrigation controller to each of one or more client satellite irrigation controllers of the sub-system, where the assumption broadcast comprises a plurality of state identifiers identifying assumed states of one or more control elements within the sub-system, wherein the central control irrigation system includes a computer based central controller configured to communicate irrigation scheduling instructions to the server satellite irrigation controller, wherein the one or more control elements are shared with one or more of the server satellite irrigation controller and the one or more client satellite irrigation controllers of the sub-system that are not coupled to the one or more control elements; identifying within the assumption broadcast each state identifier that is associated with one or more shared control elements shared with the first client satellite irrigation controller; determining whether one or more of the state identifiers associated with the shared control elements shared with the first client satellite irrigation controller are inconsistent with an irrigation scheduling instruction being implemented by the first client satellite irrigation controller; and communicating a reply to the assumption broadcast when it is determined that one or more of the state identifiers associated with the shared control elements shared with the first client satellite irrigation controller are inconsistent with the irrigation scheduling instruction.

Further, in some embodiments, a method of controlling irrigation comprises: communicating, from a first additional irrigation controller of a plurality of additional irrigation controllers of an irrigation system and to a first irrigation controller of the irrigation system, a request that a first control element, being shared with and not directly controlled by the first additional irrigation controller, be transitioned to a first state in accordance with an irrigation scheduling instruction stored at the first additional irrigation controller and being implemented by the first additional irrigation controller in response to the first additional irrigation controller determining the first control element is in a second state and inconsistent with the irrigation scheduling instruction, wherein the first control element is shared with the first additional irrigation controller and one or more of the first irrigation controller and the plurality of additional irrigation controllers of the irrigation system and where the plurality of additional irrigation controllers are cooperated, within the irrigation system, with the first irrigation controller; pausing, at the first additional irrigation controller, the irrigation scheduling instruction at a beginning of an irrigation cycle being implemented at the first additional irrigation controller; receiving a notification identifying that the first control element has been changed to the first state; unpausing, at the first additional irrigation controller, the irrigation scheduling instruction at the first additional irrigation controller in response to the notification that the first control element has been changed to the first state; and executing, at the first additional irrigation controller, the irrigation scheduling instruction.

