throbber
(12) United States Patent
`Khavakh et al.
`
`US007054742B2
`(io) Patent No.: US 7,054,742 B2
`(45) Date of Patent:
`*May 30, 2006
`
`(54) METHOD AND SYSTEM FOR ROUTE
`CALCULATION IN A NAVIGATION
`APPLICATION
`
`(75) Inventors: Asta Khavakh, Lake Zurich, IL (US);
`William McDonough, Glen Ellyn, IL
`(US); Oleg Voloshin, Deerfield, IL
`(US); Yaoguang Wang, Rosemont, IL
`(US)
`
`(73) Assignee: Navteq North America, LLC,
`Chicago, IL (US)
`
`( * ) Notice: Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`This patent is subject to a terminal dis­
`claimer.
`
`(21) Appl. No.: 10/651,091
`(22) Filed:
`Aug. 28, 2003
`(65)
`Prior Publication Data
`US 2004/0039520 Al Feb. 26, 2004
`
`Related U.S. Application Data
`
`(62) Division of application No. 10/259,897, filed on Sep. 27,
`2002, now Pat. No. 6,678,611, which is a division of
`application No. 09/920,493, filed on Aug. 1, 2001, now Pat.
`No. 6,487,497, which is a division of application No.
`09/714,314, filed on Nov. 16, 2000, now Pat. No. 6,298,303,
`which is a division of application No. 09/047,698, filed on
`Mar. 25, 1998, now Pat. No. 6,192,314.
`
`(51)
`
`Int. Cl.
`G01C 21/36
`
`(2006.01)
`
`(52) U.S. Cl................................................................ 701/209
`
`(58) Field of Classification Search ......... 701/200 201,
`701/208-209, 207; 342/357.01, 357.13, 454-457;
`340/988, 990
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`2/1986 Tachi et al.
`4,570,227 A
`8/1988 Itoh et al.
`4,763,270 A
`11/1988 Ueno et al.
`4,782,447 A
`12/1988 Hirose et al.
`4,794,528 A
`1/1989 Nakayama et al.
`4,796,189 A
`3/1989 Adams et al.
`4,812,990 A
`5/1990 Yamada
`4,926,336 A
`6/1990 Yamada
`4,937,753 A
`7/1991 Ikeda et al.
`5,031,104 A
`8/1991 Nakahara et al.
`5,041,983 A
`4/1992 Yamada et al.
`5,103,400 A
`12/1992 Yamada et al.
`5,168,452 A
`2/1993 Link
`5,184,303 A
`2/1993 Short
`5,187,667 A
`4/1993 Yoshida
`5,204,817 A
`11/1993 Tamai et al.
`5,262,775 A
`12/1993 Martin et al.
`5,272,638 A
`3/1994 Tamai et al.
`5,291,412 A
`3/1994 Tamai et al.
`5,291,413 A
`3/1994 Tamai et al.
`5,291,414 A
`4/1994 Tamai et al.
`5,303,159 A
`5/1994 Tamai
`5,311,434 A
`
`(Continued)
`
`Primary Examiner—Thu V. Nguyen
`(74) Attorney, Agent, or Firm—Frank J. Kozak; Jon D.
`Shutter; Lawrence M. Kaplan
`(57)
`ABSTRACT
`A method for route calculation using real time traffic con­
`ditions is disclosed. A transmission that includes weightings
`indicative of traffic conditions on roads is received. Then, a
`solution route is calculated by forming a list of road seg­
`ments. The list is formed by expanding a search tree
`comprised of gates. Each gate represents a physical location
`on a road segment and an accessible direction relative
`thereto. Each gate to which a weighting applies is incre­
`mented by an amount indicated in the transmission. The
`solution route is determined by expanding the search tree,
`which includes determining and evaluating successor gates.
`
`10 Claims, 13 Drawing Sheets
`
`represented by
`■PORTAL’
`
`Hyundai Exhibit 1005, Page 1 of 33
`Hyundai Motor Company v. Mel Navip LLC
`IPR2024-00173
`
`

`

