throbber
Case 2:21-cv-00072-JRG-RSP Document 87-3 Filed 06/15/21 Page 1 of 25 PageID #: 2293
`
`Exhibit 3
`
`

`

`USOO73301.12B1
`
`(12) United States Patent
`Emigh et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,330,112 B1
`Feb. 12, 2008
`
`(54) LOCATION-AWARE SERVICES
`(76) Inventors: Aaron T. Emigh, 762 Judith Ct.
`Incline Village, NV (US) 89451; James
`A. Roskind, 920 Governors Bay Dr.
`Redwood City, CA (US) 94.065
`
`(*) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 201 days.
`
`(21) Appl. No.: 10/937,920
`
`(22) Filed:
`
`Sep. 9, 2004
`
`O
`O
`Related U.S. Application Data
`(60) Provisional application No. 60/501,691, filed on Sep.
`9, 2003.
`(51) Int. Cl.
`(2006.01)
`G08B I/08
`(52) U.S. Cl. ........................... 340/539.13: 340/539.16;
`340/933; 340/941; 340/429; 340/436; 340/572.1;
`34O7572.4
`
`(56)
`
`(58) Field of Classification Search ........... 340/539.13,
`340/539.16,933,941, 429,438,572.1, 572.4,
`34O7572
`See application file for complete search history.
`References Cited
`U.S. PATENT DOCUMENTS
`5,661,473 A * 8/1997 Paschal ................. 340,825.36
`5,801,618 A * 9/1998 Jenkins .................. 340,426.14
`6,081,206 A
`6/2000 Kielland ..................... 340/937
`2004/0210757 A1* 10/2004 Kogan et al. ............... T13, 182
`
`* cited by examiner
`Primary Examiner Tai Nguyen
`
`ABSTRACT
`(57)
`In some embodiments, a technique for providing location
`based functionality comprises providing functionality,
`wherein the functionality uses information provided by a
`location-aware device.
`
`8 Claims, 14 Drawing Sheets
`
`
`
`101
`
`Location-sensing
`or location
`receiving hardware
`
`102
`
`
`
`Processor
`
`Case 2:21-cv-00072-JRG-RSP Document 87-3 Filed 06/15/21 Page 2 of 25 PageID #: 2294
`
`103
`
`
`
`Data store
`
`
`
`
`
`
`
`Programmatic
`instructions for
`performing
`location-based
`Services
`
`
`
`104
`
`

`

`U.S. Patent
`
`Feb. 12, 2008
`
`Sheet 1 of 14
`
`US 7,330,112 B1
`
`
`
`101
`
`Location-Sensing
`Or location
`receiving hardware
`
`102
`
`
`
`Processor
`
`103
`
`Data store
`
`
`
`
`
`Programmatic
`instructions for
`performing
`location-based
`Services
`
`
`
`104
`
`Case 2:21-cv-00072-JRG-RSP Document 87-3 Filed 06/15/21 Page 3 of 25 PageID #: 2295
`
`Figure 1
`
`

`

`U.S. Patent
`
`Feb. 12, 2008
`
`Sheet 2 of 14
`
`US 7,330,112 B1
`
`201
`
`202
`
`Request location information
`
`Receive location reports from local
`location-aware devices
`
`
`
`203
`
`Any reports?
`
`204
`
`Use other
`techniques
`
`
`
`205
`
`
`
`2O6
`
`
`
`Y
`Disregard potentially
`erroneous reports
`
`Combine reports
`to estimate location
`
`
`
`2O7
`
`Update location
`
`Case 2:21-cv-00072-JRG-RSP Document 87-3 Filed 06/15/21 Page 4 of 25 PageID #: 2296
`
`Figure 2
`
`

`

