Command priority levels for an access controller apparatus

An access controller apparatus and method for controlling physical access to an area are provided to determine a current priority level setting of the access controller and to ignore a received command in response to a comparison of the priority level of the received command to the current priority level setting of the access controller. Thus, a prioritized response to commands is provided such that commands of certain priority levels can be acted upon in certain situations. This helps allow for proper responses to multiple conflicting commands and for prioritized responses to commands of greater importance or of universal impact.

TECHNICAL FIELD

This invention relates generally to access controllers, and more particularly to commands for access controllers.

BACKGROUND

Access controllers, as are generally known in the art, can respond to any number of commands to influence operation of the access controller to control physical access to an area. Over time, the number of possible commands that an access controller can respond to has grown. Similarly, the complexity of the individual commands has grown along with an access controller's response to these commands. For example, a single command may cause the access controller to perform multiple tasks simultaneously or in succession.

With this increased quantity and complexity of commands, an access controller will often receive multiple commands, some of which may be in conflict with each other. For example, a later received command may directly conflict with an earlier received command wherein performing the task associated with the later received command would conflict with a previously or continuously performed task associated with the earlier received command. Additionally, some commands may be deemed of greater importance than others or have more of a universal impact than others.

DETAILED DESCRIPTION

Generally speaking and pursuant to these various embodiments, an access controller apparatus for controlling physical access to an area comprises at least an input device configured to receive at least one command to influence operation of the access controller and a processing device connected to the input device. The processing device is configured such that it can determine a current priority level setting of the access controller and ignore a received command based on a result of the comparison between the priority level of the received command and the current priority level of the access controller.

So configured, the access controller can provide a prioritized response to commands such that, by at least one embodiment, only commands of the same or higher priority level than a current priority level setting of the access controller can be acted upon. In another embodiment, only commands of a higher priority level than a current priority level setting of the access controller can be acted upon while ignoring commands of the same priority level. By one approach, the current priority level setting of the access controller can be set by a specific command to set the priority level setting to a specific level. By another approach, the current priority level setting can simply be that of the highest priority level command previously received. By another approach, the current priority level setting can be set to match that of a received command having a higher priority level than the priority level setting of the access controller at the time of receipt. Thus, by way of at least one example, if an access controller receives a command with a specific priority level to influence an operation to open a barrier and keep it open, the access controller may ignore later conflicting lower priority commands to close the barrier.

These and other benefits may become clearer upon making a thorough review and study of the following detailed description. Referring now to the drawings, and in particular toFIG. 1, it may be helpful to first describe an illustrative application setting of an access controller apparatus100. It will be understood that the specifics of this example are intended to serve only in an illustrative regard and are not intended to express or suggest any corresponding limitations with respect to the scope of these teachings.

In this illustrative example, an access controller apparatus100comprises a movable barrier operator101, such as the garage door operator101positioned within a garage102depicted inFIG. 1. The garage door operator101mounts to the garage ceiling103and serves to control and effect selective movement of a barrier104(comprising a multipanel garage door in this illustrative example). The barrier104may include a plurality of rollers rotatably confined within a pair of tracks105positioned adjacent to and on opposite sides of the garage opening106.

The example access controller apparatus includes a head unit optionally having a motor303(FIG. 3) to provide motion to the barrier104via a rail assembly107. The rail assembly107includes a trolley108for releasable connection of the head unit to the barrier104via an arm109. The arm109connects to an upper portion110of the barrier104. The trolley108connects to an endless chain (or belt or the like) that effects the desired movement of the trolley108and hence the door104via the arm109. This chain can be driven by a sprocket that couples to the aforementioned motor303in the head unit. A wall control unit113communicates over a wireline connection114with the head unit of the movable barrier operator101to send commands to the movable barrier operator101to control movement of the barrier104or other components, such as, for example, a light. The access controller apparatus100may also be responsive to commands received from radio transmitters112, wherein the transmitters112may comprise portable transmitters (such as keyfob-style transmitters) or keypad transmitters (such as those often mounted or installed in automobile sun visors). The entire head unit is typically powered from a power supply.

In addition, in this illustrative example the movable barrier operator101includes an obstacle detector115that optically or via an infrared-pulsed beam detects when the garage door opening106is blocked and signals the movable barrier operator101accordingly of the blockage. The movable barrier operator101can then, for example, cause a reversal or opening of the barrier104to avoid contact with the obstacle.

Those having skill in the art will understand that the access controller apparatus100can be any device that controls physical access to an area, and is not limited to a garage door operator101, but may comprise other movable barrier operators, such as sliding, swinging, or lifting gate operators, barrier arm operators, commercial door operators, or other automatic door operators. In other embodiments, the access controller apparatus100may not comprise a movable barrier operator and may lack the ability to physically move the barrier104. In such an instance, the access controller apparatus100may instead be a logical controller which operates to grant or deny access to a restricted or secured area based on a set of rules or operations. Such examples include basic lock controllers, telephone entry systems, and any other device designed to grant or deny physical access to a restricted area. By some embodiments, the access controller apparatus100may communicate with or control a separate and distinct movable barrier operator101to effect movement of a barrier104(for example, through link306inFIG. 3). Communication may be by means of relay contact closure or other wireline communication, or by wireless transmissions.

With reference now toFIG. 2, an example command priority structure200is illustrated in accordance with various embodiments of the invention. Various commands are each assigned at least one priority level. In this example, a priority level of “0” represents the lowest priority level, with subsequent increasing priority levels having a higher priority corresponding to their priority ranking above priority level “0” (i.e., 1, 2, 3, etc.). In the context of an access controller apparatus100, some example commands having a priority level “0” (or the lowest priority level) may include an open command, a close command, or a stop command. In this context, each of these commands directly corresponds to the respective descriptive movement of a movable barrier104. Movement is effected either directly by the access controller apparatus100or through the aid of a separate movable barrier operator101. As is readily understood, an “open” command opens the movable barrier104, a “close” commands closes the movable barrier104, and so forth.

Commands corresponding to priority level “1” may comprise open-hold-open, close-hold-closed, and stop-hold-stopped commands. These are examples of compound commands, wherein one command produces multiple actions (e.g., open the movable barrier104, and then hold it open), though not all commands associated with a certain priority level need be compound commands. In response to receiving an open-hold-open command, the access controller apparatus100may effectuate opening the movable barrier104to the open position (either directly or through the use of a separate movable barrier operator101), if it is not already at the open position, and keeping the movable barrier in the open position. Keeping the barrier104in the open position may entail overriding a timer-to-close function that would otherwise close the movable barrier104after a set amount of time or inactivity, or a scheduled close operation. A close-hold-closed command operates much the same, but simply in reverse, moving the barrier104to the closed position, if not already there, and holding the movable barrier in the closed position. A stop-hold-stopped command will stop movement of the barrier during travel and hold the movable barrier at that mid-travel position. Continuing with this example, an emergency hold open command is assigned a priority level “2” and acts similarly to an open-hold-open in that it opens the barrier104and keeps it open. It may be given a higher priority due to the emergency nature, thus preventing overriding of the function by other commands associated with the same priority level when commands of the same priority level are not ignored, as may be possible in some embodiments.

By one approach, sets of commands within one priority level (or spanning multiple priority levels) may actually be triggered from a single signal from a transmitter112or other signal generating device attached to or in communication with the access controller apparatus100(such as the wall control unit113). In such an instance, the actual command followed by the access controller apparatus100is subject to the current state of the access controller apparatus100(or of the movable barrier104) rather than simply the contents of a command in the received signal. For example, an access controller apparatus100comprising a garage door operator will open the garage door when it is currently closed in response to a user pressing a button on a transmitter, which sends a signal to the garage door operator. Conversely, if the door is in the open position and the user presses the same button (resulting in the same signal being sent), the garage door operator will determine the current state of the door (open) and act in response to receiving that same signal by closing the door. Additionally, if the user presses the same button (resulting in the same signal being sent) during travel to the open or closed positions, the garage door operator may determine the current state of the door (moving) and act by stopping movement.

By selectively assigning priority levels to individual or compound commands, commands of certain priority levels can be ignored in certain situations based on results of comparisons between a priority level of a received command and a current priority level setting of the access controller apparatus. Specifically, by at least one embodiment, commands of lower priority levels can be ignored when a command of a higher priority level has previously been received and acted upon by the access controller apparatus. For example, if an open-hold-open command having priority level “1” has been received, the access controller apparatus100would act in accordance with this command and set its own current priority level setting to be “1” (possibly in a volatile or non-volatile memory or a register) and would ignore subsequent received lower priority level commands to close the movable barrier. By at least one approach, this would continue until the current priority level setting of the access controller apparatus100is set to level “0” once again, at which time the access controller apparatus100would be responsive to open, close, and stop commands.

