throbber
US 20020095486A1
`
`(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2002/0095486 A1
`
`Bahl
`(43) Pub. Date:
`Jul. 18, 2002
`
`(54)
`
`SYSTEMS AND METHODS FOR LOCATING
`MOBILE COMPUTER USERS IN A
`WIRELESS NETWORK
`
`<76)
`
`Inventor: Paramvir Bahl, Issaquah, WA (US)
`
`Correspondence Address:
`LEE & HAYES PLLC
`421 W RIVERSIDE AVENUE SUITE 500
`SPOKANE, WA 99201
`
`(21)
`
`Appl. No.:
`
`09/760,180
`
`(22)
`
`Filed:
`
`Jan. 12, 2001
`
`Publication Classification
`
`(51)
`(52)
`
`Int. Cl.7 ................................................... G06F 15/173
`US. 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
`ACTIVE?
`
`306 —\
`
`
` SEND NAME,
`I
`SEND NAME, LOC,
`LOCATION & TIME
`I TIME & ACTIVE To
`To SERVER
`
`SERVER
`
`
`
`LYFT 1052
`
`LYFT 1052
`
`1
`
`

`

`Patent Application Publication
`
`Jul. 18, 2002 Sheet 1 0f 4
`
`US 2002/0095486 A1
`
`SYSTEM MEMORY
`1.2.2
`
`MOBILE PERSONAL COMPUTER
`fl
`
`100
`
`r
`
`
`
`”
`
`
`
`(ROM) m
`
`BIOS
`
`12—6
`
`(RAM) fl
`OPERATING
`SYSTEM
`fl
`
`l
`
`
`
`VIDEO
`ADAPTER
`Jfl
`m
`
`W IRE LESS
`
`N ETWORK
`|/F
`APPLICATION
`fl
`PROGRAM
`
`1E
`
`OTHER
`SERIAL PORT
`HARD DISK FLOPPY DISK
`OPTICAL
`PROGRAM
`MODULES
`fl
`PROGRAM
`DATA
`m
`
`PROCESSING
`UNIT
`‘
`‘ m
`
`,
`
`MONITOR
`
`I/F
`1%
`
`151
`
`F/I
`
`DRIVE I/F
`DRIVE I/F
`DRIVE l/F
`m
`131
`m
`
`
`H
`D
`
`
`
`ASENEISK
`DISK DRIVE
`
`
`
`
`fl
`Efi
`‘
`
`
`
`OPERATING
`SYSTEM
`E
`
`APPLICATION
`PROGRAMS
`m
`
`OTHER
`PROGRAM
`MODULES
`Jfl,
`
`BASE
`STATION
`m
`
`
`
`
`REMOTE SERVER
`
`149
`
`MEMORY STORAGE DEVICE
`
`
`1.5_0
` RESOURCE DATABASE
`162
`
`£8.
`
`USER DATABASE
`
`fl
`
`COPIER
`166
`
`SCANNER
`M
`
`PRINTER
`
`APPLICATION PROGRAMS
`Jéfi
`
`
`
`
`
`2
`
`

`

`Patent Application Publication
`
`Jul. 18, 2002 Sheet 2 0f 4
`
`US 2002/0095486 A1
`
`
`MOBILE A
`
`E
`
`
`MEMORY
`
`m
`
`
`
`
`LOCATION MANAGER
`
`&
`
`
`
`
`NETWORK
`I
`LOCATION
`
`COMMUNICAT'ON
`TRACKING SERVICE
`
` &
`PROTOCOL(S)
`I
`234
`
`
`
`
`
`
`
`
`Fig. 2
`
`200
`
`fi
`’
`
`WIRED NETWORK
`(OPTIONAL)
`
`
`
`m
`
`
`
`
`2Q
`
`
`
`MEMORY
`
`
`
`M
`
`USER DATABASE
`
`2%
`
`
`
`
`
`
`
`
`
`m
`
`
`
`ACT
`USER
`KL ‘ TIME
`
`m‘m‘
`
`
`
`WIRELESS ACCESS POINT
`
`fl
`
`
`&L
`
`
`
`
`
`MOBILE C
`MOBILE B
`
`&
`2.22
`
`Loc MGR
`
`LOC MGR
`L38.
`
`WIRELESS NETWORK INTERFACE
`22§
`
`3
`
`

`

