throbber
az United States Patent
`US 6,674,849 B1
`(10) Patent No.:
`Jan. 6, 2004
`(45) Date of Patent:
`Froeberg
`
`
`US006674849B1
`
`2/2000 Fultz scessewrswweneerse 701/200
`6,021,371 A
`5/2000 Suder et al.
`..cccesee 379/88.19
`6,067,349 A *
`6,459,782 B1 * 10/2002 Bedrosian et al.
`...... 379/201.08
`6,487,495 Bl * 11/2002 Gale etal. ...... 701/209
`* cited by
`examiner
`,
`Primary Examiner—Bing Bui
`(74) Attorney, Agent, or Firm—Menlo Patent Agency LLC
`@7)
`ABSTRACT
`Asystemproviding a map and driving directions to a user of
`a user telephone for a remote location associated with a
`remote telephone number. The system includes the user
`(21) Appl. No.: 09/627,547
`telephone and a server connected through a telephone sys-
`“44.
`tem. The user telephone includes a location number desig-
`Filed:
`(22)
`Jul. 28; 2000
`_nator for designating a remote telephone number and an
`(51) Unt, CI? access cccssstecsssteceseseeersneessseeesses HO4M 3/42
`object decoder for decoding software objects such as a maj
`5
`:
`s
`J
`s
`J
`Pp
`(52) US. Che eee 379/201.06; 379/201.07;
`object having map
`information for the area about the loca-
`‘
`:
`,
`map
`0]
`g
`!
`a
`379/201.08; 701/201; 701/202
`ion of a remote address associated with the remote tele-
`(58) Field of Search oo... 379/142.01, 142.04,
`phone numberand a driving directions object having driving
`379/142.06, 201.06, 201.07, 201 as. 207 r.
`907.15, 355.02, 355.04: 701/201, 202__directions information fortraveling to the remote location.
`,
`,
`,
`,
`The server includes a map object generator for generating
`References Cited
`the map object from the remote telephone number and a
`driving directions object generator for generating the driving
`directions object from the remote telephone numberand user
`location determination information for a local address, a
`local telephone number, or geodetic coordinates provided b
`P
`,
`Ore
`P
`y
`a geodetic location device in the user telephone.
`
`(54) TELEPHONE PROVIDING DIRECTIONS TO
`A LOCATION
`
`Inventor: Peter L. Froeberg, Cupertino, CA (US)
`(75)
`(73) Assignee: Trimble Navigation Limited,
`Sunnyvale, CA (US)
`
`(*) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`USS.C. 154(b) by 559 days.
`
`(56)
`
`U.S. PATENT DOCUMENTS
`701/202
`4,954,958 A *
`9/1990 Savage et al
`
`170.
`: oo =
`5,479,482 A
`wee 379/59
`12/1995 Grimes.........
`
`.......-eeeeee 379/58
`5,625,668 A
`4/1997 Loomis et al.
`.....
`ve 379/211
`5,727,057 A
`3/1998 Emery et al.
`9/1998 Froeberget al. «0.0... 701/117
`5,812,959 A
`
`
`USER
`
`
`
`TELEPHONE
`12
`
`
`
`26
`LOCATION
`
`NUMBER
`
`DESIGNATOR
`OPTIONAL
`
`GEODETIC
`
`LOCATION DEVICE
`
`
`OBJECT
`DECODER
`
`24
`
`15 Claims, 5 Drawing Sheets
`
`28
`
`
`
`
`
`
`
`SERVER
`14
`
`
`
`DRIVING
`
`DIRECTIONS
`OBJECT
`
`GENERATOR
`
`
`MAP
`
`OBJECT
`
`GENERATOR
`
`TELEPHONE
`SYSTEM
`
`16
`
`I||IL
`
`|
`
`||
`
`I---
`REMOTE
`
`TELEPHONE
`18
`
`10
`
`Google v. Mullen
`
`Google Exhibit 1051
`Google Exhibit 1051
`Google v. Mullen
`
`

`

`U.S. Patent
`
`Jan. 6, 2004
`
`Sheet 1 of 5
`
`US 6,674,849 BI
`
`vlYsaAYAS
`
`SNOILGSHIC
`
`LOArdo
`
`YOLVYANAD
`
`ONIAITHC
`
`8c
`
`YOLVYANAD
`
`LOArdo
`
`dv
`
`AINOHd]s131
`
`WALSAS
`
`ob
`
`INOHd]a13L
`
`Yasn
`
`SL
`
`i|||||
`
`ANOHds131
`
`ALOWS4
`
`Y3ado0o08d
`
`LOsrao
`
`NOILVOO1T
`
`YSasWnn
`
`YOLVNOISAC
`TWNOILdO
`
`OILAGOAD
`
`NOILVYOO71
`
`ADIAAG
`
`|‘bis
`
`OL
`
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Jan. 6, 2004
`
`Sheet 2 of 5
`
`US 6,674,849 BI
`
`
`
`USER TELEPHONE
`RETRIEVES REMOTE
`TELEPHONE
`NUMBER FROM
`DATABASE
`
`36
`
`USER TELEPHONE
`RECEIVES REMOTE
`TELEPHONE CALL
`
`
`
`USER TELEPHONE
`IDENTIFIES REMOTE
`TELEPHONE
`NUMBER
`
`USER SELECTS
`MAP FUNCTION
`
`
`
`USER TELEPHONE
`
`
`TRANSMITS REMOTE
`TELEPHONE NUMBER
`
`TO SERVER
`
`SERVER CONVERTS
`REMOTE TELEPHONE
`NUMBER TO REMOTE
`
`STREET ADDRESS
`
`
`
`SERVER GEOCODES
`REMOTE STREET
`ADDRESS TO REMOTE
`
`
`GEODETIC LOCATION
`
`
`
`
`
`SERVER GENERATES
`
`MAP OBJECT FOR
`REMOTE GEODETIC
`
`LOCATION
`
`SERVER TRANSMITS
`MAP OBJECT TO
`USER TELEPHONE
`
`USER TELEPHONE
`DECODES MAP
`OBJECT
`
`USER TELEPHONE
`DISPLAYS MAP FOR
`REMOTE LOCATION
`
`Fig. 2
`
`32
`
`USER ENTERS
`REMOTE
`TELEPHONE
`
`NUMBER
`
`38
`
`34
`
`42
`
`44
`
`46
`
`48
`
`52
`
`54
`
`56
`
`58
`
`

`

`U.S. Patent
`
`Jan. 6, 2004
`
`Sheet 3 of 5
`
`US 6,674,849 B1
`
`
`
`
`
`
`USER TELEPHONE
`RETRIEVES REMOTE
`
`
`DATABASE
`
`
`36
`
`TELEPHONE NUMBER FROM
`
`USER TELEPHONE
`RECEIVES REMOTE
`TELEPHONE CALL
`
`USER TELEPHONE
`IDENTIFIES REMOTE
`TELEPHONE
`NUMBER
`
`32
`
`USER ENTERS
`REMOTE
`TELEPHONE
`NUMBER
`
`34
`
`32
`
`USER TELEPHONE
`DETERMINES USER
`GEODETIC LOCATION
`
`82
`
`USER SELECTS
`DRIVING DIRECTIONS
`FUNCTION
`
`72
`
`84
`
`USER ENTERS LOCAL
`STREET ADDRESS
`
`USER ENTERSFIXED
`LOCAL TELEPHONE
`NUMBER
`
`88
`
`74
`
`
`USER TELEPHONE TRANSMITS
`
`
`REMOTE TELEPHONE NUMBER
`AND USER LOCATION-DETERMINATION
`
`INFORMATION TO SERVER
`
`STREET NETWORK
`
`
`
`SERVER CONVERTS
`
`
`REMOTE TELEPHONE
`NUMBER TO REMOTE
`
`
`STREET ADDRESS
`
`
`
`
`
`
`SERVER GEOCODES
`REMOTE STREET
`ADDRESS TO REMOTE
`
`SEGMENT
`
`90
`
`
`
`
`
`
`
`SERVER CREATES
`ROUTE AND DRIVING
`
`
`DIRECTIONS
`BETWEEN USER
`
`AND REMOTE
`STREET SEGMENTS
`
`102
`
`SERVER TRANSMITS
`DRIVING DIRECTIONS
`OBJECT
`
`USER TELEPHONE
`DECODESDRIVING
`DIRECTIONS OBJECT
`
`112
`
`USER TELEPHONE
`DISPLAYS DRIVING
`DIRECTIONS
`
`Fig. 3
`
`