`U.S. Patent
`
`Feb. 12, 2008
`
`Sheet 3 of 14
`
`US 7,330,112 B1
`
`304
`
`A map is to be displayed
`
`
`
`
`
`Retrieve information associated with
`location-aware friends
`
`Any more
`friends?
`
`Y
`
`ASCertain location of next friend
`
`305
`
`306
`
`N
`
`Displayable?
`
`301
`
`302
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case 2:21-cv-00072-JRG-RSP Document 87-3 Filed 06/15/21 Page 5 of 25 PageID #: 2297
`
`Add to displayable list
`
`307
`
`Figure 3
`
`

`

`U.S. Patent
`
`Feb. 12, 2008
`
`Sheet 4 of 14
`
`US 7,330,112 B1
`
`401
`
`Receive request to display
`location of one or more targets
`
`402
`
`Determine whether target(s) are
`friend(s) of the requestor
`
`403
`
`
`
`404
`
`N
`
`Do not transmit location
`
`
`
`405
`
`Transmit location of target
`friend(s) to requestor
`
`Case 2:21-cv-00072-JRG-RSP Document 87-3 Filed 06/15/21 Page 6 of 25 PageID #: 2298
`
`Figure 4
`
`

`

`U.S. Patent
`
`Feb. 12, 2008
`
`Sheet 5 of 14
`
`US 7,330,112 B1
`
`Friends in Vicinity Of Current Location
`
`
`
`SS/ A
`
`al
`
`507
`
`508
`
`510
`
`509
`
`502
`
`
`
`Zoom in
`
`Display more details
`
`Case 2:21-cv-00072-JRG-RSP Document 87-3 Filed 06/15/21 Page 7 of 25 PageID #: 2299
`
`503 N zoom out
`Zoom Out
`
`Only display ...
`
`504
`
`505
`
`Figure 5
`
`

`

`U.S. Patent
`
`Feb. 12, 2008
`
`Sheet 6 of 14
`
`US 7,330,112 B1
`
`601
`
`Communication event OCCurs
`
`603
`
`604
`
`
`
`Obtain Current location
`
`
`
`Record event details
`and Current location
`
`
`
`605
`
`Display communication event details with the
`location at which the Communication occurred
`
`Case 2:21-cv-00072-JRG-RSP Document 87-3 Filed 06/15/21 Page 8 of 25 PageID #: 2300
`
`Figure 6
`
`

`

`U.S. Patent
`
`Feb. 12, 2008
`
`Sheet 7 of 14
`
`US 7,330,112 B1
`
`Your Location During Call
`
`Act
`--
`
`f
`
`s
`
`706
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case 2:21-cv-00072-JRG-RSP Document 87-3 Filed 06/15/21 Page 9 of 25 PageID #: 2301
`
`Correspondent Location
`
`Zoom Out
`
`Show Both Locations
`
`Figure 7
`
`

`

`U.S. Patent
`
`Feb. 12, 2008
`
`Sheet 8 of 14
`
`US 7,330,112 B1
`
`801
`
`Assistants are to be displayed
`
`
`
`802
`
`Perform location-based query for
`assistants matching criteria
`
`
`
`
`
`
`
`Any more
`assistants?
`
`Add location record to assistant list
`
`
`
`804
`
`Case 2:21-cv-00072-JRG-RSP Document 87-3 Filed 06/15/21 Page 10 of 25 PageID #:
`2302
`
`Display assistants
`
`Figure 8
`
`

`

`U.S. Patent
`
`Feb. 12, 2008
`
`Sheet 9 of 14
`
`US 7,330,112 B1
`
`Assistance in Your Area
`
`
`
`
`
`
`
`
`
`4./ AF. A ?y:S
`
`907
`
`908
`
`910
`
`909
`
`902
`
`s Zoom in
`
`Display more details r
`
`904
`
`Case 2:21-cv-00072-JRG-RSP Document 87-3 Filed 06/15/21 Page 11 of 25 PageID #:
`2303
`
`903
`
`
`
`N Zoom Out
`
`Select category
`
`905
`
`Figure 9
`
`