`Patent Application Publication
`
`Jul. 18, 2002 Sheet 3 0f 4
`
`US 2002/0095486 A1
`
`MOBILE A DETERMINES
`LOCATION
`
`300
`
`
`302 \FMISBILE A DETERMINES fl
`
`SYSTEM TIME
`
`306
`
`
` SEND NAME,
`SEND NAME, LOC,
`\ TIME & ACTIVE T0
`LOCATION & TIME
`
`TO SERVER
`SERVER
`
`
`
`308
`
`Fig. 3
`
`4
`
`

`

`Patent Application Publication
`
`Jul. 18, 2002 Sheet 4 0f 4
`
`US 2002/0095486 A1
`
`
`
`400
`
`REQUEST USER A
`LOCATION
`
`
`
`402
`
`
`
`USER A IN
`DATABASE?
`
`
`"USER NOT
`FOUND" MSG
`
`F
`
`
`
`404
`
`406
`
`>1 ENTRY?
`
`
`/ FIND ACTIVE ENTRY
`
`
`
`CALCULATE TIME DIFF
`
`412
`
`
`TIME DIFF <
`
`Fig. 4
`
`408
`
`410
`
`416
`
`418
`
`
`/
`
`
`
`
`
`
`
`INVOKE LTS OF MOBILE A
`
`
`
`UPDATE DB
`
`
`
`L00. OF USER A IS LAST
`KNOWN LOC. FROM
`DATABASE
`
`
`
`5
`
`

`

`US 2002/0095486 A1
`
`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.
`
`To overcome this obstacle, alternate technologies
`[0004]
`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.
`
`Such tag-based tracking and location systems
`[0005]
`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
`sufliciently 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 US. patent application Ser. No.
`
`09/
`, entitled “Using a Derived Table of Signal
`
`Strength Data to bocate and Track a User In a Wireless
`
`Network, and in US. patent application Ser. No. 09/
`, entitled “Locating and Tracking a User in a Wireless
`Network Through Environmentally Profiled Data.”
`
`In this system, a Wireless Local Area Network
`[0007]
`(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
`user’s, User B’s, 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
`
`6
`
`

`

`US 2002/0095486 A1
`
`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.
`
`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.
`
`If the last update from the mobile user was made a
`[0013]
`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.
`
`[0014] 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.
`
`[0015] 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.
`
`[0018] FIG. 2 is a block diagram of a wireless network
`system including a server and three mobile computers.
`
`[0019] 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 systcms, microproccssor based or programmablc con-
`sumer electronics, network PCs, minicomputers, mainframe
`computers, and the like. The invention may also be practice
`in distributed computing environments where tasks are
`
`[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
`casscttcs, flash memory cards, digital video disks, Bcrnoulli
`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). Amonitor 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
`
`7
`
`

`

`US 2002/0095486 A1
`
`Jul. 18, 2002
`
`or more remote computers, such as a server 149. 'lhe 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 (W'LAN) 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.
`
`[0027] 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.
`
`In the description that follows, the invention will
`[0029]
`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. 'lhe 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.
`'lhe 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,
`
`8
`
`

`

`US 2002/0095486 A1
`
`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 A 218 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 A 218 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 A218 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.
`
`In some implementations, it may be desirable to
`[0036]
`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 B 220 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 C 222 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 A 218. 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 US. 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 A218 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 A 218 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.
`
`In an alternative implementation, Mobile A 218
`[0042]
`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 A 218.
`
`[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.
`
`9
`
`

`

`US 2002/0095486 A1
`
`Jul. 18, 2002
`
`lf “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.
`
`If “Victor” is found in the user database 206 (“Yes”
`[0044]
`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 location manager 230 to invoke the
`location tracking service 234 at block 414 to determine the
`current location of Mobile A 218. The current
`location
`information is then transmitted to the server 202 at block
`416, where it is stored in the user database 206. Then, at
`block 418, the current location (which is now stored in the
`last known location field 210) is deemed to be the locatio

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket