`US 8,750,906 B2
`(10) Patent No.:
`Winkler et al.
`(45) Date of Patent:
`Jun. 10, 2014
`
`US008750906B2
`
`(54) DYNAMIC ELEMENTS ON A MAP WITHIN A
`MOBILE DEVICE, SUCH AS ELEMENTS
`THAT FACILITATE COMMUNICATION
`BETWEEN USERS
`
`(75)
`
`Inventors: David Winkler, Seattle, WA (US);
`Randy Meyerson, Seattle, WA (US);
`Edward Carrigan, Edmonds, WA (US)
`
`(73)
`
`Assignee: T-Mobile USA, Inc., Bellevue, WA (US)
`
`(*)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 1066 days.
`
`(21)
`
`Appl. No.: 12/390,367
`
`(22)
`
`Filed:
`
`Feb. 20, 2009
`
`(65)
`
`(51)
`
`(52)
`
`(58)
`
`(56)
`
`Prior Publication Data
`
`US 2010/0216491A1
`
`Aug. 26, 2010
`
`(2009.01)
`
`Int. Cl.
`H04W24/00
`US. Cl.
`USPC ..................... 455/457; 455/456.1; 455/456.2;
`455/456.3; 455/456.5; 455/456.6; 455/404.2;
`455/414.1; 455/418; 455/419; 455/420; 340/988;
`340/995.1; 340/995.12; 701/200; 701/201;
`701/211; 701/212
`
`Field of Classification Search
`USPC ..................... 455/404.1, 404.2, 414.1, 414.2,
`455/418420, 45617457, 466, 518, 519,
`455/550.1, 556.1, 556.2, 566; 701/200,
`701/201, 211, 212; 340/9887990, 995.1,
`340/995.11, 995.12, 995.14, 995.15
`See application file for complete search history.
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`5,432,542 A
`5,740,538 A
`
`7/ 1995 Thibadeau et al.
`4/1998 Joyce et al.
`
`9/2001 Marcus et al.
`6,295,528 B1
`4/2002 Jenkins
`6,377,793 B1
`6/2002 Richton
`6,400,956 B1
`11/2002 Jenkins
`6,480,713 B2
`11/2003 Owensby
`6,647,257 B2
`1/2004 Jenkins et 31.
`6,681,107 B2
`4/2004 Honma et 31.
`6,720,956 B1
`5/2004 Pulver
`6,741,835 B2
`12/2004 Root et 31.
`6,836,730 B2
`1/2005 Smith
`6,845,324 B2
`3/2005 Fortin et 31.
`6,868,410 B2
`6,973,386 B2 * 12/2005 Gibbs ...................... 340/995.14
`7,116,985 B2
`10/2006 Wilson et 31.
`7,167,910 B2 *
`1/2007 Farnham et al.
`7,363,024 B2
`4/2008 Jenkins
`................. 715/781
`7,743,337 B1*
`6/2010 Maeda et al.
`7,822,539 B2 * 10/2010 Akiyoshi et al.
`701/201
`
`7,853,273 B2 * 12/2010 Beyer, Jr. .............. 455/457
`............. 455/456.3
`8,000,726 B2 *
`8/2011 Altman et al.
`2002/0067308 A1
`6/2002 Robertson
`2003/0004743 A1
`1/2003 Callegari
`2003/0107490 A1
`6/2003 Sznaider et al.
`2003/0202104 A1
`10/2003 Werner
`
`.............. 709/223
`
`(Continued)
`
`OTHER PUBLICATIONS
`
`US 2006/0276138 A1, 12/2006, Pummill et al. (Withdrawn).
`
`(Continued)
`
`Primary Examiner 7 Olumide T Ajibade Akonai
`
`(57)
`
`ABSTRACT
`
`A system and method for providing information on a map
`displayed by a mobile device is described. In some examples,
`the system facilitates user control of map elements, such as
`dynamically changing map elements based on events that
`occur at a user’ 5 mobile device or at locations associated with
`
`the map elements. In some examples, the system enables
`communication between users via map elements.
`
`30 Claims, 9 Drawing Sheets
`
`
`
`412
`
`411
`
`415
`
`
`
`
`
`ThomasG
`ould you like to send a
`lend request to ThomasG
`
`
`
`Snap Inc. EX. 1004 Page 0001
`
`Snap Inc. Ex. 1004 Page 0001
`
`
`
`US 8,750,906 B2
`
`Page 2
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`2004/0076279 A1
`2004/0108375 A1
`2004/0192299 A1
`2004/0264461 A1
`2005/0131639 A1
`2005/0227711 A1
`2005/0261012 A1
`2006/0089160 A1
`2006/0270421 A1
`2007/0069923 A1*
`2007/0073717 A1
`2007/0270163 A1
`2008/0113614 A1
`2008/0167004 A1
`2009/0005981 A1*
`2009/0024315 A1*
`2009/0112467 A1*
`2009/0160859 A1*
`2009/0191840 A1
`2009/0291630 A1
`2010/0023895 A1
`2010/0093373 A1
`2010/0182145 A1
`2010/0205242 A1*
`2010/0234046 A1
`
`4/2004 Taschereau
`6/2004 Maillard
`9/2004 Wilson et al.
`12/2004 Janneteau et al.
`6/2005 Broussard et al.
`10/2005 Orwant et al.
`11/2005 Weiser
`4/2006 Othmer
`11/2006 Phillips et al.
`3/2007 Mendelson ................... 340/988
`3/2007 Ramer et al.
`11/2007 Anupam et al.
`5/2008 Rosenblatt
`7/2008 Jenkins
`1/2009 Forstall et al.
`................ 701/211
`1/2009 Scheibe .......
`701/208
`
`4/2009 Jiang et al.
`701/211
`6/2009 Horowitz et al.
`............. 345/440
`7/2009 Piett et al.
`11/2009 Dunn et al.
`1/2010 Benko et al.
`4/2010 Olsson et al.
`7/20 10 Ungari
`8/2010 Marchioro et al.
`9/20 10 Wood
`
`........... 709/203
`
`OTHER PUBLICATIONS
`
`““WARN” Act Rules Released,” Commercial Mobile Alert System:
`CommLaw Blog, Aug. 14, 2008, http://www.commlawblog.com/
`tags/commercial-mobile-alert-system/
`[Last Accessed Apr. 27,
`2010], 2 pages.
`“Enkin Blog: Navigation reinvented,” Max Braun & Rafael Spring,
`Dec. 7, 2009, http://enkinblog.blogspot.com/ [LastAccessedApr 27,
`2010], 4 pages.
`“Enkin onVimeo,”http://vimeo.com/843 168 [LastAccessedApr 27,
`2010], 5 pages.
`“GeoRSS,” Wikipedia, http://en.wikipedia.org/wiki/GeoRSS, May
`19, 2009 [Last Accessed Apr. 26, 2010], 4 pages.
`“GeoRSS: Geographically Encoded Objects for RSS feeds,” http://
`georss.org [Last Accessed Apr. 26, 2010], 2 pages.
`
`“Googe Maps Help Center,” Google Maps, http://maps.google.com/
`support/bin/answer.py?hl:en&answer:68480 [Accessed Apr. 26,
`2010], 8 pages.
`“Lan-based uma network controller with proxy connection,”
`FreshPatents.com, Dec. 17, 2006, http://www.freshpatents.com/Lan-
`based-uma-network-controller-with-proxy-connection-
`dt20061207ptan20060276138.php [Accessed Apr. 27, 2010], 4
`pages.
`“Whatis Slam?”, SLAM, http://www.msslam.com/About.aspx [Last
`Accessed Apr. 26, 2010], 4 pages.
`Bourke, Paul, “Determining If a Point Lies on the Interior of a
`Polygon,” Nov. 1987, http://local.wasp.uwa.edu.au/~pbourke/geom-
`etry/insidepoly/ [Last Accessed Apr. 27, 2010], 6 pages.
`Charles, Dan, “GPS is Smartening Up Your Cell Phone,” NPR, May
`20,
`200 8,
`http ://www.npr.org/templates/story/story.
`php?storyId:6097216 [Last Accessed Apr. 27, 2010], 4 pages.
`International Search Report and Written Opinion,
`International
`Application No. PCT/US2009/037450, Filed on Mar. 17, 2009,
`Applicant: T-Mobile, USA, Inc., Date of Mailing: May 14, 2009, 10
`pages.
`Jaffe, Alexander et al., “Generating Summaries andVisualization for
`Large Collections of Geo-Referenced Photographs,” MIR ’06, Oct.
`26-27, 2006, Santa Barbara, California, USA, 10 pages.
`Mologogo, http://www.mologogo.com [Last Accessed Apr. 26,
`2010], 3 pages.
`Reardon, Marguerite, “Verizon Wireless adds friend-finding ser-
`vice,” CNET Reviews, Mar. 28, 2008, http://reviews.cnet.com/8300-
`1226177-51.html?keyword:GPS [Last Accessed May 20, 2008], 1
`page.
`“Global Imagination%reators of the Dynamic and Interactive
`PlanetVideo Globe,” Copyright 2008, http://www.globeimagination.
`com/indexhtml [Last Accessed Jun. 3, 2010], 2 pages.
`“Interactive Talking Globe, Gray Base,” National Geographic Soci-
`ety, Copyright 2009, 5 pages.
`“Video: Microsoft’s Sphere display in action,” Seattle pi Blogs,
`http://blog.seattlepi .com/microsoft/archives/ 144629 .asp
`[Last
`Accessed Jun. 3, 2010], 10 pages.
`“WhrrliAre You In? Check In to Join Societies,” http://whrrl.com/
`home [Last Accessed Jun. 3, 2010], 1 page.
`Honan, Mathew, “I Am Here: One Man’s Experience With the Loca-
`tion-Aware Lifestyle,” Wired Magazine, Jan. 19, 2009, 5 pages.
`
`* cited by examiner
`
`Snap Inc. EX. 1004 Page 0002
`
`Snap Inc. Ex. 1004 Page 0002
`
`
`
`U.S. Patent
`
`Jun. 10, 2014
`
`Sheet 1 of 9
`
`US 8,750,906 B2
`
`100
`
`user input
`component
`
`user output
`component
`
`115
`
`120
`
`data storage
`
`processor
`
`125
`
`130
`
`mapping
`
`component
`
`radio/wireless
`Interface
`
`determination
`
`other
`communlcatlon
`components
`
`FIG. 1
`
`Snap Inc. EX. 1004 Page 0003
`
`Snap Inc. Ex. 1004 Page 0003
`
`
`
`U.S. Patent
`
`n...HJ
`
`41020.,1
`
`2teehS
`
`2B609905aw
`
`oow
`
`9NEM8,
`8EN0SHOHOHIHCHcU00.VNmVwa
`
`
`0000
`
`0000
`
`Snaplnc.EX.1004 Page0004
`
`Snap Inc. Ex. 1004 Page 0004
`
`
`
`
`US. Patent
`
`Jun. 10, 2014
`
`Sheet 3 0f9
`
`US 8,750,906 B2
`
`252
`
`
` data
`
`network(egTCP/IP) FIG.2B
`
` area
`
`(e.g.,Cell/GSM)
`wirelesswide
`network
`
`
`
`Snap Inc. EX. 1004 Page 0005
`
`Snap Inc. Ex. 1004 Page 0005
`
`
`
`U.S. Patent
`
`Jun. 10, 2014
`
`Sheet 4 of 9
`
`US 8,750,906 B2
`
`300
`
`
`
`
`
`
`
`
`
`
`
`generate map element based
`on user input
`
`310
`
`
`
`place element on map
`
`320
`
`330
`
`receive selection of element
`from different user
`
`340
`
`receive input from different
`user
`
`350
`
`update element to present
`input
`
`
`
`FIG. 3
`
`Snap Inc. EX. 1004 Page 0006
`
`Snap Inc. Ex. 1004 Page 0006
`
`
`
`U.S. Patent
`
`Jun. 10, 2014
`
`Sheet 5 of 9
`
`US 8,750,906 B2
`
`omv
`
`
`
`.um>oE925:35.:-zEmG
`
`mmm:32>nmucmaxmm5
`
`.02»6=E=hSofia—.6
`
`OmmEoE.E
`
`.000I_‘EmEEoo
`
`8:.INEmEEoo
`
`mmEE32E92ImE9580
`
`cows:99:$0.5058E20:
`
`m622
`
`EmEEoo23
`
`va
`
`m;
`
`0:.
`
`3%
`
`2v
`
`omv
`
`08:55.
`
`a
`
`In“.
`
`N;
`
`m;
`
`m;65%
`
`V»~th
`
`Snap Inc. EX. 1004 Page 0007
`
`Snap Inc. Ex. 1004 Page 0007
`
`
`
`
`
`U.S. Patent
`
`Jun. 10, 2014
`
`Sheet 6 of 9
`
`US 8,750,906 B2
`
`09.
`
`.um>oE9m_cosmos;-5:90
`
`
`
`.oo_‘3ES.58920mwas32>voucmgxmo£
`
`03:85...E
`
`.80IrEoEEoo
`
`02:INEoEEoo
`
`28:E39E22ImEmEEoo
`
`
`
`cows:3%woo.5998E29:
`
`m53$
`
`E8«m:EEsocwE29550262IvEoEEoo
`
`EEmEEoouu<
`
`fim>oE2m_cosmocsb-3590KommEoE.E
`
`.09yo:8:55920mwas32>umucmaxwo5
`
`35839E92ImEoEEoo
`
`comp:m9:$25203E35:
`
`w33$
`
`
`
`2m;#685850>.25
`
`88IwEoEEoo
`
`moEINEmEEoo
`
`omv
`
`va
`
`Q»NONE
`
`UVENE
`
`Snap Inc. EX. 1004 Page 0008
`
`Snap Inc. Ex. 1004 Page 0008
`
`
`
`
`
`U.S. Patent
`
`Jun. 10, 2014
`
`Sheet 7 of 9
`
`US 8,750,906 B2
`
`500
`
`generate tag based on input
`received from user
`
`
`
`display tag within map
`
`520
`
`530
`
`
`
`
`
`
`
`
`
`
`receive indication of an event
`
`540
`
`update tag or map based on
`the event
`
`FIG. 5
`
`Snap Inc. EX. 1004 Page 0009
`
`Snap Inc. Ex. 1004 Page 0009
`
`
`
`US. Patent
`
`Jun. 10, 2014
`
`Sheet 8 of 9
`
`US 8,750,906 B2
`
`
`
`FIG.6C
`
`FIG.63
`
`FIG.6A
`
`Snap Inc. EX. 1004 Page 0010
`
`15th Ave
`
`..
`
`
`
`
`|::| Dir-l:16thAve
`16thAveS:73E
`
`
`a2U
`
`)
`
`620
`
`610
`
`610
`
`Snap Inc. Ex. 1004 Page 0010
`
`
`
`US. Patent
`
`Jun. 10, 2014
`
`Sheet 9 0f9
`
`US 8,750,906 B2
`
`
`
`710
`
`720
`
` D‘
`
`1‘
`[\
`
`Snap Inc. EX. 1004 Page 0011
`
`Snap Inc. Ex. 1004 Page 0011
`
`
`
`US 8,750,906 B2
`
`1
`DYNAMIC ELEMENTS ON A MAP WITHIN A
`MOBILE DEVICE, SUCH AS ELEMENTS
`THAT FACILITATE COMMUNICATION
`BETWEEN USERS
`
`BACKGROUND
`
`Electronic and online mapping systems and applications,
`such as Mapquest, Google Maps, and others, enable users to
`embed information within a displayed map. For example, a
`user locates, or tags, an area on a map, and enters commen-
`tary, photographs, and other content to the tag.
`Although mobile devices facilitate communication in a
`number of different ways (for example, users can send email
`messages, make telephone calls, send text and multimedia
`messages, chat with other users, and so on), they also provide
`additional services, such as electronic maps. Some mobile
`devices also provide location-based services that utilize maps
`to display tags identifying locations of interest (e.g, restau-
`rants, cafes, etc.) within a mobile device user’s vicinity, or
`place a tag on a map to identify the location of the mobile
`device user’s intended destination. In addition, some mobile
`devices can provide location based services identifying the
`locations of a user’ s friends or family. However, there may be
`times when the user wishes to leverage a device’ s capabilities
`in order to provide other functions. Current mobile devices
`may not provide such functionalities.
`The need exists for a method and system that overcomes
`these problems and progresses the state of the art, as well as
`one that provides additional benefits. Overall, the examples
`herein of some prior or related systems and their associated
`limitations are intended to be illustrative and not exclusive.
`
`Other limitations of existing or prior systems will become
`apparent to those of skill in the art upon reading the following
`Detailed Description.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a block diagram illustrating a mobile device that
`provides dynamic elements and user-controlled elements on a
`map displayed by a mobile device.
`FIG. 2A is a block diagram illustrating a suitable system
`for providing dynamic elements and user-controlled elements
`on a map displayed by a mobile device.
`FIG. 2B is a block diagram illustrating suitable compo-
`nents within the network of FIG. 2A.
`
`FIG. 3 is a flow diagram illustrating a routine for providing
`communication between users of mobile devices.
`
`FIG. 4A to 4D are displays illustrating example mobile
`device screens used to facilitate entry of text between users
`via a map element.
`FIG. 5 is a flow diagram illustrating a routine for updating
`a map element within a mobile device.
`FIGS. 6A to 6C are displays illustrating example mobile
`device screens used to display dynamically changing map
`elements.
`
`FIGS. 7A to 7B are displays illustrating example mobile
`device screens used to dynamically display information about
`elements on a map.
`The headings provided herein are for convenience only and
`do not necessarily affect the scope or meaning of the claimed
`system.
`
`DETAILED DESCRIPTION
`
`A system and method for generating and displaying
`graphical elements on a map, such as a map displayed by a
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`
`mobile device, is described. The system includes two or more
`mobile devices and a server that stores information associated
`
`with the mobile devices. For example, the server may store
`location information for the mobile devices,
`information
`about locations on a map, and so on.
`In some examples, the system facilitates communication
`between users of two or more mobile devices via map ele-
`ments. For example, a map element, such as a tag displaying
`the location of one of the users, acts as an interface to launch
`a communication session between or among two or more
`users, thereby enabling the users to, for example, input mes-
`sages and other displayable content. A user may initiate a
`communication session with a group of users via the map
`element, or may initiate a two-way communication session
`with one other user via the map element.
`In some examples, the system updates, modifies, alters
`and/or changes displayed elements based on events that occur
`at or proximate to a user’ s mobile device, other users’ mobile
`devices, or at a location associated with the element. For
`example, the system may modify the appearance of an ele-
`ment (such as change the color) when a certain number of
`mobile device users comment on a location, thereby indicat-
`ing the location is popular. As another example, the system
`may modify the appearance of the element when a certain
`number of users (or their mobile devices) are located proxi-
`mate to an associated location. In some cases, these elements
`may represent the mobile device user’s friends, family mem-
`bers, contacts or members of a group associated with the
`mobile device user. The system may dynamically update the
`display (and/or appearance ofthe display) based on a number
`of factors, such as geographical movement of friends, family
`members, contacts or group members into and out of a dis-
`played region on a map.
`In some examples, the system presents or overlays a map or
`a displayed view ofthe map with various types ofinformation
`based on the elements within the map. For example, the
`system may display one color on a section of a map having
`few placed elements, and different color on a section of the
`map having a large number of placed elements. As another
`example, the system may automatically alter the view of a
`map (such as zoom into the map) based on the number of
`elements placed on the map at a location, among other things.
`Thus, in some examples a mobile device user may not only
`want to identify the location of his or her friends, family
`members or business associates, but may additionally want to
`initiate a communication session with a user directly from a
`map displaying the location of the other user. Further, a
`mobile device user may want to identify concentrations of
`other users at one or more locations.
`
`Various examples ofthe system will now be described. The
`following description provides specific details for a thorough
`understanding and enabling description of these examples.
`One skilled in the relevant art will understand, however, that
`the system may be practiced without many of these details.
`Likewise, one skilled in the relevant art will also understand
`that the system incorporates many other obvious features not
`described in detail herein. Additionally, some well-known
`structures or functions may not be shown or described in
`detail below, so as to avoid unnecessarily obscuring the rel-
`evant description.
`The terminology used below is to be interpreted in its
`broadest reasonable manner, even though it is being used in
`conjunction with a detailed description of certain specific
`examples of the system. Indeed, certain terms may even be
`emphasized below; however, any terminology intended to be
`interpreted in any restricted manner will be overtly and spe-
`cifically defined as such in this Detailed Description section.
`
`Snap Inc. EX. 1004 Page 0012
`
`Snap Inc. Ex. 1004 Page 0012
`
`
`
`3
`
`4
`
`US 8,750,906 B2
`
`Suitable System
`As discussed herein, the system dynamically generates and
`displays map elements based on a number of factors. Refer-
`ring to FIG. 1, a block diagram illustrating a mobile device
`100 that provides dynamic elements and user-controlled ele-
`ments on a map displayed by a mobile device is shown. The
`term “mobile device” may encompass any of a myriad of
`telecommunication devices such as cellular phones, VoIP
`phones, personal digital assistants, portable computers, mini
`computers, programmable consumer electronics, dumb ter-
`minals, media players, gaming devices and so on. Such
`mobile devices may include a central processing unit,
`memory, input devices (e.g., keypads and input buttons) and
`output devices (e.g., display devices). Mobile devices may
`also include hardware and operating instructions stored in
`memory for wirelessly transmitting and receiving data
`according to one or more wireless protocols. Such protocols
`include short range protocols (e.g., Bluetooth, Wi-Fi, Ultra-
`wideband, and ZigBee) and radio-access network protocols
`(e.g., GSM (Global System for Mobile Communications),
`CDMA (Code Division Multiple Access), UMTS (Universal
`Mobile Telecommunications System), EDGE (Enhanced
`Data for GSM Evolution), LTE (Long Term Evolution),
`Wimax (Worldwide Interoperability for Microwave Access),
`Voice Over Internet Protocol (VoIP), UMA/GAN (Unli-
`censed Mobile Access/Generic Access Network)).
`The mobile device 100 may contain a power subsystem
`125, data storage 115 to store programs and data, and at least
`one data processor 120 to run an operating system and appli-
`cations to implement
`the mapping processes described
`herein. A user interfaces with the device via a user input
`component 105 (e.g., keypad,
`touchscreen, microphone,
`voice recognition system) and/or a user output component
`110 (e.g., speaker, screen). The mobile device also includes a
`network interface 132 (such as a radio and/or wireless inter-
`face, an Enternet interface, a USB interface, and so on), and
`may include one or more communication components 140 to
`establish communication channels with a network and/or
`
`other devices. The communication component 140 may
`establish any number of suitable communication channels
`including Bluetooth, Wi-Fi, Ultra-wideband, ZigBee, GSM,
`GPRS, EDGE, UMTS, CDMA, and so on.
`The mobile device 100 also contains a mapping component
`130 that generates dynamically changing maps and elements
`on maps to be presented to a user via the user output compo-
`nent 110, and a location determination component 135, such
`as a global positioning system (GPS) component, RFID tag.
`In some examples, such as those involving devices that lack
`an integrated location determination component,
`location
`may be determined by one or more network-based technolo-
`gies, such as A-GPS (Assisted GPS), TDOA (Time Differ-
`ence ofArrival), triangulation, ATI, Secure User Plane Loca-
`tion (SUPL) or, for mobile devices operating on an IP-based
`wireless telecommunications network, methods and systems
`disclosed in WO/2007/ 121331, entitled “MOBILE COM-
`PUTING DEVICE GEOGRAPHIC LOCATION DETER-
`MINATION” and/or WO/2007/048028, entitled “SYSTEM
`AND METHOD FOR DETERMINING DEVICE LOCA-
`TION INAN IP-BASED WIRELESS TELECOMMUNICA-
`
`TIONS NETWORK,” which is incorporated by reference in
`its entirety.
`In some examples, the mapping component 130 generates
`a number of different types of map elements. The following
`list provides a few examples, although many others not dis-
`cussed are possible:
`generic icons associated with all locations (such as pins,
`pointers, and so on),
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`icons specific to a location or content,
`active icons, such as those that move when presented on a
`map,
`text balloons and similar text presentation and text entry
`elements, and so on.
`Referring to FIG. 2A, a block diagram 200 illustrating a
`suitable system for providing dynamic elements and user-
`controlled elements on a map displayed by a mobile device is
`shown. Aspects of the system may be stored or distributed on
`tangible computer-readable media, including magnetically or
`optically readable computer discs, hard-wired or prepro-
`grammed chips (e. g., EEPROM semiconductor chips), nano-
`technology memory, biological memory, or other data storage
`media. Alternatively or additionally, computer implemented
`instructions, data structures, screen displays, and other data
`under aspects of the system may be distributed over the Inter-
`net or over other networks (including cellular or IP-based
`telecommunications networks), on a propagated signal on a
`propagation medium (e.g., an electromagnetic wave(s), a
`sound wave, etc.) over a period of time, or they may be
`provided on any analog or digital network (packet switched,
`circuit switched, or other scheme).
`The system 200 includes a mobile device 100 at a first
`location, two or more other mobile devices 210, 212, 214
`(such as mobile devices from different manufacturers and
`associated with different service providers), and,
`in this
`example, network 220 that provides communication links
`between the mobile devices, stores information associated
`with the mobile devices, and sends and receives information
`from the mobile devices. Although only one network 220 is
`shown, it will be understood that mobile devices 210, 212 and
`214 may access network 220 via one or more other telecom-
`munications networks, including, for example, one or more
`cellular networks, IP-based telecommunications networks,
`the Internet, and peer-to-peer communications, as discussed
`herein.
`
`Referring to FIG. 2B, a block diagram illustrating suitable
`components within the network 220 is shown. The network
`220 includes a data network 250 (e.g., TCP/IP or other pro-
`tocol), which one or more telecommunications networks 240
`may access via a gateway 260. The network 220 may include
`or communicate with one or more servers 252, a database
`254, and so on. The servers 252 may display and/or present
`information to users of the mobile devices described herein,
`such as information stored in the database 254. They may
`include components similar to those shown in FIG. 1, includ-
`ing mapping components that generate map and map ele-
`ments to be presented to users via mobile devices, communi-
`cation
`components
`that
`enable
`communication
`of
`information between the servers 252 and mobile devices, and
`other components. Examples of presented information
`include: map information associated with a location of the
`mobile device, map information associated with the locations
`of other mobile devices, information related to elements pre-
`sented on displayed maps, information, tables and data struc-
`tures that store and associated content with various locations
`or events, and so on. Further details are discussed herein.
`The servers 252 may also include or comprise one or more
`location determination components or devices that detect the
`location of mobile devices within the network 220. In some
`
`cases, these components may include or access points of
`interest (POI) databases for a street, neighborhood, or area
`represented by a map. A POI database includes entries that
`relate latitude and longitude information with content, and the
`location determination components may access information
`from these databases when generating map elements, identi-
`fying locations of mobile devices, and so on.
`
`Snap Inc. EX. 1004 Page 0013
`
`Snap Inc. Ex. 1004 Page 0013
`
`
`
`US 8,750,906 B2
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`5
`In some cases, these location determination components
`may be geoservers, which track a target area to identify loca-
`tions of mobile devices within the target area. The geoserver
`may be a component of a network-based location system,
`such as A-GPS (Assisted GPS), TDOA (Time Difference of 5
`Arrival),
`triangulation, ATI, Secure User Plane Location
`(SUPL) or, for mobile devices operating on an IP-based wire-
`less telecommunications network, methods and systems dis-
`closed in the aforementioned applications, or may otherwise
`have access to one or more databases containing identifica-
`tion and location information for cell sites, access points and
`other network elements. For example, a database may be
`stored with CGI information for respective cells included in
`the defined shape representing the target area. Similarly, the
`database may store access point information for respective
`access points included in a defined shape representing a
`region having a greater concentration of posts or mobile
`devices. Thus, a geoserver implements a point-in-polygon
`search to determine identifiers (e.g., CGI, MAC addresses
`and other relevant broadcast identifiers) for mobile devices,
`base stations and access points that exist within the region.
`Further details regarding the functionality of geoservers and
`various systems and implementations that employ geoservers
`may be found in US. patent application Ser. No. 12/253,886,
`filed on Oct. 17, 2008, entitled GEOGRAPHIC TARGET-
`ING OF ALERTS, which is incorporated by reference in its
`entirety.
`The network 220 may include or be part of any network
`capable of facilitating communications between devices, and
`is not limited to those shown in FIG. 2B. Examples include
`GSM (Global System for Mobile Communications), UMA/
`GAN (Unlicensed Mobile Access/Generic Access Network),
`CDMA (Code Division Multiple Access), UMTS (Universal
`Mobile Telecommunications System), EDGE (Enhanced
`Data for GSM Evolution), LTE (Long Term Evolution),
`Wimax (Worldwide Interoperability for Microwave Access),
`Voice Over Internet Protocol (VoIP), TCP/IP, and other tech-
`nologies.
`the telecommunications networks 240
`In some cases,
`incorporate picocells, small base stations having short wire-
`less ranges and generally located in residential or business
`locations to provide local coverage to that location. Picocells
`may be directly connected to a network, and often appear as
`cell sites having a Cell Global Identity (CGI) value within the
`network. In some cases, the telecommunications network(s)
`240 (e.g., UMA networks) incorporate femtocell networks.
`Similar to VoIP, in femtocell networks voice communications
`are packetized and transmitted over the Internet. UMA net-
`works typically feature WiFi access points for receiving and
`sending voice communications over an unlicensed spectrum;
`femtocell networks typically feature wireless access points
`broadcasting within licensed spectrums of a telecommunica-
`tions service provider, with conversion of voice communica-
`tions into IP packets for transmission over the Internet.
`Thus the system may include a number of different devices
`on a wireless network. For example, the system may contain
`two or more mobile devices that include a map application
`configured to display maps via screens within the mobile
`devices, display map elements at locations on the displayed
`map, and modify the displayed elements based on received
`instructions. Also, the system may include a content server
`that includes a mapping component configured to provide
`instructions to mobile devices that present maps and map
`elements, a location determination component configured to
`identify a location of mobile devices within a network, a
`communication component configured to receive and send
`information to the mobile devices, and an event detection
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`component configured to detect an occurrence of an event
`associated with the mobile devices and instruct the mapping
`component to provide instructions to the mobile devices
`based on the event.
`
`Communication Between Users Via Elements on a Map
`As discussed in some examples herein, the system facili-
`tates communication between users of two or more mobile
`
`device via map elements. Referring to FIG. 3, a flow diagram
`illustrating a routine 300 for providing communication
`between users of mobile devices is shown. The mapping
`component 130, in combination with other components, may
`perform routine 300 or cause routine 300 to be performed.
`In step 310, the system generates an element to be placed
`on a map based on input received from a user or from another
`source. As discussed herein, the generated element may be
`any number of graphical objects, and may be chosen based on
`the received input. For example, a first user may select a
`location of a coffee shop on a map, and the system may
`generate or supply a palette or pick list of icons, including a
`coffee mug icon, to be chosen as the graphical element. If the
`first user selects a location, the mobile device 100 may trans-
`mit a message or similar data to a server 252 within the
`network 220 identifying the location and content selected by
`the user. The system may also receive input from the user,
`such as commentary or remarks about the location, and gen-
`erate a text element along with the graphical element, such as
`a text balloon or text box or other displayed text element. The
`system may display the text within a displayed balloon or
`box, may display a link to the text, and so on. Alternatively or
`additionally, the first mobile device user may manually and
`periodically update his or her location to the server 252, or
`may simply opt-in to allow the network 220 to automatically
`and periodically update (i.e., input) his or her present loca-
`tion, and the system will generate and/or update an element,
`as discussed herein. The first mobile device user may leave
`commentary associated with the element, which may be
`viewable by other users based on permissions granted by the
`first mobile device user when he or she, for example, registers
`to the system, coincidentally with leaving the commentary, or
`otherwise. The first mobile device user may also update the
`commentary and/or permissions associated with the com-
`mentary via his or her mobile device, by accessing a Website
`interface that permits Web-based updates, etc. The permis-
`sions may take a variety of forms, such as a permission for
`specific friends and family members to view the first user’s
`elements, all contacts in the user’s address book or network
`based address book, or all users of the system regardless of
`prior association. Further, the permissions may be limited to
`specific demographic profiles such as, for example, all users
`of the system within a specific age range.
`In step 320, the system associates the element with a loca-
`tion on a map. For example, the system may tag a map with
`the element. The system may then display the element to the
`first mobile device user and/or to other mobile device users
`
`(e.g., all users, the mobile device user’s contacts, or a selected
`number of users). The system, at server(s) 252, may receive
`the information about the map element from the mobile
`device 100 and update a data structure, such as a table, stored
`in database 254 and associated with a map displayed or pre-
`sented to mobile devices 100, 210, 212, and/or 214 within the
`network 220. Table 1 depicts example entries included by the
`system:
`
`Snap Inc. EX. 1004 Page 0014
`
`Snap Inc. Ex. 1004 Page 0014
`
`
`
`US 8,750,906 B2
`
`TABLE 1
`
`Lat
`
`Long
`
`Element
`
`UserID
`
`Text
`
`47.62915 —122.62939 pindrop
`
`310260123456789 “Cool place!”
`
`Time Other
`
`16:45
`
`Thus, the system, Via a database 254 associated with a
`server 252 within the network 220, stores various data for
`maps and map elements presented by users associated with
`the network. Of course, the map and/or map data may be
`stored in other locations, such as on associated mobile
`devices, within other network components, and so on. In
`addition, the data may be stored in other forms, such as a hash
`map or other data structures.
`As shown in the table, the data may include location infor-
`mation (latitude and longitude coordinates), an identifier for
`the map element, an ID for the first user’s mobile device that
`
`1
`
`In step 350, if the second user has “replied” to the first
`user’s posted commentary, the system updates the element
`with the additional
`input. For example,
`the system may
`0 update the element to include both users’ comments, and
`display both comments whenever the element is selected by
`other users. Upon receiving input, the mobile device 210 may
`transmit data to the server 252 to update the tabl