`

`U.S. Patent
`
`Jan. 6, 2004
`
`Sheet 4 of 5
`
`US 6,674,849 BI
`
`AYLNAYasn
`
`WVdS0dd
`
`
`
`YsadWNNNOILVOOT
`
`YOLVNSISAG
`
`
`
`YAlsILNAC!YST1VO
`
`cl|\Po
`
`oFWALSASANOHd3TAL
`
`
`
`
`
`AAILNOAX]AASVaVLVGYSadEWNNN
`
`ANOHd3sTALGAYOLS
`
`
`
`SANOHdA1SLYASN
`
`AYOWSAW
`
`
`
`SDIAAGTWNOILdO
`
`ANOHd3A1SL
`
`Y3asn
`
`Ndd
`
`AW1dS10
`
`YALLINSNVYL
`
`Y4asn
`
`YsAI034
`
`y3asn
`
`OILAqdOAD
`
`NOILVOO1
`
`AJDIAIG
`
`
`

`

`U.S. Patent
`
`Jan. 6, 2004
`
`Sheet 5 of 5
`
`US 6,674,849 BI
`
`pleSALLNOAXSLeYaAuaS
`
`(ard
`
`YOsss00ddWVeoOdd
`SecYOLVYANAD
`
`(4x4L4d5eLsSle -YaaWNNdsAldosY
`
`ASesaAsaYYSAdsS
`
`LAAYLS6éG —OlLAQOADYALLINSNVaL
`
`—
`LNAWSAS adadOQO0AD
` YOLVYANAD
`
`AYOWAWYOLVYANAD
`
`Y30d000389YaLYSAANOD
`
`LNSW93Sssadaqv
`
`ONIATYHO
`
`8cSec
`
`LOsrgo
`
`SNOILOAYIC
`
`Loardo
`
`YsaqdOONa
`
`02
`
`Zé
`
`
`
`LOArdoOdvW
`
`VL
`
`g‘bl
`
`VEC
`
`aYdaqdO9089
`
`YOLVYANAD
`
`aLNO’
`
`vee
`
`VaHuvdvi
`
`NdOYAAYAS
`
`YaAdsS
`
`YSAue$
`
`|
`
`3731)L |OFWALSAS)|__ANOHd
`
`
`
`
`
`fl
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`US 6,674,849 Bl
`
`1
`TELEPHONE PROVIDING DIRECTIONS TO
`A LOCATION
`
`2
`in the art after having read the following detailed
`skill
`description of the preferred embodiments whichare illus-
`trated in the variousfigures.
`
`BACKGROUND OP THE INVENTION
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`1. Field of the Invention
`
`‘The invention relates generally to telephones and more
`particularly to a cellular telephone providing a map and
`driving directions for a remote location associated with a
`remote telephone number.
`2. Description of the Prior Art
`For three decades public call takers and dispatchers have
`had the capability known as automatic numberidentification
`(ANI) for identifying the telephone numberof a 911 caller.
`‘This capability is now available to the general public with a
`service known as caller ID.
`In addition to ANI, E911
`provides a capability known as automatic location identifi-
`cation (ALI) for translating the telephone number of the
`caller to a street address. It is the ANI/ALI capabilities that
`enable an E911 dispatcher to route emergency personnel to
`the caller without depending upon the accuracy of verbal
`information from the caller.
`
`In more recent times, a capability knownas geocoding has
`enabled E911 centers to convert a street address determined
`by ANI/ALI into a geodetic location, such as latitude and
`longitude, and to display a map of the local area about the
`street address to the dispatcher. The map can be important
`for public safety for removing ambiguity for locating street
`addresses and facilitating better dispatch to an emergency
`scene. ‘he most advanced E911installations have the capa-
`bility of tracking the mobile locations of emergency vehicles
`that are available or proceeding to the scene.
`However, these capabilities, with the exception of caller
`ID, are not available to a general public user of a cellular or
`fixed telephone. General users of telephones have a need for
`generating a map anddriving directions to a remote location
`associated with a remote telephone number.
`SUMMARY OF THE INVENTION
`
`It is therefore an object of the present invention to provide
`a system for providing a map and driving directions for a
`remote location associated with a remote telephone number
`designated with a user telephone.
`Briefly, in a preferred embodiment, the system includes a
`user telephone and a server connected throughthe telephone
`system. The user telephone includes a location number
`designator for designating a remote telephone number and
`an object decoder for decoding software objects such as a
`map object having map information for the area about the
`remote location of a remote address associated with the
`remote telephone number and a driving directions object
`having driving directions information for traveling to the
`remote location. The server includes a map object generator
`for generating the map object from the remote telephone
`oumber and a driving directions object generator for gener-
`ating the driving directions object from the remote telephone
`number and user location-determination information for a
`
`local address, a local telephone number, or local geodetic
`coordinates provided by a geodetic location device in the
`user telephone.
`An advantage of the system of the present inventionis that
`a user of a cellular telephone receives a map and/or driving
`directions for a remote location associated with a remote
`
`telephone number.
`These and other objects and advantages of the present
`invention will no doubt become obviousto those of ordinary
`
`FIG. 1 is a block diagram of a communication system of
`the present invention comprising a user telephone and a
`server;
`
`FIG. 2 is a flow chart for a methodof the present invention
`for generating a map on the user telephone of FIG. 1 about
`a remote location associated with a remote telephone num-
`ber;
`FIG. 3 is a flow chart for a methodof the present invention
`for generating driving directions on the user telephone FIG.
`1 to a remote location associated with a remote telephone
`number;
`FIG. 4 is a block diagram of the user telephone of FIG. 1;
`and
`
`FIG. 5 is a block diagram of the server of FIG. 1.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`
`FIG. 1 is a block diagram of a system of the present
`invention referred to by the general reference number 10.
`The system 10 includes a user telephone 12 and a server 14
`connected through a telephone system 16. A remote tele-
`phone 18 having a remote telephone number also connects
`into the telephone system 16. In a typical application the
`user telephone 12 is a cellular telephone with additional
`features of the present invention including a location number
`designator 22, an object decoder 24, and an optional geo-
`detic location device 26. The telephone system 16 includes
`all the service providers, routing, switching, transponders,
`and lines for providing access, including wireless access,
`betweenthe user telephone 12, the server 14, and the remote
`telephone 18. The server 14 is a computer adapted for
`communication into the telephone system having computer-
`readable programming of the present invention for a map
`object generator 27 and a driving directions object generator
`28. A prior system described by Fultz in a United States
`patent for a “Communication and Navigation System Incor-
`poraling Position Determination” having a US. Pat. No.
`6,021,371 is incorporated herein by reference.
`FIG. 2 is flow chart of a method for gencrating a map on
`the user telephone 12 for a remote location associated with
`the remote telephone 18.
`At
`the start,
`the user telephone 12 uses the location
`number designator 22 for designating a remote telephone
`number. This can be done in any one of three ways. First, in
`a step 32 the uscr telephone 12 reccives a telephone call
`from the remote telephone 18 having the remote telephone
`numberandthen in a step 34 the location numberdesignator
`22 usescaller identification to identify the remote telephone
`number. Second, in a step 36 the user of the user telephone
`12 instructs the location number designator 22 to use one of
`a set of stored telephone numbers as the remote telephone
`number. Third, in a step 38 the user manually enters the
`remote telephone number into the location number desig-
`nator 22.
`
`Theuser, in a step 42 selects the desired function from the
`user telephone 12, for example, “map”. In a step 44 the user
`telephone 12 transmits a telephone call having the remote
`telephone number as message data through the telephone
`system 16 to the server 14. Of course, this use of the remote
`telephone numberdiffers from the standard use of a desti-
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`

