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

`

`USOO7383.316B2
`
`(12) United States Patent
`Koch et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,383,316 B2
`Jun. 3, 2008
`
`(54) SYSTEM AND METHOD FOR PROVIDING
`DYNAMIC LOCATION INFORMATION
`
`(75) Inventors: Zeke Koch, Seattle, WA (US); David
`Edward Stewart, Seattle, WA (US)
`(73) Assignee: Microsoft Corporation, Redmond, WA
`(US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 638 days.
`(21) Appl. No.: 10/295,303
`
`(*) Notice:
`
`(22) Filed:
`
`Nov. 15, 2002
`
`(65)
`
`Prior Publication Data
`US 2004/0098464 A1
`May 20, 2004
`
`(51) Int. Cl.
`(2006.01)
`G06F 5/16
`(52) U.S. Cl. ....................................... 709/217, 709/217
`(58) Field of Classification Search ........ 709/227 229,
`709/230, 217
`See application file for complete search history.
`References Cited
`
`(56)
`
`U.S. PATENT DOCUMENTS
`
`2/2000 Eitzenberger ............... 340.988
`6,023,232 A
`6,480,146 B1 * 1 1/2002 Ferrandis et al. ...... 342.357.06
`2001/0047407 A1
`11/2001 Moore et al. ............... 709,223
`2002/0156917 A1* 10/2002 Nye ........................... TO9,238
`2002fO188689 A1* 12, 2002 Michael ...
`... TO9,206
`2002fO198824 A1* 12/2002 Cook ..........
`... TOS/38
`2003, OOO3988 A1* 1/2003 Walker et al. ......
`... 463/21
`2003/0222005 A1 12/2003 Polizzotto et al. .......... 210,143
`
`FOREIGN PATENT DOCUMENTS
`
`WO
`
`WO O1/33825 A1
`
`5, 2001
`
`OTHER PUBLICATIONS
`
`Supporting location-Awareness in open Distributed Systems, Ulf
`Leonhardt, Imperial college of Science, Technology and
`Medicin, University of London, May 1998.*
`Hideki Shimada et al., “Evaluation of a Location Management
`System for Wireless Communicating Mobile Computers,” Springer
`Verlag, 2002 (13 pages).
`Gurushyam Hariharan et al., “Location-based Retrieval Frame
`work.” SPIE, 2003 (11 pages).
`Yongbo Niu et al., Enabling Web-Based Location-Dependent Infor
`mation Services in Mobile Environments, Springer-Verlag, 2003 (7
`pages).
`Jivodar B. Tchakarov et al., “Efficient Content Location in Wireless
`Ad Hoc Networks,” IEEE, 2004 (14 pages).
`* cited by examiner
`Primary Examiner Jason Cardone
`Assistant Examiner Mitra Kianersi
`(74) Attorney, Agent, or Firm Merchant & Gould P.C.;
`Ryan T. Grace
`
`(57)
`
`ABSTRACT
`
`A system and method for providing the dynamic geographic
`location of a computing device to location aware applica
`tions. This system and method enables the location aware
`applications to enhance the user experience by taking the
`dynamic geographic location of a user into account in its
`operations. Location providers associated with the comput
`ing device provide dynamic geographic data associated with
`the geographic location of the user. The dynamic geographic
`data is converted to a common format that is recognized by
`the location aware applications. The location aware appli
`cations incorporate the dynamic location in presenting infor
`mation to the user.
`
`33 Claims, 8 Drawing Sheets
`
`Case 2:21-cv-00072-JRG-RSP Document 87-2 Filed 06/15/21 Page 2 of 18 PageID #: 2276
`
`
`
`Obtain dynamic
`geographical data
`
`r
`
`730
`
`---
`
`Prompt user for
`permission
`
`
`
`735
`
`Provide
`rformatio
`
`M
`
`Convertgeographic
`data and accuracy data
`
`
`
`Provide convertex
`geographic data and
`accuracy data
`
`

`

`U.S. Patent
`
`Jun. 3, 2008
`
`Sheet 1 of 8
`
`US 7,383,316 B2
`
`
`
`102
`
`COMPUTING DEVCE
`
`central processing unit
`
`112
`
`operating
`system
`
`applications
`
`Location engine
`
`Location-aware
`applications
`
`network
`interface
`unit
`
`Location
`providers
`
`|O
`interface
`
`Case 2:21-cv-00072-JRG-RSP Document 87-2 Filed 06/15/21 Page 3 of 18 PageID #: 2277
`
`FIGURE 1
`
`