`

`U.S. Patent
`
`Feb. 12, 2008
`
`Sheet 10 of 14
`
`US 7,330,112 B1
`
`1001
`
`3-D view to be displayed
`
`
`
`1002
`
`Get contour data around specified location
`
`
`
`
`
`Contour
`available?
`
`1004
`
`
`
`Display not
`supported
`
`
`
`1005
`
`
`
`Correlate location(s) of interest with contour data
`
`1 OO6
`
`
`
`Provide variable perspectives of
`contour with correlated location(s)
`
`
`
`Case 2:21-cv-00072-JRG-RSP Document 87-3 Filed 06/15/21 Page 12 of 25 PageID #:
`2304
`
`Figure 10
`
`

`

`U.S. Patent
`
`Feb. 12, 2008
`
`Sheet 11 of 14
`
`US 7,330,112 B1
`
`1101
`
`
`
`1102
`
`Distorted map is to be displayed
`
`Get distorted map
`
`1103
`
`Available?
`
`
`
`1104
`
`Display not
`Supported
`
`
`
`
`
`1105
`
`1106
`
`Correlate location(s) with
`distorted map
`
`Display distorted map with
`correlated location(s)
`
`
`
`1107
`
`Case 2:21-cv-00072-JRG-RSP Document 87-3 Filed 06/15/21 Page 13 of 25 PageID #:
`2305
`
`Figure 11
`
`

`

`U.S. Patent
`
`Feb. 12, 2008
`
`Sheet 12 of 14
`
`US 7,330,112 B1
`
`Local Terrain Map
`
`
`
`1202
`
`Zoom in
`
`Display Details
`
`1204
`
`12O1
`
`Case 2:21-cv-00072-JRG-RSP Document 87-3 Filed 06/15/21 Page 14 of 25 PageID #:
`2306
`
`1203
`
`Display Regular Map
`
`O
`1205
`
`Figure 12
`
`

`

`U.S. Patent
`
`Feb. 12, 2008
`
`Sheet 13 of 14
`
`US 7,330,112 B1
`
`1301
`
`Automatically identifiable
`device/object detected by LAD
`
`1302
`
`
`
`1303
`
`
`
`Extract device identity
`
`Consult Watch list
`
`
`
`
`
`
`
`Case 2:21-cv-00072-JRG-RSP Document 87-3 Filed 06/15/21 Page 15 of 25 PageID #:
`2307
`
`
`
`ldentity in
`Watch list?
`
`issue alert
`
`Log encounter
`
`Figure 13
`
`1305
`
`1306
`
`

`

`U.S. Patent
`
`Feb. 12, 2008
`
`Sheet 14 of 14
`
`US 7,330,112 B1
`
`1401
`
`Functionality requested
`
`1402
`
`1403
`
`
`
`Determine Current location
`
`Retrieve definition of primary area
`
`
`
`1404
`
`
`
`
`
`Location in
`primary area?
`
`1405
`Y-C Provide primary functionality
`
`)
`
`N
`
`1406
`
`1.
`N Provide secondary functionality )
`
`Case 2:21-cv-00072-JRG-RSP Document 87-3 Filed 06/15/21 Page 16 of 25 PageID #:
`2308
`
`Figure 14
`
`

`

