`US 6,867,733 B2
`(10) Patent No.:
`(12)
`Sandhuetal.
`(45) Date of Patent:
`Mar.15, 2005
`
`
`US006867733B2
`
`(54) METHOD AND SYSTEM FOR A PLURALITY
`ONOTIER. UNITS! 50: LOCATE: ONE
`
`(75)
`
`Inventors: Kulbir 8. Sandhu, Fremont, CA (US);
`Roderic C. Fan, Fremont, CA (US);
`David Mleczko, San Jose, CA (US);
`Kenny Nguyen, Mountain View, CA
`(US); Carey Fan, Fremont, CA (US)
`
`(73) Assignee: At Road, Inc., Fremont, CA (US)
`
`(*) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`US.C. 154(b) by 0 days.
`
`(21) Appl. No.: 09/829,645
`(22)
`Filed:
`Apr. 9, 2001
`(65)
`Prior Publication Data
`
`US 2002/0145561 Al Oct. 10, 2002
`
`2003/0013462 Al *
`1/2008 Adachi oo... eee 455/456
`FOREIGN PATENT DOCUMENTS
`
`JP
`JP
`
`10-94028 A * 10/1998
`2001-25054 A *
`1/2001 ww H040/7/34
`OTHER PUBLICATIONS
`Schilit, Bill N. et al, “Disseminating Active Map Informa-
`tion to Mobile Hosts” IEEE Network, Sept/Oct. 1994,pp.
`22-32.*
`
`* cited by examiner
`.
`;
`;
`Primary Examiner—Gregory C. Issing
`(74) Attorney, Agent,
`or Firm—Edward C. Kwok;
`MacPherson Kwok Chen & Heid LLP
`
`ABSTRACT
`(57)
`A method and system whereby two mobile units can locate
`each otheris presented. Auser connects an interface device,
`such as a personal digital assistance (PDA), a wireless
`phone,a laptop, or a pager, to a mobile unit. The mobile unit
`
`:
`
`(56)
`
`:
`
`a database of the current locationofall the mobile units, and
`
`tobeGe. Goal{hrougit@ [peation-determining
`Ente C17 caccccccsccccccsssseseeeee GO1S 5/14; HO4Q 7/20
`(51)
`srovider computer The service prauider computermaintains
`(82) USe Cl. pecsrccsseeeverernseevses 342/357.07; eer;
`(58) Field of Search5/35709.3571 eaeeae provides the location of mobile units to each of the mobile
`[357.09,
`55 5 y
`- 5 > 5
`?
`units. The mobile unit communicates with the service pro-
`455/456.3, 456.5, 456.6
`vider wirelessly through a communication network and a
`,
`data network, for example the Internet.
`References Cited
`P
`U.S. PATENT DOCUMENTS
`Auser of the mobile unit can send messagesto other users
`Eo
`with a location stamp, which indicates the location of the
`........ 342/357.07
`6/1993 Mansell et al.
`5,223,844 A
`Eg
`message sender’s mobile unit. In addition, a user can send a
`11/1999 Lemelsonet al.
`.......... 701/301
`5,083,161 A
`Eg
`request to be notified when a target mobile unit reaches a
`9/2000 Kimotoetal. ......
`.. 455/456.3
`6,115,611 A
`Eg
`reference point. The reference point maybe definedrelative
`10/2000 Girerd et al. oo... 701/213
`6,131,067 A
`Eo
`6/2001 Elliot ..........
`to the location of the requester. Alternatively, the reference
`6,243,039 B1
`Eg
`point may be an address or a landmark. Upon receiving the
`701/35
`8/2001 Harrison et al.
`.
`6,278,921 B1
`. 455/456
`9/2001 Amro etal.
`6,292,747 B1 *
`.....
`Eg
`request, the service provider computer tracks the distance
`6,317,605 B1*11/2001 Sakuma ..... 455/446
`Eg
`between the target mobile unit and the reference point, and
`
`6,321,091 B1*11/2001 Holland.... .. 455/414.2
`Eg
`sends a notification to the requester when the target mobile
`6,339,745 B1
`1/2002 NOVikt
`cccccessnaeveresevvowees 701/208
`Eo
`unit reaches the reference point.
`6,456,852 B2
`9/2002 Bar etal.
`........
`... 342/357.13
`Eg
`
`2001/0027378 A1*10/2001 Tennison et al ............ 701/213
`Eg
`2001/0032236 Al*10/2001 Lin wee eeeeeeee 701/213
`29 Claims, 5 Drawing Sheets
`
`.
`
`
`
`
`
`
`Google Exhibit 1054
`Google Exhibit 1054
`Google v. Mullen
`Google v. Mullen
`
`
`
`U.S. Patent
`
`Mar. 15,2005
`
`Sheet 1 of 5
`
`US 6,867,733 B2
`
`Fig.1
`
`
`
`U.S. Patent
`
`Mar. 15,2005
`
`Sheet 2 of 5
`
`US 6,867,733 B2
`
`
`
`Processor
`
`FIC. 2
`
`10-i
`
`profile?
`
`
`
`modify
`
`
`
`U.S. Patent
`
`Mar.15, 2005
`
`Sheet 3 of 5
`
`US 6,867,733 B2
`
`Processing Station
`
`User Profile Database
`
`
`
`Map Storage
`
`46
`
`FIC. 4
`
`
`
`
`U.S. Patent
`
`Mar. 15, 2005
`
`Sheet 4 of 5
`
`US 6,867,733 B2
`
`
`
`
`
`
`
`‘G2t'G'¢7Suasn
`
`(30%)
`
`0G066¥)‘sopUos
`
`J2ad}§
`
`
`
`{Ch“OCL“GEL“£21
`
`
`
`‘202‘CEL:2dnosb
`
`c¢-p2°|dnosb
`
`022‘212‘LZ
`
`Buyjobesosjos|woo(BO)|L9Sh-£21pron£59196
`
`puovesCCI
`
`
`
`
`U.S. Patent
`
`Mar.15, 2005
`
`Sheet 5 of 5
`
`US 6,867,733 B2
`
`06
`
`sa,
`
`SI
`
`Daay}
`
`g)senbo.
`
`26
`
`
`
`JayawosodayyAjiyuapi
`
`
`
`
`
`D\OPUDAaIa!JOyUOW
`
`
`
`QSDQ0}OPUOt}D90]UI
`
`96
`
`SI
`
`al
`
`sal
`
`Jayawood
`
`jew
`
`9Old
`
`08
`
`SI
`
`ON
`
`UO9J84)
`
`j]uawaaunouuo
`
`Sa)
`
`
`
`a)dnioi6uolynqjsip10)
`
`oN
`
`+8
`
`s)
`
`Daay)
`
`voI}Ng..}Sip
`
`jdnosb
`
`Sah
`
`
`
`SyaSn|[00}puss
`
`
`
`dnoi6uornquysipay)ul
`
`
`
`
`
`gSOqo}OpaloudJasnyos0as
`
`
`
`punog}noantaoa)
`
`
`
`JaAlaswo.aboyond09
`
`oN
`
`SI
`
`
`
`yasnasay)
`
`jayjoud
`
`sak
`
`OL
`
`
`
`JaSNJa}UaJOdnyas
`
`
`
`gSoqo}opoy}osdat
`
`
`
`
`
`ajyoudasnau)youdas
`
`
`
`Yo}owO40)asoqo}opbh
`
`$I
`
`iyoow090u)
`
`Sah
`
`94
`
`86Jasn0}
`
`
`
`UOlDIINOUpuas
`
`porteamy
`
`t‘
`
`
`
`SJaSN|J00}puas
`
`88
`
`Peceicreaay
`
`Jasnay}Ajijou
`
`Yyo}OW9y}JO
`
`8d
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`US 6,867,733 B2
`
`1
`METHOD AND SYSTEM FOR A PLURALITY
`OF MOBILE UNITS TO LOCATE ONE
`ANOTHER
`
`BACKGROUND
`
`1. Field of the Invention
`
`The invention relates to a system and a method for
`distributing positional
`information and location specific
`messages to mobile units by using a data network.
`2. Description of the Related Art
`Global positioning system (“GPS”) is used for obtaining
`position information. The GPS includes a plurality of sat-
`ellites orbiting the earth and sending out, at precisely syn-
`chronized times, a code sequencethat identifies the satellite.
`Specifically, the code sequence transmitted by each satellite
`is a precisely timed binary pulse train. In addition to the code
`sequence, these satellites send out positioning information
`that can be used to calculate vehicle positions. A GPS
`receiverretrieves the positioning information from the GPS
`satellites and triangulates the information to obtain the
`position of the receiver. A more detailed discussion of a GPS
`receiver is found in U.S. Pat. No. 5,990,827 to Rodric C.
`Fan, et al. entitled “Structure of a Position Processing
`Apparatus,” which is herein incorporated in its entirety.
`One application of GPS is vehicle location. A conven-
`tional vehicle locating system typically includes one or more
`ground stations and a plurality of mobile units that may be
`installed in vehicles. Each mobile unit is equipped with a
`GPS receiver and a wireless transmitter. Using the GPS
`receiver, a mobile unit determines the position of the vehicle
`in whichitis installed and transmits the position to a ground
`station. The groundstation of a conventional vehicle locat-
`ing system normally includes a map database search system
`and some type of storage medium that stores digital maps
`and travel-related information. Thus, upon receiving the
`vehicle positions from the mobile units, the ground station
`combinesthe stored data with the received information and
`
`displays the present vehicle positions on a digital map.
`In some cases, a data network, such as the Internet, is
`involved in locating mobile units. When a data network is
`involved, the mobile units determine the vehicle positions
`and transmit the position information to the networkserver.
`This data transmission from a mobile unit to the network
`
`server is accomplished wirelessly by, for example, cellular
`digital packet data network (CDPD)that connects to a data
`network(e.g., the Internet), which in turn provides access to
`the network server. In some cases, the mobile units may
`transmit raw data to the network server so that the network
`server can make the position determination. In a system that
`involves a network server, the data storage medium may be
`accessed by the networkserver instead of the groundstation.
`The data storage medium containstravel-related information
`such as maps,traffic conditions, positions of service stations,
`and destinations of interest. Thus, the data processing unit
`organizes the measured position and generates an area map.
`The area map indicates by a position markerthe position of
`each mobile unit.
`
`As mentioned above, vehicles can connect to data net-
`works(e.g., the Internet) wirelessly through communication
`networks, for example a CDPD network. CDPD networks
`consist of Mobile Data Intermediate Systems (MDISs),
`Mobile Data Base Stations (MDBSs), and Mobile End
`Stations (MESs). An MDBSoffering CDPD services helps
`a roaming MESregister with the MDIS with which the
`particular MDBSisassociated by acting as a conduit for the
`
`2
`registration message. An MDISthat handles the registration
`is referred to as the serving MDIS. Upon receiving the
`registration message from the MDBS, the serving MDIS
`informs the home MDISof the MESofthe latter’s presence
`in its coverage area. When a host needs to send data to an
`MES, it does not have to be aware of the mobility aspect of
`the MES;
`it simply transmits data using the MES’s IP
`address as the destination address. The encapsulated data
`packets for the MESare forwarded to the serving MDISof
`the MES. Atthe serving MDIS, packets are decapsulated to
`reveal the MES’s address. The serving MDIS sends the
`original data packets to the right channel where the MESis
`currently located. The MESreceives the data packets. If the
`MESneedsto reply,it directly sends data packets using the
`remote host’s IP address as the destination address. CDPD
`
`systems are further described in K. Budkaet al., “Cellular
`Digital Packet Data Networks,” Bell Labs Technical Journal,
`Vol. 2, No. 3 (Summer 1997); “Cellular Digital Packet Data
`Systems Specification: Relases 1.1,” CDPD Forum, Inc.,
`Chicago (1995); and M. S. Tayloret al., “Internet Mobility:
`The CDPD Approach,” Prentice Hall PTR, Upper Saddle
`River, N.J. (1996).
`The vehicle locating system described above, while useful
`for tracking the fleet of a trucking company or a moving
`company, is limited in that the positions of the vehicles can
`only be obtained from a ground station. A memberof the
`fleet cannot use the above vehicle locating system to obtain
`vehicle position information of other fleet members. A
`method and system that allows one memberofthe fleet to
`obtain vehicle position information of other membersof the
`fleet from a place other than the groundstation is needed.
`SUMMARYOF THE INVENTION
`
`10
`
`15
`
`20
`
`25
`
`30
`
`The present invention includes a system and a method for
`a mobile user to obtain the location of another mobile user.
`
`35
`
`A mobile unit tracks its own location through a location-
`determining technology, for example GPS, time difference
`of arrival (TDOA), or angle of arrival (AOA). In addition,
`the mobile unit receives input from users. The mobile unit
`encapsulates the location data and the user input
`in an
`outbound package, and transmits the outbound packageto a
`service provider via a communication network and a data
`network (e.g., the Internet). The service provider is a com-
`puter that maintains a database of the current location of all
`the mobile units registered with the service provider. The
`database can be accessed by any of the mobile units regis-
`tered with the service provider.
`Uponreceiving the outbound package from a mobile unit,
`the service provider categorizes the content of the outbound
`packageinto userprofile data, announcements, and requests.
`User profile data includes personal information that is not
`location-specific, such as name, e-mail address, telephone
`number, and hobbiesof a user. The service provider uses the
`user profile data to either set up a new account
`in the
`database or to modify a pre-existing piece of information in
`the database. Optionally, the service provider searches the
`database for a matching entry, and provides the user with a
`list of other users who have a similar user profile. If the
`outbound package contains an announcement, the service
`provider forwards the announcementto the proper recipients
`indicated in the outbound package, with a location stamp
`indicating the location of the sender mobile unit. The
`outbound package may contain a request, either in addition
`to or instead of an announcement. A request may be a request
`for the location of another user, or a request to be notified if
`a geographical parameter is met. In response to the former
`type of request, the service provider sends back a response
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`
`
`US 6,867,733 B2
`
`3
`package containing the current location of the specified user.
`In responseto the latter type of request, the service provider
`monitors the location of the relevant mobile unit(s) until
`either the parameter is met or the user sends another out-
`bound package telling the service provider to stop the
`monitoring. When the parameteris met, the service provider
`sends a notification to the requester mobile unit in the form
`of a response package. Depending on the user interface
`device, the notification may include sound, text, flashing
`lights, or graphics.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 depicts a location-specific peer-to-peer communi-
`cation system in accordance with the present invention.
`FIG. 2 depicts the components of a mobile unit that
`provides the location data in accordance with the present
`invention.
`
`FIG. 3 depicts a flowchart of the registration process
`through which a user becomesa part of the communication
`system in accordance with the present invention.
`FIG. 4 depicts the components of a service provider
`computer in accordance with the present invention.
`FIG. 5 depicts an exemplary table of user profiles that
`maintains personal information of all users of the system.
`FIG. 6 depicts a flowchart of the response-package cre-
`ation process executed by the service provider computer in
`response to an outbound package from a user.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`FIG. 1 provides an overview of the location-specific
`peer-to-peer communication system in accordance with the
`present invention. The system includes GPSsatellites 2, data
`network 4, server 6, communication network 6, service
`provider 8, and mobile units 10-1 through 10-n where n is
`the total number of mobile units in the system. Mobile units
`10-1 through 10-n are connected to user interface device
`12-1 through 12-n, respectively. Users 14-1 through 14-n
`transmit information to and receive information from mobile
`units 10-1 through 10-n through user interface device 12-1
`through 12-n, respectively.
`As used herein, mobile unit 10-i refers to one mobile unit
`of mobile units 10-1 through 10-n and user interface device
`12-1 refers to the user interface device that is connected to
`mobile unit 10-1. Mobile units 10-1 through 10-n receive
`code sequences from GPSsatellites 2 and convert the code
`sequences to location data. In addition, mobile units 10-1
`through 10-n receive information from users 14-1 through
`14-n, respectively. User 14-i enters announcements and
`requests into mobile unit 10-1 through user interface device
`12-i, which then combines the received announcements and
`requests with location data into an outbound package. In
`some embodiments, for exampleif user interface device 12-i
`is a laptop or a personaldigital assistant that allows Internet
`access, user 14-i may be able to enter user profile data
`through user interface device 12-i as well. Mobile unit 10-i
`transmits the outbound package to communication network
`6. Outbound package, as used herein, refers to information
`that originates in user interface device 12-i and travels
`through communication network 6 and data network 4 to
`reach service provider 8. Information that originates in
`service provider 8 and travels to mobile unit 10-1 is referred
`to as a response package. Mobile unit 10-1 receives a
`response package, reformatsit for user interface device 12-1,
`and passesit to user interface device 12-1. Communication
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`network 6 includesbut is not limited to CDPD, GSM, iDEN,
`AMPS, or CDMA. Data network 4 is a communication
`network that can also store and maintain data, such as the
`Internet.
`
`User 14-1 enters announcements and requests into mobile
`unit 10-1 through user
`interface device 12-1, and also
`retrieves any information encapsulated in the response pack-
`age through user interface devices 12-1. User interface
`device 12-1 through 12-n include but
`is not
`limited to
`wireless telephone, laptop, personal digital assistant, and
`pager. Thus, after retrieving information from mobile unit
`10-1, user 14-i may contact another user, e.g. user 14-n,
`directly without using data network 4. For example, if user
`interface device 14 is a wireless phone, user 14-1 maycall
`user 14-n. Alternatively,
`if user interface device 14 is a
`laptop, user 14-1 may communicate with user 14-n by e-mail
`or instant messaging.
`FIG. 2 shows the components of mobile unit 10-1. Mobile
`unit 10-i is a portable unit that can be used independently,
`installed in a vehicle or a cellular phone, or clipped onto a
`watch or a belt. As shown in FIG. 2, mobile unit 10-i
`includes GPS receiver 15-i, processor 16-1, memory 17-1,
`and wireless modem 18-i. GPS receiver 15-i tunes into the
`
`frequency at which GPSsatellites 2 transmit information,
`and receives GPS code sequences. GPS receiver 15-1 for-
`wards the GPS code sequences to processor 16-1, which
`converts the GPS code sequencesto location data. Processor
`16-1 uses triangulation to convert the GPS code sequencesto
`preliminary location data by first converting the GPS code
`sequences, and then applying the correction factors to obtain
`location data such as a street address orlatitude, longitude,
`and altitude. Memory 17-i includes preliminary location
`data 19-i and correction factor 20-1.
`
`The location data derived from GPS code sequencesare
`stored in memory 17-1. If further calculation is necessary to
`convert
`the location data (e.g.,
`latitude,
`longitude, and
`maybealtitude) into street address, processor 16-i executes
`the necessary calculation before storing the values in
`memory 17-1.
`Processor 16-1 uses correction factors 20-i, e.g., delta-
`pseudo-ranges, to obtain the actual locations (and optionally
`velocities) of mobile units 10-1 through 10-n. The correction
`factors, which depend on the geographical zone in which
`mobile unit 10-i is located, are obtained from remote cor-
`rection stations (not shown). Processor 16-i can connect to
`the remote correction stations via wired or wireless com-
`munication links, or via a data network such as data network
`4. Using the correction factors received from the remote
`correction stations and the GPS code sequences, processor
`16-i of mobile unit 10-i derives the street addresses and the
`
`velocities of mobile units 10-1 through 10-n. The location
`data may be updated as frequently as mobile unit 10-i
`receives the GPS code sequences,or at a designated interval
`such as every two seconds. Further details on the calculation
`of location data are provided in US. Pat. No. 5,959,577 to
`Rodric C. Fan, et. al. entitled “Method and Structure for
`Distribution of Travel Information Using Network,” which
`is herein incorporated in its entirety. Processor 16-i refor-
`mats the location data to an appropriate protocol, e.g.,
`UDP/IP, combines the location data with the information
`entered by user 14-i, and sends the outbound package to
`communication network 6 via wireless modem 18-1. Pro-
`cessor 16-i tracks the location of mobile unit 10-1 frequently
`(e.g., every few seconds) by receiving the GPS code
`sequence, deriving the location data, and sending the loca-
`tion data to service provider 8. The frequent updating of the
`location data allows every outbound package to have a time
`
`
`
`US 6,867,733 B2
`
`6
`sending outbound packages, as indicated in block 40, and
`receiving response packages, as indicated in block 42. Block
`40 indicates that user 14-1 can send a request or an
`announcementto service provider 8. In the simplest case, a
`request can be a request for the current location of another
`user. Requests and announcements may be entered through
`user interface device 12-i or directly to data network 4,
`depending on the embodiment. A request can entail speci-
`fying a geographical parameter and asking service provider
`8 to send a notification if the geographical parameter is met.
`The geographical parameter may be a pre-defined distance
`relative to user 14-1. For example, user 14-1 may request to
`be notified if any user in one of his distribution groups
`comeswithin a ten-mile radius. Alternatively, the geographi-
`cal parameter may be defined independently of the location
`of user 14-1. For example, user 14-1 may request to be
`notified if user 14-2 crosses a specific zip code, passes a
`landmark,or arrives at a specific intersection or restaurant.
`In that case, service provider 8 sends user 14-i a response
`package containing a notification when the condition is
`satisfied.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`5
`stamp and a “location stamp” designating the location of
`mobile unit 10-i at the time the outbound package wassent.
`Further details on location stamp is provided in U:S. patent
`application Ser. No. 09/696,446 to Carey B. Fan, et. al.
`entitled “Location Authentication Stamp Attached to
`Messages,” which is incorporated herein in its entirety. A
`processor such as Motorola’s MC68331 maybe used for
`processor 16-1.
`FIG. 3 shows the initial registration process through
`which users 14-1 through 14-n becomea part of the system
`in accordance with the present invention. As indicated by
`block 30, the registration process begins with the subscrip-
`tion process. Block 31 indicates that the subscription process
`includes physically obtaining mobile unit 10-1, for example
`by purchasing. Block 32 indicates that
`the subscription
`process also includes submitting a unique device identifica-
`tion number and/or device IP address to service provider 8.
`Depending on the embodiment, user 14-1 sends the unique
`device identification number and/or device IP address to
`service provider 8 by mail, telephone, computer, or user
`interface device 12-1. Service provider 8 receives the device
`identification number and/or device IP address and assigns
`user 14-1 a login name and a password, as indicated by block
`34. As indicated by block 36, user 14-1 uses the login name
`and the password to set up her user profile with service
`provider 8 through data network 4. User profile includes
`personal information such as name, e-mail address, residen-
`tial address, mobile phone number, and landline phone
`number. In addition, user profile may include hobbies and
`interests of user 14-1 and distribution groups. Distribution
`groups are further explained below. As shownby block 38,
`user 14-i can modify her user profile as she desires.
`Optionally, the user profile modification may allow user 14-1
`to change her password.
`User 14-i, who registers with the system in accordance
`with the present invention, can access the location of all
`other users who are registered with the system. However,
`user 14-i may wishto limit the data exchange to a sub-group
`of users, such as friends, coworkers, and family. User 14-i
`can limit the data exchange to a sub-group of users by
`defining a distribution group in the user profile. A distribu-
`tion group includesa list of users, and user 14-1 can create
`as many distribution groups as she wishes. For example,
`user 14-i may createafirst distribution group including all User profile database 42, map storage 44, and location
`
`45
`co-workers, a second distribution group including only the
`database 44 may be implemented using any massstorage
`media, such as hard disks, RAMs, ROMs, CD-ROMs,and
`co-workers in his project
`team, and a third distribution
`including his Saturday night poker group. Then,if user 14-i
`magnetic tapes. Infrequently updated information, such as
`can direct a request or an announcement to one or more of
`maps or user profile, may be stored on CD-ROMs. On the
`the distribution groups. Similarly, user 14-i can limit those
`other hand, frequently updated information, such as location
`who can access her current location to those in one or more
`data, may be stored on RAM.
`distribution groups.
`In some embodiments, user profile database 42 may store
`After user 14-1 registers with the system, all other users
`the user profiles in a table format. FIG. 5 shows exemplary
`have access to the location of user 14-1.
`In some
`table 50 which maybe usedto store the user profiles in user
`embodiments, user 14-1 is provided with a “hide” option in
`profile database 42. Table 50 stores personal information
`the user profile such that if user 14-i opts to “hide,” users
`such as name, residential address, home telephone number,
`who normally have access the current location of user 14-1
`mobile telephone number, e-mail address, hobbies, and
`is blocked from accessing the current location of user 14-1.
`distribution lists, as shown by columns 53, 54, 55, 56, 57, 58,
`Some embodiments may allow user 14-1 to specify a list of
`and 59. The exemplary table 50 in FIG. 5 indexes the
`users from whom she wants to “hide. If user 14-i chooses to
`information by user numbers, as shown in column 51. Other
`embodiments may index the personal information by device
`identification number (column 53) or by IP address (not
`shown). Location database 46 may be indexed similarly.
`FIG. 6 illustrates the functions of service provider 8.
`Upon receiving an outbound package (block 60) from a
`sender, processing station 40 sorts the data encapsulated in
`the outbound packageinto userprofile, announcements, and
`requests, as indicated in blocks 70, 80, and 90. If the
`
`FIG. 4 shows the components of service provider 8.
`Service provider 8 may be a computer or a server linked to
`data network 4. Service provider 8 includes processing
`station 40, user profile database 42, map storage 44, and
`location database 46. User profile database 42 stores the user
`profiles of all users 14-1 through 14-n. If a user modifies
`his/her user profile, processing station 40 updates user
`profile database 42 accordingly. Map storage 44 stores maps
`of the geographical area covered by service provider 8. Map
`storage 44 allows user 14-1 to see a map of the relevant area
`if desired. For example, if user 14-i requests to be notified
`if user 14-2 is within a ten-mile radius, processing station 40
`may provide user 14-i with a map showing the location of
`user 14-2 relative to the location of user 14-1. Location
`database 46 contains data that is more frequently updated
`than user profile data, such as the locations of mobile units
`10-1 through 10-n. As mentioned above, location data may
`be updated as frequently as every two seconds. When users
`make requests, the geographical parameters may bestored in
`location database 46 as well. Similarly, when users make
`announcements, the content of the announcements may be
`stored in location database 46.
`
`50
`
`55
`
`60
`
`65
`
`“hide” from users 14-2 through 14-5, for example, service
`provider 8 does not provide users 14-2 through 14-5 with the
`location of user 14-i even if users 14-2 through 14-5 request
`the location of user 14-1. Instead of providing the location of
`user 14-i, service provider 8 might send a message that the
`location of user 14-1 is unavailable.
`
`After user 14-1 sets up a userprofile in service provider8,
`user 14-1 can access the location data of other users by
`
`
`
`US 6,867,733 B2
`
`8
`7
`In the simple case where the request only contains the
`outbound package contains user profile data, processing
`station 40 accesses user profile database 42 to enter the
`identity of a target user whose location the sender wishes to
`newly-received user profile. As indicated in block 72, if the
`know,the notification contains the current location of the
`sender is a new user, processing station 40 creates a new
`target user. If the request contained a geographical parameter
`entry for the sender and stores the received user profile for
`(e.g., within a 10-mile radius), the notification may be a beep
`the sender. If the sender is a user who previously set up a
`or a flashing text. Any notification may include sound,
`user profile, processing station 40 updates the user profile
`flashing lights, text, or graphics depending on the embodi-
`data for the sender. In some embodiments, processing station
`ment and user interface device 12-1. Upon receiving the
`40 scans user profile database and looks for a matching entry
`notification, the sender (user 14-i) may take a responsive
`when entering or modifying a user profile, as indicated in
`action, for example by directly contacting the target user.
`block 74. A matching entry may be, for example, other users
`The user-to-user (peer-to-peer) communication may be in
`whoshare the same hobbiesandinterests, or other users who
`the form of a phone call, e-mail,
`instant messaging, or
`live in the same neighborhood as the sender. Processing
`chatting. If the user-to-user communication involves user
`station 40 mayfind a match by looking for a matching word
`interface device 14-i, the exchanged messages may have a
`in every row of the exemplary table 50 (FIG. 5). Upon
`location stamp even if the communication does not involve
`finding a match (block 76), processing station 40 creates a
`service provider 8, because mobile unit 10-1 derives and
`stores location data.
`response package to the sender and transmits to data net-
`work 4alist of users found to have matching entries, as
`While the present invention is illustrated with particular
`indicated in block 78. If there is no match, processing station
`embodiments,
`it
`is not
`intended that
`the scope of the
`40 may send a response package stating that there is no
`invention be limited to the specific and preferred embodi-
`match and moveonto other parts of the outbound package
`ments illustrated and described. For example, although the
`received in block 60.
`disclosed embodiments refer to GPS as the location-
`identification method used, other methods such as time
`difference of arrival (TDOA), angle of arrival (AOA), ray
`tracing/pattern recognition, and hybrid methods using net-
`work connections may be used.
`Whatis claimedis:
`1. Amethod of providing the location of a second mobile
`unit to a first mobile unit, said method comprising:
`maintaining personal profiles each associated with a user
`of one of said first and second mobile units, each
`personal profile specifying an access condition under
`which another user may access that personal profile;
`receiving from said first mobile unit a first packet includ-
`ing a current location of said first mobile unit;
`receiving from said second mobile unit a second packet
`including a current location of said second mobile unit;
`storing said current locations in a database;
`receiving a request from a user of said first mobile unit
`specifying a condition based on said current location of
`said first mobile unit or a future location of said first
`mobile unit; and
`upon ascertaining that said user of said first mobile unit
`satisfies said access condition in the user profile of a
`user associated with said second mobile unit, transmit-
`ting a data packageto said first mobile unit in response
`to a said request from said first mobile unit upon
`satisfaction of said condition, wherein said data pack-
`age comprises said current
`location of said second
`mobile unit retrieved from said database.
`2. The method of claim 1, wherein said receiving and said
`storing of current locations are repeated at a regular time
`interval.
`3. The method of claim 1, wherein said first packet
`includes said request, and wherein, prior to said
`transmitting, said method further comprises:
`obtaining the current location of said second mobile unit
`from said database; and
`including in said data package said current location of
`said second mobile unit.
`
`Blocks 82 and 84 indicate that if the outbound package
`received in block 60 contains an announcement, processing
`station 40 accesses userprofile database 42 and checksto see
`if the sender specified a distribution group, either previously
`or in the outbound package. If there is a distribution group,
`processing station 40 sends the announcementto all
`the
`users in the distribution group, as indicated in block 86. If
`there is more than one distribution group,
`the outbound
`package should indicate the distribution group to which the
`announcement should be sent. If there is no distribution
`
`group or the outbound package specifies no distribution
`group, processing station 40 sends the announcementtoall
`users, aS indicated in block 88. All announcements sent can
`contain a location stamp indicating the current location of
`the sender. Thus, if the announcementis “meet for dinner at
`7 p.m. in Restaurant X,” a recipient of the announcement can
`see the location of the sender.If the senderis in the vicinity
`of the recipient, the recipient may contact the sender and ask
`to share a ride.
`
`If the outbound package received in block 60 contains a
`request, block 92 indicates that processing station 42 iden-
`tifies the parameter specified by the sender. In the simplest
`request, the parameter may include only the nameofa target
`user whoselocation the sender wants to know. Upon receiv-
`ing such request, service provider 8 retrieves the current
`location