Referring now toFIG. 3, the access controller apparatus100for controlling physical access to an area is described in further detail. The access controller apparatus100includes an input device301, which may comprise any input device301capable of receiving commands. For example, the input device may comprise a radio frequency receiver to receive coded radio frequency transmission from one or more radio transmitters112. The input device could also comprise a wireline receiver or interface configured to receive commands via a wireline connection, such as, for example, wireline connection114inFIG. 1. The input device301may also comprise a network adaptor configured to receiving wireless or wire-based network (such as IP based communication or the like). The access controller apparatus100also comprises a processing device302operatively connected to the input device301. The processing device302may be any suitable type of processing device as are known in the art, including, but not limited to, one or more central processing units, pic processors, microprocessors, multi-core or single-core processors, programmable logic arrays, digital signal processors, and the like. Those skilled in the art will recognize and appreciate that such a processing device302can comprise a fixed-purpose hard-wired platform or can comprise a partially or wholly programmable platform. All of these architectural options are well known and understood in the art and require no further description here.

Optionally, as previously described, the access controller apparatus100may further comprise a movable barrier operator101so that the access controller apparatus100may also include a suitable motor303, as are known in the art, or other means to effect actual physical movement of a physical barrier104(such as a gate or a door). The motor303may be communicably and/or operably connected to the processing device302as indicated by connection305.

Also, in addition to the motor303, or in lieu thereof, the access controller apparatus100may communicate with or control a separate and distinct movable barrier operator101to effect movement of a barrier104. This may be achieved through a link306that communicatively or operatively links the processing device302of the access controller apparatus100to the separate and distinct movable barrier operator101. By a preferred approach, the link306further comprises other components as are commonly known in the art (not shown) to effectuate the communication link306. Example components may include relay closures, serial or parallel communication hardware (such as RS-232, RS-422, RS-485, and the like), USB connection hardware, TCP/IP ports and hardware, WiFi connection hardware, or other known components to effectuate an appropriate wireline or wireless link306.

The input device301is configured to receive at least one command to influence operation of the access controller apparatus100, which is then communicated to the processing device302. The processing device302is configured to determine a current priority level setting of the access controller apparatus100and compare a priority level of the at least one command received by the input device301to the current priority level setting of the access controller apparatus100to produce a comparison result. The processing device302can be further configured to ignore the at least one command in response to the result of the comparing.

By at least one other approach, the processing device302is configured to determine that the priority level of the at least one command is lower than the current priority level setting and responsively ignore the at least one command.

By another approach, the processing device302is further configured to determine whether a priority level of the at least one command is a same or lower priority level than the current priority level setting of the access controller apparatus100. If so, the processing device302will also responsively ignore the at least one command. Thus, by this alternate embodiment, the received command must at least be a higher priority level than the current priority level setting of the access controller apparatus100for the access controller apparatus100to operate according to the received command. This is slightly distinguishable from the previously described embodiment above, wherein the access controller apparatus100will also operate according to the received command if it is the same priority level as the current priority level setting.

By another embodiment, the access controller apparatus100may further comprise at least one memory device304operatively connected to the processing device302. This memory device304may be any type of memory as are generally known in the art. The memory device304may store a plurality of commands that are individually associated with at least one priority level. The processing device302may be further configured to determine the priority level associated with a received command by determining a priority level associated with at least one matching stored command within the plurality of commands stored in the memory device304.

By another approach, to determine the current priority level setting for the access controller apparatus100, the processing device302may be further configured to receive at the input device301at least one other command comprising at least one instruction specifying the current priority level setting of the access controller apparatus100. Returning briefly toFIG. 2, examples of such priority-level-specifying commands are depicted at priority levels 3, 4, and 5. Upon receipt of one of these commands, the processing device302will set the current priority level setting of the access controller apparatus100to the appropriate corresponding priority level setting according to the received command. Alternatively, the priority-level-specifying commands (shown at priority levels 3, 4, and 5) may all be associated with the same priority level. By many embodiments, it may be preferred, though not necessary, to associate all or some of the priority-level-specifying commands with a higher priority level than all other non-priority-level-specifying commands (such as open, close-hold-closed, emergency hold open, etc) or with the highest available priority level. If not, the access controller apparatus100may become “stuck” at a higher priority level without a means to set the current priority level to a lower one as all priority-level-setting commands would be ignored.