`US 7,330, 112 B1
`
`1.
`LOCATION-AWARE SERVICES
`
`CROSS REFERENCE TO RELATED
`APPLICATIONS
`
`2
`FIG. 14 is a flow diagram of a method for varying
`functionality based on location according to Some embodi
`mentS.
`
`DETAILED DESCRIPTION
`
`This application claims priority to U.S. Provisional Patent
`Application No. 60/501,691 entitled LOCATION-BASED
`SERVICES, filed Sep. 9, 2003, which is incorporated herein
`by reference for all purposes.
`
`10
`
`FIELD OF THE INVENTION
`
`The present invention relates generally to the areas of
`computer Software and portable electronics, more specifi
`cally to the area of location-aware devices.
`
`15
`
`BACKGROUND OF THE INVENTION
`
`Technology for determining location has become Small
`and inexpensive, facilitating the creation of location-aware
`devices. However, current location-aware devices provide
`limited functions.
`It would be useful to have increased functionality for
`location-aware devices.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`Various embodiments of the invention are disclosed in the
`following detailed description and the accompanying draw
`ings.
`FIG. 1 is an illustrative diagram of a system for perform
`ing location-based services according to Some embodiments.
`FIG. 2 is a flow diagram of a method for obtaining
`location information from one or more location-aware peer
`devices according to some embodiments.
`FIG. 3 is a flow diagram of a method for displaying
`location-aware friends according to Some embodiments.
`FIG. 4 is a flow diagram of a method for responding to a
`request to provide the locations of one or more friends.
`FIG. 5 is an illustrative diagram of a user interface for
`displaying the location of friends according to some embodi
`mentS.
`FIG. 6 is a flow diagram of a method for recording and
`displaying the location of communications by a mobile
`device.
`FIG. 7 is an illustrative diagram of a user interface for
`displaying the location of communications by a mobile
`device according to Some embodiments.
`FIG. 8 is a flow diagram of a method for locating potential
`assistants matching one or more specified criteria according
`to Some embodiments.
`FIG. 9 is an illustrative diagram of a user interface for
`displaying the location of potential assistants according to
`Some embodiments.
`FIG. 10 is a flow diagram of a method for presenting a
`three-dimensional map with integrated location information
`according to Some embodiments.
`FIG. 11 is a flow diagram of a method for accurately
`displaying locations on a distorted display according to
`Some embodiments.
`FIG. 12 is an illustrative diagram of a user interface for
`displaying a distorted map according to some embodiments.
`FIG. 13 is a flow diagram of a method for detecting
`nearby devices and/or objects from a mobile location-aware
`device according some embodiments.
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`The invention can be implemented in numerous ways,
`including as a process, an apparatus, a system, a composition
`of matter, a computer readable medium Such as a computer
`readable storage medium or a computer network wherein
`program instructions are sent over optical or electronic
`communication links. In this specification, these implemen
`tations, or any other form that the invention may take, may
`be referred to as techniques. In general, the order of the steps
`of disclosed processes may be altered within the scope of the
`invention.
`A detailed description of one or more embodiments of the
`invention is provided below along with accompanying fig
`ures that illustrate the principles of the invention. The
`invention is described in connection with such embodi
`ments, but the invention is not limited to any embodiment.
`The scope of the invention is limited only by the claims and
`the invention encompasses numerous alternatives, modifi
`cations and equivalents. Numerous specific details are set
`forth in the following description in order to provide a
`thorough understanding of the invention. These details are
`provided for the purpose of example and the invention may
`be practiced according to the claims without some or all of
`these specific details. For the purpose of clarity, technical
`material that is known in the technical fields related to the
`invention has not been described in detail so that the
`invention is not unnecessarily obscured.
`FIG. 1 is an illustrative diagram of a system for perform
`ing location-based services according to Some embodiments.
`In this example, hardware capable of sensing a location or
`receiving location information 101 may be connected to a
`processor capable of executing instructions to perform loca
`tion-based services 102. Examples of hardware capable of
`sensing a location include a GPS receiver, and one or more
`accelerometers or gyroscopes. An example of hardware
`capable of receiving location information is an interface
`capable of connecting to a network over which location
`information may be transmitted, for example a wireless
`network such as 802.11, GPRS or Bluetooth.
`A data store 103 is shown to be connected to the processor
`102. A data store may be any medium capable of storing
`data, for example read-only memory, magnetic or optical
`storage, non-volatile electronic memory such as flash
`memory, or battery-powered electronic memory Such as
`DRAM.
`Programmatic instructions for performing location-based
`services 104 may be made available to the processor 102.
`Examples of media in which programmatic instructions for
`performing location-based services may be contained
`include read-only memory, magnetic or optical storage, and
`random-access memory Such as DRAM or flash memory.
`FIG. 2 is a flow diagram of a method for obtaining
`location information from one or more location-aware peer
`devices according to Some embodiments. A "location-aware
`device' or “LAD” refers herein to any device that can be
`aware of its location, either directly or indirectly. Examples
`of LADS include a personal digital assistant which has the
`capability to communicate with Global Positioning System
`(GPS) satellites (for example, an HP iPad 5555 with a
`Pharos PF022 card, a Handspring Visor with a Magellan
`GPS Companion module, or a Garmin iQue 3600), an
`automotive navigation unit Such as a Siemens IDIS or
`
`Case 2:21-cv-00072-JRG-RSP Document 87-3 Filed 06/15/21 Page 17 of 25 PageID #:
`2309
`
`

