U.S. patent application number 11/595600 was filed with the patent office on 2007-03-08 for system for dynamically tracking the location of network devices to enable emergency services.
Invention is credited to Silvano Gai, David R. Oran.
Application Number | 20070055746 11/595600 |
Document ID | / |
Family ID | 37497350 |
Filed Date | 2007-03-08 |
United States Patent
Application |
20070055746 |
Kind Code |
A1 |
Oran; David R. ; et
al. |
March 8, 2007 |
System for dynamically tracking the location of network devices to
enable emergency services
Abstract
A system and/or method to determine the location within a
building of an apparatus, such as a personal computer, coupled to a
computer network. A communication facility of the apparatus is
configured to source and sink messages in the computer network via
at least one network port coupled to the computer network. A radio
frequency (RF) receiver of the apparatus is configured to receive
beacon signals transmitted by a plurality of base stations, the
base stations located in the building, each beacon signal encoded
with location information descriptive of the location of one of the
base stations. Also, a location determination engine of the
apparatus is configured to compute a location of the apparatus
based on the location information encoded in the beacon signals,
the computed location being a point within the building.
Inventors: |
Oran; David R.; (Acton,
MA) ; Gai; Silvano; (San Jose, CA) |
Correspondence
Address: |
CESARI AND MCKENNA, LLP
88 BLACK FALCON AVENUE
BOSTON
MA
02210
US
|
Family ID: |
37497350 |
Appl. No.: |
11/595600 |
Filed: |
November 10, 2006 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
09908341 |
Jul 18, 2001 |
7149499 |
|
|
11595600 |
Nov 10, 2006 |
|
|
|
Current U.S.
Class: |
709/217 |
Current CPC
Class: |
H04W 4/90 20180201; H04M
11/04 20130101; H04M 2242/04 20130101; H04W 64/00 20130101; H04W
76/50 20180201 |
Class at
Publication: |
709/217 |
International
Class: |
G06F 15/16 20060101
G06F015/16 |
Claims
1. An apparatus comprising: a communication facility configured to
source and sink messages in a computer network via at least one
network port coupled to the computer network; a radio frequency
(RF) receiver configured to receive beacon signals transmitted by a
plurality of base stations, the base stations located in a
building, each beacon signal encoded with location information
descriptive of the location of one of the base stations; and a
location determination engine configured to compute a location of
the apparatus based on the location information encoded in the
beacon signals, the computed location being a point within the
building.
2. The apparatus of claim 1, wherein the location determination
engine is further configured to generate one or more location
identifier (ID) messages that contain the computed location of the
apparatus within the building, and the communication facility is
further configured to transmit the one or more location ID messages
onto the computer network.
3. The apparatus of claim 2, wherein the communication facility is
further configured to direct the one or more location ID messages
to a location repository having a location table to store locations
of a plurality of different apparatus coupled to the computer
network.
4. The apparatus of claim 1, wherein the location information
comprises latitude, longitude, and height above sea level.
5. The apparatus of claim 1, wherein the location information
comprises a floor number of a floor of the building.
6. The apparatus of claim 5, wherein the location determination
engine is further configured to generate one or more location
identifier (ID) messages that contain a floor number of the
building, which indicates where the apparatus is located, and the
communication facility is further configured to transmit the one or
more location ID messages onto the computer network.
7. The apparatus of claim 1, wherein the location determination
engine is further configured to compute the location of the
apparatus by trilateration from the location information encoded in
the beacon signals.
8. The apparatus of claim 1, wherein the location determination
engine is further configured to compute the location of the
apparatus by comparison of a time of transmission of each beacon
signal with a time or reception at the apparatus of that beacon
signal, and to determine therefrom a distance each beacon signal
has traveled.
9. The apparatus of claim 1, further comprising: a call signaling
entity configured to initiate calls from the apparatus over the
computer network to another apparatus, the call signaling entity
further configured to cause the apparatus's computed location to be
appended to at least one of the calls.
10. The apparatus of claim 9, wherein the at least one call is an
emergency 911 call.
11. The apparatus of claim 1, wherein the location determination
engine is configured to detect that the apparatus has been moved
and, in response, to compute a new location of the apparatus.
12. The apparatus of claim 1, wherein the beacon signals are
transmitted as Loran signals.
13. The apparatus of claim 1, wherein the computer network is an
Ethernet local area network (LAN).
14. The apparatus of claim 1, wherein the apparatus is a personal
computer.
15. The apparatus of claim 1, wherein the apparatus is a Voice over
Internet Protocol (VoIP) telephone device.
16. A method comprising: receiving beacon signals transmitted by a
plurality of base stations, the base stations located in a
building, each beacon signal encoded with location information
describing the location of one of the base stations; and computing
a location of an apparatus based on the location information
encoded in the beacon signals, the computed location being a point
within the building; transmitting one or more location identifier
(ID) messages onto a computer network via at least one network port
of the apparatus coupled to the computer network, the messages
including the computed location within the building.
17. The method of claim 16, wherein the step of transmitting
further comprises: directing the one or more location ID messages
to a location repository having a location table to store locations
of a plurality of different apparatus coupled to the computer
network.
18. The method of claim 16, wherein the location information
comprises latitude, longitude, and height above sea level.
19. The method of claim 16, wherein the location information
comprises a floor number of a floor of the building.
20. The method of claim 19, wherein the step of transmitting
further comprises: including a floor number of the building, which
indicates where the apparatus is located, in the one or more
location ID messages.
21. The method of claim 16, wherein the step of computing further
comprises: employing trilateration from the location information
encoded in the beacon signals to determine the location of the
apparatus.
22. The method of claim 16, wherein the step of computing further
comprises: comparing a time of transmission of each beacon signal
with a time or reception at the apparatus of that beacon signal and
determining therefrom a distance each beacon signal has
traveled.
23. The method of claim 16, further comprising: initiating a call
from the apparatus over the computer network to another apparatus;
and appending the apparatus's computed location to the call.
24. The method of claim 23, wherein the call is an emergency 911
call.
25. The method of claim 16, further comprising: detecting that the
apparatus has been moved, and, in response, computing a new
location of the apparatus.
26. The method of claim 16, wherein the beacon signals are
transmitted as Loran signals.
27. The method of claim 16, wherein the computer network is an
Ethernet local area network (LAN).
28. The method of claim 16, wherein the apparatus is a personal
computer.
29. The method of claim 16, wherein the apparatus is a Voice over
Internet Protocol (VoIP) telephone device.
30. An apparatus comprising: means for receiving beacon signals
transmitted by a plurality of base stations, the base stations
located in a building, each beacon signal encoded with location
information describing the location of one of the base stations;
and means for computing a location of an apparatus based on the
location information encoded in the beacon signals, the computed
location being a point within the building; means for transmitting
one or more location identifier (ID) messages onto a computer
network via at least one network port of the apparatus coupled to
the computer network, the messages including the computed location
within the building.
Description
CROSS-REFERENCE TO RELATED APPLICATION
[0001] The present application is a continuation of U.S. patent
application Ser. No. 09/908,341, which was filed on Jul. 18, 2001,
by David Oran and Silvano Gai, for a SYSTEM FOR DYNAMICALLY
TRACKING THE LOCATION OF NETWORK DEVICES TO ENABLE EMERGENCY
SERVICES.
[0002] The present application is also related to U.S. patent
application Ser. No. 09/884,239, now issued as U.S. Pat. No.
6,665,611, which was filed on Jun. 19, 2001, by David Oran and
Silvano Gai for a SYSTEM FOR DISCOVERING AND MAINTAINING GEOGRAPHIC
LOCATION INFORMATION IN A COMPUTER NETWORK TO ENABLE EMERGENCY
SERVICES, which is hereby incorporated by reference in its
entirety.
BACKGROUND OF THE INVENTION
[0003] 1. Field of the Invention
[0004] This invention relates to computer networks, and more
specifically, to a system for dynamically discovering and reporting
the location of network entities or devices.
[0005] 2. Background Information
[0006] Computer networks typically comprise a plurality of
interconnected network entities. A network entity may consist of
any device, such as a computer or end station, that "sources"
(i.e., transmits) or "sinks" (i.e., receives) datagrams (e.g.,
packets and/or frames). A common type of computer network is a
local area network ("LAN") which typically refers to a privately
owned network within a single building or campus. LANs typically
employ a data communication protocol (LAN standard), such as
Ethernet, FDDI or token ring, that defines the functions performed
by the data link and physical layers of a communications
architecture (i.e., a protocol stack). In many instances, several
LANs may be interconnected by point-to-point links, microwave
transceivers, satellite hook-ups, etc. to form a wide area network
("WAN") or intranet that may span an entire country or
continent.
[0007] One or more intermediate network devices are often used to
couple LANs together and allow the corresponding network entities
to exchange information. For example, a bridge may be used to
provide an interconnecting function between two or more LANs.
Alternatively, a switch may be utilized to provide a "switching"
function for transferring information between a plurality of LANs
or end stations. Bridges and switches may operate at various levels
or layers of a communication protocol stack. For example, a switch
may operate at layer 2 which, in the Open Systems Interconnection
(OSI) Reference Model, is called the data link layer and includes
the Logical Link Control (LLC) and Media Access Control (MAC)
sub-layers. Frames at the data link layer typically include a
header containing the MAC address of the entity sourcing the
message, referred to as the source address, and the MAC address of
the entity to whom the message is being sent, referred to as the
destination address. To perform the switching function, layer 2
switches examine the MAC destination address of each data frame
received on a source port. The frame is then switched onto and
driven from the destination port(s) associated with that MAC
destination address.
[0008] Other network devices, commonly referred to as routers, may
operate at higher communication layers, such as layer 3 of the OSI
Reference Model, which in TCP/IP networks corresponds to the
Internet Protocol (IP) layer. Data frames at the IP layer also
include a header which contains an IP source address and an IP
destination address. Routers or layer 3 switches may re-assemble or
convert received data frames from one LAN standard (e.g., Ethernet)
to another (e.g. token ring). Thus, layer 3 devices are often used
to interconnect dissimilar subnetworks. Many equipment
manufacturers include both layer 2 switching and layer 3 routing
functions in a single device.
[0009] Often, it is desirable to obtain information about where
specific network entities, such as end stations, servers, switches,
etc., or specific devices are physically located. For example,
network administrators may wish to perform inventories on the
equipment making up their computer networks. This information can
then be used in determining maintenance schedules, among other
applications. Currently, only manual systems exist for collecting
and storing such information. Specifically, the network
administrator would visit each location, write down identifying
information for the network equipment at that location and then
enter this information in some type of data base, such as a
spreadsheet. Because the creations of such manual inventories are
so time consuming, they are rarely performed. They are also
error-prone, resulting in the data base having incorrect
information. As a result, few network administrators have access to
such information even though it could facilitate many
applications.
[0010] Enhanced 911 Emergency Calling Services
[0011] Many communities provide enhanced 911 (E911) emergency
telephone calling services. With E911, emergency operators receive
the location of 911 calls as well as the telephone number from
which the call originated. Location information is obtained from an
Automation Location Information (ALI) database. Telephone
subscriber information, e.g., name, address, telephone number, is
typically used to build the ALI database. For organizations using a
private branch exchange (PBX) telephone switch, however, subscriber
information is often limited to the organization's name and its
main address. As a result, the "address" displayed to emergency
operators who receive a 911 call from inside a PBX can be imprecise
or even far away from the caller's actual location. In this case,
the operator must obtain location information from the caller
defeating a major purpose of E911 services.
[0012] It is an object of the present invention to provide a system
for discovering location information for network entities and
devices that is neither time-consuming nor error prone.
[0013] It is a further object of the present invention to provide a
system that can update location information as network entities are
moved.
[0014] It is still a further object of the present invention to
utilize location information in requests for emergency
services.
SUMMARY OF THE INVENTION
[0015] Briefly, the invention is directed to a system for
dynamically discovering and selectively reporting the geographic
location of entities of a computer network. In accordance with a
preferred embodiment, a network entity, such as a Voice over
Internet Protocol (VoIP) telephone, end station, server,
intermediate network device, etc., is configured to include a
location determination engine and a radio frequency (RF) receiver
unit. A plurality of RF base stations are disposed in the area
proximate to the network entity. Each RF base station has a beacon
for transmitting a radio frequency (RF) signal encoded with the
location, e.g., the physical coordinates, of the respective RF base
station and the time of transmission. The encoded RF signals are
received by the RF receiver unit at the network entity and passed
to the location determination engine. Using the information encoded
within the received RF signals, the location determination engine
computes its location, e.g., its physical coordinates, such as
longitude, latitude and height, by employing triangulation or other
techniques. The location determination engine then loads its
computed location along with its identity into a network message
and transmits the message to a central repository for storage.
[0016] If the network entity is moved to a new location in the
computer network, the procedure is repeated and the new location of
the network entity is sent to and stored at the central repository
in place of the previous location information, which is now
stale.
[0017] If an emergency call, such as a 911 call, is made from the
network entity, the entity's location information is retrieved from
the central repository and appended to the call. As a result,
emergency personnel are provided with accurate location information
of the specific network entity from which the emergency call was
placed. The location information can be retrieved by the network
entity itself as part of the emergency call procedure or by one or
more intermediate network device's used to route the call to the
emergency personnel.
[0018] In an alternative embodiment, the network entity may be
configured to include a RF transmitter only. In this case, a
plurality of receivers are spaced about the area in which the
network entity is located. The receivers capture the signal from
the transmitter and use triangulation or other techniques to
compute the location of the network entity. In yet another
embodiment, the network entity includes a RF transceiver. A
centrally disposed RF base station transmits a call signal along a
single radial from the base station. Network entities located along
the selected radial receive the call signal, and are configured to
respond to it with response signals. Based on the amount of time it
takes the response signals to be received, the base station can
determine how far out along the selected radial the network
entities are located, and thus their positions. The base station
then selects a new radial from which to transmit the call signal
and the process is repeated.
BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The invention description below refers to the accompanying
drawings, of which:
[0020] FIG. 1 is a plan view of the layout of an office area in
which the present invention may be advantageously utilized;
[0021] FIG. 2 is a highly schematic diagram of a computer network,
including the office area of FIG. 1;
[0022] FIG. 3 is a highly schematic diagram of a network entity in
accordance with the present invention;
[0023] FIGS. 4A-B are a flow diagram of the method of the present
invention; and
[0024] FIG. 5 is a highly schematic diagram of a data structure in
accordance with the present invention.
DETAILED DESCRIPTION OF AN ILLUSTRATIVE EMBODIMENT
[0025] FIG. 1 is a plan view of an exemplary office layout 100. The
office layout 100 includes a plurality of offices 102-112, a lobby
114 and two cubicles 116-117. Disposed along an exterior wall of
the lobby 114 are two windows 118-119. The office layout 100
further includes a wiring closet 122. Located within the wiring
closet 122 are one or more intermediate network devices, such as a
network switch 124. Disposed within each office 102-112 and within
each cubicle 116-117 is a network connector or outlet 126-138. The
network outlets 126-138 are all radially wired to the wiring closet
122 in a conventional manner. In particular, each outlet 126-138 is
preferably coupled to a respective port of the network switch
124.
[0026] Also disposed within each office 102-112 and within each
cubicle 116-117 is one or more network entities that are connected
to the respective outlet 126-138. For example, disposed within
offices 102, 105, 107, 110 and 111, is a Voice over Internet
Protocol (VoIP) telephone 140-144. Disposed within offices 103,
104, 106, 108, 109, 112 and within cubicle 117 is an end station,
such as a personal computer (PC) or workstation 146-152. Each PC or
workstation may include a monitor and a base unit. The PCs 146-152
may be running one or more communication applications, such as
NetMeeting from Microsoft Corp. of Redmond, Wash. Disposed in
cubicle 116 is a server 154. Switch 124, moreover, provides a
switching or interconnection function among its various ports so as
to create a computer network from the network entities coupled to
outlets 126-138, and to provide interconnection with other networks
via conventional routing and bridging technologies.
[0027] Disposed about the office layout 100, at least temporarily,
are a plurality of base stations 160-163. In the preferred
embodiment, the base stations are located around the periphery of
the office 100. Each base station 160-163 is configured to transmit
a radio beacon signal at a selected radio frequency. The radio
beacon signals can be transmitted continuously or in pulses.
Encoded within the radio beacon signals is the location or
position, i.e., the physical coordinates, of the respective base
station. The physical coordinates of the base stations 160-163 may
be obtained by use of a Global Positioning System (GPS) receiver.
For example, a GPS receiver (not shown) may be included at each
base station 160-163. Alternatively, a GPS receiver may be brought
to each base station and a corresponding location obtained and
stored at the respective base station. Other suitable means for
deriving the locations of the base stations 160-163 may also be
used, such as measuring the distance of the base stations from
known datum point(s), etc.
[0028] Each base station 160-163 may include a synchronized clock
or timing source and, for continuous beacon signals, be configured
to transmit its beacon signal in phase with the beacon signals from
the other base stations. If the beacon signals are transmitted in
pulses, they may be further encoded with the time of the respective
pulse. Furthermore, each base station may be configured to pulse
its radio beacon signal at a different rate. Base station 160, for
example, may transmit its signal every 10 milliseconds (ms), while
base station 161 transmits its beacon signal every 20 ms.
[0029] Furthermore, each base station 160-163 may be configured to
transmit its radio beacon signal at a different frequency. Base
station 160, for example, may transmit its signal at 110.6 MHz,
while base station 161 transmits its beacon signal at 111.2 MHz.
The base stations 160-163 may be configured as LORAN-C or Very High
Frequency (VHF) Omnidirectional Range (VOR) navigation-type
transmitters which are both well-known to those skilled in the art
for use in deriving position information.
[0030] FIG. 2 is a highly schematic illustration of a computer
network 200 which includes the network formed by switch 124 and
network entities 140-144, 146-152 and 154. Computer network 200
further includes a plurality of intermediate network devices, such
as routers 202 and 204. Switch 124 is coupled to router 202, which,
in turn, is coupled to router 204. Computer network 200 further
includes one or more location repositories, such as location
repository 206 which is also coupled to router 202. Location
repository 206, which may be a server, has one or more data stores
or structures, such as location table 500, for storing location
information that has been computed for entities of network 200, as
described herein. Computer network 200 further includes or is in
communicating relationship with an emergency call center 210 that
is staffed by emergency personnel.
[0031] FIG. 3 is a highly schematic, partial block diagram of a
network entity, such as VoIP phone entity 140. Network entity 140
preferably includes a network port 302, a communication facility
304 and a call signaling entity 306. The call signaling entity 306
preferably operates in accordance with a known call signaling
protocol, such as H.323, Session Initiation Protocol (SIP), Media
Gateway Control Protocol (MGCP) or MEGACO, which is an alternative
to MGCP, among others.
[0032] In accordance with the present invention, network entity 140
further includes a location determination engine 308 and a radio
frequency (RF) receiver 310. Coupled to the RF receiver 310 is an
antenna 312. The communication facility 304 is in communicating
relationship with the network port 302 so that messages may be
exchanged between the network entity 140 and various entities of
the computer network 200 of FIG. 2. The call signaling entity 306
and the location determination engine 308 are in communicating
relationship with the communication facility 304 so that they can
send and receive messages via network 200. Indeed, the location
determination engine 308 may include a message generator component
314 for use in generating location messages as described herein.
Location determination engine 308 is also in communicating
relationship with the RF receiver 310 so that signals captured on
the antenna 312 or the information encoded therein can be passed to
engine 308 for processing.
[0033] The communication facility 304 preferably includes one or
more software libraries for implementing a communication protocol
stack, thereby allowing network entity 140 to exchange messages
with other entities of network 200. The communication facility 304
may, for example, include software layers corresponding to the
Transmission Control Protocol/Internet Protocol (TCP/IP)
communication stack, although other communication protocols, such
as Asynchronous Transfer Mode (ATM) cells, the Internet Packet
Exchange (IPX) protocol, the AppleTalk protocol, the DECNet
protocol and/or NetBIOS Extended User Interface (NetBEUI) could be
utilized. The communication facility may also include an ad hoc
protocol that is specifically designed to carry location
information as described herein directly the LAN, such as a simple
periodic broadcast/multicast over Ethernet protocol. Communication
facility 304 and/or network port 302 further includes transmitting
and receiving circuitry and components, such as a network interface
card (NIC), that establishes a physical port for exchanging data
packets and frames with switch 124 to which network entity 140 is
connected.
[0034] Location determination engine 308 may comprise registers and
combinational logic configured and arranged to produce sequential
logic circuits. However, in the preferred embodiment, engine 308
comprises software programs or modules containing program
instructions pertaining to the methods described herein. The
program instructions may be disposed on a computer readable media
for execution by one or more processing elements disposed at entity
140. Nonetheless, those skilled in the art will recognize that
various combinations of software and hardware may be utilized to
carry out the objects of the present invention.
[0035] The RF receiver 310 and antenna 312 are configured and/or
tuned so as to capture the beacon signals transmitted by the base
stations 160-163. The RF receiver further includes circuitry, such
as filters, amplifiers, analog signal processing circuitry,
analog-to-digital (A/D) converters, etc., for extracting the
location and either the phase or timing information encoded in the
beacon signals, digitizing that information and providing the
digital data to the location determination engine 308 for
analysis.
[0036] Suitable radio transmitter and receivers for use with the
present invention are available from Motorola, Inc. of Schaumburg,
Ill., and Dataradio Corp. of Atlanta, Ga., among others.
[0037] FIGS. 4A-B are a flow diagram of the method of the present
invention. First, the location determination engine 308 (FIG. 3)
and RF receiver 310 of a selected network entity, e.g., entity 147
(FIG. 1), are activated, as indicated at block 402. In the
preferred embodiment, a network entity activates its location
determination engine 308 and RF receiver 310 during the first
initialization of the entity after it has been connected (e.g.,
plugged in) to its power source. Signals transmitted by the base
stations 160-163 are captured by the antenna 312 of entity 147 and
passed to the RF receiver 310, as indicated at block 404. The RF
receiver 310 decodes the location and the phase or timing
information from the captured beacon signals, and passes this
information as digital data to the location determination engine
308, as indicated at block 406. The RF receiver 310 may also note
the time at which each beacon signal was received, and provide this
information to engine 308 as well. The location determination
engine 308 then computes its location within office layout 100,
based on the information decoded from the RF signals transmitted by
the base stations 160-163 and captured by entity 147, as indicated
at block 408. As the RF signals from the base stations 160-163
include their locations and are transmitted in phase and/or with
their times of transmission, the location determination engine 308
at entity 147 can use well-known triangulation and/or trilateration
operations or equations to compute its position. This information
may be computed in the form of longitude (in degrees, minutes and
seconds), latitude (in degrees, minutes and seconds) and height
above sea level (in meters). Nonetheless, those skilled in the art
will recognize that other units may be used. Another possibility is
to have a different set of transmitters on each floor and to encode
the beacon signals of each set with a floor number (e.g., floor 2,
floor 3, etc.).
[0038] The message generator 314 of the location determination
engine 308 then generates a location identifier (ID) message that
is addressed to the location repository 206 (FIG. 2), as indicated
at block 410. Preferably, the location ID message is encapsulated
in accordance with the well-known User Datagram Protocol (UDP)
which is a connectionless transport layer protocol. In the
destination port field of the UDP message, message generator 314
preferably loads a transport layer port number that is associated
with the repository 206. The UDP message, in turn, is encapsulated
within an Internet Protocol (IP) message, and message generator 314
loads the IP address of the repository 206 into the destination IP
address field of the IP message. Network entity 147 and/or engine
308 may be preconfigured with the network address or name of
repository 206 or it may obtain the address through a discovery
protocol, such as Simple Network Management Protocol (SNMP), Cisco
Discovery Protocol (CDP), etc. Alternatively, the message generator
314 may utilize a selected broadcast or multicast group destination
address and the repository 206 may be configured to listen to all
messages directed to the selected broadcast or multicast group
address.
[0039] It should be understood, however, that other message formats
may be used. For example, the network message may comply with the
Transmission Control Protocol (TCP) layer of the TCP/IP Reference
Model, or the network message may simply be an IP message.
[0040] The location ID message is loaded with an identifier
corresponding to entity 147, such as its Media Access Control (MAC)
and/or IP address, and the computed location of entity 147, as
indicated at block 412. The location information may be in the form
specified in Request for Comments (RFC) 1876 entitled A Means for
Expressing Location Information in the Domain Name System, which is
hereby incorporated by reference in its entirety. The location
determination engine 308 then passes the location ID message to the
communication facility 304 which drives it via network port 302
onto the network 200, as indicated at block 414. The location ID
message, which is routed through the network by the intermediate
network devices, is received at the location repository 206, as
indicated at block 416 (FIG. 4B). Location repository 206 takes the
information from the received location ID message and stores it in
its location table 500, as indicated at block 418.
[0041] FIG. 5 is a highly schematic illustration of location table
500. Table 500 has a plurality of columns, including a network
entity ID column 502 and a location column 504, and a plurality of
rows 506a-f whose intersections define cells or records for storing
information. The location column 504, moreover, is preferably
subdivided into a longitude column 508, a latitude column 510 and a
height column 512.
[0042] Upon receiving the location ID message, the location
repository 206 creates a new entry, e.g., row 506a, in table 500.
Repository 206 the loads the ID of the network entity, i.e., entity
147, that sourced the message into the cell of row 506a that
corresponds to column 502. The computed longitude is stored at the
cell corresponding to column 506, while the computed latitude and
height are stored at the cells corresponding to columns 508,
510.
[0043] Each network entity at the office layout 100 preferably
performs this same process, and the location repository 206
populates the entries and cells of table 500 with the received
information. Table 500 thus contains location information for each
network entity.
[0044] Alternatively, the location information computed by the
network entities may be stored at a data structure maintained by
one or more intermediate network devices, such as switch 124, as
described in the commonly owned, copending patent application
assigned Ser. No. 09/884,239 and entitled System for Discovering
and Maintaining Geographic Location Information in a Computer
Network to Enable Emergency Services, filed Jun. 19, 2001, which is
hereby incorporated by reference in its entirety.
[0045] The location repository 206 may be configured to return an
acknowledgement message to network entity 147 in response to
receiving the location ID messages without error, as indicated at
block 420.
[0046] Suppose one or more of the network entities is moved from
its current location to a new location. In particular, suppose that
network entity 150 is relocated from office 109 to an office in an
entirely different office layout. Once network entity 150 has been
installed in its new location, as part of its initialization, the
location determination engine 308 and RF receiver 310 are activated
causing beacon signals to be captured and engine 308 to compute its
new location, as described above. This new location information is
then loaded into a location ID message and sent to the location
repository 206. The repository 206 searches its location table 500
using the identity of network entity 150 as contained in the
location ID message. In this case, repository 206 finds matching
entry 506c. The repository 206 then replaces the prior location
information stored in the cells of row 506c corresponding to
columns 506, 508, 510 with the new information contained in the
received message. The location of network entities is thus
dynamically updated as they are moved around the offices and work
areas of a given organization.
[0047] Such an organization may permanently place sufficient base
stations throughout its facilities to permit all of the network
entities to compute their locations. The location determination
engines 308 may be configured to compute a new location every few
days or weeks as appropriate. Alternatively, the organization may
periodically move base stations throughout its facilities, and the
location determination engines 308 may be configured to compute a
new location in response to receiving beacon signals from the
transmitting base stations. In this embodiment, the base stations
160-163 may be periodically, e.g., every month, moved through the
organization's facilities, thereby triggering the network entities
to recompute their locations and send that information to the
repository 206.
[0048] The location information stored in the repository 206 can be
used by network administrators and others to keep track of an
organization's equipment and inventory. It can also be used during
enhanced 911 emergency calls. Back-up repositories may be
established within network 200 and/or the storage of computed
locations may be distributed across several repositories.
[0049] The base stations 160-163 can be configured to transmit
their respective beacon signals in all directions at the same time,
i.e., they can be configured as omnidirectional beacons.
Alternatively, they can be configured to transmit their beacon
signals along a single radial from the respective base station. The
radial, moreover, can be changed, e.g., by 1, 5, 10 degrees, etc.
such that each base station effectively "sweeps" its beacon signal
through 360.degree.. In addition to location information, these
radial beacon signals can be encoded with the angle between the
selected radial and a standard datum, such as true north or
magnetic north. By using radials encoded with their angles, network
entities can compute their locations from at least two beacon
signals. A third beacon signal would be necessary to compute a
height value.
[0050] Those skilled in the art will understand that the location
of the base stations, the time at which the beacon signals are
transmitted and the angle of the radial can be encoded in the
beacon signals in many ways. For example, frequency modulation (FM)
can be used to encode the location of the base station into the
carrier beacon signal, and phase modulation (PM) can be used to
encode the angle of the radial.
[0051] Rather than using radio signals in the VHF range, the base
stations and receivers could be configured to use signals in other
ranges, such as the Ultra High Frequency (UHF) range or the 900
Megahertz (MHz) range, among others. They may also be configured to
use Single Side Band (SSB) transmission mode with either the Upper
Side Band (USB) or the Lower Side Band (LSB), or multiple side
bands and one or more carrier waves as in Amplitude Modulation (AM)
radio transmissions. The base stations and receivers could also be
configured to use Ultra Wideband Radio (UWB) technology.
[0052] It should be understood that the computed location
information may be sent additionally or alternatively to a network
management station via a management protocol, such as SNMP, or to
an intermediate network device via a discovery protocol, such as
CDP. The computed location information can also be added to one or
more Dynamic Host Configuration Protocol (DHCP) messages
transmitted by a network entity to a DHCP host. One or more
intermediate network devices, moreover, could be configured to
snoop such DHCP messages and to retrieve and store the location
information contained therein.
[0053] Emergency 911 Calls
[0054] Suppose, for example, that a user places a 911 call to the
emergency call center 210 from a VoIP telephone or workstation in
one of the offices, e.g., from workstation 146 located in office
103. The "call" is digitized, loaded into a plurality of packets
and sent on the network 200 via the call signaling entity 306 of
workstation 146. These packets are received, at least initially, by
switch 124. Switch 124 is preferably configured with circuitry
and/or software for detecting the initialization of a 911 call,
such as a suitably programmed Network-Based Application Recognition
(NBAR) engine from Cisco Systems, Inc., which is described in
Overview Network-Based Application Recognition, posted by Cisco
Systems, Inc. on Aug. 24, 2000, and hereby incorporated by
reference in its entirety. In response to detecting a 911 call,
switch 124 issues a query to the repository 206 seeking the
location of the calling entity, i.e., workstation 146. Repository
206 performs a look-up on table 500 and responds to the switch 124
with the location of workstation 146. The switch 124 then appends
the location information to the 911 "call" which is routed to the
emergency call center 210. The dispatcher at the emergency call
center 210 is thus presented with the caller's location along with
the 911 call, and can thus direct the delivery of emergency
services to the precise location, i.e., office 103.
[0055] It should be understood that the call signaling entity 306
of workstation 146 may be configured to retrieve the location
information from repository 206 and append it to the 911 call
itself. The call signaling entity 306 could obtain this information
at the time the 911 call is being made by using one or more special
Internet Control Message Protocol (ICMP) messages. Alternatively,
the location determination engine 308 could be configured to retain
or store a copy of its computed location. In this case, the call
signaling entity 306 obtains the location information from engine
308 and appends it to one or more of the packets corresponding to
the 911 call.
[0056] It should be understood that other embodiments of the
present invention are possible. For example, the RF receiver 310 at
each network entity could be replaced with a RF transmitter. The RF
transmitter would pulse radio beacon signals encoded with the time
of each pulse. These signals would be captured by the base stations
which could then cooperate with each other to compute the locations
of the transmitting entities using triangulation or other
techniques. The RF receiver 310 could also be replaced with a
receiver/transmitter or transceiver unit. In this case, a base
station would be centrally disposed in the office layout. The base
station would issue a call signal along a selected radial. Each
network entity disposed along this radial from the base station
would receive the signal and reply with a response signal. By
determining how long from the transmission of the call signal it
takes the base station to receive the response signals, the base
station can compute how far out along the selected radial each
network entity is located. Knowing the angle of the radial relative
to some datum, such as true or magnetic north, the base station can
thus determine the location of each responding network entity. The
base station then increments (or decrements) the angle of the
radial by some value (e.g., 1 degree, 5 degrees, etc.) and repeats
the process until it has issued radial beacons signals through a
complete circle about the base station.
[0057] It should be further understood that the present invention
will also work with network entities employing wireless
technologies, such as network-capable cellular telephones. That is,
one or more of the network entities may communicate with the
network 200 through a wireless medium, such as microwaves, cellular
telephone signals, etc.
[0058] The foregoing description has been directed to specific
embodiments of this invention. It will be apparent, however, that
other variations and modifications may be made to the described
embodiments, with the attainment of some or all of their
advantages. Those skilled in the art will recognize that other
combinations are also possible. Therefore, it is an object of the
appended claims to cover all such variations and modifications as
come within the true spirit and scope of the invention.
* * * * *