On the other hand, situations may exist where it is desired that even priority-level-specifying commands be ignored. For example, it may be beneficial to associate an emergency hold open command with the highest available priority level so that there is no chance that the command can be accidentally overridden in an emergency situation by a user with authority to specify the current priority level. Such a configuration may require a hard reset of the access controller apparatus100to clear a current priority level setting, possibly returning the access controller apparatus100to a default current priority level setting. By at least one approach, the default setting is the lowest available priority level setting (or “0” in this example). Thus, the hard reset would reset the current priority level setting to the default level and allow the access controller apparatus100to operate as normal. However, in other embodiments, the access controller apparatus100may be configured to store the current priority level in a non-volatile memory medium, wherein a hard reset may not clear its value. In such an instance, it would be beneficial to include at least one priority-level-setting command associated with the highest priority level, as previously described.

By an alternate approach, the processing device302may be configured so that if the current priority level setting of the access controller apparatus100is set to a default priority level, which may or may not be the lowest available priority level, the processing device302may act upon other commands associated with the same default priority level. However, in this same approach, if the current priority level setting is anything other than the default priority level, then the processing device302can ignore other received commands associated with the same priority level as the currently set non-default priority level. For example, and with brief reference again toFIG. 2, if the current priority level setting is set to a default “0,” the processor will respond to received commands associated with the “0” priority level (e.g., open, close, stop). However, if the current priority level setting is “1” due to, for example, a previous reception of an open-hold-open command, the processing device will ignore other commands associated with priority level “1.” That is, the access controller apparatus100will not respond to a close-hold-closed after it had received the open-hold-open command. By this, a sort of hybrid approach is described wherein the processing device302ignores not only commands less than the default level when the current priority level is set to the default level, but will also ignore commands less than or equal to a non-default priority level when the current priority level is set to the non-default priority level.

Additionally, by at least one other approach, to determine the current priority level setting for the access controller apparatus100, the processing device302may be further configured to determine a highest priority level of one or more commands of a set of previously received commands. For example, if the access controller apparatus100has previously received at least one command associated with a priority level “1” (for example, an open-hold-open command) within a set of previously received commands and received no other command of a higher priority level, then the processing device302will determine that the current priority level setting for the access controller apparatus100is “1.” This determination may occur at one time by examining a historical record of previously received commands or may be made continuously through comparison of priority levels of received commands with the current priority level setting as commands are received and updating a register, flag, or other static or dynamic data storage means if the received command is higher than the current priority level setting of the access controller apparatus100. The set of previously received commands may comprise the set of all commands ever received by the access controller apparatus100, all commands received since initial power-up or reset, all commands received within a certain time window (for example, the previous 24 hours), or a set number of received commands (for example, the past 20 received commands). By one example, the set of previously received commands comprises the set of all commands received since receiving at least one other command comprising at least one instruction specifying a current priority level setting of the access controller apparatus100(i.e., “set priority level to 0” inFIG. 2). So configured, the access controller apparatus100will maintain the highest previously received priority level until receiving a command to set the priority level to a different priority level.

In another example, the processing device302is further configured to determine whether a priority level of the at least one received command is a higher priority level than the current priority level setting of the access controller apparatus100. If so, the processing device302may be configured to responsively set the current priority level setting of the access controller apparatus100to that of the at least one received command. By this, the current priority level setting of the access controller apparatus100can continuously maintain the priority level associated with the highest priority command previously received.