`

`US 6,674,849 Bl
`
`3
`nation telephone number in header data for routing and
`switching the telephone call through the telephone system
`16. In the present invention, the message data includes the
`remote telephone number and the header data includes the
`telephone number of the server 14. Such message data is
`carried in the same wayas a digitized voice conversation is
`carried to a human user of another telephone.
`The server 14 in a step 46 converts the remote telephone
`numberto an associated remote street address. If the remote
`
`the server 14
`telephone number is found to be invalid,
`transmits an error indication through the telephone system
`16 back to the user telephone 12. In a step 48 the server 14
`geocodes the remote street address to a remote geodetic
`location such asa latitude and a longitude. In a step 52 the
`server 14 uses the remote geodetic location and a map
`database for generating a map object having information for
`a map of the area around the remote geodetic location, an
`indication of the remote geodetic location itself shown on
`the map, and a default map scale suitable for the remote
`geodetic location. The default scale would depend upon the
`intensity of map information in the area of the remote
`geodetic location.
`In a step 54 the server 14 transmits a telephone message
`having the map object through the telephone system 16 to
`the user telephone 12. In a step 56 the object decoder 24 in
`the user telephone 12 decodes the map object with into map
`data the can be used for a map display. Then,in a step 58 the
`user telephone 12 displays the map to the user of the user
`telephone 12.
`FIG. 3 is a flow chart of a method for generating driving
`directions from a local location of the user telephone 12 to
`a remote location associated with the remote telephone 18.
`Atthe start, the user telephone 12 uses the location number
`designator 22 for designating a remote telephone number as
`described above for the steps 32-38. Then, in a step 72 the
`user selects the desired function from the user telephone 12,
`for example, “driving directions”. In a step 74 the user
`telephone 12 transmits a telephone message having the
`remote telephone number and user location-determination
`information as message data through the telephone system
`16 to the server 14. As described above, this use of the
`remote telephone numberdiffers from the standard use of a
`telephone number in a message header for routing and
`switching the telephone message through the telephone
`system 16.
`The user location-determination information can be des-
`
`ignated in any oneofthree ways. First, the user telephone 12
`may include a geodetic location device 26, such as a global
`positioning system (GPS) receiver. Then, in a step 82, the
`geodetic location device 26 provides the local location as a
`geodetic location such as latitude and longitude. Second,in
`a step 84 the user may enter the user location-determination
`information in the form of a local street address. Third, in a
`step 86 the user may enter the location-determination infor-
`mation in the form of a fixed local telephone number. The
`fixed local telephone number may be the telephone number
`for the user telephone 12 whenthe user telephone 12 has a
`fixed location, or may be the telephone number of a nearby
`fixed telephone that is entered by the user. Alternatively, in
`the steps 84 and 86 the user may enter any address or
`telephone number, respectively, from a telephone book.
`The server 14 in a step 88 converts the remote telephone
`numberto an associated remote strect address. If the remote
`
`the server 14
`telephone number is found to be invalid,
`transmits an error indication through the telephone system
`16 back to the user telephone 12. In a stcp 90 the server 14
`
`10
`
`20
`
`30
`
`35
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`geocodes the remote street address to a remote street net-
`work segment such asa street intersection or a section of a
`street between intersections at either end.
`Whenthe user location-determination information has the
`form of a geodetic location, in a step 92 the server 14 reverse
`geocodes the geodetic location to a local street network
`address segment. In a step 94 when the user location-
`determination information has the form of a street address,
`the server 14 converts the street address to the local street
`
`network segment. In a step 96 when the user location-
`determination information has the form of a local telephone
`number, the server 14 converts the local telephone number
`to the local street network segment. If the local telephone
`numberis found to be invalid, the server 14 transmits an
`error indication through the telephone system 16 back to the
`user telephone 12.
`The server 14 in a step 102 creates a route and driving
`directions between the local street network segment and the
`remote street network segment. In a step 106 the server.14
`encodesthe driving directions as a driving directions object.
`In a step 108 the server 14 transmits the driving directions
`object through the telephone system 16 to the user telephone
`12. In astep 112 the object decoder 24 in the user telephone
`12 decodes the driving directions object into driving direc-
`tions. Then, in a step 114 the user telephone 12 displays the
`driving directions to the user of the user telephone 12.
`FIG. 4 is a block diagram of the user telephone of the
`present invention referred to by the reference number 12.
`The user telephone 12 includes the optional geodetic loca-
`tion device 26, a user entry device 152, a display 154, a user
`central processing unit (CPU) 156, a memory 158, a user
`receiver 162, and a user transmitter 164. The user entry
`device 152 includes a manual entry unit such as a keypad for
`enabling the user of the user telephone 12 to enter the
`functions of “map” and “driving directions” of the present
`invention and telephone numbers, addresses, and telephone
`operation functions, such as power, talk, send, end, recall,
`store, and the like for a standard telephone. Menu navigation
`keys such as next, back, home, menu, and the like are also
`included. The user entry device 152 also includes a micro-
`phone for receiving sound waves from the user intended to
`transmitted in telephone messages to users of other tele-
`phones. The display 154 includes a visual display such as a
`liquid crystal display and a speaker. The visual display
`issues telephone operational information and issues maps
`and driving directions according to the present invention.
`The speaker issues sound waves for telephone messages
`from users of other telephones. The user receiver 162
`receives telephone calls and messages from the telephone
`system 16. The user transmitter 164 transmits telephone
`calls and messages into the telephone system 16. The user
`CPU 156 operates in a conventional mannerfor reading and
`writing instructions and data into the memory 158 and
`coordinating the activities of the geodetic location device
`26, the user entry device 152, the display 154,
`the user
`receiver 162, the user transmitter 164, and programsin the
`memory158.
`The memory 158 includes an executive program 172 and
`task programs including the location number designator 22,
`the object decoder 24, a telephone processor 174, a display
`processor 176, a caller identificr 178, and a stored number
`database 182. Arrow lines within the memory 158 in the
`illustration of FIG. 4 show the primary paths and directions
`of information flow between the executive program 172 and
`the task programs, however, they do not necessarily showall
`possible information passing between the executive program
`172 and the task programs as structurcs of intcractions
`
`