`

`3
`TetraStar (as used in BMW and Mercedes automobiles), and
`a cellular telephone capable of receiving location informa
`tion. Examples of ways in which a LAD can be made aware
`of its location include satellite-based services such as GPS,
`accelerometers, gyroscopes, local transmissions from fixed
`or mobile locations, manual input by a user, and receiving
`location information from another LAD. In some embodi
`ments, a LAD may make location information programmati
`cally available to software running on it, for example via the
`National Marine Electronics Association standard NMEA
`10
`O183.
`In this example, location information may be requested
`(201). For example, a request may be transmitted (for
`example using a broadcast) over a communications network
`Such as a wireless network. Examples of wireless networks
`include 802.11 and Bluetooth. In some embodiments, a
`request may be implicit. One example of an implicit request
`is not making a request. Another example of an implicit
`request is another communication, for example a broadcast
`indicating the presence of a device, which may be taken as
`an implicit request for location information. One or more
`location reports may be received from local location-aware
`devices (202). A location report refers herein to a commu
`nication containing a location of the device sending the
`report, for example in latitude and longitude. In some
`embodiments, a reporting device may have measured its
`own location, for example using location-sensing hardware
`Such as a GPS receiver. In some embodiments, a reporting
`device may have determined its location from location
`reports received from other entities. In some embodiments,
`a device providing a report may be a peer of a requesting
`device, for example a mobile device such as a PDA, cellular
`phone or automotive navigational system. An example of
`receiving one or more location reports is to receive them
`over a network medium through which a request was
`transmitted, for example a wireless network such as Blue
`tooth or 802.11, or using a mode of transmission specified in
`a request.
`It may be determined whether a location report has been
`received (203). If a location report has not been received
`(203), then other techniques are used in this example (204).
`Examples of other techniques include invalidating any loca
`tion awareness until a location can be ascertained, using the
`last known location, and extrapolating from the last known
`location.
`45
`If a location report has been received (203), then one or
`more potentially erroneous location reports are optionally
`disregarded in some embodiments (205). An example of
`disregarding a location report is to not include the location
`report in a location calculation. An example of disregarding
`potentially erroneous location reports is to disregard reports
`containing locations that are substantially different than
`average. In one example of disregarding locations Substan
`tially different than average, one or more location reports
`that contain a location more than a threshold distance from
`the average reported location, for example a hundred meters,
`may be disregarded. In some embodiments, one or more
`location reports containing locations more than a threshold
`distance from the average reported location may be disre
`garded when at least a threshold number of reports, for
`example two, are received containing distances within the
`threshold distance from the average. In another example of
`disregarding locations substantially different than average,
`one or more reports that are furthest from the average may
`be disregarded based on a fixed or variable ratio. Such as
`ignoring the 10% of reports furthest from the average
`location, or any report varying from the average by more
`
`55
`
`Case 2:21-cv-00072-JRG-RSP Document 87-3 Filed 06/15/21 Page 18 of 25 PageID #:
`2310
`
`50
`
`60
`
`65
`
`US 7,330, 112 B1
`
`15
`
`25
`
`30
`
`35
`
`40
`
`4
`than 10%. In another example of disregarding locations
`Substantially different than average, one or more reports that
`are furthest from the average may be disregarded based on
`a statistical measure Such as disregarding any locations
`greater than Some threshold number of standard deviations
`(for example two) from average. In some embodiments,
`location(s) substantially different than average may be dis
`regarded when more than a threshold number of location
`reports have been received, for example three. In some
`embodiments, disregarding locations Substantially different
`than average may be required to eliminate at least a prede
`termined number of reports, for example one. In some
`embodiments, one or more X and/or Y coordinates within
`location reports may be separately disregarded, for example
`an X or Y coordinate substantially different than average.
`Any technique discussed above for disregarding reports
`Substantially different than average may be applied sepa
`rately to X and Y coordinates.
`Location reports may be combined to estimate the current
`location (206). One example of combining location reports
`is to average location reports received from location-aware
`devices. In some embodiments, averaging reports may
`include calculating an arithmetic mean. In some embodi
`ments, averaging reports may include calculating a median.
`In some embodiments, averaging reports may include cal
`culating a mode. In some embodiments, an average may be
`weighted by the observed signal strength from each report
`ing device. Another example of combining location reports
`is to use both a received location report and the direction
`from which the location report signal arrived. A direction
`from which a location report signal originates may, for
`example, be obtained from a Doppler direction finder, or
`from an effectively rotating directional beacon transmission
`Such as is used on aircraft VOR navigational systems, which
`establishes a radial direction from a transmitter to a receiver.
`In some embodiments, directions from Sources of location
`reports may be used to triangulate. In one example of
`triangulation, if radial directions are received from two
`transmitters, with one transmitter due east and the other due
`north, then a current location is derived in this example at the
`latitude of the due east transmitter, and the longitude of the
`due north transmitter. In another example of triangulation, if
`radial directions are received from two transmitters of
`location reports, and the radial directions are not collinear
`with a receiver, then a unique location for the receiver may
`be derived using trigonometric methods well known to those
`skilled in the art. In another example of triangulation, radial
`directions to three or more transmitters may be acquired, and
`a receiver location may be estimated when all the radials do
`not align at a single point In some embodiments, a least
`squares error estimate of the receiver's position may be
`derived based on triangulation relative to three or more
`radials to known or specified locations. In this example, an
`error metric in an estimate may for example be defined to be
`the sum of the squares of the distances from the receiver's
`estimated location to the radial lines.
`In some embodiments, X and Y coordinates, such as a
`latitude and longitude, may be calculated separately from
`locations reported by locally accessible LADs. In one
`example of separately calculating X and Y coordinates,
`average X and Y coordinates may be calculated from the X
`and Y coordinates contained within location reports.
`In some embodiments, a previous location, such as the
`last known location, may be taken into consideration when
`evaluating a location in a location report, for example by
`disregarding reports that are far from the last known loca
`tion. For example, a new location reading may be analyzed
`
`

`

`US 7,330, 112 B1
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`5
`to calculate the distance (for example, the number of miles
`or degrees) between it and a previous location. If this
`distance is greater than a threshold, then the location in the
`location report may be disregarded. In some embodiments,
`the threshold may be a constant, for example 600 miles. In
`Some embodiments, the amount of time since the previous
`location was calculated may be taken into account in deter
`mining a threshold, for example by multiplying a constant
`threshold such as 600 miles by the amount of time (for
`example the number of hours) since the previous location
`was calculated. In some embodiments, a combination of
`elapsed time and a distance threshold may be expressed as
`a speed threshold, for example 600 miles per hour in the
`example above. In some embodiments, a time threshold may
`be combined with a distance threshold, including a combi
`nation of elapsed time and distance threshold, for example
`by applying the distance threshold only for location reports
`received less than a threshold period of time, such as five
`hours, since the last location report. In some embodiments,
`when multiple consistent location reports beyond a threshold
`are received, the location may be accepted.
`When one or more location reports have been combined
`and/or disregarded (205), the location is updated in this
`example (206).
`FIG. 3 is a flow diagram of a method for displaying
`location-aware friends according to some embodiments. In
`this example, a map is to be displayed (301), for example
`because a user has changed location, or has elected to view
`a map of a particular area, or has requested to view a map
`displaying the location of one or more friends. An example
`of a situation in which a map showing friends could be
`displayed is for a user to select a UI element labeled “My
`friends,” which could translate into a request to display, on
`the map, all people close to the user's present location (for
`example, within ten miles) who had previously been clas
`sified as friends. Information associated with set of location
`aware “friends” may be retrieved (302). A “friend” refers
`herein to any person that has been classified as an entity to
`monitor, who has given permission for Such monitoring,
`either implicitly or explicitly. In some embodiments, a friend
`may be classified as such by explicit classification by the
`user, proactively or in response to a request by the friend. In
`Some embodiments, a friend may be classified as such by
`automatic techniques including identification of associates
`in the user's address book, calendar, instant messaging
`“buddy list,” or other user data. In some embodiments, a
`friend may give implicit monitoring permission to a watcher
`by possessing data associating the friend with the watcher,
`for example by having the watcher in his or her address
`book, calendar, instant messaging “buddy list' or other user
`data. One example of retrieving a set of friends is to retrieve
`friend data from storage such as a file or database. Another
`example of retrieving a set of friends is to have friend data
`ready to access, for example in memory. In some embodi
`ments, friends may be categorized into groups, and an
`example of retrieving a set of friends is to retrieve a set of
`friends belonging to a particular group, such as family or
`coworkers.
`When no more friends remain to be evaluated (303),
`generation of the displayable list of friends is complete in
`this example (304). One example of an action to take when
`the list is complete is to display the location of friends.
`Another example of an action to take when the list is
`complete is to provide the list through a programmatic
`interface. If another friend remains to be evaluated (303),
`then his or her location may be ascertained (305).
`
`Case 2:21-cv-00072-JRG-RSP Document 87-3 Filed 06/15/21 Page 19 of 25 PageID #:
`2311
`
`50
`
`55
`
`60
`
`65
`
`6
`In some embodiments, the locations of a plurality of
`friends may be ascertained individually. In some embodi
`ments, the locations of a plurality of friends may be ascer
`tained simultaneously.
`One example of ascertaining the location of a friend is to
`query a server, as discussed in conjunction with FIG. 4.
`Another example of ascertaining the location of a friend is
`to obtain the location from a peer, for example via a
`peer-to-peer protocol. Another example of ascertaining the
`location of a friend is to receive a direct location transmis
`sion from the friend. In an example of a direct location
`transmission from a friend, a cellular telephone may receive
`location information directly from another cellular tele
`phone, for example a telephone with whom a connection
`Such as a phone call is established. Such transmission may,
`for example, be effected by encoding location information
`along with digitized Voice data.
`It may be determined whether the friend is displayable
`(306). In some embodiments, determining whether the
`friend is displayable may include determining whether the
`friend's location is within the boundaries of a map. In some
`embodiments, for example when a map showing the location
`(s) of one or more friends has been requested, determining
`whether a friend is displayable may include setting or
`expanding boundaries of a map to include the location of the
`friend.
`If the friend being evaluated is not displayable (306), then
`the next friend is evaluated in this example (303). If the
`friend being evaluated is displayable, for example because
`the friend is in a displayable area or a request has been made
`to display the location of the friend (306), then the friend is
`added to a displayable list in this example (307). One
`example of adding a friend to a displayable list is to display
`the friend on a map. Another example of adding a friend to
`a displayable list is to add information about the friend, such
`as the identity and location of the friend, to a list of items to
`be displayed later, for example when the map is rendered.
`The next friend may be evaluated (303).
`In some embodiments, a friend may be a child equipped
`with a tracking device. An example of a tracking device is
`a device incorporating a Radio Frequency Identification
`(RFID) tag such as an Alien Technology 2450 MHz Long
`Range Backscatter RFID System. In some embodiments, a
`tracking device may be incorporated into a friend's personal
`effects such as his or her shoes. In some embodiments, a
`tracking device may be rented, for example at a large public
`venue Such as Disneyland. At the time the tracking device is
`rented, a key for a cipher Such as a symmetric cipher (for
`example, DES, AES or Blowfish) may be assigned to the
`tracking device and shared between the tracking device and
`an approved tracker's LAD, such as a parents LAD. When
`a friend, for example a child, passes a gateway or other place
`where a sensor has been installed, a tracking device asso
`ciated with the friend may be read and the friend's location
`may be relayed to an approved tracker's LAD or other
`map-aware terminal, for example by relaying the location
`from the reader to a server, which can construct an encrypted
`message containing an identifier associated with the tracking
`device and the location at which it was sensed. A message
`containing a location can be broadcast over a wireless
`network such as 802.11 by access points throughout the
`facility, at one of which the user's LAD may receive it. In
`Some embodiments, a LAD in this tracking mode can
`receive messages and attempt to decrypt them using its
`assigned key. Any such messages that result, after decryp
`tion, in a valid identifier and location may be displayed on
`a map.
`
`