`

`U.S. Patent
`
`Jun. 3, 2008
`
`Sheet 2 of 8
`
`US 7,383,316 B2
`
`o
`
`230
`
`Location aware applications
`234
`236
`
`stant
`messaging
`
`
`
`Driving
`direction
`
`Internet
`broSWer
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`LOCATION ENGINE
`
`216
`
`ACCuracy
`manager
`
`Security
`manager
`
`
`
`User
`interface
`component
`
`Location providers
`254
`
`User-based
`location
`
`GPS
`
`Cellular
`
`
`
`Network
`location
`
`FIGURE 2
`
`Case 2:21-cv-00072-JRG-RSP Document 87-2 Filed 06/15/21 Page 4 of 18 PageID #: 2278
`
`

`

`U.S. Patent
`
`Jun. 3, 2008
`
`Sheet 3 of 8
`
`US 7,383,316 B2
`
`
`
`iSettings
`location
`
`9:57 o
`
`Automatically carried to available location
`powicers in the order listed below
`Device Narne
`.
`NMEA corn patible GPS
`GPRS (cellular modern)
`Sierra liter 40
`PocketStreets
`
`310
`
`315
`
`332
`
`
`
`Provices
`
`
`
`
`
`Case 2:21-cv-00072-JRG-RSP Document 87-2 Filed 06/15/21 Page 5 of 18 PageID #: 2279
`
`334
`
`336
`
`300
`
`320
`
`FIGURE 3
`
`

`