`

`US 6,674,849 Bl
`
`5
`6
`the XML
`the JVM, or
`the WAP,
`microbrowser,
`between coded programs in a memory are well known. The
`microbrowser, respectively, as described above. The HTML
`user CPU 156 follows programmed instructions in the
`and WMT. documents include data and display semantics.
`executive program 172 for passing control among the task
`The object decoder 24 renders the HTML documentwith the
`programs. The task programs have instructions for directing,
`HTML microbrowser or the WML document with the WAP
`the user CPU 156 for their respective tasks.
`program code. ‘he Java class includes both data and pro-
`The telephone processor 174 includes all of the instruc-
`gram cade. The object decoder 24 for the Java class includes
`tions required for operating the user telephone 12 as a
`the JVM for executing the Java class program code within
`cellular telephoneorfixed telephone. The display processor
`the user telephone 12. Preferably the object decoder 24 also
`176 includes instructions for issuing audible and visible
`includes helper classes of library programs for rendering a
`information with the display 154. The caller identifier 178
`display of a button, text, images, and the like. For the XML
`identifies the remote telephone number for incomingtele-
`document
`the object decoder 24 includes the XML
`phone calls. The stored telephone number database 182
`microbrowser, a Java application, or a Java midlet for
`stores telephone numbersthat are selected by the user of the
`parsing and displaying the travel directions in the directions
`user telephone 12. The location number designator 22 des-
`object. In the case of a map object, the display 154 issues a
`ignates the remote telephone numberthat is to be used for
`visual presentation of the map area with an indication of the
`the remote location for generating a map or the destination
`position of the remote location. In the case of the driving
`location for generating driving directions.
`directions the display 154 issuesalist of instructions on the
`The object decoder 24 decodes a software object received
`visual display or through the speaker or issues highlighted
`in a telephone message from the server 14. The software
`lines and directions on the visual display.
`object can be a map object having information for a map
`FIG. 5 is a block diagram of the server of the present
`area about the remote location or a driving directions object
`invention referred to by the reference number 14. The server
`having information for driving directions to the remote
`14 includes a server central processing unit (CPU) 202, a
`location. The map object may be a hypertext markup lan-
`memory 204, a server receiver 206, and a server transmitter
`guage (HTML) document, a wireless markup language
`208. The server CPU 202 operates in a conventional manner
`(WML) document, a Java class, an extensible markup lan-
`for reading and writing instructions and data into the
`guage (XML) document,or the like.
`memory 204 and coordinating the activities of the server
`The HTML and the WML documents include map data
`receiver 206, the server transmitter 208, and programsin the
`and display semantics but not program code or data context.
`memory 204. The server receiver 206 receives telephone
`The object decoder 24 for the HTML documentincludes an
`messages from the telephone system 16. The server trans-
`HTML microbrowser having program code and context
`mitter 208 transmits telephone calls and messages into the
`information for rendering the HTML document. The object
`telephone system 16.
`decoder 24 for the WML document includes a wireless
`The memory 204 includes an executive program 212 and
`access protocol (WAP) program code for rendering the
`task programs including the map object generator 27, the
`WMLdocument. The map data in the HTML and WML
`driving directions object generator 28, and a server proces-
`documents is contained in a form such as graphics inter-
`sor 214. The arrow directions in the memory 204 in the
`change format (GIF),
`joint photographic experts group
`illustration of FIG. 5 show the primary paths and directions
`(JPEG) image, progressive network graphics (PNG) image,
`of information flow, however, they do not necessarily show
`or the like.
`all possible information passing between the executive pro-
`gram 212 and the task programsasstructures of interactions
`between coded programs in a memory are well known. The
`server CPU 202 follows programmedinstructions in the
`executive program 212 for passing control among the task
`programs. The task programs haveinstructions for directing
`the server CPU 202 for their respective tasks. The server
`processor 214 includes all of the instructions required for
`operating the server 14 and connecting the server 14 into the
`telephone system 16.
`The map object generator 27 includes a number-address
`converter 218, a geodetic geocoder 222, a map area genera-
`tor 224, and an object encoder 226. The number-address
`converter 218 includes a database of street addresses asso-
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`The Java class map object includes both map data and
`program code. The object decoder 24 for a Java class map
`object includes a Java virtual machine (JVM)that is able to
`run the Java class program code. Preferably, the Java object
`decoder 24 also includes helper classes of library programs
`that reside permanently in the user telephone 12 for display-
`ing items such as a button, a textfield, an image, orthe like.
`The Java object decoder 24 renders the map object either as
`an image or preferably as vectors. The image can be GIF,
`JPEG, PNG,or the like. The vectors can be textual labels
`and coordinates of end points of lines. The Java object
`decoder 24 enables a user to interact with the map, for
`example to click on a street, zoom in, zoom out, and
`enable/disable display of various street classes, labels, and
`points of interest. ‘The Java object decoder 24 also displays
`the location of the user telephone 12 on the map. Preferably,
`the Java object decoder 24 caches cnough mapdata to show
`location continuously as the user telephone 12 moveson the
`map within a local area without further map data from the
`server 14,
`
`The XML document includes map data with context but
`no program code. The object decoder 24 for the XML
`document
`includes an XML microbrowser or Java
`application, for example a Java midlet, that is able to parse
`and display the XML document and draw the map.
`Similarly,
`the directions object can be an HTML
`document, a WMI. document, a Java class, or an XMI.
`document and the object decoder 24 includes the HTML
`
`55
`
`60
`
`65
`
`ciated with telephone numbers for converting telephone
`numbers to street addresses. The geodetic converter 222
`includes a database of geodetic coordinates suchas latitude
`and longitude associated with street addresses for converting
`a street address received from the number-address converter
`
`218 to geodetic coordinates. The map area generator 224
`includes a map database for generating a map of the area
`about the geodetic coordinates received from the geodetic
`converter 222. The object encoder 226 cncodes the map
`received from the map generator 224 into an object format
`such as an HTML document, a WML document, a Java
`class, or an XML document as describe above. When the
`server receiver 206 receives a telephone message having a
`remote telephone number as message data from the user
`telephone 12, the map object generator 27 creates the map
`
`