`

`7
`FIG. 4 is a flow diagram of a method for responding to a
`request to provide the locations of one or more friends. In
`this example, a request for the location of one or more
`targets represented as friends is received (401). An example
`of a request for more than one target is a communication of
`a form such as <REQUEST ALL FRIENDS, userID, lati
`tude,
`longitude,
`radius>, where REQUEST ALL
`FRIENDS is the command to return the locations of nearby
`friends, userID is the user ID of the user whose friends are
`being sought, latitude and longitude are the coordinates of
`the center of the area in which location information for
`friends is requested, and radius is the radius around that
`center in which the search should be conducted. An example
`of a request for the location of a single target is a commu
`nication of a form such as <REQUEST FRIEND, frien
`dID>, where REQUEST FRIEND is an identifier for the
`command to locate a particular friend and friend D is an
`identifier associated with that friend.
`In some embodiments, it may be determined whether the
`specified target(s) are actually friends of the requestor (402).
`An example of determining whether a target is a friend of a
`requestor is to query a database containing friend associa
`tions to determine whether a record exists associating the
`requestor and the target. If the target is not a friend of the
`requestor (403), then the location of the target is not trans
`mitted in this example (404). One example of not transmit
`ting the location of a target is to not transmit the location of
`any targets. Another example of not transmitting the location
`of a target is to omit a target that is not a friend from a
`transmitted response containing the locations of one or more
`other targets that are friends of the requestor.
`If the target(s) are friend(s) of the requestor (403), then the
`location of one or more friends may be transmitted to the
`requester (405). An example of a response containing the
`locations of one or more friends is a response containing a
`35
`list of entries, for example in the form <REPORT LOCA
`TION, friend ID, latitude, longitude>, where REPORT LO
`CATION is an identifier for the type of data (a location
`report), friend ID is the unique identifier for a friend and
`latitude and longitude are the location of that friend. An
`40
`example of a response containing the location of a single
`friend is a response containing a single entry, for example in
`the form <REPORT LOCATION, friend ID, latitude, longi
`tude> as previously described.
`In some embodiments, the location of a friend provided in
`a response may have been received from a LAD associated
`with the friend. For example, a location may be received and
`stored, then retrieved when a request for the location is
`fulfilled. An example of receiving a location from a LAD is
`to receive a message in a form such as <UPDATE LOCA
`50
`TION, userID, latitude, longitude>, where UPDATE LO
`CATION is an identifier for the command to update a user's
`location, userID is an identifier associated with the user, and
`latitude and longitude represent the user's current position.
`In some embodiments, messages may include proof of the
`identit

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