`U.S. Patent
`
`Jun. 3, 2008
`
`Sheet 4 of 8
`
`US 7,383,316 B2
`
`410
`
`400
`
`415
`
`415
`
`Case 2:21-cv-00072-JRG-RSP Document 87-2 Filed 06/15/21 Page 6 of 18 PageID #: 2280
`
`Online
`d Danny Falkov (Away)
`d Dave Stewart (Away)
`jennifer
`lose furia
`R Michael Wyman
`Phil
`d Sonbal Boantjies (Away)
`Not Online
`Dave g work
`S Friedicus Rediculous
`Jane
`John Lemire
`kathne(shotmail.com
`Tools ghats to it. --
`
`430
`
`
`
`450
`
`Online
`di Danny Falkov (15 miles away)
`o Dave Stewart (e. 125 meters away)
`jennifer (Cambridge, MA)
`Jose Furia (cannot locate)
`R. Michael Wyman (in Redmond, WA)
`Phil (locating.)
`a Sonbal Boantjies (in Berkeley, CA)
`Not online
`Dawe () work
`Friedicus Rediculous
`are
`i John Lenire
`Rkathne?ghotmail.com
`Tools Chats . F. ..
`430
`
`FIGURE 4
`
`

`

`U.S. Patent
`
`Jun. 3, 2008
`
`Sheet S of 8
`
`US 7,383,316 B2
`
`510
`
`400
`
`SN Messenge
`in
`
`(g 12:37 (x)
`
`Dawe work
`Dawe Stewart
`
`usy
`Be Right Back
`AWay
`On The Phone
`Out Te lunch
`Appear Offline
`
`515
`
`Ph.d
`a. Sortal Bosities Away
`the stranger (Away)
`Not Online
`Frieticus Rediculous
`Tools Chats
`...
`
`
`
`550
`
`K& 12:38 x
`MSN Messenge
`Christopher. Chin (online)
`tline
`d Bret (Away)
`a Danny Falkoy (Away)
`Dawe (3) Work
`Dawestewart
`. er-rfer
`d Jose Furie (Away)
`Fairhsel sy, mirr, f its ar.
`sedar restart Message
`send Mail (nysa 4-hotmail.co)
`Display Map
`Display Driving Directions
`Block
`Delete Contact
`
`f
`
`565
`
`FIGURE 5
`
`Case 2:21-cv-00072-JRG-RSP Document 87-2 Filed 06/15/21 Page 7 of 18 PageID #: 2281
`
`

`

`U.S. Patent
`
`Jun. 3, 2008
`
`Sheet 6 of 8
`
`US 7,383,316 B2
`
`600
`
`
`
`6OO
`
`
`
`615
`
`MSN Messenger
`
`< 10:53 G
`
`location Privacy
`O Never reveal my location
`O Reveal ray location to everyone
`C Only reveal my location to certain people
`
`
`
`
`
`
`
`
`
`
`
`MSN Messenger
`--
`Lotatio Pernissir List
`Black
`
`All other t.
`Christopher
`Danny Falkoy
`Dave work
`Daye Stewart
`Friedius Re,...,
`are
`Jenifer
`John Lemire
`
`650
`
`Case 2:21-cv-00072-JRG-RSP Document 87-2 Filed 06/15/21 Page 8 of 18 PageID #: 2282
`
`
`
`655
`
`670
`
`660
`
`FIGURE 6
`
`

`

`U.S. Patent
`
`Jun. 3, 2008
`
`Sheet 7 of 8
`
`US 7,383,316 B2
`
`700
`
`Obtain dynamic
`geographical data
`
`Determine accuracy
`
`710
`
`720
`
`
`
`
`
`
`
`730
`
`Prompt user for
`permission
`
`
`
`
`
`
`
`735
`
`Yes
`
`Provide
`information?
`
`NO
`
`740
`
`750
`
`Convert geographic
`data and accuracy data
`
`Case 2:21-cv-00072-JRG-RSP Document 87-2 Filed 06/15/21 Page 9 of 18 PageID #: 2283
`
`Provide Converted
`geographic data and
`aCCuracy data
`
`End
`
`FIGURE 7
`
`

`

`U.S. Patent
`
`Jun. 3, 2008
`
`Sheet 8 of 8
`
`US 7,383,316 B2
`
`800
`
`Receive geographic
`data and accuracy
`information
`
`810
`
`Calculate distance
`
`815
`
`
`
`825
`
`Greater
`than the
`accuracy?
`
`
`
`
`
`NO
`
`
`
`Present information as
`less than the accuracy
`
`Greater
`than minimum
`distance?
`
`Present information as
`city/state
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case 2:21-cv-00072-JRG-RSP Document 87-2 Filed 06/15/21 Page 10 of 18 PageID #:
`2284
`
`
`
`Present distance as
`calculated distance
`
`FIGURE 8
`
`

`

`US 7,383,316 B2
`
`1.
`SYSTEMAND METHOD FOR PROVIDING
`DYNAMIC LOCATION INFORMATION
`
`BACKGROUND OF THE INVENTION
`
`10
`
`Today's computing devices can perform more tasks than
`ever before. Manufactures and software developers continue
`to find new uses for computing devices. For example, with
`the properhardware and Software components, a computing
`device can serve as a communication device for communi
`cating with friends and family. A popular type of commu
`nication application is instant messaging (IM). A local user
`may log on to an IM server using an appropriate application.
`Once the local user is logged on to the IM server, the local
`user may communicate with remote users located at different
`geographic locations. IM has been popular among users of
`desktop computing devices for some time now. Recently, IM
`has also become increasingly popular among users of mobile
`computing devices.
`In conventional IM systems, a local user can usually
`determine whether a remote user is available for communi
`cation or chatting. Some IM systems also allow the local
`user to enter a particular profile for viewing by remote users.
`However, the user-entered profiles are static in nature and
`could not be updated automatically. Thus, although IM
`25
`allows users to communicate with one another, the user
`experience is somewhat limited in scope.
`
`15
`
`SUMMARY OF THE INVENTION
`
`2
`FIG. 2 is a functional block diagram illustrating compo
`nents of a location providing system in which the present
`invention may be implemented.
`FIG. 3 is an exemplary screenshot of a user interface for
`interacting with location providers associated with a location
`engine.
`FIG. 4 illustrates two exemplary screenshots of a user
`interface associated with an instant messaging application.
`FIG. 5 illustrates another two exemplary screenshots of
`the user interface shown in FIG. 4.
`FIG. 6 illustrates yet another two exemplary screenshots
`of the user interface shown in FIG. 4.
`FIG. 7 is an operational flow diagram that shows an
`exemplary process for providing dynamic geographic data
`related to the geographic location of a computing device.
`FIG. 8 is an operational flow diagram that shows an
`exemplary process for providing location information to the
`USC.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`
`The inventors of the present invention have appreciated
`that a variety of applications can benefit from knowing the
`dynamically updated geographic locations of computing
`devices that are in communication with each other. Thus, the
`present invention focuses on presenting dynamic location
`information to the user. In one embodiment, the present
`invention provides dynamic geographic data to an instant
`messaging application. Using the dynamic geographic data,
`the instant messaging application presents to a user location
`information related to the relative geographic locations of
`remote parties with whom the user may exchange data
`messages. The dynamic geographic data may be provided to
`the instant messaging application along with accuracy infor
`mation related to the accuracy of the dynamic geographic
`data. The accuracy information allows the instant messaging
`application to present the location information to the user in
`a meaningful manner. These and other aspects of the inven
`tion will become apparent after reading the following
`detailed description.
`FIG. 1 and the following discussion are intended to
`provide a brief general description of a Suitable computing
`environment in which the invention may be implemented.
`Although not required, this invention will be described in the
`general context of computer-executable instructions, such as
`program modules, being executed by a computing device.
`Generally, program modules include routines, programs,
`objects, components, data structures and the like that per
`form particular tasks or implement particular abstract data
`types.
`Moreover, those skilled in the art will appreciate that this
`invention may be practiced with a variety of computer
`system configurations, including mobile computing devices,
`personal computers, wireless mobile phones, multi-proces
`sor Systems, microprocessor-based or programmable con
`Sumer electronics, network PCs, minicomputers, mainframe
`computers and the like. The invention may also be practiced
`in distributed computing environments where tasks are
`performed by remote processing devices that are linked
`through a communications network. In a distributed com
`puting environment, program modules may be located in
`both local and remote memory storage devices.
`FIG. 1 is an exemplary computing device 102 that may be
`included in a system implementing this invention, according
`to one embodiment of the invention. In other configurations,
`computing device 102 may include many more components
`
`Briefly stated, the present invention is directed at a system
`and method for providing the dynamic geographic location
`of a computing device to an application. This system and
`method enables the application to enhance the user experi
`ence by taking the computing device's geographic location
`into account in its operations. Location providers associated
`with the computing device provide dynamic geographic data
`associated with the geographic location of the user. The
`dynamic geographic data are converted to a common format
`that is recognized by applications executing on the computer
`40
`device. The application incorporates the dynamic geo
`graphic data in presenting information to the user.
`In one embodiment, the present invention is directed at a
`computer-implemented method for an instant messaging
`application to present location information to the user. The
`45
`method determines a remote party that is capable of
`exchanging instant messages with the user and receives
`geographic data associated with the remote party. The
`method also determines geographic data associated with the
`user. Based on the geographic data associated with the
`remote party and the user, the method presents location
`information about the remote party to the user.
`In another aspect, the computing device is directed at a
`computing device for providing information to a user. The
`computing device includes a processor, a location provider,
`a network interface for data communication through a
`network, and a memory into which computer executable
`components are loaded. The computer executable compo
`nents includes a computer executable component that is
`configured to presenting location information to the user
`based on geographic data associated with a remote party and
`the user.
`
`30
`
`35
`
`50
`
`55
`
`60
`
`Case 2:21-cv-00072-JRG-RSP Document 87-2 Filed 06/15/21 Page 11 of 18 PageID #:
`2285
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is an exemplary computing device that may be
`included in a system implementing this invention.
`
`65
`
`

`

`US 7,383,316 B2
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`3
`than those shown. Computing device 102 may include
`processing unit 112, display adapter 114, location providers
`250, network interface unit 110, mass memory, all in com
`munication with each other via bus 122. The mass memory
`may include RAM 116, ROM 132, and one or more perma
`nent mass storage devices. The mass memory stores oper
`ating system 120 for controlling the operation of computing
`device 102. A general-purpose operating system may be
`employed. Basic input/output system (“BIOS) 118 is also
`provided for controlling the low-level operation of comput
`ing device 102.
`Location providers 250 are electronic components that are
`configured to obtain dynamic geographic data related to the
`dynamically updated geographic location of computing
`device 102. Location providers 250 may be completely or
`partially incorporated into computing device 102. Location
`providers 250 may provide the dynamic geographic data to
`application executing in computing device 102 by interact
`ing with location engine 210.
`As illustrated in FIG. 1, computing device 102 may
`include network interface 110 for connecting to one or more
`networks such as a wireless mobile phone network, a local
`area network (LAN), a wide area network (WAN), such as
`the Internet, or any other network. Network interface 110
`may be constructed for use with various communication
`protocols. Communication media between computing
`device 102 and a network typically embodies computing
`readable instructions, program modules or other data in a
`modulated data signal Such as a carrier wave or other
`transport mechanism and includes any information delivery
`media. The term "modulated signal” means a signal that has
`one or more of its characteristics set or changed in such a
`manner as to encode information in the signal. By way of
`example, not limitation, communication media includes
`wired media such as a wired network or direct-wired con
`nection, and wireless media Such as acoustic, RF, infrared
`and other wireless media. Combinations of any of the above
`should also be included within the scope of computing
`device readable media. Computing device 102 also includes
`input/output interface 124 for communicating with external
`devices, such as a touch-screen, keypad, keyboard, mouse,
`scanner, or other input devices not shown in FIG. 1.
`The mass memory as described above illustrates another
`type of computing-readable media, namely computing
`device storage media. Computing-readable storage media
`45
`may include Volatile and nonvolatile, removable and non
`removable media implemented in any method or technology
`for storage of information, such as computing device read
`able instructions, data structures, program modules, or other
`data. Examples of computing device storage media include
`RAM, ROM, EEPROM, flash memory or other memory
`technology, CD-ROM, digital versatile disks (DVD) or other
`optical storage, magnetic cassettes, magnetic tape, magnetic
`disk storage or other magnetic storage devices, or any other
`medium which can be used to store the desired information
`and which can be accessed by a computing device.
`The mass memory may store program code and data for
`computing applications 130. Such as location engine 210 and
`location-aware applications 230. Location engine 210, loca
`tion-aware applications 230, and related components will be
`described in detail in conjunction with FIG. 2. Briefly stated,
`location engine 210 provides dynamic geographic data to
`applications executing on computing device 102. Location
`aware applications 230 are applications that are capable of
`incorporating dynamic geographic data into their operations.
`As shown in the figure, the location-aware applications 230
`may include instant messaging application 232.
`
`55
`
`Case 2:21-cv-00072-JRG-RSP Document 87-2 Filed 06/15/21 Page 12 of 18 PageID #:
`2286
`
`50
`
`60
`
`65
`
`4
`FIG. 2 is a functional block diagram illustrating compo
`nents of a location providing system 200 in which the
`present invention may be implemented. Location providing
`system 200 is part of a computing device that may be a
`personal computer, mobile communication device, or the
`like. Shown in FIG. 2 is location engine 210, which may
`interact with location-aware applications 230 and location
`providers 250. In operation, location engine 210 obtains
`dynamic geographic data and other related data from loca
`tion provider 250 and provides the dynamic geographic data
`and the related data to location aware applications 230.
`Location engine 210 is a computer-executable component
`configured to provide dynamic geographic data to applica
`tions executing in a computer device. In one aspect, location
`engine 210 may be configured to function as a common
`application user interface that serves as an intermediary
`between location-aware applications and location providers
`250. With location engine 210 so configured, location-aware
`applications 230 are not required to have knowledge of any
`of the location providers 250 in order to obtain and use the
`dynamic geographic data. As shown in the figure, location
`engine 210 may include accuracy manager 214, Security
`manager 216, and user interface component 225.
`User interface component 225 enables location engine
`210 to interact with users. In particular, user interface
`component 225 provides a user interface for a user to control
`various aspects of location engine 210. An exemplary
`screenshot of the user interface provided by location engine
`210 will be shown in FIG. 3.
`Accuracy manager 214 is a component of location engine
`210 that determines the accuracy associated with the
`dynamic geographic data provided by location providers
`250. Accuracy manager 214 may determine the accuracy in
`a variety of ways. For example, location providers 250 may
`simply provide the accuracy along with the dynamic geo
`graphic data. If the accuracy is not provided along with the
`dynamic geographic data, accuracy manager 214 may cal
`culate the accuracy with data from other sources or obtain
`the accuracy from user input.
`Security manager 216 is a component of location engine
`210 that controls certain operations of location engine 210 to
`obtain a desire level of security. For example, security
`manager 216 may require authorization from the user before
`sending dynamic geographic data to location aware appli
`cations 230. Security manager 216 may enable the user to set
`a different level of security for each of the location aware
`applications 230. It is to be understood that the security
`measures taken by security manager 216 are independent of
`security measures provided by location aware applications
`23O.
`Location providers 250 are components of location pro
`viding system 200 that are configured to provide dynamic
`geographic data for applications executing in the computing
`device. Each of the location providers 250 may obtain the
`dynamic geographic data using a different mechanism.
`Location provides 250 may be external devices that are
`electronically connected to the computing device. Location
`providers 250 may also be implemented as components
`within the computing device.
`As shown in FIG. 2, location providers 250 may include
`Global Position System (GPS) device 252 that obtains
`dynamic geographic data from analyzing signals from GPS
`satellites. Location providers 250 may also include cellular
`device 254 that obtains dynamic geographic data from a
`wireless carrier. Network location device 256 that obtains
`dynamic geographic data by analyzing network related data
`may also be included. In addition to dynamic geographic
`
`

`

`6
`munication devices, and other devices that are capable of
`connecting to a network on which non-voice data messages
`may be sent and received.
`Instant messaging application 232 is configured to obtain
`dynamic geographic data and, if selected by the user, to
`incorporate the geographic data in presenting to the user
`location information of remote parties with whom the user
`is exchanging non-voice data messages. In one embodiment
`of the invention, instant messaging application 232 is con
`figured to send dynamic geographic data of the user to the
`remote parties. Instant messaging application 232 may also
`be configured to determine geographic data of a remote
`party, to calculate the distance between the user and a remote
`party, and to display the calculated distance to the user.
`Instant messaging application 232 may select a display
`format for displaying the calculated distance based on the
`accuracy of the geographic data associated with the user and
`the remote party.
`Instant messaging application 232 may be further config
`ured to implement security measures that are selected by the
`user. For example, the user may select to send geographic
`data only to certain remote parties that are connected to the
`instant messaging network. These measures may be in
`addition to those implemented by the location engine 210.
`FIG. 3 is an exemplary screenshot of a user interface 300
`for interacting with location providers associated with a
`location engine. As shown in the figure, user interface 300
`includes a device display area 310. Information about the
`location providers is displayed in two columns in device
`display area 310. Device information column 315 shows the
`names of location providers that may be available to provide
`geographic data to the location engine. The accuracy of each
`of the location providers displayed in the device information
`column 315 is displayed in accuracy information column
`32O.
`User interface 300 also enables a user to set a priority
`associated with the location providers. According to the
`priority, the location engine may determine from which
`location provider it should obtain geographic data. The user
`may select a particular location provider on device display
`area 310. Then, the user may active the move-up trigger 332
`or a move-down trigger 334 to modify the priority of the
`selected location provider.
`User interface 300 also enables a user to control other
`properties associated the location providers. For example,
`the user may modify the accuracy, the security settings, and
`other properties associated with a particular location pro
`vider. The user may select the properties window trigger 336
`to display a window with controls for modifying the prop
`erties of the currently selected location provider.
`FIG. 4 illustrates two exemplary screenshots of a user
`interface 400 associated with an instant messaging applica
`tion. The instant messaging application is executing on a
`computing device that is connected to a network. A user of
`the computing device may use the instant messaging appli
`cation to exchange data messages with remote parties
`through the network. For example, the computing device
`may interact with a server on the network that provides
`instant messaging services. The user may log on the server
`and exchange data messages with remote parties who are
`also logged on to the server.
`As illustrated in screenshot 410, user interface 400
`includes a user display area 415 for displaying the names of
`the user and remote parties with whom the user could
`exchange data messages. The user may configure the instant
`messaging application so that only remote parties with
`whom the user is interested in exchanging data messages are
`
`Case 2:21-cv-00072-JRG-RSP Document 87-2 Filed 06/15/21 Page 13 of 18 PageID #:
`2287
`
`45
`
`55
`
`60
`
`65
`
`US 7,383,316 B2
`
`10
`
`15
`
`25
`
`30
`
`35
`
`5
`data, location providers 250 may also provide the accuracy
`associated with the dynamic geographic data.
`As a default method, a user-based location component
`258 may be used where the user inputs static geographic
`data. The user may enter the static geographic data in a
`variety of ways. Such as picking a location from a map.
`providing an address, geographic coordinates, telephone
`number, and the like.
`Location-aware applications 230 are configured to incor
`porate, dynamic geographic data into the applications
`operations for enhancing the user experience. In this regard,
`location-aware applications 230 are configured to receive
`dynamic geographic data related to the geographic location
`of the computing device from location engine 210. Loca
`tion-aware applications 230 are also configured to obtain
`geographic data related to the geographic locations of
`remote devices that are in communication with the comput
`ing device. As shown in the figure, location-aware applica
`tion 230 may include instant messaging application 232,
`map application 234, driving direction application 236.
`internet browser application 238, and the like.
`Internet browser application 238 is an application that
`enables a user to browser websites on the Internet. Using
`dynamic geographic data received from location engine 210,
`Internet browser application 238 may take the user's loca
`tion into account in configuring the websites for displaying
`to and use by the user. For example, Internet browser 238
`may select content of the website, populate input fields, or
`perform other actions based on the dynamic geographic
`data.
`Map application 234 is an application that provides a map
`associated with a particular geographic location. Typically, a
`user may select the scale associated with the map (e.g.
`Zoom-in, Zoom-out). Map application 234 may be config
`ured to display a map associated with the dynamic geo
`graphic data provided by location engine 210 or one of the
`location-aware applications. Map application 234 may also
`display the map with a scale that is meaningful to the user
`40
`by taking the accuracy associated with the dynamic geo
`graphic data into account. For example, map application 234
`may select a scale that is of the same order of magnitude as
`the accuracy of the dynamic geographic data.
`Driving direction application 226 is an application that
`provides instructions for traveling from one specified loca
`tion to another specified location. The instructions are typi
`cally presented in a table showing one or more legs of travel
`along with the distance of each leg. The instructions may
`also include in a map for illustration. Driving direction
`application 226 is configured to use dynamic geographic
`data for presenting the instructions to the user. For example,
`driving direction application 226 may receive dynamic
`geographic data associated with two locations. One of the
`locations may be associated with the user while the other
`location may be associated with a remote party with which
`the user is in communication. Driving direction application
`226 may be configured to provide instructions for traveling
`between the user and the remote party. Driving direction
`application 226 may also be configured to provide the
`instructions in a meaningful manner based on the accuracy
`associated with the dynamic geographic data.
`Instant messaging application 232 is an application that
`allows a user to interactively communicate with remote
`parties in a communication network using non-voice data
`messages. Instant messaging application 232 may be used
`for communication among personal computers, mobile com
`
`50
`
`

`

`US 7,383,316 B2
`
`10
`
`15
`
`25
`
`30
`
`40
`
`45
`
`50
`
`7
`displayed. In the user display area 415, the user's name is
`displayed with a status indicator in parenthesis that shows
`status of the user (e.g. available or not available to exchange
`data messages).
`The names of the remote parties are grouped according to
`whether they are online or not. For remote parties who are
`online, each of their names may be displayed with location
`information. Location information may include geographic
`data, distance from the user, and the like. The user interface
`400 may be configured to offer the user a selection whether
`to display the location information. In screenshot 410.
`location information is not displayed. The user may select
`the option to display the location information by activating
`the location information display trigger 430.
`Screenshot 450 shows user display area 415 when the
`location information display trigger 430 is activated. As
`shown in screenshot 450, location information is displayed
`in parenthesis next to names of the remote parties that are
`online. In one embodiment, the location information of a
`particular party being displayed is the distance between the
`user and the party. The distance may be calculated based on
`the users and the party's geographic locations. To enhance
`usability, the display format of location information associ
`ated with a particular remote party may be based on the
`calculated distance between the user and the remote party
`and the accuracy associated with geographic data associated
`with the user and the remote party. For example, if the
`calculated distance is more than the diameter of the user's
`city, the location information may be displayed as the city
`and state of where the remote party is located. On the other
`hand, if the calculated distance is less than the accuracy
`associated with the geographic data of either the user or the
`remote party, the distance may simply be displayed as less
`than the accuracy.
`FIG. 5 illustrates another two exemplary screenshots of
`35
`the user interface 400 shown in FIG. 4. User interface 400
`is now configured to enable the user to select various options
`of the instant messaging application. As shown in screenshot
`510, user interface 400 displays the names of the user, online
`remote parties, and offline remote parties associated with a
`instant messaging server. Each of the names may be
`selected. When the name of the user is selected, a user option
`menu 515 may appear. User option menu 515 may enable
`the user to select how a status indicator next to the user's
`name is displayed. For examp

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