`US 7,054,742 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`11/1994 Hayami et al.
`5,369,588 A
`12/1994 Nomura
`5,371,678 A
`5,410,485 A
`4/1995 Ichikawa
`6/1995 Maegawa et al.
`5,428,545 A
`8/1995 Inoue et al.
`5,442,349 A
`10/1995 Odagaki et al.
`5,459,667 A
`11/1995 Tsuyuki
`5,467,276 A
`5,475,387 A
`12/1995 Matsumoto
`3/1996 Yagyu et al.
`5,502,640 A
`4/1996 Nobe et al.
`5,506,774 A
`4/1996 Kanki
`5,506,779 A
`4/1996 Smith, Jr.
`5,508,930 A
`4/1996 Fujita et al.
`5,513,110 A
`5/1996 Seda
`5,519,619 A
`
`5,521,826 A
`5,550,538 A
`5,557,522 A
`5,559,511 A
`5,608,635 A
`5,612,881 A
`5,638,280 A
`5,652,706 A
`5,659,476 A
`5,899,955 A
`5,938,720 A
`6,038,509 A
`6,128,571 A
`6,751,609 Bl *
`
`5/1996 Matsumoto
`8/1996 Fujii et al.
`9/1996 Nakayama et al.
`9/1996 Ito et al.
`3/1997 Tamai
`3/1997 Moro to et al.
`6/1997 Nishimura et al.
`7/1997 Morimoto et al.
`8/1997 LeFebvre et al.
`5/1999 Yagyu et al.
`8/1999 Tamai
`3/2000 Poppen et al.
`10/2000 Ito et al.
`6/2004 Nomura ............................. 707/3
`
`* cited by examiner
`
`Hyundai Exhibit 1005, Page 2 of 33
`Hyundai Motor Company v. Mel Navip LLC
`IPR2024-00173
`
`

`

`U.S. Patent
`
`May 30, 2006
`
`Sheet 1 of 13
`
`US 7,054,742 B2
`
`FIG. 1
`
`Hyundai Exhibit 1005, Page 3 of 33
`Hyundai Motor Company v. Mel Navip LLC
`IPR2024-00173
`
`

`

`U.S. Patent May 30, 2006 Sheet 2 of 13
`
`US 7,054,742 B2
`
`Hyundai Exhibit 1005, Page 4 of 33
`Hyundai Motor Company v. Mel Navip LLC
`IPR2024-00173
`
`

`

`U.S. Patent
`
`May 30, 2006
`
`Sheet 3 of 13
`
`US 7,054,742 B2
`
`GEOGRAPHIC DATABASE 30
`
`LAYER n
`
`SEGMENT
`
`ID
`
`L.NODE R.NODE RANK = n other
`
`NODE
`ID LAT
`
`LONG
`
`LAYER 1
`
`SEGMENT
`
`ID
`
`L.NODE R.NODE RANK=1
`
`other
`
`NODE
`ID LAT
`
`LONG
`
`LAYER 0
`
`SEGMENT
`L.NODE I Ir.NODeI |RANK=O | lother
`
`ID
`
`NODE
`[io~] |LAT I Ilong
`
`FIG. 3
`
`Hyundai Exhibit 1005, Page 5 of 33
`Hyundai Motor Company v. Mel Navip LLC
`IPR2024-00173
`
`

`

`U.S. Patent
`
`May 30, 2006
`
`Sheet 4 of 13
`
`US 7,054,742 B2
`
`Hyundai Exhibit 1005, Page 6 of 33
`Hyundai Motor Company v. Mel Navip LLC
`IPR2024-00173
`
`

`