`

`US 6,674,849 Bl
`
`7
`object for the area about the remote location associated with
`the remote telephone numberandthe server transmitter 208
`transmits the map object in a telephone message to the user
`telephone 12.
`The driving directions object generator 28 includes the
`task programsforthe strect address converter 218, the object
`encoder 226, a street segment geocoder 232, a reverse street
`segment geocoder 234, and a route generator 236. The
`number-address converter 218 operates as described above
`for converting telephone numbersto street addresses. The
`street segment geocoder 232 includes a database ofstreet
`addresses and associated street network segments for con-
`verting a street address received from the number address
`converter 218 to a street network segment. The reverse street
`segment geocoder 234 includes a database of geodetic
`coordinates and street network segments and uses map
`matching for converting geodetic coordinates to a street
`network segment. The route generator 236 generates a route
`and driving directions between a starting street network
`segment and a destination street network segment. The
`object encoder 226 encodes the driving directions into an
`object format as described above.
`Whenthe server receiver 206 receives a telephone mes-
`sage having user location-determination information and a
`remote telephone number as message data from the user
`telephone 12,
`the number-address converter 218 and the
`street segment geocoder 232 convert the remote telephone
`numberto the remote street network segment. Whenthe user
`location-determination information is
`a local
`telephone
`number,
`the numbcr-address converter 218 and the strect
`segment geocoder 232 convert the local telephone numberto
`a user street network segment; or when the user location-
`determination information is a local address,
`the street
`segment geocoder 232 converts the local address to the user
`street network segment; or when the user location-
`determination information is in the form of geodetic
`coordinates, the reverse geocoder 234 converts the geodetic
`coordinates to the user street network segment. The route
`generator 236 uses the user street network segment as the
`start location and the remote street network segment as the
`destination location for generating the route and driving
`directions. The object encoder 226 encodes the driving
`directions as the driving direction object and the server
`transmitter 208 transmits the driving directions object in a
`telephone message to the user telephone 12.
`Although the present invention has been described in
`terms of the presently preferred embodiments,it is to be
`understood that such disclosure is not to be interpreted as
`limiting. Variousaltcrations and modifications will no doubt
`become apparent to those skilled in the art after having read
`the above disclosure. Accordingly, it is intended that the
`appended claims be interpreted as covering all alterations
`and modifications as fall within the true spirit and scope of
`the invention.
`Whatis claimedis:
`
`1. Amethod for generating driving directions, comprising
`steps of:
`designating a remote telephone numberin a user tele-
`phone having a local telephone number different than
`said remote telephone number;
`determining local geodetic coordinates at said user tele-
`phone;
`transmitting an outgoing telephone call having said local
`geodetic coordinates and information for said remote
`telephone numberto a server having a server telephone
`numberdifferent than said remote telephone number;
`
`10
`
`20
`
`25
`
`40
`
`45
`
`55
`
`60
`
`65
`
`
`
`8
`converting said local geodetic coordinatesto a local street
`network segment in said server;
`transmilling a return message lo the user telephone num-
`ber from said server, said return message having driv-
`ing directions from a local location of the user tele-
`phone to said remote location; and
`using said local street network segmentas a start and said
`remote street network segment as a destination for
`generating said driving directions.
`2. The method of claim 1, wherein:
`the step of designating said remote telephone number
`comprises steps of receiving at said user telephone an
`incoming telephone call from a remote telephone hav-
`ing said remote telephone numberand designating said
`remote telephone number from header data in said
`incoming telephone call.
`3. The method of claim 1, wherein:
`the step of designating said remote telephone number
`comprisesstepsof retrieving a stored telephone number
`and designating said stored telephone numberas said
`remote telephone number.
`4. The method of claim 1, further comprising:
`converting said remote telephone number to a remote
`street network segmentin said server.
`5. The method of claim 4, further comprising:
`converting said local telephone numberto a local street
`network segment in said server.
`6. The method of claim 5, further comprising:
`using said local street network segmentas a start and said
`remote street network segment as a destination for
`generating said driving directions;
`encoding said driving directions as a driving directions
`object; and
`decoding said driving directions object in said user tele-
`phone.
`7. The method of claim 1, further comprising:
`determining a local address at said user telephone;
`transmitting said local address in sai

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