Real estate abstract
An electronic real estate lockbox system includes a facsimile reporting
capability. More particularly, numeric data detailing the location
of a lockbox, dates and times of accesses to the lockbox, and the
identities of the keyholders who accessed the lockbox, is transferred
from the lockbox to a central computer. The central computer interprets
this numeric data to provide human-readable names, addresses, etc.
After translation, the central computer formats the data for facsimile
transmission to the local real estate offices that require the information
to track usage of the lockbox. A variety of other features are also
disclosed.
Real estate claims
I claim:
1. A method of operating an electronic real estate lockbox system,
the system including an electronic lockbox, an electronic key, and
a central computer, the method comprising:
placing a dwelling key in a lockable compartment inside the lockbox,
the dwelling key permitting access to a property listed for sale
by a listing real estate agent, the listing agent being affiliated
with one of a plurality of local real estate offices, said local
real estate office in turn being affiliated with a regional real
estate board;
providing the lockbox with a lockbox identification code;
providing the electronic key with a key identification code;
entering a user code on a keypad associated with the key;
verifying from the user code that the user entering the code is
an authorized user of the key;
relaying data between the electronic key and lockbox;
providing visual feedback from the key to a user of the key indicating
the user's progress in accessing the lockbox compartment;
unlocking the lockbox compartment to allow access to the dwelling
key contained therein in response to the data relayed between the
key and lockbox;
storing transaction data specifying the date and time of the unlocking
transaction, together with at least one of either the lockbox identification
code or the key identification code, in a memory, said data being
in raw numeric form;
transferring the transaction data from the memory to the central
computer, said central computer being located remotely from the
local real estate office;
providing the computer with interpretive data permitting the computer
to correlate the key or lockbox identification code to a textual
counterpart identifying the key or lockbox, respectively;
interpreting the transaction data with said interpretive data to
produce an interpreted activity report that includes interpreted
textual, rather than raw numeric, data;
establishing a telephone link between the central computer and
the real estate office with which the listing agent is affiliated;
and
transmitting by facsimile the interpreted activity report to the
real estate office with which the listing agent is affiliated.
2. The method of claim 1 which further includes storing data in
the lockbox identifying the regional real estate board.
3. The method of claim 2 which further includes providing the computer
with interpretive data permitting the computer to correlate the
data identifying the regional real estate board with a textual counterpart
thereto.
4. The method of claim 1 which further includes storing data in
the lockbox identifying said one of a plurality of local real estate
offices.
5. The method of claim 4 which further includes providing the computer
with interpretive data permitting the computer to correlate the
data identifying said one of a plurality of local real estate offices
with a textual counterpart thereto.
6. The method of claim 1 which further includes storing data in
the lockbox identifying the listing agent.
7. The method of claim 6 which further includes providing the computer
with interpretive data permitting the computer to correlate the
data identifying the listing agent with a textual counterpart thereto.
8. The method of claim 6 which further includes storing data in
the lockbox identifying the regional real estate board and said
one of a plurality of local real estate offices.
9. The method of claim 8 which further includes providing the computer
with interpretive data permitting the computer to correlate the
data identifying the regional real estate board and said one of
a plurality of local real estate offices with textual counterparts
thereto.
10. The method of claim 1 which further includes transferring the
transaction data from the memory to the central computer over a
telephone line by modem transmission.
11. The method of claim 10 which further includes storing the transaction
data in the key and coupling the key to a transmitting modem.
12. The method of claim 10 which further includes storing the transaction
data in the lockbox and coupling the lockbox to a transmitting modem.
13. The method of claim 10 which further includes storing the transaction
data in the lockbox, downloading the transaction data from the lockbox
to the key, and coupling the key to a transmitting modem.
14. The method of claim 13 in which the downloading step is performed
in response to operation of a predetermined button on the keypad
by a user of the key.
15. The method of claim 1 in which the relaying data step comprises:
transmitting data identifying the key from the key to the lockbox;
determining in the lockbox whether the key data corresponds to
an authorized user;
transmitting data identifying the lockbox from the lockbox to the
key;
determining in the key whether the lockbox data corresponds to
a lockbox that the key is authorized to operate; and
transmitting from the key to the lockbox an unlocking signal causing
the lockbox compartment to unlock.
Real estate description
FIELD OF THE INVENTION
The present invention relates to electronic real estate lockbox
systems, and more particularly to a technique for reporting interpreted
access data to real estate agents.
BACKGROUND AND SUMMARY OF THE INVENTION
To provide a comprehensive disclosure without unduly lengthening
the following description, applicants incorporate by reference the
disclosures of U.S. Pat. Nos. 4,609,780, 4,651,544, 4,800,255, 4,808,993,
4,838,052 and 4,85I,652.
Lockboxes are used in the real estate industry to contain the keys
of houses listed for sale. Prior art lockboxes have historically
been mechanical devices which allow access to a secure compartment
by use of a conventional key. Such lockboxes and keys, however,
have had certain drawbacks.
More recently, electronic real estate lockboxes have become popular.
One important advantage of an electronic lockbox over its mechanical
predecessors has been its ability to record the identities of agents
accessing the lockbox, together with the date and time of such accesses.
This information is typically maintained in an electronic memory
inside the lockbox, although in some systems the information is
stored in the accessing key.
The data stored in these system components is usually in numeric
form with, for example, a number identifying the lockbox, a number
identifying each key, etc. For this data to be useful to the listing
agent responsible for a property, it must be interpreted to identify
the address of the listed property, the names of the accessing agents,
etc.
The interpretation of this numeric data is typically performed
by a computer to which the raw data from the lockboxes (or keys)
is provided. The computer maintains a database containing data correlating
the numeric input data to the textual output data desired by the
listing agent. However, this computer is often located a considerable
distance from the listing agent (more particularly, from the real
estate office with which the listing agent is affiliated.) Sometimes
the computer is at the office of the regional real estate board.
In other cases, the computer may be at the office of a service provider
to whom the task of administering the system has been contracted.
In accordance with the present invention, the interpreted report
is transmitted by facsimile from the central computer to a real
estate office with which the listing agent is affiliated. In some
embodiments, the computer includes a facsimile circuit board which
permits it to transmit the documentation in facsimile form without
ever being reduced to hard copy. This speeds considerably the reporting
process. In some embodiments, the raw data is relayed to the central
computer by modem.
The foregoing and additional features and advantages of the present
invention will be more readily apparent from the following detailed
description, which proceeds with reference to the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows a lockbox, a key, a stand and a computer used in a
lockbox system according to the present invention.
FIG. 2 is a rear view, partially in section, schematically illustrating
portions of a lockbox according to the present invention.
FIG. 3 is a sectional view taken along line 3--3 of FIG. 2, schematically
illustrating some of the locking components in a lockbox according
to the present invention.
FIG. 4 is a top view of a shackle locking bar used in the lockbox
of FIGS. 2 and 3.
FIG. 5 is a rear elevational view of the shackle locking bar of
FIG. 4.
FIG. 6 is a right side view of a door stem used in the lockbox
of FIGS. 2 and 3.
FIG. 7 is a front elevational view of a lockbox shackle used in
the lockbox of FIGS. 2 and 3.
FIG. 8 is a sectional view of the case of the lockbox of FIGS.
2 and 3 taken along line 8--8 of FIG. 2.
FIG. 9 is a schematic block diagram of the electronic circuitry
used in the lockbox of FIGS. 2 and 3.
FIG. 10 is a plan view of a key according to the present invention.
FIG. 11 is a left side view of the key of FIG. 10.
FIG. 12 is a schematic block diagram of the electronic circuitry
used in the key shown in FIGS. 10 and 11.
FIG. 13 is a diagram illustrating portions of the electronic memories
used by the lockbox and key of the present invention.
FIG. 14 is a top plan view of a remote stand according to the present
invention.
FIG. 15 is a sectional view taken along lines 15--15 of FIG. 14
and showing the stand with two different sizes of keys.
FIG. 16 is a sectional view taken along lines 16-16 of FIG. 14
and showing the stand coupled to a lockbox.
FIG. 17 is a rear elevational view of the stand shown in FIG. 14.
FIG. 18a is a schematic block diagram of the electronic circuitry
used a local stand according to the present invention.
FIG. 18b is a schematic block diagram of the electronic circuitry
used in a remote stand according to the present invention.
FIG. 19 is a schematic block diagram showing a digital reconstruction
modulation system according to the present invention.
FIG. 20 shows a radio system for updating lockboxes and keys according
to the present invention.
FIG. 21 shows a computer and trunk interface unit used in an enhanced
version of the system of FIG. 1.
FIG. 22 illustrates memory contents of two lockboxes (A and B)
and three keys (1, 2 and 3).
FIG. 23 illustrates a database into which data collected by the
keys of FIG. 22 is downloaded.
FIG. 24 is a block diagram illustrating a FAX-reporting capability
for electronic lockbox systems according to the present invention.
DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT GENERAL OVERVIEW
A basic lockbox system 10 according to the present invention, shown
in FIG. 1, includes one or more lockboxes, or keysafes, 12, electronic
keys 14, stands 16 and computers 18. Lockbox 12 contains the door
key to the listed dwelling and is mounted securely on or near the
dwelling. Electronic key 14 is used by real estate agents to open
the lockbox and gain access to the dwelling key contained therein.
Key 14 can also be used to read access log data from the lockbox
and to load programming instructions into it. Stand 16 is used to
interface computer 18 with the lockbox and key units. Computer 18
is used to store instructions in and to collect data from lockbox
12 and key 14 so as to integrate management of a lockbox system.
LOCKBOX
With reference to FIGS. 2-3, lockbox 12 includes a secure enclosure,
or house key compartment 20 designed to contain house keys, business
cards, written messages and the like. Lockbox 12 is securely attached
to the listed house or other fixed object by a shackle 22 or by
screws (not shown). Shackle 22 in most instances attaches the lockbox
to a doorknob, water spigot or porch guard rail. Upon a proper exchange
of signals between lockbox 12 and key 14, a door 24 to the lockbox
house key compartment 20 can be opened, thereby allowing access
to the house key and to other materials stored inside.
The circuitry of lockbox 12 is shown in block diagram form in FIG.
9. Lockbox 12 includes a communications coil 26, a microprocessor
(CPU) 28, a read/write (RAM) memory 30, a primary battery 32, a
backup battery 34, a pair of key compartment locking solenoids 36,
a pair of shackle locking solenoids 38, a key compartment solenoid
drive circuit 40, an associated microswitch 42 and a shackle solenoid
drive circuit 43.
Communications coil 26 is used to electromagnetically couple to
corresponding coils in key 14 and stand 16. Microprocessor 28 controls
operation of lockbox 12 according to programming instructions ("lockbox
control software") permanently stored in an associated read
only memory (ROM) 44. RAM memory 30 is used to store various elements
and strings of operating data. Primary battery 32 provides power
to the lockbox circuitry. Backup battery 34 is used when the primary
battery becomes weak or is removed for replacement. Key compartment
locking solenoids 36 releasably lock house key compartment door
24 under the control of door solenoid drive circuit 40 and microswitch
42. Shackle locking solenoids 38 releasably lock shackle 22 under
the control of shackle solenoid drive circuit 43.
Although illustrated as a single component, lockbox CPU 28 is in
fact two discrete microprocessor circuits. The first, a National
Semiconductor 820 Series Control Oriented Processor, is an eight
bit processor that performs all control, communications and logic
functions with the exception of timing and calendar-clock functions.
These functions are performed by a National Semiconductor COP 498
processor which is mask programmed by the manufacturer to perform
a variety of time keeping functions. The lockbox RAM 30 is comprised
of a low power, low voltage Toshiba LC3517NC RAM circuit, which
is organized as 2048 eight bit bytes.
Lockbox CPU 28 stores information on certain of the operations
that are executed, or attempted to be executed, by a key or the
lockbox in a portion of RAM memory 30 termed the "access log."
Each entry in the access log includes the identity of the key, the
date and time of the operation (obtained from the calendar-clock
portion of CPU 28), the function attempted and, if the function
was denied, the reason why. In the illustrated exemplary embodiment,
the lockbox access log can store information on 100 lockbox operations.
This log can later be retrieved, in whole or in part, by key 14
or by stand 16 for transfer to computer 18 or for display on a CRT
screen or printer.
Management of the lockbox access log is performed by lockbox CPU
28 in conjunction with a "roll flag" and a "pointer"
stored in lockbox RAM 30. The roll flag indicates whether all 100
entries in the access log have been filled and consequently whether
the memory is recycling, overwriting old data. The pointer indicates
the address of the memory location at which the next access log
entry will be stored.
When the lockbox is initialized (discussed below in the section
entitled Initialization and Deactivation of Lockboxes and Keys by
the Computer), the roll flag is set to "0" and the pointer
is set to indicate the address of the first memory location in the
access log. Thereafter, each entry in the log causes the pointer
to increment to the address of the next memory location in the log.
After 100 entries have been stored in the access log, the pointer
recycles and indicates again the address of the first memory location
in the access log. At this point, the rollover flag is set to "1,"
indicating that the access log has become a circular data buffer
and that each additional entry will overwrite an earlier entry.
Lockbox Characterization Instructions
Lockbox 12 is characterized by "lockbox characterization instructions"
loaded into lockbox RAM memory 30 by a computer through a stand.
(Key 14 can also be used to load a set of limited characterization
instructions into lockbox RAM memory 30, as discussed below in the
section entitled Functions). The lockbox characterization instructions
give the lockbox an identity, fix in it certain numerical values
and enable it to perform certain functions.
As shown in the illustrative lockbox memory map in FIG. 13, the
identification information loaded with the characterization instructions
identifies the listing, the listing agent, the responsible agency
and the responsible board. The identification information further
identifies the lockbox by a unique lockbox serial number.
Some of the numerical values loaded into the lockbox include a
"Shown By Arrangement" (SBA) number, a key lockout list
and a collection of lockbox access codes.
Functions enabled by function enable bits in the characterization
instructions may include Lockbox Disable On Removal and Privacy
Read (both discussed below in the section entitled Programmable
Lockbox Options).
After its initial characterization by stand 16, lockbox 12 will
not require further maintenance or programming until the lockbox
is moved to a new location.
Mechanical details of the lockbox 12 are discussed below in the
section entitled Mechanical Construction of Lockbox.
KEY
With reference to FIGS. 10 and 11, key 14 is constructed in a trim
polycarbonate enclosure 46 sized to fit conveniently in a user's
purse or pocket. The key includes a keypad 48 and an LCD display
50. Keypad 48 is used to enter commands into the key. LCD display
50 is used to display instructions and information to the user.
LCD display 50 includes a central message portion in which messages
from the system can be displayed to the user. Display 50 also includes
a lower portion comprising a "prompt" field and an upper
portion comprising an "annunciator" field. The prompt
field includes twelve potential prompts which represent twelve functions
that a user can request the key to execute. They are OPEN, SHACKLE
RELEASE, CHANGE PERSONAL CODE, CONTROLLER, READ FILE MARK, READ
NN, READ, CLEAR MEMORY, SIGNATURE, SHOWN BY ARRANGEMENT, FILE MARK,
and PROGRAM. These functions are discussed below in the section
entitled Functions.
The annunciator field includes five potential annunciators which
indicate the status of various aspects of the key. The annunciators
in the preferred embodiment are FUNCTION, READ, PROGRAM, KEYSAFE
BATTERY and KEY BATTERY.
The READ annunciator is made visible when the key contains lockbox
access log data transferred from a lockbox during a READ operation.
The PROGRAM annunciator is made visible when the key contains a
set of limited characterization instructions that are to be loaded
into a lockbox. The FUNCTION annunciator is made visible when the
user is to select a function to be executed. The KEYSAFE BATTERY
and the KEY BATTERY annunciators are made visible when the batteries
for these respective units need attention.
The circuitry of key 14 is shown in block diagram form in FIG.
12. Key 14 includes a communications coil 54, a key microprocessor
(CPU) 52, the keypad or other switch mechanism 48, the LCD display
50, a read/write memory (RAM) 56, a primary battery 58, a backup
battery 60 and a beeper 62.
Communications coil 54 is used to electromagnetically couple to
the corresponding coils in lockbox 12 and stand 16. Microprocessor
52 controls operation of key 14 according to programming instructions
("key control software") permanently stored in an associated
read only memory (ROM) 64. RAM memory 56 again comprises a Toshiba
LC3517NC RAM circuit and is used to store various elements and strings
of operating data. Primary battery 58 provides power to the key
circuitry. Backup battery 60 is used when the primary battery becomes
weak or is removed for replacement. Beeper 62 beeps to call the
user's attention to the key in a variety of instances, such as when
an error is committed or when the key and lockbox have successfully
completed an operation.
Although illustrated as a single component, key CPU 52 also comprises
two discrete microprocessor circuits. The first, a National Semiconductor
820 Series Control Oriented Processer, is an eight bit processor
that performs all control, communications and logic functions except
reading data from keypad 48 and controlling operation of LCD display
50 and beeper 62. These functions are performed by a very low power
NEC uPD7501 4 bit microcontroller with an on board LCD driver. The
distribution of processing tasks between two processors in this
manner reduces power consumption and increases operational efficiency
by allocating the time consuming user interface chores to the very
low power NEC processor, thereby allowing the logic functions to
be more quickly performed using the higher power National processor.
Key Characterization Instructions
Key 14 is characterized by "key characterization instructions"
loaded into key RAM memory 56 by a computer through a stand. These
instructions give the key an identity, fix in it certain numerical
values and enable it to perform certain functions.
As shown in the illustrative key memory map in FIG. 13, the identification
information loaded with the characterization instructions identifies
the agent, the responsible agency and the responsible board. The
identification information further identifies the key by a unique
serial number.
Some of the numerical values loaded with the key characterization
instructions include a four digit personal code, permission codes
for various of the functions and various key access codes with associated
expiration dates.
Functions enabled by function enable bits in the characterization
instructions may include OPEN, READ and SHACKLE RELEASE.
After its initial characterization by stand 16, key 14 will not
require further programming until any time dependent functions which
may have been enabled, such as key expiration date or expiring key
access codes (discussed below) need updating.
Limited Function Keys
This key described above can, if loaded with the proper characterization
instructions, execute the entire complement of functions available
on the system, here illustrated as twelve. In some applications,
however, it is desirable to provide simpler keys which can effect
only a limited range of functions. Thus, it may be desirable, for
example, to provide keys that can perform just three functions:
open a lockbox, drop a shackle and communicate with a computer.
Such a simple key could be constructed without an LCD display.
Limiting the functions that a key can perform can be effected by
setting certain enable/disable bits in key RAM memory 56. In the
preferred embodiment, key RAM memory 56 has an enable/disable data
bit corresponding to each of the twelve functions. If the enable/disable
data bit corresponding to a function is set to a "1,"
the function is enabled. If set to a "0," the function
is disabled.
The enable/disable data in key RAM memory 56 is desirably set by
the manufacturer so as to enable a particular set of functions.
This arrangement permits the manufacturer to provide a variety of
different keys to users having a variety of different requirements
without the need to tool up a separate manufacturing line for each
different key. If the manufacturer later wishes to change a key's
enable/disable data, it can do so by reprogramming the this data
itself or by providing software to the responsible real estate board
that will enable the board computer to reprogram this data.
In an alternative embodiment, key RAM memory 56 can have two data
bits corresponding to each of the twelve functions. One of these
bits is set by the manufacturer to a "0" or a "1"
and cannot be altered by the user. The other of these bits can be
set to a "0" or a "1" by the authority that
exercises supervisory control over the key, usually the local real
estate board. In this alternative embodiment, the only functions
that are enabled are those for which corresponding enable/disable
data bits have both been set to a "1" by the appropriate
authority. By this alternative system, the local real estate board
is empowered to tailor the capabilities of its keys as it sees fit
within the range of functions enabled by the manufacturer.
Programmable Time Constants
In the preferred embodiment, all time constants in the both the
lockbox and key are set by data bits stored in the respective units'
RAM memories (as illustrated by the lockbox and key memory maps
of FIG. 13). These time constants set, for example, the length of
time each of the transient displays are maintained in LCD display
50 and the length of time lockbox key compartment unlocking solenoids
36 are to be kept energized.
STAND
Stand 16 is used in the present invention to transfer information
between computer 18 and the lockbox and key components of a lockbox
system.
With reference to FIGS. 14-17, stand 16 can comprise an enclosure
66 having a protrusion 68. Within protrusion 68 is a stand communications
coil 70. In use, a key or a lockbox is positioned on stand 16 as
shown in FIGS. 15 and 16, respectively. In these positions, the
communications coil within the lockbox or key is positioned in proximity
with stand communications coil 70 in protrusion 68, thereby establishing
electromagnetic coupling between such coils.
In alternative embodiments, protrusion 68 can be omitted. In such
embodiments, communications coil 70 can be disposed within enclosure
66 so that it is adjacent the coils in corresponding lockbox or
key units when such units are placed on the stand.
As illustrated in FIGS. 18a and 13b, stand 16 is constructed in
two forms. A first form of the stand, termed a local stand 16a,
is designed to communicate with a computer at the same site. Local
stands are thus intended for use at the board office, where they
are tied directly to the board computer, or at agency offices, where
they may be tied directly to a smaller computer.
The second form of stand, termed a remote stand 16b, is a portable
unit designed to communicate with a remote computer over conventional
telephone lines. Remote stands 16b are thus typically used at agency
offices that are not equipped with their own computers. Their portable
nature, however, allows remote stands to be used wherever there
is a phone line, such as at a property listed for sale, thereby
enabling an agent to retrieve data from the board computer and provide
a homeowner immediate information about listing activity.
With reference to FIGS. 17, 18a and 13b, both forms of stand 16
include a microprocessor (CPU) 78, an associated read only memory
80, a read/write memory (RAM) 82 and a connector 83 for connection
to a low voltage D.C. power supply. Local stand 16a further includes
a cable connector 72 for connection to the local computer. Remote
stand 16b further includes a modem 74 and two modular phone jacks
76, 77 for interfacing to a telephone line. First phone jack 76
is used to connect to the outgoing phone line. Second phone jack
77 is used to connect to a conventional telephone (not shown) which
provides dialing signals on the outgoing phone line. Remote stand
16b also includes a printer output port 79 for interfacing to a
printer. This printer is driven by the remote computer through the
stand and permits hard copy display of the data at the agency office
or at the remote site at which the stand is used even though a computer
is not locally available.
Desirably, CPU 78 comprises an Intel 8051 Series microprocessor
and RAM 82 comprises a NEC uPD4364 8192 by 8 bit static RAM.
In order to ensure data security, stand 16 desirably encrypts the
lockbox and key data before it is sent to the computer. Conversely,
stand 16 decrypts the computer data before it is sent to the lockbox
and key. This encryption/decryption is effected by microprocessor
78 in conjunction with read only memory 80 and read/write memory
82. ROM memory 80 contains the encryption and decryption algorithms
used by stand 16 in communicating with computer 18. RAM memory 82
is used for temporary storage of data used in this process.
The encryption algorithms employed are such that if the same data
is exchanged between stand 16 and computer 18 several times, the
several transmissions will bear no resemblance to one another. Decryption
by unauthorized eavesdroppers is thus deterred.
In the preferred embodiment, the data exchanged between stand 16
and the lockbox and key components is also similarly encrypted.
Stand Functions
Stand 16 can perform a variety of functions in the present invention.
First, stand 16 can provide a complete set of new characterization
instructions for lockbox 12 or key 14, or can simply modify an existing
set of instructions. This is done by placing the key or lockbox
on stand 16, as illustrated in FIGS. 15 and 16, and executing a
recharacterization program on computer 18. The recharacterization
program executed on computer 18 interrogates the user, using a menu
display format on the computer screen, as to which functions are
to be enabled, what constants are to be loaded, etc. The characterization
instructions generated by the recharacterization program are then
transferred from the computer through the stand to the key or lockbox,
where they are stored in RAM memory.
A set of limited recharacterization instructions for lockbox 12
can alternatively be loaded from stand 16 into key 14 for later
relaying by the key into the lockbox by using the PROGRAM function
(discussed below in the section entitled Functions).
The second function stand 16 can perform is to retrieve data, such
as lockbox access log data, from the lockbox or the key and to relay
it to computer 18. This is accomplished by positioning lockbox 12
or key 14 on stand 16 and executing an appropriate program, this
time a data retrieval program, on computer 18.
Stand 16 can also be used for a variety of other purposes, such
as for relaying diagnostic maintenance log data (discussed below
in the section entitled Diagnostic Features) from the key or lockbox
to the computer and for synchronizing the calendar-clock portion
of lockbox CPU 28 with the master calendar-clock maintained by computer
18.
One important feature provided by stand 16 is that it allows data
transfers to and from the key and lockbox components without the
need to take such components back to a central control computer
at the real estate board office. In large metropolitan areas, such
as Houston, the local real estate board may encompass several thousand
square miles. Consequently, it is highly undesirable to require
that lockboxes and keys be taken back to the board office every
time an exchange of data is desired. The relatively inexpensive
stands of the present invention can be distributed throughout the
board's territory and can be used to effect all data transfers.
Desirably, most of the agency offices within the real estate board
would have such a unit and several additional units would be available
for portable use within the board's territory.
OPERATION
To operate the lockbox system, the user first energizes, or wakes
up, key 14 by pushing an ON/CLEAR button on keypad 48. Beeper 62
beeps to confirm that the key is energized. The key then displays
the word "CODE" in the message portion of LCD display
50 in blinking form. The user then has a fixed time period, such
as one minute, within which to enter a four digit personal code.
As each digit of the personal code is entered, an asterisk appears
in LCD display 50. The asterisks maintain the privacy of the personal
code while indicating the number of digits entered. If no personal
code is entered within the one minute time period, key CPU 52 causes
the key to become deenergized, or return to sleep, again. If the
four digit personal code entered by the user matches the personal
code stored in key RAM memory 56, the user is prompted to select
a function.
If an improper four digit personal code is entered on keypad 48,
key 14 will not allow the user to select a function. The user can
start over and try to enter the correct personal code. If, after
four tries, the proper personal code has still not been entered,
key CPU 52 causes the key to enter a "personal code timeout"
mode in which the key is deactivated for a ten minute period and
during which it will not allow any further personal codes to be
entered.
After the four digit personal code has been successfully entered,
the FUNCTION annunciator in the upper portion of LCD display 50
is made visible, together with the prompts in the lower portion
of the display representing the available functions. (Key CPU 52
causes the prompts corresponding to the functions that are not available,
for example those functions which have been disabled, to remain
invisible in LCD display 50). The top left-hand most prompt in the
prompt field, normally the OPEN prompt, will be blinking. It is
the blinking prompt that indicates which function will be executed
if the SELECT button is pressed.
Movement of the blinking feature in the LCD prompt display is controlled
by the RIGHT SCROLL and LEFT SCROLL buttons on keypad 48. The RIGHT
SCROLL button causes the blinking feature to move one prompt to
the right, for example, from OPEN to SHACKLE RELEASE. When the right-most
prompt in a display line is blinking and the RIGHT SCROLL button
is pressed, the blinking feature is moved to the left-most prompt
in the following line. The LEFT SCROLL button moves the blinking
feature in the opposite direction in a similar fashion.
After the personal code has been entered successfully, it is the
OPEN prompt that blinks. Consequently, to open the lockbox, which
is the most common operation, the SCROLL buttons need not be operated
at all. Instead, the SELECT button is simply pressed and the lockbox
can be opened.
Once the SELECT button is pressed, CPU 52 causes all of the prompts
to be made invisible, except the selected prompt, which is caused
to stay on continuously, not blinking.
When the personal code has been successfully entered and a function
has been selected, key 14 is termed "armed." In the armed
state, the key sends out a signal, termed here a characteristic
interrogation pulse train, and seeks to couple with a lockbox. When
the key is ultimately coupled with a lockbox, the electromagnetic
pulses radiated by the key induce a voltage in the lockbox communications
coil. The induction of this voltage in the lockbox signals the lockbox
to wake up. The lockbox then responds by transmitting a second signal
back to the key, as discussed below in the section entitled Authorization
of Lockbox Functions.
When the OPEN feature has been selected, the four letter message
field in the middle of LCD display 50 displays the word "SAFE"
(short for keysafe) in blinking form. (A blinking message in the
message portion of the display demands an action by the user. A
solid display in the message portion indicates that the key is finished
with the function). When the "SAFE" message is blinking
in the message portion of the display, the user has approximately
ten minutes within which to engage a key with the lockbox.
Once the key and lockbox are successfully coupled, the message
display, instead of displaying the "SAFE" message in blinking
form, displays a "WAIT" message in solid form. This indicates
to the user that the key and lockbox are coupled and are communicating.
During the "WAIT" state, various data is exchanged between
the key and the lockbox and each of the microprocessors is making
various decisions as to whether to authorize execution of the selected
function (as described below in the section entitled Authorization
of Lockbox Functions). Finally, the processors decide, either together,
or one informs the other, that the selected operation can be executed.
After the requisite exchange of data between key and lockbox has
successfully been completed and the requested function has been
executed, the message in key LCD display 50 changes from "WAIT"
to "GOOD." The "GOOD" message is displayed whenever
any operation is successfully completed. The successful execution
of the function is also confirmed audibly by beeper 62. The "GOOD"
display is maintained for approximately eight seconds. The key then
displays the KEYSAFE BATTERY annunciator if the lockbox battery
is low (discussed below in the section entitled Battery Systems)
and then returns to sleep.
If a user arms a key and then fails to complete the selected operation
with a lockbox, the key eventually goes into an error condition.
Beeper 62 beeps and an appropriate error code is displayed in the
message display. The key then returns to sleep after displaying
the error message for a predetermined time period.
One important feature of the invention is that the key strokes
necessary to request a function need not be entered while the key
is coupled to the lockbox. As indicated, key 14 must be held near
lockbox 12 in order for the units to communicate. Although not usually
a problem, this task is sometimes difficult when the lockbox is
mounted in a dark or awkward location, such as on a water spigot
mounted at ground level. In some embodiments, the user would need
to engage the key with the lockbox in such position and then start
pressing buttons on keypad 48 corresponding to the required personal
code and the desired function.
To obviate this potential problem, the key control software allows
the key to be armed in advance to request execution of a desired
function. The key can then be mated momentarily with the lockbox
and the handshaking signal exchanges made automatically when the
lockbox detects the key's characteristic interrogation signal. Thus,
the user need not press a single key in the dark or cramped location
in which the key and lockbox may be mated in order to operate the
lockbox. The personal code can be entered and the desired function
selected in a convenient, well-lit location, such as in a car. The
agent then has a fixed period, such as ten minutes, within which
to use the armed key to operate the lockbox. After this period,
the key disarms itself so as to maintain system security.
In addition to providing a convenience to the user, the ability
of the key to be armed at a remote location and later coupled with
the lockbox to execute a function also provides an important security
benefit. That is, it allows the key to be armed away from prying
eyes so as to maintain the secrecy of the user's personal code.
FUNCTIONS
Open
To open house key compartment 20 in lockbox 12, the user enters
the four digit personal code on key 14, thereby causing the OPEN
prompt in LCD display 50 to blink. The SELECT button is then pressed
and an exchange of authorization signals between the lockbox and
key is begun once the units are successfully coupled. If the lockbox
and key determine that the function is authorized, lockbox CPU 28
allows key compartment door 24 to be opened.
In the preferred embodiment, key compartment door 24 does not pop
open when the exchange of signals has been completed successfully.
Instead, a press-to-open mechanism is provided on the door. After
the appropriate signals have been exchanged, the user presses door
24 inwardly and then releases. The door then pops open to reveal
the contents of compartment 20.
If the user does not open the press-to-open door within a predetermined
period of time, such as sixty seconds, the lockbox reverts to its
powered down, locked state.
In order to conserve lockbox battery power, key compartment unlocking
solenoids 36 are not energized until the user presses the press-to-open
door. To effect this power savings, lockbox 12 is provided with
a microswitch 42 connected in key compartment solenoid drive circuit
40 so that when door 24 is pressed in, the microswitch is engaged
and closed. When door 24 is pressed in, CPU 28 detects the closure
of microswitch 42 and causes drive circuit 40 to then apply energy
to key compartment solenoids 36 for a brief period. The solenoids
retract, thereby unlocking door 24. The user then releases the door
and it pops open under the influence of a spring. The solenoids
are thus not energized until the user is actually ready to open
the door. (The solenoids are arranged in lockbox 12 so that the
inward pushing movement of key compartment door 24 is allowed even
when the solenoids are in their locked state).
After microswitch 42 is reopened by the door popping open, lockbox
CPU 28 waits approximately 0.25 seconds and then causes drive circuit
40 to deenergize the solenoids. It has been found that in a typical
opening, the locking solenoids are energized for less than 0.5 seconds.
After deenergizing the solenoids, the lockbox returns to its sleeping
state.
If door 24 is pressed in but is not released for more than 1.25
seconds, solenoids 36 are deenergized to secure the lockbox and
the lockbox returns to sleep.
In the preferred embodiment, key compartment door 24 is provided
with two solenoids to enhance lockbox security. Each solenoid has
a spring loaded plunger. If only a single solenoid were used, the
solenoid could be dislodged momentarily from its locking position
by a sharp blow to the lockbox. The shock could propel the solenoid
plunger momentarily to its retracted state, allowing door 24 to
be opened.
In the preferred embodiment, two solenoids are used and are disposed
so that their plungers travel in opposite directions. If the lockbox
is sharply rapped so as to propel one solenoid plunger to its unlocked
position, the other solenoid plunger is propelled to its locked
position.
In an alternative system using a single solenoid, a rotary solenoid
could be used. However, such an arrangement is less efficient and
more expensive than the present system and also requires additional
latching components.
Shackle Release
The shackle 22 or mounting bracket which secures lockbox 12 to
a structure is, in the preferred embodiment, released on command
from a key. By allowing real estate agents to administer lockboxes,
rather than just real estate board employees, administration of
large lockbox systems is facilitated.
To release lockbox shackle 22, the user enters the four digit personal
code into the key and moves the blinking feature in the prompt field
to SHACKLE RELEASE. The SELECT button is then pressed and a "SAFE"
message begins blinking in key LCD display 50. After the lockbox
and key are coupled, these units exchange signals and, if these
units decide that a shackle release is authorized, a "GOOD"
message appears in LCD display 50 and a shackle release is permitted.
In the preferred embodiment of the invention, the SHACKLE RELEASE
function opens lockbox door 24. Actual release of the shackle is
then effected by movement of a press-to-release shackle locking
stem 162 (which is unlocked by shackle locking solenoids 38), which
in turn moves a shackle locking bar 148 out of engagement with the
shackle. Like the key compartment door arrangement, the shackle
locking system also uses a pair of reciprocally mounted solenoids
to lock the shackle so as to enhance lockbox security.
Change Personal Code
When the user desires to change the four digit personal code, the
CHANGE PERSONAL CODE function is used. The key is activated by the
usual sequence of entering the four digit personal code and then
moving the blinking feature in the prompt field until the CHANGE
PERSONAL CODE prompt is blinking. When the SELECT button is pressed,
the message display displays "NEW." The user then keys
in the new four digit personal code that is to be substituted for
the old code. Each time a digit of the new code is entered, an asterisk
appears in the message portion of display 50. After all four digits
have been entered, the "NEW" message is displayed again.
The user then reenters the new code. By this redundant technique,
key CPU 52 double checks the new personal code to insure that the
user did not inadvertantly press a wrong key and thus enter a new
personal code that was not intended and consequently would not be
remembered.
After the successful entry of the new four digit personal code
twice, the message display portion of LCD display 50 indicates "GOOD"
to confirm that the operation has been completed satisfactorily.
Controller
As discussed earlier, a stand is used to exchange data and characterization
instructions between the key and the computer. One way in which
data can be exchanged between these units is simply to lay the sleeping
key on the stand and press the ON/CLEAR button. The stand then couples
electromagnetically to the energized key and allows the key to communicate
with the computer However, for security reasons, it is desirable
that the computer not be allowed to perform the full range of possible
functions on the key when the key is activated in this manner. An
unauthorized user of a key could take the key and reprogram it if
no further precautions were taken. Accordingly, it is desirable
to limit the functions that the key and computer can cooperate to
perform when the key is merely energized by the ON/CLEAR button
to a narrow group of functions, such as running diagnostic routines
and resetting the master software switch (discussed below). Thus
the key will not permit new characterization instructions to be
loaded.
In order for computer 18 to be allowed to perform its full complement
of functions on the key, the key must be activated in the CONTROLLER
mode by an authorized user. To do this, the user enters the four
digit personal code and moves the blinking feature in the prompt
field to CONTROLLER. When the SELECT button is pressed, the key
permits the computer to freely read from and write to the key within
the limits set by ownership of the key (i.e. a computer cannot reprogram
a key if the key belongs to a different board).
Arming the key in the CONTROLLER mode is the only instance in which
the key does not send out its characteristic interrogation pulse
train. Instead, the key listens for data or instructions relayed
from the stand.
File Mark
Skipping ahead in the key's prompt field somewhat, the FILE MARK
function is selected to put a mark in the access log maintained
by the lockbox. As noted, the illustrative access log maintained
in RAM memory 30 of lockbox 12 contains data relating to the last
100 lockbox operations. Oftentimes, however, not all 100 past operations
are of interest. For example, the supervising real estate board
or agency may only be interested in operations over a certain period
of time. To facilitate this function, the lockbox access log can
be marked with file marks. The log can then be read in its entirety,
or just from the last file mark to the end. By this technique, only
the data of interest need be reviewed.
The FILE MARK function is useful when a real estate agency or board
is interested in monitoring the access to a home during a specific
period, as for example, during a weekend that the house is advertised
in the newspaper. In such case, the listing agent could enter a
file mark in the lockbox access log on a Friday evening. (Only the
listing agent, or the listing agent's broker or board, is permitted
to executed a FILE MARK function on a lockbox). An agent could then
return the following Monday morning and recover only those entries
in the access log made since the log was marked by using the READ
FILE MARK function.
If a lockbox is moved from one house to another, a file mark can
be used to indicate in the access log when the lockbox was moved.
In one form of the invention, a file mark is entered in the access
log automatically whenever the shackle is released. Data can then
be selectively recovered from the access log so that only operations
logged at the new location are recovered.
The entry that is actually recorded in the access log by a FILE
MARK function is the same as any other logged function, but the
log indicates that it is a FILE MARK function, rather than an OPEN,
SHACKLE RELEASE, etc. The lockbox also records the other data usually
stored in the access log, such as the identity of the user who executed
the FILE MARK function, the date and time, etc.
Read
When the READ function is selected, lockbox CPU 28 causes all of
the entries stored in the lockbox access log to be transmitted to
the requesting key by relaying the access log data via the units'coupled
communications coils. The key stores this received information in
a portion of its RAM memory 56 dedicated to this purpose.
The portion of key RAM memory 56 dedicated to storing lockbox access
log data can be larger or smaller than the portion of memory in
the lockbox dedicated to this task. Typically, the dedicated key
memory is at least as large as the dedicated lockbox memory (i.e.
large enough to hold at least 100 access entries). A key can thus
read several lockbox access logs, provided the total number of access
log entries read does not exceed the key's capacity.
If a user attempts to read a lockbox that has more access log entries
than the key has memory, the key will display a corresponding error
message and will not execute the READ function.
Successful execution of the READ function does not cause the access
log data in the lockbox to be erased. Instead, the data persists
and is eventually overwritten by the lockbox itself, beginning when
the one hundred and first log entry overwrites the first log entry.
When the lockbox is later reinitialized and moved to a new listing,
the access log data is dumped to a stand and the roll flag and pointer
are reset to their initial states.
As noted earlier, if any lockbox access log data is stored in the
key, the READ annunciator will be made visible when the key is awakened
by the ON/CLEAR button so as to remind the user that one or more
reads are stored in the key.
Read File Mark
READ FILE MARK is identical to the basic READ function except that
only the lockbox access log entries since the last file mark are
read.
Read NN
Lockbox CPU 28 maintains a lockbox access count in lockbox RAM
memory 30 that indicates the number of OPEN, SBA and SIGNATURE functions
that have been executed by the lockbox since it was reinitialized
for that particular listing. In the preferred embodiment, this count
is stored as a single eight bit byte and thus can count up to 255
accesses. When the READ NN function is selected and executed, lockbox
CPU 28 transmits this lockbox access count to the key where it is
displayed to the user in the message portion of LCD display 50.
This READ NN function allows the user to monitor listing activity
at a glance, without downloading data from the key to a stand at
a remote location. This function also allows a user to monitor lockbox
usage so that the maximum memory capacity of the lockbox access
log will not be exceeded and old data overwritten. For example,
if the lockbox access log can store 100 entries and the user determines,
by using the READ NN function, that there have been 90 accesses
to the listing, the user may choose to then dump the contents of
the log into the key for later relaying to a computer through a
stand. By such operation, the old data in lockbox access log is
preserved in the computer and up to 100 new entries can then be
logged in the lockbox.
Clear Memory
The CLEAR MEMORY function clears both the portion of key RAM memory
56 dedicated to storing lockbox access log data and the portion
of the key RAM memory dedicated to storing lockbox characterization
instructions.
The lockbox access log data normally stays in key RAM memory 56
until the key is coupled to a stand and the data dumped to a computer.
If, for some reason, the user does not want to preserve this data
he can, instead of dumping it out to the computer, simply select
the CLEAR MEMORY function and erase it.
The lockbox characterization instructions stored in key RAM memory
56 can variously stay in the key memory only until loaded into a
lockbox or they can stay indefinitely, depending on the nature of
the instructions (discussed below in the discussion of the PROGRAM
function). If, for some reason, the user does not wish to preserve
this data, the CLEAR MEMORY function can be selected to erase it.
Signature
The access log maintained in the lockbox is useful for reasons
other than determining, for security purposes, who opened the lockbox.
It is also desirable, for management information purposes, to be
able to determine the identity of persons who entered the house
without opening the lockbox.
Real estate agents often visit newly listed houses in large tour
groups. The identity of the one agent in the group that opens the
lockbox is of course entered in the access log. The identity of
the other agents in the group could also be logged in the access
log if they were also to open the lockbox. However, the OPEN function
draws a considerable amount of power from the battery. Consequently,
it is desirable to be able to log the identity of agents without
requiring them to open the lockbox. The SIGNATURE function performs
this task.
Agents who select the SIGNATURE function can engage their keys
with the lockbox and have their identities logged in the access
log. The lockbox treats this function as an OPEN operation, but
omits the final step of energizing the solenoids. Consequently,
the power drain is negligible. By use of this function, the system
is better able to maintain detailed information on visitors to a
listed property.
The SIGNATURE mode has applications beyond real estate lockboxes.
For example, a night watchman at an industrial complex could use
the SIGNATURE function to log the date and time of his visits to
the various locks around the complex without opening any such locks.
A record could thus be maintained of the surveillance activity at
various sites around the premises.
Shown By Arrangement
SHOWN BY ARRANGEMENT (SBA) is a function that allows a listing
agent to restrict which other agents are allowed access to certain
listed properties.
Certain homeowners do not wish every agent in a real estate board
to be able to gain access to their homes. They have placed their
trust in one listing agent and want only agents authorized by that
agent to show the house. However, it is impractical for the listing
agent to be present at each such showing. The Shown By Arrangement
feature of the present invention allows the listing agent to program
the lockbox to require that a second code, an SBA code, be entered
before access to the house key is granted.
The SBA function is activated by specifying a desired four digit
SBA code in the lockbox characterization instructions. If no SBA
code is specified, a default value of 0000 is stored. When an agent
tries to access a lockbox for which a non-zero SBA code has been
specified, he or she must do so by first selecting the SBA function.
When the key is so armed in the SBA mode, the agent is then prompted
to select one of two functions from the prompt field: OPEN or CHANGE
SBA.
If the OPEN function is selected, a "SBA" message is
displayed in blinking form in the LCD display, prompting the agent
to enter the SBA number. The agent then enters the four digit SBA
number and corresponding asterisks appear in the LCD display. After
the code is entered, it is transmitted to the lockbox with the request
to execute the OPEN function. If the SBA code entered matches the
SBA code stored, and if other authorization criteria discussed below
are met, the function is executed. If the SBA code entered does
not match the SBA code stored, the function is immediately denied.
The second option after arming the key in the SBA mode is to change
the SBA number. (When the key is armed in the SBA mode, a CHANGE
prefix is made visible in LCD display 50 next to the SBA prompt
to permit selection of the CHANGE SBA function). This option can
only be executed by the listing agent, the listing agent's broker
or the listing agent's board. The lockbox checks that the identity
of the key corresponds to one of these entities by comparing key
identifying data sent from the key with the lockbox identifying
data stored in lockbox RAM 30.
When the CHANGE SBA function is selected, a "NEW" message
appears in the key LCD display 50 in blinking form, requesting the
user to enter the new SBA number. Again, like changing the four
digit personal code, this new SBA number must be entered twice in
order for the change to be effected.
Program
The PROGRAM function transmits a set of limited characterization
instructions from a key to a lockbox to effect a reprogramming of
the lockbox in the field. Key CPU 52 will not make visible the PROGRAM
prompt nor permit selection of the PROGRAM function unless the CPU
has earlier determined that the key contains a set of limited lockbox
characterization instructions waiting to be downloaded into a lockbox.
The lockbox programs that can be loaded into the key from the computer
in the exemplary embodiment can be of two types: Specific Update
and Blanket Update. Specific Update is used when a set of lockbox
characterization instructions is destined for one particular lockbox,
identified by that lockbox's serial number. Once the program has
been downloaded to that lockbox, key CPU 52 automatically erases
it from key RAM memory 56. Specific Update is generally used to
change a lockbox's Daily Disable times and to set data switches
enabling Privacy Read and Privacy Shackle Release (discussed below
in the section entitled Programmable Lockbox Options).
Blanket Update, in contrast, is used when a set of lockbox characterization
instructions is destined for a group of lockboxes. Downloading the
instructions to a lockbox does not erase the instructions from key
RAM 56. Instead, the instructions persist in the key until erased
by the CLEAR MEMORY key.
Blanket Update is generally used to recharacterize lockbox instructions
on an agency- or board-wise basis. Blanket Updates generally fall
into two classes: those that update the lockout list and those that
reprogram the identity of the lockbox's listing agent.
Both Specific and Blanket Updates are transferred to the lockbox
by using the PROGRAM function. The difference between the two is
an update type data string included with the key programming instructions
which indicates whether the update is a Specific Update or a Blanket
Update, and, if it is a Blanket Update, whether it updates the lockout
list or the listing agent.
In the preferred embodiment, the programming of the lockbox by
the key in the field is limited so that only certain of the lockbox
characterization instructions can be reprogrammed by the key. In
the exemplary embodiment only the Lockout List data, the SBA number,
the Daily Disable times and the listing agent identity can be reprogrammed
in this manner, as is indicated in FIG. 13. The other data, such
as the house, board and agency identification data and the lockbox
access codes, cannot be changed by the key. To change this restricted
data, the illustrated lockbox must be returned to a stand for reprogramming
directly by a computer.
The memory map of FIG. 13 illustrates that separate portions of
key RAM memory 56 are dedicated to storing lockbox characterization
instructions and copies of lockbox access logs. In other embodiments,
a single portion of key RAM memory 56 can be shared for these purposes.
PROGRAMMABLE KEY OPTIONS
The instructions needed to implement the following key options
are provided with the key control software stored in key ROM 64.
These options are then individually enabled or disabled by setting
appropriate enable/disable bits stored in key RAM 56 with the key
characterization instructions.
Key Expiration Date
To enhance security of the system, some or all of keys 14 can be
programmed to "expire" (become disabled) after a predetermined
number of days. By this technique, keys that are lost or stolen
lose their utility in a relatively short time.
In RAM memory 56 of key 14 is data corresponding to a julian expiration
date on which the key is to expire. Before any functions requested
by the key are authorized, key CPU 52 first compares this expiration
date with data received from the calendar-clock portion of lockbox
CPU 28 indicating the current date. If key CPU 52 determines that
its expiration date has passed, the requested function is denied.
A signal is sent to lockbox 12 informing lockbox CPU 28 of the expired
key for logging in the lockbox's diagnostic maintenance log (discussed
below in the section entitled Diagnostic Features). A corresponding
entry is made in the key's diagnostic maintenance log. The key then
displays an error message indicating an expired key in the message
portion of key LCD display 50. After the message has been displayed
for a predetermined period of time, the key reverts to its sleeping
state.
This expiration date feature significantly enhances system security
without imposing any significant burden on users of the system.
Expired keys can be "rejuvenated" by an appropriate authority,
usually the supervising real estate board, by simply loading a new
expiration date into key RAM 56 via a stand.
The present expiration feature also offers the supervising board
and the individual users considerable operational flexibility. For
example, the board can set a key to expire on any desired date.
A key can thus be programmed to expire in a day, a week, a year
or never, in increments of one day. (To program the key to never
expire, this function is simply not enabled). This flexibility also
enables the board to set different expiration dates for different
keys. For example, it may wish the keys of new agents to require
rejuvenation every two weeks those of established agents to require
rejuvenation every two months and those of brokers to require rejuvenation
only every two years. The expiration dates of the various keys can
also readily be staggered so that all the keys in the system will
not need to be rejuvenated on the same day. The system offers flexibility
to users in that a key can be rejuvenated before it expires. A key
owner can thus rejuvenate a key at a time when it is convenient,
rather than at a time dictated by the lockbox owner.
Key Deactivation
Key 14 can selectively be deactivated to disable its further use
by setting an appropriate disable bit in key RAM 56. This is useful
when, for example, a board or an agency wishes to store unused keys.
After being deactivated, key 14 must be reinitialized with new characterization
instructions from the board or other supervising authority before
it can be used again.
PROGRAMMABLE LOCKBOX OPTIONS
The instructions needed to implement the following lockbox options
are provided with the lockbox control software stored in lockbox
ROM 44. These options are then individually enabled or disabled
by setting corresponding enable/disable bits stored in lockbox RAM
30 with the lockbox characterization instructions.
Daily Lockbox Disable
Oftentimes, homes listed by real estate agents are not vacant.
The current owner may still be residing in the house and may not
welcome visitors at certain hours. For example, a homeowner may
work in the evenings and sleep during the days and consequently
wish that his house not be shown between the hours of 7:00 a.m.
and 3:00 p.m. To accommodate such homeowners, CPU 28 of lockbox
12 can run a software routine, stored in lockbox ROM memory 44,
that disables the lockbox from opening during certain hours of the
day. The daily lockbox disable software routine operates in conjunction
with the calendar-clock portion of lockbox CPU 28 and with programmable
time data indicating the desired beginning and end times of the
daily lockbox disable period. These beginning and end times are
loaded into lockbox RAM memory 30 with the lockbox characterization
instructions and can be loaded by an appropriately programmed key
14.
In the preferred embodiment of the present invention, lockbox CPU
28 is programmed to correct its internal calendar-clock data automatically
to account for time changes brought on by daylight savings time
so as to maintain the desired daily disable times. Similarly, the
calendar-clock portion of lockbox CPU 28 also corrects itself for
leap years.
Lockbox Disable On Removal
After a real estate agent has released a lockbox shackle, the lockbox
could normally be reinstalled on another house. Before such installation,
however, the lockbox should be reinitialized and loaded with a variety
of new characterization instructions identifying the new listing,
the listing agent, the listing agency, etc. In certain embodiments,
this recharacterization could be accomplished by loading a key 14
with all of the new instructions and loading the lockbox from the
key using the PROGRAM function.
In most systems, however, this field reprogramming procedure is
undesirable. It does not guarantee that the characterization instructions
loaded by computer 18 into key 14 are actually transferred into
the lockbox. More importantly, it does not guarantee that the access
log data stored in the lockbox is recovered and relayed back to
the computer for archival purposes.
In systems where data integrity is important, it is desirable that
the lockbox be read and programmed directly by the computer without
the use of an intermediate key. To insure that this is done, a Lockbox
Disable On Removal feature is selectably provided.
When the Lockbox Disable On Removal feature is enabled by appropriate
bits in the lockbox characterization instructions, the lockbox becomes
disabled when the shackle is released. In this disabled state, the
lockbox cannot be operated nor can it be reprogrammed from the key.
It must be returned to a stand at a board or agency office for reprogramming.
By requiring the lockbox be returned for reprogramming, the access
log can be reliably read for archival purposes, thereby insuring
the integrity of the board's lockbox database.
Lockout List
In certain instances, it may be desirable to lock out certain agents,
or agents from certain agencies, and thereby deny them access to
a listed property. In the preferred embodiment, RAM memory 30 of
lockbox 12 contains a list of key identification data that, although
the keys so identified may otherwise be authorized, are to be locked
out. The identification data received from the accessing key is
compared against this list by lockbox CPU 28. If the accessing key's
identification data corresponds with data found in this list, lockbox
12 will refuse to execute any lockbox functions requested by the
key.
In the preferred embodiment, there are three types of lockouts.
The first type of lockout identifies specific agents that are to
be locked out. The second type of lockout identifies specific agencies
that are to be locked out.
The third type of lockout identifies a specific agency that is
to be allowed access to the house key. Agents from all other agencies
are to be locked out. By this third type of lockout, a house can
be exclusively listed by a single agency so that only agents from
that agency can show the house.
Each of these lockout functions is implemented by certain enabling
data stored in lockbox RAM memory 30 with the lockbox characterization
instructions. If any of these functions is implemented, the characterization
instructions further include data specifying the identities of the
agents or agencies who are to be locked out.
Lockout With Key Disable
As a further option on the lockout list function, lockbox CPU 28
can be programmed to disable certain locked-out keys that may attempt
to execute a function on the lockbox. In the exemplary embodiment,
lockbox CPU 28 responds to each such preidentified key with a special
signal that instructs key CPU 52 to alter the key's four digit personal
code in key RAM memory 56 by replacing certain digits of this code
with hexadecimal digits (A-F) which are not included on the key's
keypad 48. With the personal code so altered, the user can no longer
arm the key for use. The personal code can only be made usable again
by reprogramming the key, which operation is usually only performed
by the supervising real estate board.
Updating Lockout Lists
It will be recognized that the lockout list data stored in each
lockbox may need to be updated frequently in order to be effective
in locking out undesired keys. In one form of the invention, key
14 has a portion of its RAM memory 56 dedicated to storing a lockout
list. Stored with this list is a date indicating the timeliness
of the lockout list data. A date is also stored with the lockout
list data stored in lockbox 12 indicating its timeliness. Whenever
key 14 and lockbox 12 communicate, these dates are compared by key
CPU 52 or lockbox CPU 28. If it is determined that the lockout list
data stored in key 14 is "fresher" than that stored in
lockbox 12, the key's lockout list data, including the date data,
is transferred to lockbox RAM memory 30 where it overwrites the
"stale" lockout list data previously stored there. If
it is determined that the lockout list data stored in lockbox list
12 is "fresher" than that stored in key 14, the lockbox's
lockout list data, including the date data, is transferred to key
RAM 56 where it overwrites the "stale" lockout list data
previously stored there. By this technique, one unit updates the
other so that each has the newer lockout list data.
Privacy Read
Some listing agents, especially those who list expensive homes,
may wish to prevent others from retrieving the lockbox access logs
recorded in their lockboxes. These logs may reveal the identities
of the agents within the real estate board whose clientele can afford
expensive homes. This is useful information that the listing agent
may not wish to share with other agents.
In order to maintain the privacy of this information, the lockboxes
of the present invention can be programmed, by an appropriate bit
in the lockbox characterization instructions, to allow only the
listing agent, or that agent's broker or board, to retrieve the
lockbox access log. If this enable bit is set, lockbox CPU 28 compares
the identification data received from the key with its own lockbox
identification data before allowing an otherwise authorized READ
operation to be performed. Access to the lockbox access log can
thereby be limited to this authorized class of keys.
Privacy Shackle Release
It is generally desirable to restrict execution of the SHACKLE
RELEASE function to the listing agent, or to that agent's broker
or board. To restrict execution of the SHACKLE RELEASE function
in this manner, a Privacy Shackle Release function is provided.
If this function is enabled, lockbox CPU 28 compares the identification
data received from the key with its own lockbox identification data
before allowing a SHACKLE RELEASE function to be performed.
Lockbox Deactivation
Lockbox 12 can selectively be deactivated to disable its further
use by setting an appropriate disable bit in lockbox RAM 30. After
being deactivated, lockbox 12 must be reinitialized with new characterization
instructions from the board or other supervising authority before
it can be used again.
DIAGNOSTIC FEATURES
Power-On Diagnostics
As soon as key 14 is awakened by pressing the ON/CLEAR button,
a set of diagnostic routines is run to confirm proper operation
of the key.
As a first check, key CPU 52 determines whether the "master
software switch" is off. The master software switch is a flag
in key RAM memory 56 that indicates whether the key's characterization
instructions are corrupted. This switch is turned off every time
a process of critical loading characterization instructions from
a computer into the key is begun. The switch is not turned back
on again until the transfer of instructions is completed without
error. If, for example, the key is removed from stand 16 before
the transfer is completed, the characterization instructions in
key RAM memory 56 will be incomplete. Key CPU 52 recognizes this
data corruption by noting that the master software switch is still
off and accordingly prevents the key from attempting any operations
until the characterization instructions are loaded correctly. (Provision
is made for reloading new characterization instructions from a properly
authorized computer through a stand even when the master software
switch is off).
As a second check, key CPU 52 determines whether there is any button
on keypad 48 that is stuck in the down position.
As a third check, key CPU 52 determines whether the key is in personal
code timeout mode. Personal code timeout mode is the ten minute
period following four unsuccessful entries of the personal code.
As a fourth check, key CPU 52 performs a non-destructive test on
key RAM memory 56 to determine if it is malfunctioning.
If any of these four error conditions is detected, a corresponding
error message is presented in the message of LCD display 50 for
a five second period and the key then returns to sleep.
If none of the error conditions is detected, the key then examines
the status of the key battery. If it needs to be replaced, key CPU
52 makes visible the KEY BATTERY annunciator for the remainder of
the key's operations. If the key battery count (discussed below)
is equal to zero, CPU 52 causes LCD display 50 to display the message
"DEAD" for a predetermined period of time and then go
to sleep.
If the diagnostic tests are run successfully, the key allows the
user to proceed and enter the four digit personal code, etc.
Error Messages
The message display portion of the LCD display 50 can indicate
up to 100 errors by displaying messages ER00 through ER99. The error
codes are very finely detailed so that a user can determine quite
accurately the nature of a problem by reference to the two digit
code. Selected error conditions displayed in this manner include
pushing a wrong button, dead battery, wrong personal code, key in
personal code timeout mode, keyboard button stuck, master software
switch off, etc.
Diagnostic Maintenance Log
Occasionally, a vendor or manufacturer may receive reports that
a lockbox or key is malfunctioning. To aid in investigation of such
reports, the lockboxes and keys of the present invention each have
a portion of their RAM memories dedicated to storing detailed diagnostic
information. In the preferred embodiment, detailed information on
the last ten events noted by the lockbox or key microprocessor is
stored in this "diagnostic maintenance log." Each diagnostic
maintenance log entry identifies the events noted and the key or
lockbox unit's response.
The diagnostic maintenance log entry of an exemplary OPEN operation
in the key might be as follows. The key is energized by the ON/CLEAR
button. If one of the Power-On diagnostics is failed, a corresponding
entry is made in the diagnostic maintenance log. Assuming the Power-On
Diagnostics are run successfully, the user is allowed to enter the
four digit personal code. If the wrong code is entered or if no
code is entered within the ten second time period, a corresponding
entry is made in the maintenance log. Assuming the personal code
is correctly entered, the user is next prompted to select a function.
Again, if an error is made by the user in selecting a function or
if the function selected is denied by the system, a corresponding
entry is made in the maintenance log. This process of logging any
error condition continues until the key returns to sleep.
Although not recited in the foregoing example, it should be noted
that an interruption in the communications between a lockbox and
key is an event that is always recorded as an entry in the diagnostic
maintenance log.
Depending upon the requirements of a particular application, each
CPU could be programmed to record data on all events, or only on
those events that prevent the requested operation from being executed.
It will be noted that the lockbox access and diagnostic maintenance
logs of the present invention serve two entirely different purposes.
The lockbox access log serves as a record, for legal or management
information purposes, of a narrow range of lockbox operations. The
lockbox access log only logs OPEN, SBA, SHACKLE RELEASE, SIGNATURE
and FILE MARK functions. It logs both successful and unsuccessful
OPEN, SBA, SHACKLE RELEASE and SIGNATURE functions, but only logs
FILE MARK functions if they are successful. If an unsuccessful function
is logged, no diagnostic data indicating the reason for the failure
is recorded. With each of these access log entries, however, the
lockbox logs a variety of ancillary data, such as the date and time
of the operation and the identity of the key requesting the operation.
The diagnostic maintenance log, in contrast, serves only as a diagnostic
tool. It serves in this capacity for all lockbox or key operations,
not just those four which are of concern to the lockbox access log.
For each operation, it stores detailed diagnostic information. However,
no time, date or identification data is logged.
Upon reports of a malfunctioning lockbox or key, the corresponding
diagnostic maintenance log can be retrieved, either by sending the
malfunctioning unit to the board for coupling to the board computer
or by coupling the unit to the board computer through a stand 16.
This data can then be evaluated to determine the cause of the malfunction.
Remote Testing
In addition to retrieving diagnostic maintenance log data from
keysafes and locks for coupling to a computer, stand 16 further
serves a diagnostic function by enabling a computer to conduct detailed
testing on a malfunctioning lockbox or key unit. A lockbox or key
that is malfunctioning can be put on a stand and the central board
office computer called. The central computer can then run a collection
of diagnostic routines and indicate to the user the cause of the
problem. If the board's central computer is not able to diagnose
the problem, the vendor or supplier of the equipment can run exhaustive
diagnostic routines directly from its office to the unit on the
stand at the remote location.
AUTHORIZATION OF LOCKBOX OPERATIONS
The determination of whether a key is authorized to operate a lockbox
is made by comparing certain strings of data exchanged between the
lockbox and key. An operation is only authorized if these data strings
correspond to a specified degree. This process is explained in more
detail below.
In the preferred embodiment, the exchange of signals between the
key and lockbox comprises a multipart handshake. First, key 14 sends
a first, interrogation signal to lockbox 12 to cause the lockbox
to wake up from its sleeping state. Lockbox 12 responds by sending
a second signal back to the key. This second signal includes lockbox
battery condition data and date data (provided by the calendar-clock
portion of CPU 28).
Upon receiving this data, key CPU 52 compares the received date
data with the key expiration date stored in key RAM memory 56, as
discussed earlier. If it is determined that the key is not expired,
key CPU 52 then sends lockbox CPU 28 data identifying the key by
agent, agency and board so that the lockbox can determine whether
the requested function can be executed on the basis of an ownership
match between the lockbox and key. Lockbox 12 has corresponding
identification data, identifying its listing agent, agency and board,
stored in its RAM memory 30. In order for lockbox 12 to authorize
execution of the requested function on the oasis of an ownership
match, lockbox CPU 28 compares the key identification data received
from the key with its own lockbox identification data to determine
whether they correspond to a required degree. The degree of correspondence
required between these groups of data before an operation is authorized
is specified by "permission codes" stored in the key and
sent to the lockbox with the key identification data.
Permission Codes
At one extreme, the permission codes may require only that the
lockbox and key identification data indicate that the lockbox and
key are assigned to the same real estate board in order for the
lockbox to authorize the requested operation. At the other extreme,
the permission codes may specify that even if the lockbox and key
are assigned to the same board, agency and agent, the lockbox will
still not authorize the requested function. In between these extremes,
the permission codes may specify that the corresponding elements
of board and agency identification data match, or; that the corresponding
elements of board, agency and agent identification data match, before
the lockbox will authorize a requested operation.
Three different permission codes are stored in key RAM memory 56
corresponding to three groups of lockbox operations. The first permission
code specifies the degree of match required between the lockbox
and the key identification data before an OPEN, SBA, change SBA
or FILE MARK function will be authorized. The second permission
code specifies the degree of match required between the lockbox
and key identification data before the SHACKLE RELEASE function
will be authorized. The third permission code specifies the degree
of match required between the lockbox and key identification data
before any of the READ functions will be authorized. (The remaining
functions do not depend on permission codes for authorization. CHANGE
PERSONAL CODE, CLEAR MEMORY and CONTROLLER are functions executed
by the key alone, not in cooperation with a lockbox. SIGNATURE does
not require any ownership match for execution. PROGRAM generally
cannot be executed unless there is a match between the owner of
the computer that loaded the programming instructions into the key
and the owner of the lockbox.)
Each permission code can assume one of four values as follows:
4: Disabled
3: Requires board, agency and agent match
2: Requires board and agency match
1: Requires only board match
If lockbox CPU 28 finds the requisite match between the lockbox
and key identification data, the lockbox authorizes and executes
the requested function. If the lockbox CPU does not find the requisite
match, the system then examines whether the function might be authorized
based on an "access code" match.
Access Codes
If the requested function is OPEN or SBA, key 14 may authorize
the function based on an access code match.
Both lockbox 14 and key 12 have at least one access code stored
in their respective RAM memories. (In one form of the invention,
up to fifteen access codes can be stored in each unit). The access
codes stored in the lockbox are each three bytes long. A two byte
field identifies the real estate board. A one byte field is arbitrary.
The access codes stored in the key also contain a two byte field
identifying the board and a one byte arbitrary field. The key access
codes, however, each additionally contain an expiration date field.
If the requested function is an OPEN or SBA function and if the
function was not authorized by a permission-code specified ownership
match, the lockbox transmits its access codes to the key for evaluation
by key CPU 52.
After receiving the lockbox access codes, key CPU 52 compares each
of the lockbox access codes with each of the key access codes stored
in key RAM 56. If key CPU 52 finds a match, it then compares the
expiration date associated with the matching key access code with
the date data received earlier from the lockbox to determine whether
the key access code involved in the match is nonexpired. If the
code is nonexpired, the key sends the lockbox a signal instructing
the lockbox to execute the requested OPEN or SBA function.
If none of the key access codes matches any of the lockbox access
codes, or if only expired key access codes match lockbox access
codes, the key sends the lockbox a signal instructing the lockbox
not to execute the requested OPEN or SBA function.
Summarizing the procedure by which a function is authorized, if
the requested function requires a permission code-specified ownership
match and such match is found, the lockbox authorizes the requested
function. If the requested function is an OPEN or an SBA and if
the permission code-specified match is not found, the key can nonetheless
authorize the function if any of the lockbox access codes match
any of the nonexpired key access codes.
It should be noted that the particular function authorization process
described above was adopted because it minimizes the amount of data
transmitted between the lockbox and key units and because it made
the most efficient use of the processing and memory capabilities
of the respective units. However, the elements of data exchanged
and the distribution of the decision making tasks between the two
CPUs could readily be altered to meet the requirements of other
applications.
Segmentation/Regionalization
The access code system of the present invention provides several
capabilities that have been difficult or impossible to implement
in prior art lockbox systems. One such capability is board segmentation
and regionalization.
In a typical system, the arbitrary byte included in the lockbox
and key access codes is used to segment or regionalize the properties
listed by a real estate board into a variety of classes. For example,
a board may deal in both residential and commercial properties,
but not want residential agents to gain access to commercial listings
and vice versa. In this case, the arbitrary byte in the lockbox
access codes of the lockboxes installed on commercial properties
could be set to "1" and the arbitrary byte in the lockbox
access codes of lockboxes installed on residential properties could
be set to "2." The keys of commercial agents would then
be programmed to have an access code terminating in "1,"
while the keys of residential agents would be programmed to have
an access code terminating in "2." With the access codes
so set, residential agents would be prevented from gaining access
to commercial properties and vice versa.
Inter-Board Cooperation
In addition to enabling real estate boards to segment and regionalize
their listings, the access code system of the present invention
also enables real estate boards to cooperate in the sales of properties.
For example, Board A may wish to allow all agents from neighboring
Board B to have access to a lockbox on a particular house within
Board A territory in order to expedite its sale. To do this, Board
A would add to this lockbox's access code list an additional access
code comprised of two bytes identifying Board B, together with the
one byte arbitrary field that is in general use by Board B. By so
doing, Board A enables all agents from Board B to open the lockbox
with their existing Board B keys.
Similarly, an agent (c) from Board C may wish to show a client
houses listed for sale in neighboring Board D. To do this, agent
(c) would call Board D and request that it load an access code into
agent (c)'s key that matches the access code (or codes) resident
in the Board D lockboxes to which agent (c) seeks access. (A board
can only load a key with key access codes having that board's identifying
two byte field). The loading of these access codes could be done
by Board D's computer over telephone lines into agent (c)'s key
via a stand, regardless of the distance between Boards C and D.
Board D would doubtless also append an expiration date to the codes
loaded into agent (c)'s key so that agent (c) could only access
the properties in Board D for a limited period, such as a day or
two.
Additional Information on Permission Codes
Like the access code system described above, the permission code
system also gives the present invention capabilities that were difficult
or impossible to implement in prior art lockbox systems. For example,
the permission code system enables keys to be delegated different
capabilities corresponding to the needs and privileges of different
users.
As noted, each key is programmed with permission levels for three
different classes of functions: OPEN/SBA, SHACKLE RELEASE and READ.
In operation, the permission levels indicate the degree of ownership
match required between a key and lockbox before the two units can
cooperate to execute a function.
The different permission codes in a key are assigned independently
of one another, so that a key can have one permission code for certain
functions and different permission codes for other functions. This
feature allows boards and agencies to vary the capabilities of their
keys simply by reprogramming the permission codes stored with the
key characterization instructions. Such specialized keys have several
applications. For example, an agency may wish to hire a courier
to visit various houses listed by the agency to retrieve the lockbox
access logs. However, the agency may not want the courier to have
access to the key compartments of any of these lockboxes. To limit
the courier's capabilities in this manner, the agency puts the key
in the stand and sets the permission codes for OPEN/SBA and SHACKLE
RELEASE to 4. A permission code of 4 prevents the function from
being executed, regardless of the degree of ownership match between
the lockbox and key. The READ permission level is set to 2, which
allows the key to read the lockboxes on all the houses listed by
the agency. The courier can then go and retrieve data from all these
lockboxes and yet be unable to gain access to any of the house keys.
As far as the permission levels are concerned, there is no distinction
made between listing agents and nonlisting agents. A permission
code of 3 is generally assigned to each. However, listing agents
can perform significantly more functions at a lockbox than a regular
agent. For example, listing agents can change the Shown By Arrangement
code and can execute Privacy Reads. These privileges, however, are
not granted by reference to permission codes in key RAM 56. Instead,
such restricted functions are authorized only when CPU 28 or CPU
52 has confirmed that the key requesting execution of the function
is owned by the listing agent associated with the lockbox (or that
agent's broker or board). If no such match is found, the key owner
is refused authorization to execute the listing agent functions.
Industrial Applications of Permission Codes
The permission code system of the present invention has applications
in the industrial security market as well as in the real estate
lockbox field. An industrial site can be tiered in a manner analogous
to the agent, agency and board levels used in lockboxes. For example,
an industrial site could be tiered into employee, building master
and site master levels. The employees of a company could be assigned
permission codes of 3, allowing them to unlock only the doors for
which they are the responsible employees. Building security guards
could be assigned permission codes of 2, allowing them to unlock
all doors in the particular buildings for which they are responsible.
Master security guards could be assigned permission codes of 1,
allowing them to unlock all doors on the site.
Permission Codes and Computers
The permission code system of the present invention is also used
with computers 18. Each computer is assigned a permission code that
specifies which lockboxes and keys it can work with. If the computer
belongs to an agency, it will be assigned a permission code of 2.
A computer with a permission code of 2 can only be used to interface,
through a stand, with keys and lockboxes assigned to that same agency.
If the computer is owned by the board, it will be assigned a permission
code of 1 and can be used to interface with all keys and lockboxes
in the real estate board.
The permission code assigned to a computer also limits the authority
it can delegate to a key. A computer can delegate different levels
of authority to a key by the permission codes that it loads into
the key with the characterization instructions. A computer can reprogram
a key's permission codes to the computer's own permission code or
to any more restricted level. For example, a computer owned by an
agency can reprogram a key to have permission codes of 2, 3 or 4.
Such a computer cannot be used to program a key to have permission
code of 1, for this would be delegating authority to the key higher
than the computer's own authority. A board level computer, due to
its permission code of 1, can be used to program or read any lockbox
or key owned by the board.
COMMUNICATIONS
Digital Reconstruction Modulation
As noted, communication between the lockboxes, keys and stands
of the present invention is effected by electromagnetically coupled
coils. In the prior art, exchange of data over coupled coils was
effected by modulating the data signal onto an audio frequency or
radio frequency carrier. Such electromagnetic coupling has previously
been poorly suited for use in such battery powered applications
because the modulated carrier draws a relatively large amount of
power from the battery.
In order to minimize battery drain, the present invention employs
a new modulation scheme, termed here "digital reconstruction
modulation." In this system (FIG. 19), the raw data signal
which is switching, for example, between zero volts and two volts,
is applied directly across a first, transmitting coil 300. Across
a second, receiving coil 302 is induced an alternating series of
positive and negative transient voltage spikes corresponding to
the transitions in the data signal. These transient voltage spikes
are applied to a Schmidt trigger circuit 304. The Schmidt trigger
circuit toggles states only when the voltage applied to its input
is above a first threshold voltage or below a second threshold voltage.
These threshold voltages are selected so that the positive transients
exceed the first threshold voltage and so that the negative transients
drop below the second threshold voltage. The positive transients
thus cause the Schmidt trigger to toggle on and the negative transients
thus cause the Schmidt trigger to toggle off. The output signal
provided by the Schmidt trigger is thus identical to the data signal
applied to the transmitting communications coil, reconstructed by
virtue of the Schmidt trigger's hysterisis properties.
Depending on the relative orientation of the two communicating
coils, a low to high data signal transition applied across the first
coil may cause a positive or a negative voltage transient across
the second coil. Thus, the data signal recovered by the Schmidt
trigger may be the inverse of the data signal applied to the first
coil. This detail can be taken care of by starting the exchange
of data between system units with a known data string. If the CPU
in the receiving unit detects that the known data string is inverted,
it can cause the output from the Schmidt trigger to be inverted
again, bringing the signal back to its proper condition, for the
remainder of the communications. Alternatively, the problem of data
inversion can be eliminated entirely by insuring that the communicating
components are always coupled in the desired orientation.
One advantage of this digital reconstruction modulation is that
the effective range over which the coupled coils can communicate
is not, as in the prior art, determined by the current drawn by
the transmitting coil. Instead, the strength of the received signal
is dependent solely on the rise time and fall time of the input
data signal and on the coefficient of coupling between the transmitting
and receiving coils. The voltage induced in the receiving coil is
proportional to the time rate of change of this input signal. Thus,
limiting the current in the transmitting coil, for example by a
current limiting circuit set to clamp the coil current at one milliampere,
does not significantly reduce the communications range. Range is
only limited by the switching speed of the component logic.
A second advantage is that the data transmission rate is not limited
by the frequency of a carrier signal carrying the data. Again, the
only limits imposed are by the switching speeds that can be obtained
in the coil circuit.
Adaptive Communications
The maximum speed at which lockbox, key and stand components can
communicate with one another varies as a function of temperature,
component tolerances and component aging. In a worst case situation,
one system component might be able to communicate at only one-third
the speed of another component. Instead of using a communication
speed that is certain to be within the capability of all system
components (i.e. the lowest common denominator speed), the present
invention employs an adaptive communications scheme that optimizes
the communications rate for a particular pair of communicating components.
As noted earlier, communications between units are generally begun
by the key sending an interrogation signal to wake up the lockbox.
Before the lockbox responds with its response signal identifying
the lockbox, reporting on battery state, etc., as discussed earlier,
the two units first agree on a data transmission speed.
To set the data transmission speed, each unit sends the other its
shortest data element. In the present invention, a data 0 is represented
by a signal duration of a first period and a data 1 is represented
by a signal three times longer. To set the data transmission speed,
the key thus sends to the lockbox a data 0 at the key's top speed.
Lockbox CPU 28 measures the duration of this signal and stores this
value in its RAM memory 30. Lockbox CPU 28 then sends the key a
data 0 signal at the lockbox's top speed. Key CPU 52 in turn counts
the duration of this signal and stores this value in its RAM memory
56. CPUs in both units then compare the duration of the signal received
with the duration of the signal they sent in order to determine
which unit is operating more slowly. The CPU in the faster unit
then reduces its data communications speed in order for the length
of its data 0 to match that of the slower unit. (The speed at which
each unit transmits is set by a data word in the unit's RAM memory,
which word can be altered by the CPU to effect the speed change).
By this technique, the two units adapt to operate at the highest
speed that both units can manage.
After two communicating units agree on a data transmission speed,
they then exchange bits of data, such as the data 0 signal, alternately,
approximately 20 times, in order to confirm that a reliable communications
link has been established. If these twenty exchanges of data 0 signals
are completed without interruption, the communications link is considered
to be reliable and the exchange of function authorizing data between
units is begun.
BATTERY SYSTEMS
A comprehensive battery monitoring system is employed in the present
invention to prevent the lockbox and key batteries from failing |