`(12) Patent Application Publication (10) Pub. No.: US 2002/0095486A1
`(43) Pub. Date:
`Jul.18, 2002
`Bahl
`
`US 2002O095486A1
`
`(54)
`
`(76)
`
`(21)
`(22)
`
`(51)
`(52)
`
`SYSTEMS AND METHODS FOR LOCATING
`MOBILE COMPUTER USERS IN A
`WIRELESS NETWORK
`
`Inventor: Paramvir Bahl, Issaquah, WA (US)
`Correspondence Address:
`LEE & HAYES PLLC
`421 W RIVERSIDEAVENUE SUTE 500
`SPOKANE, WA 992.01
`Appl. No.:
`09/760,180
`
`Filed:
`
`Jan. 12, 2001
`
`Publication Classification
`
`Int. Cl. ............................................. G06F 15/173
`U.S. Cl. .............................................................. 709/223
`
`ABSTRACT
`(57)
`System and methods for locating a computer user are
`described wherein the computer either periodically updates
`a network Server with its location, or updates the network
`server when asked by the server to do so. The network server
`can be a mobile computer. The user's computer determines
`its physical location using a location tracker Service and then
`transmits this location information to the Server, which
`Stores it in its memory. The information Stored includes the
`physical location of the computer, the time when the location
`was identified, a name identifying the user of the computer,
`and an indicator, which indicates whether or not the user was
`active on the computer during a specified time interval prior
`to the transmission. The location of the user is deemed to be
`the last known location of the computer used by the user. If
`the user is logged onto more than one computer, the location
`of the user is deemed to be the last known location of the
`computer that indicates the user as being active.
`
`300 -
`
`MOBILE A DETERMINE
`LOCATION
`
`302 --
`
`MOBILE A DETERMINES
`SYSTEM TIME
`
`
`
`MOBILE A
`ACTIVEP
`
`306 N SEND NAME, LOC,
`\ TME & ACTIVE To
`SERVER
`
`SEND NAME,
`LOCATION & TIME
`TO SERVER
`
`
`
`
`
`Patent Application Publication
`
`Jul.18, 2002. Sheet 1 of 4
`
`US 2002/0095486A1
`
`SYSTEMMEMORY
`122
`(ROM) 124
`BIOS
`126
`
`
`
`
`
`(RAM) 125
`OPERATING
`SYSTEM
`135
`APPLICATION
`PROGRAM
`136
`OTHER
`PROGRAM
`MODULES
`137
`
`--
`MOBILE PERSONAL COMPUTER
`120
`
`PROCESSENG
`UNIT
`121
`
`VIDEO
`ADAPTER
`148
`
`
`
`
`
`
`
`
`
`100
`
`?
`
`MONITOR
`147
`
`WIRELESS
`NETWORK
`I/F
`153
`
`
`
`HARD DSK FLOPPY DISK OPCAL SERIAL PORT
`DRIVE/F
`DRIVE IF
`DRIVE IF
`/F
`132
`133
`134
`146
`
`
`
`
`
`151
`7
`
`HARD DISK
`DRIVE
`127
`
`DISK DRIVE
`128
`
`
`
`OPERATING
`SYSTEM
`135
`
`APPLICATION
`PROGRAMS
`136
`
`OTHER
`PROGRAM
`MODULES
`137
`
`COPER
`166
`
`SCANNER
`164
`
`PRINTER
`162
`
`F 1
`
`BASE
`STATION
`161
`
`
`
`
`
`
`
`REMOTE SERVER
`149
`MEMORY SORAGE DEVICE
`150
`
`
`
`RESOURCE DATABASE
`168
`
`USER DATABASE
`170
`
`APPLICATION PROGRAMS
`136
`
`
`
`Patent Application Publication
`
`Jul.18, 2002 Sheet 2 of 4
`
`US 2002/0095486A1
`
`Fig. 2
`
`2OO
`
`?
`
`
`
`WRED NETWORK
`(OPTIONAL)
`218
`
`USER DATABASE
`206
`
`-
`
`USER LKL TIME | ACT OK
`210 212
`
`MOBILEA
`218
`MEMORY
`224
`
`
`
`-- -
`
`- -
`
`
`
`LOCATION MANAGER
`230
`
`C NETWORK
`OMMUNICATION
`PROTOCOL(s)
`232
`
`LOCATION
`TRACKING SERVICE
`234
`-
`
`CLOCK
`228
`
`- -
`
`WRELESS NETWORK iNTERFACE
`226
`
`WRELESS ACCESS POINT
`216
`
`MOBILE C
`222
`
`LOCMGR
`238
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication
`
`Jul.18, 2002. Sheet 3 of 4
`
`US 2002/0095486A1
`
`300
`
`MOBILE A DETERMINES
`LOCATION
`
`
`
`302 N MOBILE ADETERMINEs
`SYSTEM TIME
`
`
`
`MOBILE A
`ACTIVE
`
`306
`
`SEND NAME, LOC,
`TME & ACTIVE TO
`SERVER
`
`
`
`SEND NAME,
`LOCATION & TIME
`TO SERVER
`
`308
`
`Fig. 3
`
`
`
`Patent Application Publication
`
`Jul.18, 2002 Sheet 4 of 4
`
`US 2002/0095486A1
`
`400
`
`REQUEST USER A
`LOCATION
`
`402
`
`
`
`USERA IN
`DATABASEP
`
`"USER NOT
`FOUND" MSG
`
`404
`
`Fig. 4
`
`408 N. FND ACTIVE ENTRY
`
`
`
`
`
`
`
`41 O N CALCULATE TIME DIFF
`
`412
`
`
`
`TIME DIFF <
`THRESHOLD?
`
`414
`
`416
`
`418
`
`
`
`NWOKE LTS OF MOBILE A
`
`UPDATE DB
`
`LOC. OF USER A IS LAST
`KNOWN LOC. FROM
`DATABASE
`
`
`
`US 2002/0095486A1
`
`Jul.18, 2002
`
`SYSTEMS AND METHODS FOR LOCATING
`MOBILE COMPUTER USERS IN A WIRELESS
`NETWORK
`
`TECHNICAL FIELD
`0001. This invention relates to locating users logged onto
`a network and, more particularly, to locating mobile users
`logged onto a wireleSS network.
`
`BACKGROUND OF THE INVENTION
`0002 The proliferation of lightweight, portable comput
`ing devices and highspeed wireless local area networks
`(LANs) has enabled users to remain connected and be able
`to compute while on the move inside buildings and on
`campus areas around buildings. This new paradigm has
`given birth to a new class of applications that are “location
`aware.” The goal of mobile computing in many instances is
`to enable a user to interact effectively with his or her
`physical Surroundings. One example of Such an interaction
`is to track physical locations of network users, particularly
`mobile users. Doing So allows one network user to query the
`network for a location of another network user and to receive
`a reasonably accurate response.
`0003. One component of these systems is the actual
`tracking System, which determines the user's location. The
`Global Positioning System (GPS) is one example of a
`technology, which enables the creation of inexpensive and
`portable Systems that can help locate and track users. GPS
`Systems currently are used to provide direction to drivers
`through an in-vehicle System; provide location and tracking
`information for marine navigation; and allow Shipping com
`panies to locate and track individual shipments. However,
`the GPS system relies on an unobstructed view of several
`Satellites, making its use for tracking users who are indoors
`ineffective.
`0004) To overcome this obstacle, alternate technologies
`have been developed to locate and track users or objects in
`an indoor environment. One Such System uses tags placed on
`the items that are to be tracked. In an electronic Sense, the
`tags can be either active or passive, and they communicate
`with base Stations. The base Stations are physically linked
`together through a wired or wireleSS network. Each tag
`transmits a unique code to identify itself. The location of the
`tag can thereby be determined to be in the vicinity of the
`base Station with which the tag last communicated.
`0005 Such tag-based tracking and location systems
`require a Significant installation of Specialized base Stations.
`A tag-based System can only determine the location of the
`tags as being "near a particular base Station. As a result, a
`large number of base Stations must be installed to achieve a
`Sufficiently high resolution. Furthermore, obtrusive tags
`have to be placed on every item that is to be tracked or
`located, and in the case of infrared tags, the System operates
`only when there is a line of Sight between the tag and a base
`Station. For these reasons, tag-based Systems have shown
`very limited Success.
`0006 Another technology has been developed which
`uses radio frequency transmissions from base Stations and
`mobile units to track the location of mobile units. This
`technology is described in U.S. patent application Ser. No.
`09/
`, entitled “Using a Derived Table of Signal
`
`Strength Data to Locate and Track a User In a Wireless
`Network, and in U.S. patent application Ser. No. 09/
`, entitled “Locating and Tracking a User in a WireleSS
`Network Through Environmentally Profiled Data.”
`0007. In this system, a Wireless Local Area Network
`(WLAN) is utilized for locating and tracking users. A
`WLAN consists of base stations connected to a wired
`network, and mobile devices that are “connected” to the
`WLAN through radio frequency signals with the base sta
`tions. The Signal Sensing ability of both the base Station and
`the mobile device are used to determine the location of the
`mobile device, and thus the location of the user of the mobile
`device. In particular, the Strength of the Signals received
`from Several base Stations is measured by the mobile device.
`The mobile device then compares the Signal Strength from
`each of the base Stations to a pre-computed table containing
`the base Stations signal Strength at various known locations
`of the mobile device. From this comparison, the mobile
`device determines its location. Alternatively, the Signal
`Strength from the mobile device can be measured at a
`number of base Stations. This signal Strength is then com
`pared by a central computer to a pre-computed table con
`taining the mobile computer's Signal Strength at the base
`Stations for various known locations. From this table, the
`central computer determines the location of the mobile
`computer.
`0008 Although the mobile computer can identify its
`location using this System, a problem remains as to how one
`user, Say User A, who is logged onto a network on a fixed
`or mobile computer can locate another mobile computer or,
`more likely, the perSon using the mobile computer, Say User
`B. This problem has been solved for finding stationary users,
`Since the requesting user, User A, can simply determine the
`location of a network acceSS point to which the Stationary
`users, User Bs, computer is connected and use that location
`to infer his or her location. But since, by definition, a mobile
`user can be physically located virtually anywhere within the
`coverage of the network, the problem becomes significantly
`more difficult to solve.
`0009. Yet another problem exists when one user is logged
`onto more than one computer in a network. Current Systems
`and methods don't allow for distinguishing between the
`computers to identify where the user may be physically
`located.
`
`SUMMARY OF THE INVENTION
`0010) Systems and methods are described that enable a
`network user to query the network for the location of another
`network user, particularly a mobile user. If the mobile user
`is logged onto more than one computer on the network, the
`requesting user can determine which of the computers the
`mobile user is currently using.
`0011. The mobile user periodically updates a local server
`database with the location coordinates of the mobile user
`and the time at which each update is received. A user name
`identifying the mobile user is associated with the location
`and time of update.
`0012. When another user wants to find the mobile user,
`the other user invokes a location manager to Search a server
`database for a user name identifying the user. If the last
`update from the mobile user was made within a certain
`
`
`
`US 2002/0095486A1
`
`Jul.18, 2002
`
`threshold of the query, the last known location Stored on the
`Server is immediately Sent to the other user as the current
`location of the mobile user. This option requires very little
`overhead.
`0013 If the last update from the mobile user was made a
`while ago (i.e., outside the threshold), then the System
`invokes a location tracking Service to determine the mobile
`user's location. By including periodic updates to the Server,
`the user's computer enables the location manager to locate
`users using their computers even when they are not mobile
`and when they are not wirelessly connected.
`0.014. The mobile computer is also configured to transmit
`an “active' Signal if the mobile computer has been used
`within a specified time period. For example, if the mobile
`computer has been actively used within the two minutes
`prior to the latest update, the active signal is transmitted
`together with the location (and other) information. There
`fore, when a user is logged onto multiple machines, it is
`possible to determine on which machine the user was most
`recently active. The location of the active machine is
`deemed to be the location of the user.
`0.015
`Additional features and advantages of the inven
`tion will be made apparent from the following detailed
`description of illustrative implementations, which proceeds
`with reference to the accompanying figures.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0016 A more complete understanding of the various
`methods and arrangements of the present invention may be
`had by reference to the following detailed description when
`taken in conjunction with the accompanying drawings,
`wherein:
`0017 FIG. 1 is a block diagram generally illustrating an
`exemplary computer System on which the present invention
`resides.
`FIG. 2 is a block diagram of a wireless network
`0.018
`System including a Server and three mobile computers.
`0.019
`FIG. 3 is a flow diagram of client-side operations
`in a method for locating a mobile user within a wireleSS
`network.
`0020 FIG. 4 is a flow diagram of server-side operations
`in a method for locating a mobile user within a wireleSS
`network.
`
`DETAILED DESCRIPTION
`0021. The invention is illustrated in the drawings as being
`implemented in a Suitable computing environment.
`Although not required, the invention will be described in the
`general context of computer-executable instructions, Such as
`program modules, to be executed by a personal computer.
`Generally, program modules include routines, programs,
`objects, components, data structures, etc. that perform par
`ticular tasks or implement particular abstract data types.
`Moreover, those skilled in the art will appreciate that the
`invention may be practiced with other computer System
`configurations, including hand-held devices, multi-proces
`Sor Systems, microprocessor based or programmable con
`Sumer electronics, network PCs, minicomputers, mainframe
`computers, and the like. The invention may also be practice
`in distributed computing environments where tasks are
`
`performed by remote processing devices that are linked
`through a communications network. In a distributed com
`puting environment, program modules may be located in
`both local and remote memory Storage devices.
`0022 With reference to FIG. 1, an exemplary wireless
`network system 100 for implementing the invention
`includes a general purpose computing device in the form of
`a conventional mobile personal computer 120, including a
`processing unit 121, a System memory 122, and a System buS
`123 that couples various System components including the
`System memory to the processing unit 121. The System bus
`123 may be any of Several types of bus Structures including
`a memory bus or memory controller, a peripheral bus, and a
`local bus using any of a variety of bus architectures. The
`system memory includes read only memory (ROM) 124 and
`random access memory (RAM) 125. A basic input/output
`system (BIOS) 126, containing the basic routines that help
`to transfer information between elements within the mobile
`personal computer 120, Such as during Start-up, is Stored in
`ROM 124. The mobile personal computer 120 further
`includes a hard disk drive 127 for reading from and writing
`to a hard disk 160, a floppy disk drive 128 for reading from
`or writing to a removable magnetic disk 129, and an optical
`disk drive 130 for reading from or writing to a removable
`optical disk 131 such as a CD ROM or other optical media.
`0023 The hard disk drive 127, floppy disk drive 128, and
`optical disk drive 130 are connected to the system bus 123
`by a hard disk drive interface 132, a floppy disk drive
`interface 133, and an optical disk driver interface 134,
`respectively. The drives and their associated computer
`readable media provide non-volatile Storage of computer
`readable instructions, data Structures, program modules and
`other data for the mobile personal computer 120. Although
`the exemplary environment described herein employs a hard
`disk 160, a removable magnetic disk 129, and a removable
`optical disk 131, it will be appreciated by those skilled in the
`art that other types of computer-readable media which can
`Store data that is accessible by a computer, Such as magnetic
`cassettes, flash memory cards, digital Video disks, Bernoulli
`cartridges, random access memories, read only memories,
`and the like may also be used in the exemplary operating
`environment.
`0024. A number of program modules may be stored on
`the hard disk 160, magnetic disk 129, optical disk 131, ROM
`124 or RAM 125, including an operating system 135, one or
`more application programs 136, other program modules 137,
`and a program data 138. A user may enter commands and
`information into the mobile personal computer 120 through
`input devices Such as a keyboard 140 and a pointing device
`142. Other input devices (not shown) may include a micro
`phone, joystick, game pad, Satellite dish, Scanner, or the like.
`These and other input devices are often connected to the
`processing unit 21 through a Serial port interface 146 that is
`coupled to the System bus, but may be connected by other
`interfaces, Such a parallel port, game port or universal Serial
`bus (USB). A monitor 147 or other type of display device is
`also connected to the System buS 123 via an interface, Such
`as a video adapter 148. In addition to the monitor, personal
`computers typically include other peripheral output devices,
`not shown, Such as Speakers and printers.
`0025 The mobile personal computer 120 may operate in
`a networked environment using logical connections to one
`
`
`
`US 2002/0095486A1
`
`Jul.18, 2002
`
`or more remote computers, Such as a Server 149. The remote
`Server 149 may be another type of remote computer, Such as
`another personal computer, a router, a network PC, a peer
`device or other common network node, and typically
`includes many or all of the elements described above
`relative to the mobile personal computer 120, although only
`a memory storage device 150 has been illustrated in FIG. 1.
`The logical connections depicted in FIG. 1 include a Wire
`less Local Area Network (WLAN) 151 and a wide area
`network (WAN) 152. Such networking environments are
`commonplace in offices, enterprise-wide computer net
`Works, intranets and the Internet.
`0026. When used in a WLAN networking environment,
`the mobile personal computer 120 is connected to the local
`network 151 through a wireless network interface or adapter
`153. The wireless interface 153 transmits packets wirelessly
`to a base station 161. The base station 161 can then retrans
`mit the packets, either through a wired or wireleSS network
`to the remote server 149. When used in a WAN networking
`environment, the personal computer 120 typically includes
`a modem 154 or other means for establishing communica
`tions over the WAN 152. The modem 154, which may be
`internal or external, is connected to the System buS 123 via
`the serial port interface 146. In a networked environment,
`program modules depicted relative to the mobile personal
`computer 120, or portions thereof, may be stored in the
`remote memory Storage device. It will be appreciated that
`the network connections shown are exemplary and other
`means of establishing a communications link between the
`computerS may be used.
`0.027
`FIG. 1 also shows several fixed network resources,
`Such as a printer 162, a Scanner 164 and a copier 166.
`Information about the fixed resources 162, 164, 166 is
`contained in a resource database 168 Stored in the memory
`storage device 150. Information contained included infor
`mation regarding location of each fixed resource and prop
`erties of each fixed resource. It is noted that, while only a
`few fixed resources are shown, any number of fixed
`resources may be logically or directly connected to the
`remote server 149. Other resources are not necessarily
`connected to the remote server 149. Though not shown or
`discussed in the present example, other examples of fixed
`resources include an office, files, documents, e-mail
`addresses, databases, users, distributed components, and the
`like.
`0028. The memory storage device 150 also includes a
`user database 170 that stores information about users con
`nected to the network 100. Such information includes, but is
`not limited to, user name, last known location, time of last
`location update and an activity indicator. This information
`will be discussed in greater detail below.
`0029. In the description that follows, the invention will
`be described with reference to acts and Symbolic represen
`tations of operations that are performed by one or more
`computers, unless indicated otherwise. AS Such, it will be
`understood that Such acts and operations, which are at times
`referred to as being computer-executed, include the manipu
`lation by the processing unit of the computer of electrical
`Signals representing data in a structured form. This manipu
`lation transforms the data or maintains it at locations in the
`memory System of the computer, which reconfigures or
`otherwise alters the operation of the computer in a manner
`
`will understood by those skilled in the art. The data struc
`tures where data is maintained are physical locations of the
`memory that have particular properties defined by the format
`of the data. However, while the invention is described in the
`foregoing context, it is not meant to be limiting as those of
`skill in the art will appreciate that various acts and opera
`tions described hereinafter may also be implemented in
`hardware.
`0030 FIG. 2 depicts a wireless network system 200
`similar to the system 100 shown in FIG. 1 but shown, in
`part, in greater detail. The wireless network system 200
`includes a server 202 having memory 204 in which a user
`database 206 is stored. The user database 206 includes
`records having various fields. A user field 208 stores an
`identifier associated with a particular user of the system 200.
`Such an identifier is commonly referred to as a user name.
`A last known location field 210 stores a location of a
`computing unit determined and transmitted to the Server 202
`by the computing unit. The location Stored in the last known
`location field 210 may be described in terms of absolute
`coordinates (latitude, longitude and/or altitude), coordinates
`relative to a known, fixed location (X meters, y meters from
`the front door of Building A), or a geographical unit (Room
`2216, Conference Room A, etc.). Alternatively, the location
`may be the location of a network node, or access point, to
`which the computing unit is connected.
`0031. A time field 212 stores a time at which the last
`known location was transmitted. An active field 214 is
`included in the user database 206 and contains an indicator
`to indicate if the computing unit associated with a particular
`active field 214 was in use for a Specific period of time prior
`to the transmission of the location information. For example,
`if a computing unit has not received any actuations by a user
`for, Say, three minutes before a location update is transmitted
`to the server 202, a value of the active field 214 will indicate
`that the computing unit is not active. If, on the other hand,
`the computing unit was in use at the time the location update
`was transmitted to the server 202, the value of the active
`field 214 will indicate that the computing unit is active. The
`implications of the active field 214 and its indications will be
`discussed in greater detail, below.
`0032. The user database 206 also contains an OK field
`215. The OK field 215 is is used to store a list of users that
`a user identified in the user field 208 has authorized to
`receive the identified user's location. Initially, the OK filed
`215 is Set to a default that allows any requesting user to find
`out where the identified user (the user identified in the user
`field 208) is located. However, the identified user may
`update the OK field 215 so that only those user authorized
`by the identified user can locate the identified user.
`0033. The server 202 is connected to a wireless access
`point 216. The wireless access point 216 may or may not be
`integrated into the server 202 itself. The wireless access
`point 216, as the name implies, Serves as a reception point
`for wireless transmissions directed to the server 202. The
`server 202 may also be connected to a wired network 218,
`though this is not required if the network 200 is strictly for
`wireleSS users.
`0034 Several mobile computers are shown in communi
`cation with the wireless access point 216 of the network 200.
`Mobile A 218 is a mobile computer that is a part of the
`wireless network 200. Mobile B 220 and Mobile C 222 are,
`
`
`
`US 2002/0095486A1
`
`Jul.18, 2002
`
`likewise, connected within the wireless network 200. It is
`noted that, although only three mobile computers are shown
`in FIG. 2, the wireless network 200 can comprise virtually
`any number of mobile computers, limited only by the
`physical constraints of the System.
`0035) Mobile A218 includes memory 224 and a wireless
`network interface 226, which is used to communicate with
`the wireless access point 216 to access the wireleSS network
`200. Mobile A218 also includes a clock 228 that provides
`a time stamp for location transmissions from Mobile A218.
`The memory 224 of Mobile A218 stores a location manager
`230, network communication protocol(s) 232 used by
`Mobile A 218 to communicate with the wireless network
`200, and a location tracking service 234, which is configured
`to identify a location of Mobile A218 upon request. When
`ever the location manager 230 requires the location of
`Mobile A 218, it queries the location tracking service 234.
`The location tracking service 234 places the mobile's wire
`leSS network hardware in promiscuous receive mode So that
`it can receive beacons from all nearby base Stations. Using
`the Signal Strength of the beacon packets with an appropri
`ate, previously established radio map of the area or building,
`Mobile A 218 calculates its position. Alternatively, the
`location tracking service 234 in Mobile A 218 may simply
`query its wireleSS network interface 226 to determine the
`address of the wireless access point 216 to which it is
`connected. It may then either transmit this address to the
`server 202 which does a look up to determine the location of
`the wireless access point 216 or the Mobile A218 may itself
`determine the location of the wireless access point 216 using
`a map of the area or building and transmit that location to the
`server 202. This location is then considered by the server
`202 as the location of the Mobile A218 and stored in the last
`known location 210 field.
`0036). In some implementations, it may be desirable to
`encrypt the location information before it is transmitted to
`the server 202. For instance, if a user of Mobile A218 does
`not want users outside the System to determine the location
`of Mobile A 218, then the location data can be encrypted
`prior to transmitting the location data to the Server 202. Also,
`a feature is described below, wherein a user of Mobile A218
`can identify users that are authorized to determine the
`location of Mobile A 218. In that case, it is important to
`encrypt the location information So only the authorized users
`can determine the location of Mobile A218.
`0037 Although the location tracking service 234 is
`described as utilizing a radio frequency (RF) System that
`determines the location of Mobile A 218 by detecting RF
`Signals transmitted from a number of base Stations, it is
`noted that the location tracking Service 234 may use any
`available method to identify the location of Mobile A 218,
`Such as a GPS System, an IR-based System, a tag-based
`System, etc.
`0038 Mobile B220 includes a location manager 236 and
`Mobile C 222 includes a location manager 238. Location
`manager 236 of Mobile B 220 and location manager 238 of
`Mobile C222 are similar to location manager 230 of Mobile
`A 218, even though the only functionality described herein
`for location managers 236,238 is a function that requests the
`location of Mobile A218. These and other elements shown
`in FIG. 2 will be discussed in greater detail, below, with
`reference to FIG. 3 and FIG. 4.
`
`0039 FIG. 3 is a flow chart depicting client-side opera
`tions in a method for locating a mobile user in a wireleSS
`network. At block 300, Mobile A218 determines its location
`from analysis of various radio frequency Signal transmitted
`from known locations. The location may be determined in
`absolute (latitude, longitude, altitude) coordinates or in
`coordinates relative to a known absolute location (X meters,
`y meters from front door of Building A). If the wireless
`network System information is organized in a directory
`Structure that associates a geographical region with each
`directory level (state, county, city, building, office, etc.), the
`location may be determined as a geographical unit, e.g.,
`office 2216, Building A, etc. Such a geographically based
`information management System is described in U.S. patent
`application Ser. No. 09/
`, entitled “Information Man
`agement and Processing In a Wireless Network.”
`0040 Mobile A218 then determines a system time at step
`302. This is accomplished by accessing the system time of
`the server 202 to which Mobile A 218 is connected.
`0041 At block 304, Mobile A 218 determines if a user
`has been active on Mobile A218 for a specified time period
`prior to the location determination block 300. For instance,
`if the specified time period is two minutes, then Mobile A
`218 is deemed to be active if a user operation has occurred
`in the two minutes prior to the determination block 300. If
`so (“Yes” branch, block 304), then a user name of a user on
`Mobile A218, is transmitted to the server 202 together with
`the location coordinates, the time of the location determi
`nation, and an active signal indicating that Mobile A218 is
`active (block 306). If the user has not operated Mobile A218
`during the specified time period (“No” branch, block 304),
`the active signal is not transmitted. In that case, only the user
`name, location coordinates and time of the location deter
`mination are transmitted to the server 202 at block 308.
`When the active signal is received at the server 202, the
`server 202 indicates in the user database 206 that Mobile A
`218 is active. Contemporaneously therewith, the server 202
`clearS any other active signal that may be present for a
`computer used by the user logged onto Mobile A218, since
`only one computer can be active for a user at any given time.
`0042. In an alternative implementation, Mobile A 218
`does not periodically update its location with the server 202.
`This may be preferable in a situation where a user of Mobile
`A 218 wishes to conserve battery power or network band
`width. In such an implementation, Mobile A 218 initially
`registers with the server 202 when Mobile A 218 becomes
`active. Thereafter, Mobile A 218 only updates its location
`when it receives a request to do so from the server 202. The
`Server 202 makes Such a request in the event that it receives
`a request from another user to locate Mobile A218.
`0043 FIG. 4 is a flow chart depicting server-side opera
`tions in a method for locating a mobile user in a wireleSS
`network. At block 400, the server 202 receives a request
`from a computing unit (such as Mobile B 220 or Mobile C
`222) for a location of a specific user. For the present
`discussion, assume that Mobile C 222 Submits a request to
`the server 202 for the location of “Victor,” who is logged
`onto the network on Mobile A 218. Also assume that
`“Victor” is a unique user name. When the request for
`“Victor” is received, the server 202 searches for any entry in
`the user database 206 having “Victor” in the user field 208.
`
`
`
`US 2002/0095486A1
`
`Jul.18, 2002
`
`If “Victor” is not found in the user database 206 (“No”
`branch, block 402), a “User Not Found” message is sent to
`Mobile C 222 at block 404.
`0044) If “Victor” is found in the user database 206 (“Yes”
`branch, block 402), then the server 202 continues to search
`the user field 208 of the user database 206 for other “Victor
`entries at block 406. If at least one other “Victor” entry is
`found (“Yes” branch, block 406), the server locates the
`“Victor” entry that indicates an “active” status in the active
`field 214 (block 408). Block 408 is not performed if no other
`“Victor” entry is found.
`0045. At block 410, a time differential is calculated by
`finding the difference between the time of the last location
`update (time field 212) and a current time. The time differ
`ential is compared to a pre-defined threshold at block 412.
`If the time differential is within the threshold (“Yes” branch,
`block 412), then the location stored in the last known
`location field 210 of the user database 206 is deemed to be
`the location of “Victor,” the user of Mobile A 218 (block
`418). If the time differential is greater than the threshold
`(“No” branch, block 412), then a signal is transmitted to the
`location manager 230 of Mobile A218 requesting a location
`update, which causes the locati