`U.S. Patent
`
`May 30, 2006
`
`Sheet 5 of 13
`
`US 7,054,742 B2
`
`CONFIGURATION
`OBJECT 64
`parameters ¢4(1)
`
`VEHICLE OBJECT 68
`
`FIG. 5
`
`TIME OBJECT 69
`(START TIME 69(1)
`
`other 69(n)
`
`FIG. 8
`
`ROUTE OBJECT 60
`
`LIST OF
`SEGMENTS
`60(1)
`
`LIST 60(2) OF WAYPOINT
`DATA STRUCTURES
`
`WAYPOINT 400
`
`WAYPOINT 400
`
`WAYPOINT 400
`
`FIG. 6
`
`FIG. 7
`
`START DATE/TIME 60(3) |
`
`RT. GENERATION
`DATE/TIME 60(4)
`
`VEHICLE OBJ. 68
`
`GEO DB VER. 60(5)
`
`S-FLAG 60(6)
`
`OTHER 60(n)
`
`Hyundai Exhibit 1005, Page 7 of 33
`Hyundai Motor Company v. Mel Navip LLC
`IPR2024-00173
`
`

`

`U.S. Patent
`
`May 30, 2006
`
`Sheet 6 of 13
`
`US 7,054,742 B2
`
`FIG. 9
`NAVIGATION POSITION
`OBJECT 56
`
`LOCUS 92
`
`GEOGRAPHIC
`POSITION 93
`
`OTHER 56(n)
`
`FIG. 10
`
`LOCUS 92
`SEGMENT 94
`
`SPOT 95
`
`SIDE 96
`
`FIG. 11
`
`WAYPOINT OBJECT 100
`POSITION 102-
`
`DESCRIPTION 104
`
`DELAY 112
`
`PORTAL106
`
`LOCUS 92
`
`DIRECTIONS 107
`
`ENFORCE SIDE FLAG 109
`
`PORTAL 106
`
`LOCUS 92
`
`DIRECTIONS 107
`
`ENFORCE SIDE FLAG 109
`
`Hyundai Exhibit 1005, Page 8 of 33
`Hyundai Motor Company v. Mel Navip LLC
`IPR2024-00173
`
`

`

`U.S. Patent May 30, 2006 Sheet 7 of 13
`
`US 7,054,742 B2
`
`SEGMENT ENTITY
`represented by
`
`Hyundai Exhibit 1005, Page 9 of 33
`Hyundai Motor Company v. Mel Navip LLC
`IPR2024-00173
`
`

`

`U.S. Patent
`
`May 30, 2006
`
`Sheet 8 of 13
`
`US 7,054,742 B2
`
`Hyundai Exhibit 1005, Page 10 of 33
`Hyundai Motor Company v. Mel Navip LLC
`IPR2024-00173
`
`

`

`U.S. Patent
`
`May 30, 2006
`
`Sheet 9 of 13
`
`US 7,054,742 B2
`
`ROUTE CALCULATION OBJECT 50
`
`Hyundai Exhibit 1005, Page 11 of 33
`Hyundai Motor Company v. Mel Navip LLC
`IPR2024-00173
`
`

`

`U.S. Patent
`
`May 30, 2006
`
`Sheet 10 of 13
`
`US 7,054,742 B2
`
`ROUTE CALCULATION OBJECT 50
`
`Hyundai Exhibit 1005, Page 12 of 33
`Hyundai Motor Company v. Mel Navip LLC
`IPR2024-00173
`
`

`

`U.S. Patent
`
`May 30, 2006
`
`Sheet 11 of 13
`
`US 7,054,742 B2
`
`FIG. 16
`
`ROUTE OBJECT WAYPOINT
`DATA STRUCTURE 400
`
`DESCRIPTION 404
`POSITION (LAT, LONG) 422
`
`2 LOCI (ENTRANCE/EXIT) 422
`
`DISTANCE 418
`
`TIME 416
`
`COST 414
`
`INDEX TO
`SEGMENT LIST 424
`
`TYPE (ORIGIN/
`DESTINATION/
`INTERMEDIATE) 420
`
`GATE 124
`ASSOCIATED NODE 125
`
`TARGET NODE 127
`
`PREDECESSOR 131
`
`SEGMENT 129
`
`TIME 130
`
`COST 132
`
`DISTANCE 133
`FIG. 17
`
`FIG. 20
`
`ROUTE CALCULATION OBJECT
`WAYPOINT DATA STRUCTURE 450
`
`DESCRIPTION 404
`
`POSITION (LAT, LONG) 402
`
`2 LOCI (ENTRANCE/EXIT) 422
`
`PORTAL 106
`
`LOCUS 92
`
`DIRECTIONS 107
`
`ENFORCE SIDE FLAG 109
`
`PORTAL 106
`
`LOCUS 92
`
`DIRECTIONS 107
`
`ENFORCE SIDE FLAG 109
`
`DELAY 421
`
`COST 414
`
`TIME 416
`
`DISTANCE 418
`
`Hyundai Exhibit 1005, Page 13 of 33
`Hyundai Motor Company v. Mel Navip LLC
`IPR2024-00173
`
`

`

`U.S. Patent
`
`May 30, 2006
`
`Sheet 12 of 13
`
`US 7,054,742 B2
`
`SEED GATE 108
`
`POSITION 125
`LOCUS FROM
`PORTAL
`
`TARGET NODE 127
`
`SEGMENT 129
`SEGMENT FROM
`LOCUS
`
`PREDECESSOR 131
`
`FIG. 18
`
`LIST OF SEGMENTS 500
`
`SEGMENT
`
`SEGMENT
`
`FIG. 19
`
`SEGMENT
`
`Hyundai Exhibit 1005, Page 14 of 33
`Hyundai Motor Company v. Mel Navip LLC
`IPR2024-00173
`
`

`

`U.S. Patent May 30, 2006 Sheet 13 of 13
`
`US 7,054,742 B2
`
`Z k
`
`Hyundai Exhibit 1005, Page 15 of 33
`Hyundai Motor Company v. Mel Navip LLC
`IPR2024-00173
`
`

`

`1
`METHOD AND SYSTEM FOR ROUTE
`CALCULATION IN A NAVIGATION
`APPLICATION
`
`REFERENCE TO RELATED APPLICATIONS
`The present is a divisional of Ser. No. 10/259,897, filed on
`Sep. 27, 2002, now U.S. Pat. No. 6,678,611, which was a
`divisional of Ser. No. 09/920,493 filed Aug. 1, 2001, now
`U.S. Pat. No. 6,487,497, which was a divisional of Ser. No.
`09/714,314 filed Nov. 16, 2000, now U.S. Pat. No. 6,298,
`303, which was a division of Ser. No. 09/047,698 filed Mar.
`25,1998, now U.S. Pat. No. 6,192,314, the entire disclosures
`of which are incorporated herein by reference.
`
`BACKGROUND OF THE INVENTION
`The present invention relates to a system and method for
`route calculation in a navigation application program.
`Computer-based navigation systems are able to provide
`end-users, such as vehicle drivers and as well as others, with
`various navigating functions and features. For example,
`some navigation systems are able to determine an optimum
`route to travel by roads between locations in a geographic
`region. Using input from the end-user, and optionally from
`equipment that can determine the end-user’s physical loca­
`tion (such as a GPS system), a navigation system can
`examine various routes between two locations to determine
`an optimum route to travel from a starting location to a
`destination location in the geographic region. The naviga­
`tion system may then provide the end-user with information
`about the optimum route in the form of instructions that
`identify the maneuvers required to be taken by the end-user
`to travel from the starting location to the destination loca­
`tion. The navigation system may be located in an automobile
`and the instructions may take the form of audio instructions
`that are provided as the end-user is driving the route. Some
`navigation systems are able to show detailed maps on
`computer displays that outline routes to destinations, the
`types of maneuvers to be taken at various locations along the
`routes, locations of certain types of features, and so on.
`In order to provide these and other navigating functions,
`present navigation systems include navigation application
`software programs and use one or more detailed databases
`that include data which represent physical features in geo­
`graphic regions. The detailed database(s) includes data
`which represent the road network in a region, including the
`roads and intersections in the region and information about
`the roads and intersections, such as turn restrictions at
`intersections, speed limits along the roads, street names of
`the various roads, address ranges along the various roads,
`and so on. Further, the data may include information about
`points-of-interest. Presently, the collection of such geo­
`graphic data and the provision of such data in a computer-
`usable database format are provided by Navigation Tech­
`nologies of Rosemont, Ill.
`Present navigation application programs and navigation
`systems are able to provide many advantages and many
`useful features. However, there continues to be a need for
`improvement. One area in which there is need for improve­
`ment relates to providing the end-user with better and more
`detailed navigation instructions at an initial stage of a route.
`Another area in which there is need for improvement relates
`to providing the end-user with better instructions as the
`desired destination is approached. Still another area in which
`navigation systems can be improved relates to providing the
`end-user with better instructions as to how to get back on a
`route to a desired destination when the end-user either
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 7,054,742 B2
`
`2
`accidentally or deliberately deviates from a previously cal­
`culated route. Still another area in which there is a need for
`improvement relates to handling of intermediate stops along
`a route. For example, an end-user will often want to make
`one or more intermediate stops between a starting location
`and a final destination. Thus, there is a need for a navigation
`system application that can not only calculate a route
`between two locations, but also that can calculate quickly
`and elfectively a route that includes stops at one or more
`intermediate locations along the way between a starting
`location and a destination. A further area in which there is
`need for improvement relates to provision of a universal
`route calculation module or tool that can be readily used in
`a variety of dilferent software and hardware environments
`without the need for extensive revisions and customizations
`to the tool.
`Accordingly, it is an objective to provide a navigation
`application that provides improved route calculation fea­
`tures to an end-user.
`SUMMARY OF THE INVENTION
`To address the above concerns, according to one aspect of
`the present invention, there is provided a program and
`method for a route calculation tool for use with a navigation
`system and used with a map database. The route calculation
`tool is adapted to find at least one solution route between a
`first location oil a road network in a geographic region and
`a second location on the road network in the geographic
`region. The route calculation tool includes a first search tree
`associated with the first location and a second search tree
`associated with the second location. Each of the search trees
`is adapted to hold gates. Each of the gates represents a
`physical position on the road network and a direction from
`the position to another location along a path on the repre­
`sented road network. The route calculation tool also includes
`a priority queue associated with each of the search trees.
`Starting with one of the search trees, the priority queue
`assigns a priority to each of the gates based upon an
`evaluation by a search algorithm. A search engine expands
`the gate that has the highest priority to determine one or
`more successor gates thereof and compares the one or more
`successor gates so formed to one or more gates in the other
`search tree. The process of growing either or both search
`trees by expanding the gate that has the highest priority in its
`respective search tree is continued until a gate in the search
`tree corresponds to at least one of the one or more gates in
`the other search tree.
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a block diagram of an exemplary navigation
`system.
`FIG. 2 is a map illustrating physical geographic features
`in a portion of a geographic region represented by the
`geographic database in FIG. 1.
`FIG. 3 is a block diagram illustrating the organization of
`the geographic database in FIG. 1.
`FIG. 4 is a block diagram showing components of the
`navigation application of FIG. 1.
`FIG. 5 is a diagram illustrating the components of the
`configuration object of FIG. 4.
`FIG. 6 is a diagram illustrating the components of the
`vehicle object of FIG. 4.
`FIG. 7 is a diagram illustrating the components of the
`output route object of FIG. 4.
`FIG. 8 is a diagram illustrating the components of the time
`object of FIG. 4.
`
`Hyundai Exhibit 1005, Page 16 of 33
`Hyundai Motor Company v. Mel Navip LLC
`IPR2024-00173
`
`

`

`US 7,054,742 B2
`
`3
`is a diagram illustrating the components of the
`FIG. 9
`navigation position object of FIG. 4.
`FIG. 10 is a diagram illustrating the components of the
`locus structure of FIG. 9.
`FIG. 11 is a diagram illustrating the components of the
`waypoint object of FIG. 4.
`is a diagram illustrating the geographic features
`FIG. 12
`represented by the waypoint object of FIG. 11.
`FIG. 13 is a diagram of the components in the route
`calculation object of FIG. 4 in one stage of operation.
`FIG. 14 is a diagram of the components in the route
`calculation object of FIG. 4 in another stage of operation.
`FIG. 15 is a diagram of the components in the route
`calculation object of FIG. 4 in yet another stage of operation.
`FIG. 16 is a diagram illustrating the components of the
`waypoint structure which is stored in the route object of FIG.
`7.
`
`5
`
`10
`
`15
`
`20
`
`4
`appropriate wireless communication technology to obtain a
`GPS signal, in a manner which is known in the art. The
`positioning system 24 outputs a signal 26 to the processor
`12. The signal 26 may be used by the navigation software
`program 18 that is run on the processor 12 to determine the
`location, direction, speed, etc., of the navigation system 10.
`The navigation system 10 also includes a user interface
`31. The user interface 31 includes appropriate equipment
`that allows the end-user to input information into the navi­
`gation system. This input information may include a request
`to use the navigation features of the navigation system. For
`example, the input information may include a request for a
`route to a desired destination. The input information may
`also include other kinds of information, such as configura­
`tion information or vehicle information, as explained further
`below. The equipment used to input information into the
`navigation system may include a keypad, a keyboard, a
`microphone, etc., as well as appropriate software, such as a
`voice recognition program. The user interface 31 also
`includes suitable equipment that provides information back
`to the end-user. This equipment may include a display 27,
`speakers 29, or other means.
`The navigation system 10 uses a map database 30 stored
`on a storage medium 32. The storage medium 32 is installed
`in the drive 14 so that the map database 30 can be read and
`used by the navigation system. The storage medium 32 may
`be removable and replaceable so that a storage medium with
`an appropriate map database for the geographic region in
`which the vehicle is traveling can be used. In addition, the
`storage medium 32 may be replaceable so that the map
`database 32 on it can be updated easily.
`In one embodiment, the storage medium 32 is a CD-ROM
`disc. In an alternative embodiment, the storage medium 32
`may be a PCMCIA card in which case the drive 14 would be
`substituted with a PCMCIA slot. Various other storage
`media may be used, including fixed or hard disks, DVD
`(digital video disks) or other currently available storage
`media, as well as storage media that may be developed in the
`future.
`The map database 30 contains information about the
`roadway network in the geographic region. FIG. 2 shows a
`map illustrating physical geographic features in a portion of
`a geographic region. FIG. 3 is a block diagram illustrating
`the data entities that represent the geographic features in
`FIG. 2. In one embodiment, the map database 30 includes
`node data and segment data. Node data represent physical
`locations in the geographic region (such as roadway inter­
`sections and other positions) and segment data represent
`portions of roadways between the physical locations repre­
`sented by nodes. Each road segment in the geographic
`region is represented by a road segment data entity (i.e., a
`record) in the map database 30. Each road segment data
`record in the map database has two nodes which represent
`the coordinate positions at each end of the road segment
`represented by the road segment data record. The data
`records include information that can be used during route
`calculation, such as turn restrictions, vehicle access,
`restricted driving conditions, etc. (The terms “nodes” and
`“segments” represent only one terminology for describing
`these physical geographic features and other terminology for
`these feature is intended to be encompassed within the scope
`of these concepts.)
`In one embodiment of the map database 30, the roadways
`are classified by rank in accordance with the importance or
`significance of the roadway for vehicle travel. For example,
`roadways of rank “0” may be alleyways and side streets,
`roadways of rank “1” may be primary city streets, roadways
`
`FIG. 17 is a diagram illustrating the components of the
`gate data structure of FIGS. 13-15.
`FIG. 18 is a diagram illustrating the components of the
`gate data structure of FIG. 17 when used as a seed gate.
`FIG. 19 is a diagram illustrating the list of solution routes
`in FIG. 15.
`25
`FIG. 20 is a diagram illustrating the components of the
`waypoint data structure which is used in route calculation
`object of FIGS. 13-15.
`FIG. 21 is a map illustrating the concepts associated with
`30
`a rank suppression feature according to one alternative
`embodiment of the route calculation program.
`DETAILED DESCRIPTION OF THE
`PRESENTLY PREFERRED EMBODIMENTS
`I. Navigation System Overview
`Referring to FIG. 1, there is a block diagram of a
`navigation system 10. The navigation system 10 is installed
`in a vehicle 11, Such as a car or truck, although in alternative
`embodiments, the navigation system 10 may be located
`outside of a vehicle or may be implemented in various other
`platforms. For example, the navigation system may be
`implemented as a hand-held portable system, or may be
`implemented on a personal computer (such as a desktop or
`portable notebook) or a personal digital assistant. The navi­
`gation system may also be implemented in a networked
`environment or on a client-server platform.
`Referring to the embodiment illustrated in FIG. 1, the
`navigation system 10 is a combination of hardware and
`software components. In one embodiment, the navigation
`system 10 includes a processor 12, a drive 14 connected to
`the processor 12, and a nonvolatile memory storage device
`16 for storing a navigation software program 18, as well as
`other information, such as configuration parameters 19. The
`processor 12 may be of any type used in navigation systems,
`such as 32-bit processors using a flat address space, such as
`a Hitachi SHI, an Intel 80386, an Intel 960, a Motorola
`68020 (or other processors having similar or greater address­
`ing space). Processor types other than these, as well as
`processors that may be developed in the future, are also
`suitable.
`The navigation system 10 may also include a positioning
`system 24. The positioning system 24 may utilize GPS-type
`technology, a dead reckoning-type system, or combinations
`of these, or other systems, all of which are known in the art.
`The positioning system 24 may include suitable sensing
`devices 25 that measure the speed, direction, and so on, of
`the vehicle. The positioning system 24 may also include
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Hyundai Exhibit 1005, Page 17 of 33
`Hyundai Motor Company v. Mel Navip LLC
`IPR2024-00173
`
`

`

`5
`of rank “2” may be highways, and so on. Each road segment
`data record in the map database 30 also identifies the rank of
`the corresponding portion of the roadway that it represents.
`As illustrated in FIG. 3, the map database 30 for a geo­
`graphical area may be stored in layers. The lowest layer
`(“0”) contains records that represent roadways of all ranks,
`the next higher layer (“1”) contains roadways of rank “1”
`and higher, the next higher layer (“2”) contains roadways of
`rank “2” and higher, and so on. The road segment records
`may include additional information about the represented
`road segments, such as the speeds along the represented road
`segments, turn restrictions, weight restrictions, the names of
`the roads that the segments are parts of, address ranges along
`the road segments, and so on. In an alternative embodiment,
`the geographic database 30 may include more than one rank
`of road in a single layer. The map database 30 may include
`additional information as well.
`Referring again to FIG. 1, the navigation application
`software program 18 is loaded from the non-volatile
`memory 16 into a RAM 20 associated with the processor in
`order to operate the navigation system. The navigation
`system 10 uses the map database 30 stored oil the storage
`medium 32, possibly in conjunction with the output 26 from
`the positioning system 24, to provide various navigation
`features and functions. The navigation software program 18
`may include separate applications (or subprograms) that
`provide these various navigation features and functions.
`These functions and features may include route calculation,
`map display, vehicle positioning (e.g., map matching), route
`guidance (wherein detailed directions are provided for
`reaching a desired destination), destination resolution
`capabilities, and other functions.
`II. The Route Calculation Tool Program
`A. Overview
`Referring to FIG. 4, in the navigation software program
`18 the route calculation features are provided by a route
`calculation tool 40. The route calculation tool 40 is a
`computer program that may be used as part of the navigation
`software program 18. The route calculation tool 40 deter­
`mines routes between specified locations. If used with a
`navigation software program 18 in a navigation system
`installed in a vehicle, the route calculation tool 40 deter­
`mines routes for the vehicle to travel. The route calculation
`tool 40 may be used in combination with the map database
`30 and other programs or subprograms within the navigation
`program 18, or even with other programs outside the navi­
`gation program 18 or navigation system 10. Specifically, in
`the navigation software program 18, the route calculation
`tool 40 interfaces with a navigation application 47. The
`navigation application 47 may include appropriate programs
`that provide the remainder of the navigating functions
`provided by the navigation system 10, such as route
`guidance, vehicle positioning, the user interface, and so on.
`Alternatively, the navigation application 47 may operate as
`a manager that uses other tool programs, such as a geo­
`coding tool 90, a route guidance tool 91, a map display tool,
`and so on, to implement one or more of the other various
`navigation functions.
`In a preferred embodiment, the route calculation tool 40
`is provided as a module that is relatively portable and that
`can be incorporated into different kinds of systems. The
`route calculation tool may be compiled into an executable
`module with the navigation application or may be used as a
`standalone program. In a preferred embodiment, the route
`calculation tool 40 employs an object oriented approach to
`both its programming, its use of data, and its relationship to
`the navigation application 47. Each object that forms the
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 7,054,742 B2
`
`6
`route calculation tool receives input data and generates
`output data according to a predefined function and may
`invoke methods on other objects. In one present
`embodiment, each object has its own private memory which
`is opaque to other objects. In the disclosed embodiment, an
`object may be used to convey data from one object to
`another object or may be used to transform data received as
`input. The route calculation tool 40 is written in the C
`programming language although in alternative embodiments
`other programming languages may be used, such as C++ or
`Java. In general, programming languages that support object
`oriented programming are preferred.
`B. Objects Input to and Output from the Route Calcula­
`tion Tool Program
`In one embodiment, the route calculation tool 40 com­
`prises a route calculation object 50. This route calculation
`object 50 receives as input as least two waypoint objects 100
`and provides an output in the form of a route object 60. In
`a present embodiment, the route calculation object 50 may
`also use as input a configuration object 64, a vehicle object
`68, a time object 69, and an input route object 72. (There
`may be additional objects in addition to these. For example,
`there may be an object that defines specific application-
`defined callbacks, i.e., wherein the application may want
`partial solutions, as described below.)
`(1). The Configuration Object.
`Referring to FIG. 5, the configuration object 64 is a data
`structure that holds parameters 64(1) . . . 64(n), which are
`used to control the route calculation object 50. Some or all
`of these parameters may be configurable by the end-user.
`Some of these parameters may include items, such as
`weighting factors, that may be used in route calculation. For
`example, these parameters may include “avoid highways,”
`“avoid U-tums,” “determine shortest route,” “determine
`quickest route,” etc. These parameters may also include the
`maximum layer of map data (as represented in FIG. 3) at
`which route searching is to be performed and whether the
`route searching should use logical or physical suppression to
`enforce the maximum layer. Some configurable parameters
`in the configuration object 64 may be selected by the
`navigation system manufacturer or by a service technician
`and thus may not be configurable by the end-user. The data
`included in the configuration object 64 is stored in a
`re-writable and non-volatile memory of the navigation
`system, such as the non-volatile memory 16 (in FIG. 1).
`(2). The Vehicle Object.
`Referring to FIG. 6, the vehicle object 68 is a data
`structure that includes data 68(1) . . . 68(n) that provide the
`characteristics of the vehicle for which the route will be
`calculated by the route calculation tool 40. Under some
`circumstances, characteristics of the vehicle may affect
`generation of the route. For example, the vehicle object 68
`may include data that indicates that the vehicle is a truck
`having a given weight and number of axles. In such a case,
`the route searching tool 40 ensures that the calculated route
`include only roadways with weight limits that allow such a
`vehicle. In another example, the vehicle object 68 may
`include information indicating that the vehicle is a passenger
`vehicle having more than one person on board. The route
`searching tool 40 can then include lanes restricted to mul­
`tiple passenger vehicles. The data included in the vehicle
`object 68 is stored in a re-writable and non-volatile memory
`of the navigation system, such as the non-volatile memory
`16 (in FIG. 1). Some or all of the data in the vehicle object
`68 may be configurable by the end-user. Alternatively, some
`or all may be determined by the navigation system manu­
`facturer or a technician.
`
`Hyundai Exhibit 1005, Page 18 of 33
`Hyundai Motor Company v. Mel Navip LLC
`IPR2024-00173
`
`

`

`7
`(3) . The (Output) Route Object.
`Referring to FIG. 7, the output route object 60 is illus­
`trated. The route object 60 is a data structure generated by
`the route calculation object 50. The output route object 60
`includes a single route determined by the route calculation
`object 50. The route is comprised of a list 60(1) of road
`segment data records (such as the segment data records
`described in connection with FIG. 3) that represent portions
`of roadways that together comprise the calculated route. The
`route object 60 also contains waypoint information 60(2)
`describing the origin, destination, and intermediate way­
`points and indicating where they are located relative to the
`list 60(1) of road segments. (This waypoint information is
`contained in a plurality of route waypoint data structures 400
`derived from the route calculation object waypoint data
`structure 550, described below.) The output route object 60
`is provided to the navigation application 47 that uses the list
`60(1) of road segment data records and the waypoint infor­
`mation 60(2) in the route object 60 to provide various
`navigation functions, such as provide instructions to the
`driver, generate graphical display maps of the route, and so
`on.
`In addition, the route object 60 may include other items of
`data. These items may include a start date/time 60(3). This
`item of data may be derived from the start date/time 69(1),
`described below. The route object 60 may also include a
`route generation start date/time 60(4). This item of data
`corresponds to the date and time at which the route was
`calculated. The route object 60 also may include a copy of
`the vehicle object 68, described above. The route object 60
`may also include data 60(5) that indicates the version of the
`geographic database that was used in developing the list of
`segments 60(1). The route object 60 may also include an
`“s-flag” item of data 60(6). This item of data indicates
`whether particular kinds of segment or node records are
`included in the list of segments 60(1). In particular, in some
`databases, there are segment records that represent aggre­
`gations of individual road segments and node records that
`represent a plurality of nodes. If either of these kinds of
`records is included in the list of segments 60(1), the s-flag
`item of data 60(6) is set. In addition, the route object 60 may
`include other kinds of data 60(n).
`(4) . The (Input) Route Object.
`When providing certain functions as descri

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