Referring now toFIG. 4, a method400of operating at least one access controller apparatus100for controlling physical access to an area is depicted in accordance with at least one embodiment. At step,401, an input device301receives at least one command to influence operation of the at least one access controller apparatus100. At step402, a processing device302determines a current priority level setting of the at least one access controller apparatus100. By one approach, the processing device302can determine the current priority level setting by receiving403at least one other command comprising at least one instruction specifying a current priority level setting of the at least one access controller apparatus100. This instruction may have been received at an earlier time wherein the processing device302set the current priority level setting at that time. Alternatively, the processing device302can determine the current priority level setting by determining404the highest priority level of one or more commands of a set of previously received commands. Optionally, the set of previously received commands comprises all commands received since receiving at least one other command comprising at least one instruction specifying a current priority level setting of the access controller apparatus100. Either or both of these two determination step embodiments403,404may be performed individually or conjunctively.

At step405, the processing device302determines a priority level of the at least one command received by the input device. In one example, the processing device302makes this determination405by determining406a priority level associated with at least one matching stored command in a memory device304.

At step407, the processing device302compares the priority level of the at least one command with the current priority level of the access controller apparatus100. Based on the result of this comparison407, the processing device302may ignore410the command. By one approach, the comparison407comprises determining408that the priority level of the at least one command is a lower priority level than the current priority level setting of the access controller apparatus100. In response to making this determination408, the processing device302may responsively ignore410the at least one command.

By one other approach, the comparison407comprises determining409that a priority level of the at least one command is the same priority level as the current priority level setting of the access controller apparatus100or a lower priority level than the current priority level setting of the access controller apparatus100. In response to determining409that the priority level of the at least one command is the same or lower priority level than the current priority level setting of the access controller apparatus100, the processing device302can also ignore410the at least one command. Although depicted as a single step409, the processing device302could perform this determining step409as a separate less-than comparison (such as determining step408) and a separate equal-to comparison. This would yield the same result through the use of two separate steps rather than a single less-than-or-equal-to comparison.

Ignoring410the received command may comprise simply not acting upon the command (i.e., not opening the barrier104after having received an “open” command). However, by some embodiments, the access controller device100, through the processing device302, may still perform411other actions associated with the command that may be ancillary to the main intention of the command (i.e., open, close, stop), such as storing the command in a log of commands, storing the command in a queue of commands to be performed later, or notifying another system or user of the reception of a command. Other ancillary actions include providing an indication of the reception of the command or of the type of command received, where such indications may comprise blinking a light or producing a sound. Additionally still, a work light or task light could be turned on or off as an ancillary action to requested movement of the movable barrier. By at least one other embodiment, commands to effect operation of a work light or task light (or any other command) may be separate commands and may operate independently of the command priority level scheme described herein to cause the receiving apparatus to effect the action associated with the received command.

By another approach, the processing device302determines412whether a priority level of the at least one command is a higher priority level than the current priority level setting of the access controller apparatus100. In response to determining412that the priority level of the at least one command is a higher priority level than the current priority level setting of the access controller apparatus100, the processing device302may set413the current priority level setting of the access controller apparatus100to that of the at least one command and execute the action associated with that command. In another embodiment, however, the processing device302may not make a separate determination412that the received command is higher and may simply utilize a negative result of a previous step, such as that outlined in the less-than-or-equal-to determination outlined in step409.

Referring now toFIG. 5, another method500of operating at least one access controller apparatus100for controlling physical access to an area will be discussed. At step501, an input device301receives a first command to influence operation of the access controller apparatus100. The first command is associated with a first priority level, and comprises at least one of an open-hold-open command, a close-hold-closed command, or a stop-hold-stopped command (as depicted inFIG. 2). In response to receiving501the first command, a processing device302sets502a current priority level setting of the access controller apparatus100to the first priority level. At step503, the input device301receives a second command to influence operation of the access controller apparatus100. The second command is associated with a second priority level that is lower than the first priority level, and the second command comprises at least one of an open command, a close command, or a stop command (also as depicted inFIG. 2). The processing device302determines504that the associated second priority level of the second command is a lower priority level than the current priority level setting of the access controller apparatus100(which has previously been set to the higher priority level of the first command). In response to determining504that the associated second priority level of the second command is a lower priority level than the current priority level setting of the access controller apparatus100, the processing device302ignores505the second command.

So configured, an access controller apparatus and method as described can provide a prioritized response to commands such that only commands of the same or higher priority level (or only higher, by another approach) than a current priority level setting of the access controller apparatus100can be acted upon. This in turn provides a solution to the problem of multiple conflicting commands received by an access controller apparatus100and allows a prioritized response to commands of greater importance or of universal impact.