SYSTEM AND METHOD FOR USER NAVIGATION

Abstract: A user profile (60, 62, 64, 66, 68) based navigation system. The navigation system stores location centric information in a database (33) associated with a user profile (60, 62, 64, 66, 68). Information from the database (33) is provided to users (31, 37, 41) based on a selected user profile, which modifies the types of data provided to a user at a geographic location. Data in the database (33) is loaded into the database based on user supplied information and an indication of user geographic location.

Description: AN U A BACKGROUND OF THE INVENTION This in ention relates generally to navigation assistance devices, and more particularly to personalized computer-based electronic navigation de\ ices Indiv idual computers and computerized dev ices are able to store large amounts of information With the advent ot the Internet and the World Wide Web. a single computer mav access information stored in a numbei phy sically sepaiated computers using the Internet With the proliferation of use of the Internet, numerous people organizations, and entities have made in ormation av ailable to computei users Many individuals have their ow n Web pages, and use their Web pages to present information of interest to them Many organizations and entities similarly hav e Web pages describing their organization, purpose, and other information Thus, individuals are able to access information about a vaπetv of topics, presented by a variety of individuals and entities In addition, businesses are often supplementing this physical presence by placing information about their goods, services and products on the Web Indeed many such businesses are solely eb-based That is. some businesses may not piovide a physical location which a customer or shopper may visit, but instead merely prov ide a presence on the Web for consumers to access via the Internet Many businesses, however, combine a physical presence, such as a store site, w ith information about the store on the Web Thus, computer users can determine the products, pricing, and other information relating to a store on the Web. and determine whether the consumer is interested in visiting the store and thereafter visiting the store Often the consumer is assisted in visiting the physical location of a store by receiving instructions over the Web as to how to. for example, drive to the location Mapping services available from the Web, upon input of a desired destination and a current location, provide driving instructions as to how to get from a current destination to a desired location Thus, it would appear that the Web provides a convenient way to learn about physical locations, such as stores, and how to get to those locations As discussed above, the amount of information a ailable over the Web. is tremendous The shear quantity of data available, however, also increases the difficulty in finding data desired by a consumer Determining which data meets the needs of the consumer, as well as convenient presentation of such data, provides difficulties Moreov er. even for categories of information which appear to fit a consumer's need, some otherwise relevant data may not be desired by the consumer For example, for certain types of goods a consumer may not wish to frequent a particular establishment, or desire to only frequent a few of a large number of establishments Thus, a consumer may be presented with data from establishments the consumer has no desire to visit, and such information merely clutters the user ' s ability to rapidly locate information of interest urt er, any one consumer may av e a v aπety ot interests uc a consumei may not wis the information relev ant to one aspect ot the consumer s activ ities clutteimg up requests foi information regarding other aspects ot the usei s activities In addition, businesses desiring to place information regarding their business before certain tv pes ot consumers have no convenient way to do so Businesses do not desue to place information before consumers who hav e no interest in their business, and that do wish to place information legaiding then business befoie consumei ho do or aie likelv to have an interest in the goods the business prov ides In addition, although consumers may be prov ided information on ho to get to a business. while enroute the consumers receive no additional information about points of interest w Inch they may be passing In addition, consumers may realize, while in route, that they have a need to obtain othei goods oi services along the route Such consumers may not hav e detailed information concerning their present location, and no convenient means to determine the availabihtv ot businesses stocking goods which they desire or need enroute. or how to reach such businesses SUMMARY OF THE INVENTION In one aspect, the present invention piovides a real world navigation system In one embodiment the invention comprises a method of populating a database, including determining a tag location, requesting information concerning the tag location and providing the information to a computer sy stem In one embodiment determining the tag location comprises evaluating the position ot a GPS capable device, waiting a preselected time period, reevaluating the position ot the GPS capable device, and determining if the position has changed In another embodiment, determining the tag location comprises presenting a map display using a computer to a user and receiv ing a selected position on the map display In alternative embodiments the tag location comprises a plurality of locations, and in one embodiment these locations are selected area and in another embodiment the locations are a route to a destination In other embodiments, the invention comprises a method of accessing a database using a profile The profile comprises information applicable to a user, and serv es as a filter between the database of information and the display to the user In other embodiments, the profile is used in a push mode to push information desired by the user to the user, in other embodiments the profile serves as a filter in a pull mode pulling only information applicable to the user to the user In yet another embodiment the invention comprises an entertainment distribution system The entertainment distribution system comprises an entertainment server receiving entertainment related computer files in a variety of formats The entertainment computer related files are sequenced and organized by a user, and may thereafter request from requesting nodes various files or sequences of files in a format applicable to their requesting node considered in connection with the drawings and the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 illustrates a block diagram of a system of the present invention: FIG. 2A illustrates a block diagram showing user interaction with a database of the present invention: FIG. 2B illustrates a block diagram of an embodiment of a database of FIG. 2A: FIG. 3 illustrates a flow diagram of a process of forming profiles to interact with the database of FIG. 2; FIG. 4 illustrates a flow diagram of a process of creating profiles: FIG. 5 illustrates an input screen for creating a profile: FIG. 6 illustrates an input screen for selecting a default profile: FIG. 7 illustrates an input screen for cloning a profile: FIG. 8 illustrates input screen for editing a profile; FIG. 9 illustrates a flow diagram of a process for populating a database; FIG. 10 illustrates a navigation screen: FIG. 1 1 illustrates a roadblocks screen; FIG. 12 illustrates an enroute profile settings screen: FIG. 13 illustrates a tag location screen; FIG. 14 illustrates a block diagram of an entertainment distribution system: and FIG. 15 illustrates a process conducted by the entertainment distribution system of FIG. 14. DETAILED DESCRIPTION FIG. 1 illustrates a block diagram of a system of the present invention. An Internet service provider (ISP) 1 1 , including a server, is linked to a user personal computer 13 via telephone lines 15. In actuality, one or more computer units may be interdisposed between the PC and the server. with the server being a node on the Internet. The server is also connected via communication link to a personal computer device 17. Circuitry to allow the PCD, sometimes in conjunction with external elements or computers, to determine the position of the PCD. For example, in one embodiment the PCD contains circuitry for receiving GPS signals and passing pertinent representations of the received signals to a base server for further processing. The base server. in turn, calculates the position of the PCD and transmits the position information to the PCD. Alternatively, the PCD contains a GPS receiver and processing system, and the PCD determines its position using the GPS receiver and processing system. The server includes a database. The database includes information pertaining to a variety -:>- . , one em o men e a a ase nc u n orm locations. That is. the database includes information regarding specific locations, as well as information pertaining to transportation to and from these locations. The information in the database is provided by businesses, individuals, and users of PCDs. Thus, the database contains general information provided by businesses, stores, and other commercial entities who wish to make information concerning their business available to others. The database also contains personalized information regarding points of interest and other matters provided by users of PCDs. The database therefore provides a source of information to the users of PCDs. In accordance with the present invention, therefore, users are provided profiles to assist on the search of the database. This is shown in block diagram form in FIG. 2A. As illustrated in FIG. 2A. a first user 31 accesses a database 33 using a first profile 35. The profile includes information pertaining to the user. For example, the profile may contain information relating to restaurants the user prefers, businesses the user prefers to frequent, locations that the user desires to reach, or routes the user has marked an interest or other matters. In effect, the profile serves as a filter between the database and the user. The information retrieved from the database that the users request is provided to the user based on aspects the user has entered into the profile. The user may utilize more than one profile. This is illustrated by a second user 37. The second user accesses the database using a second profile 36 and a third profile 41. The second profile is similar to the first profile in that the second profile contains information pertaining to the specific user. The third profile differs in that the third profile is a standard profile. In other words, the third profile is a standardized profile made available for selection by users so that users may avoid the necessity of creating their own profile. The use of multiple profiles is beneficial in that users may, depending on their activities, require different information of a different nature at different times. For example, a user may desire information of a first type relating to the users business activities. This may be due to the user working at a locale, with the result that the user desires information pertaining to the region of the locale while at work. In addition, the user may frequent certain types of businesses as part of work related activities, whereas the user may frequent different types of businesses during the user's leisure hours. In addition, profiles may be copied. Copying of profiles is beneficial as the copied profile may be thereafter edited or added to. or have other operations under the profile. A user having a copied profile is illustrated by a third user 41. The third user accesses the database using a fourth profile 47. a fifth profile 45 and a copied sixth profile 43. The fourth and fifth profiles are, like the profiles of the first and second users, profiles pertaining to the individual user. The copied sixth profile of the third user is a copied version of the fifth profile. When created. therefore, the sixth profile is merely a copy of the fifth profile. Over time, however, the user may contained in the original profile but allows modification to meet specific needs ot the user FIG 2B illustrates a data layout of one implementation of a database in accordance with the present inv ention The database 21 includes plurahtv of memory elements The plurahtv of memory elements includes subgroupings of memory elements A three such subgrouping ot memory elements are illustrated as a first subgrouping 23 a second subgrouping 25. and a third subgrouping 27 As illustrated in FIG 2B. the first second and third subgroupings of memorv correspond to areas of memory leserv ed for information toi the first profile second profile and third profiles illustrated in FIG 2A Thus, in the embodiment illustrated in FIG 2B. data ιs stoιed separatelv for each profile Thus, the profiles serve as a filter into a database namely information relevant to a users profile is placed into the database at the request of the user A request by the user in one embodiment includes implied requests based on profile settings piovided bv the usei Thus, if the user, for example, has indicated a paiticulai stoie as a favorite, information legarding the store may be placed in the user s profiles section of the database without an explicit command by the user In an alternate embodiment, the database is more conventionally set up in which a record for each data element indicates whether the data item is applicable to a particular profile In further embodiments of the database, data is sorted in real time based on user profile requests, and no explicit link between the profile and the data in the database is provided except upon a request FIG 3 illustrates a flow diagram of a process of creating and populating a profile In Block 61 the user creates a profile As discussed above, the profile may be a user specific profile, a standard profile, or a copied profile In Block 63 the user populates the profile Populating the profile is analogous to populating a database linked to the profile Indeed, in one embodiment of the invention populating the profile is population of a unique database linked to the profile In other embodiments howev er. populating the profile inv olv es linking information in a database to the profile, as well as. in some embodiments, providing information to the database FIG 4 illustrates details ot a flow diagram of a process of creating a profile In Block 101 the user selects a type of profile The user may select a new profile, a preselected profile, a clone profile, oi edit of an existing profile If the user selects a new profile the process displays a create new profile screen in Block 102 The create new profile screen is illustrated in FIG 5 As illustrated in FIG 5, the create new profile screen includes data entry regions for personal data 51 , data entry areas for enroute profiles 53. and data entry areas for favorites 55 Accordingly. in Block 103 of the process of FIG 4, the user enters personal data information requested by the create new profile screen The personal data includes a profile name, the age of the user, the sex of the user, and the marital status of the user The personal data additionally includes the occupation of the user, the city of the user, as well as the user ' s education, religion and children to music entertainment sports serv ices, restaurants and shopping In Block 107 the user enters information legarding the users favorites It. however the user selects a preselected profile in Block 101. then in Block 1 1 1 the process displa a list of default piofiles The default profiles are profiles toi which data has previously been prov ided In one embodiment, the data for the default profile is standardized based on age group and sender For example college age males hav e one default profile with standardized information and male senior citizens hav e a diffeient default profile with different standardized information In Block 1 13 the user selects a default profile If in Block 101 the user selects a clone tv pe profile, in Block 121 the piocess display s a list of existing profiles FIG 6 lllustiates a screen showing existing profiles foi a user As illustrated, the user has five piofiles The profiles include a default profile 60 an entertainment profile 62 a business profile 64. a shopping profile 66 and a v acation profile 68 Foi each of the piofiles the user is provided a choice of editing the profile via an edit button or cloning the profile via a clone button FIG 7 illustrates a clone profile scieen The clone profile screen allows for data entry of the profile name 80 and user information 82. as well as modification of the enroute profile 84 and favorites 86 Thus, a clone profile is a copy of a preexisting profile, which may be then edited Similarly FIG 8 illustrates the result of selecting the edit button of the screen of FIG 6 As with the clone profile of FIG 7, via the profile screen allows for edit of the profile information 90. the enroute profile 92. and favorites 94 FIG 9 illustrates a flow chart of a process for populating a database In Block 901 the process determines the method to be used in populating the database The database may be populated either based on locations at which the PCD becomes relatively immobile, through selection ot a route, or through selection of an area If the stop, or mobility . method is selected the process proceeds to Block 903 In Block 903 the process determines if the PCD has stopped The PCD is determined to have stopped if the PCD has moved ov er 500 feet within the past two minutes but has moved less than 50 feet in the past minute If the PCD has stopped the process in Block 905 determines the position, in one embodiment the latitude and longitude, of the stop location and transmits the position to the server The server in turn responds with an indication of the address of the stop location, as well as any identifying information regarding that address such as phone number, name of business, or other pertinent information In addition, optionally the process provides an input screen to allow the user to enter additional information An example input screen is illustrated in FIG 13 The input screen includes a name field 1301. and add information button 1303. and a tag button 1365 Once the information has been either received from the server and/or input by the user, the PCD places a request with the server in response to selection of the tag button to store the information in the user's personal database The process thereafter returns If in Block 901 the process determines that the select route method has been selected the route is selected bv the user through scrolling of an icon across a map display The locations corresponding to the map locations form the route selected bv the user In alternative embodiments, the PCD determines the route using the standard algorithms known in the art based on the starting point/ending point calculations In further alternative embodiments, the PCD provides a server a starting point and an ending point and the server determines the route The serv ei then pi ov ides loute information to the PCD In Block 909 the process determines a series ot locations con esponding to locations along the selected loute Once the process has determined the locations con esponding to locations along a selected route the process proceeds to Block 910 in which the piocess. as prev lously described, retrieves and stores data into the database If in Block 901 the process determines that the select area method has been selected, the process proceeds to Block 91 1 In Block 91 1 the process determines the selected aiea The area is selected by the user through use of a click and drag box on a map display The process also determines locations corresponding to those within the click and drag box The process then pioceeds to Block 913 As pieviously described with tespect to previously discussed Blocks, in Block 913 the process receives information regarding locations corresponding to the selected area, and stoies the information in the database The process then leturns FIG 10 illustrates a display screen showing a navigation page of the present invention The display screen provides an indication of the selected profile 101 1. which as illustrated is a San Dιego(SD) vacation profile The screen display also includes a map display 1013 The map display includes a current destination Dl and a final destination D2 The map display also includes an indication of items 1015a-c from the favorite menu within the map display The display also includes selection boxes for determining a method of transportation 1017 The embodiment described eight methods of transportation are selectable The eight methods of transportation are by foot (PED), by air, by water, by rail, by highway, by subway, by bike and bv hoise The method of transportation effects both routes and time of travel For example, subway s hav e specific locations from which one may ingress and egress and those locations must be taken into account when route selection occurs In addition, the method of transportation also affects travel time For example, traveling from one place to another by foot is likely . depending on traffic, to take longer than travel by car In one embodiment in the present invention route selection is also affected by the use of road blocks Road blocks are locations, selected by the user, which are to be avoided in the selection of many routes Road blocks may be selected bv the user, for example, to avoid areas the user, through personal preference or knowledge, wishing to avoid For example, a user may desire to avoid certain intersections known the user to present particular difficulties with travel Road blocks may also be selected by the user to avoid areas which the user may believe to present danger to the user or the user s property These areas may be areas of high crime, construction zones, or even areas which are known to the user to present dangerous road driving conditions n a on, or an automat ca y se ecte route, n one em o ment o t e nvent on t e user s provided the opportunity to place road blocks along the selected route. Road blocks are illustrated in FIG. 1 1. FIG. 1 1 illustrates a user road blocks display screen. The user road blocks display screen includes an automatically selected route to the first destination D 1 and a final destination D2. The automatically selected route is indicated by a bold line 1 1 1 1 in the map display. Along each intersection or along the selected route a selectable button 1 1 13 is displayed. If the user selects the button the process implements a road block at the selected location and automatically reselects a route to avoid the road block location. In addition, as illustrated in FIG. 1 1 the user is provided a selection box 1 1 17 to allow selection of certain types of activities more likely to impact traffic. As illustrated, the selection include entertainment, sports, conventions and parades. Selection of any of these items causes the process to determine, based on information available from the Internet service provider, whether such locations should be avoided. FIG. 12 illustrates an enroute profile setting screen. The enroute profile setting screen provides two functions. A first function is to allow a user to set favorite settings for any particular profile. Accordingly, the screen includes a profile pop down menu 121 1 allowing selection of a particular profile. The screen also includes button entries for categories corresponding to those which appear in the favorite profiles. Thus, button menus for music 1213, entertainment 1215, recreation 1217. restaurants 1219. miscellaneous 1221, shopping 1223. sports 1225. and services 1227 are provided. Each of the categories allow for selection of multiple items corresponding to the favorites of the user for the particular profile. For example, under the restaurants categories the groupings include those for fast food. Italian food, French food, American food, and Chinese food. The user may select one or more of these groupings. Each of the selected groupings are available for automatic database population. For example, if a database is populated either through simulation or through actual route travel, database population is limited to those corresponding to groupings selected via the enroute profile settings. In other words, users are provided information relating to items which are of interests to them along the route they expect to take. This allows both for increased targeting of information by businesses, which will make themselves known to individuals who may be interested in their product or service, as well as allowing those individuals to filter out information relating to businesses and services for which they have no interest. As additionally indicated in the screen of FIG. 12, users may elect to turn off population of the database via a button menu 1231. This allows the user to avoid excessively populating the database in areas the user either will not return to or does not expect to stop. Moreover, a pop down selection also is provided in the screen of FIG. 12 to allow the user to populate the database enroute or merely for the destination 1235. Population of the database enroute allows the user to locate items of interest or traveling for which the user may desire to stop. If the user knows that the user will not stop prior to reaching the destination, then the user may elect the destination u on an ere y on y e provi e in ormation regar ing t e users estination FIG 13 illustrates a screen used bv the user to tag a location The tag location screen allo s the user to populate a database based on either current location or an address located on their map The tag location scieen is used when the user is either at a location or knows of a location for which the user desires the information entered into the database The tag location screen is also prov ided when the user is populating the database via the stop method and the user has additional information desired to be entered This may occui tor example w hen a particular business is not pi ovided information to the ISP. but the user w ishes information prov ided by wav ot the user entry into the database FIG 14 illustrates a block diagram ot a central music sy stem A central music system 141 1 is a computerized system including a processor and memorv The central music system additionally includes a modem for communication over a telephone network In other embodiments as those skilled in the art will recognize, the modem may be replaced by a network interface card fNIC) or a cable modem, or other similar devices depending on the communication transport sy stem The memory stores information in digital form, including audio files Audio files are files which, when decoded by a suitable player, form an audio output stream which mav be the reading of a book oi for example, music The audio files store music in a variety of formats These formats include MP3 files, wav files, aud files, and the like An MP3 file is a compressed audio file The audio files are obtained by transferring the audio files from an external system to the central music system This may be done via a CD-ROM or disk reader, or by using the communication modem or the like to download information representing the audio files from the Internet In an alternative embodiment, the central music system is a central entertainment system The central entertainment system is provided visual files and audio visual files in addition to sound files Once the audio file is loaded into the central music system, the central music system makes the audio file available to remote nodes As illustrated in FIG 14, the remote nodes include an automobile 1413, a first home system 1415. and a second home system 1417 The central music system transfers the music files to the requesting remote node on request As illustrated, the first home system and the second home system are connected to the central music system via a physical link The automobile, however, is connected to the central music system via a cellular phone The central music system transmits the audio file to the requesting node in the format requested by the requesting node For example, the first home system may require audio files of a first type and the second home system may require audio files of a second type Further, the automobile sound system may require audio files of yet a third type The audio files stored on the central music system, however, may be of yet a fourth type Thus, the central music system file format to another FIG 15 lllustiates a process of using the central music sy stem In block 151 1 the central music sy stem downloads or installs an audio file This occurs in the case of a download by downloading the audio file from another computer system such is accomplished by downloading from the Internet Audio files may also be installed onto the central music system through use of a disk or CD-ROM drive In block 1513 cential music sy stem oiganizes the audio files The oiganization ot audio files is accomplished at the direction ot a user For example the user may link audio files such that a request foi a first audio file will additionally inform the music sy stem that a second audio file should follow the first audio file In block 1515 the central music system processes a request for an audio file In processing the request for the audio file the central music system determines which audio file has been requested, as well as any linked audio files additionally requested In block 151 7 the central music sy stem determines if any of the audio files require translation to a different format If translation of audio files from one format to another format is required the piocess proceeds to block 1519 In block 1519 the process translates the audio files After performing any operations relating to translation, the process proceeds to block 1521 and provides the audio files, in the proper format, to the requesting node Accordingly . the present invention provides a computer navigation and media control center Although these inventions have been described in certain specific embodiments many additional modifications and variations would be apparent to those skilled in the art It is therefore to be understood that this invention may be practiced otherwise than as specifically described Thus, the present embodiments of the inventions should be considered as illustrative and not restrictive the scope of the inventions to be indicated by claims and their equivalents supported by this application rather than the foregoing description

Claims: 1 . A method of populating a database comprising: determining a tag location: requesting information concerning the tag location: and providing the information to a computer system having a database residing in a memory. 2. The method of populating a database of claim 1 wherein determining a tag location comprises: evaluating the position of a GPS capable device waiting a preselected time period: reevaluating the position of the GPS capable device: and determining if the position of the GPS capable device before and after waiting the preselected time period is substantially the same. 3. The method populating a database of claim 1 wherein determining a tag location comprises: presenting a map display using a computer to a user; receiving a selected position on the map display. 4. The method of populating a database of claim 1 wherein the tag location comprises a plurality of locations. 5. The method of populating a database of claim 4 wherein the tag location comprises a selected area. 6. The method of populating a database of claim 5 wherein requesting information concerning the tag location comprises: formatting a request identifying the selected area to a server computer system; and communicating the request identifying the selected area to the server computer system. 7. The method of populating a database of claim 6 wherein determining a tag location comprises: presenting a map display to a user, the map display providing for selection of an area of the display; receiving an indication of an area selected on the map display. 8. The method of populating a database of claim 4 wherein the tag location comprises 9 The method of populating a database of claim 5 wherein requesting infoimation concerning the tag location comprises formatting a request identifying the selected area to a server computei sy stem, and communicating the request identify ing the selected area to the seiver computer svstem 10 The method of populating a database of claim 6 wherein determining a tag location comprises presenting a map display to a usei the map display pioviding for selection of an area ot the display receiving an indication of an area selected on the map display 1 1 A method of accessing data in a database using a profile, the data comprising an indication of a geographic location and information regarding the geographic location, a subset of the data being associated with the profile, the method comprising receiv ing a request for data from a database. receiving a profile identification associated with the request for data from the database, forming search criteria for a search of the database, the search criteria including details of the request for data and details of a profile identified by the profile identification, and locating data fulfilling the search criteria 12 The method of claim 1 1 wherein the profile includes user information 13 1 he method of claim 12 wherein the user information includes a user age 14 The method of claim 1 1 wherein the profile includes items identified as favorites of the user 15 The method of claim 1 1 wherein the profile includes standard details 16 The method of claim 1 1 further comprising receiving a request foi modification of details of a profile, and modifying the profile in response to the request for modification of details of the profile 17 The method of claim 1 1 wherein each profile is associated with a user 18. The method of claim 17 wherein multiple profiles are associated with a user -12- SUBST1TUTE SHEET (RULE 26) . , comprising' receiving an indication of the user location: determining data regarding locations approximate the user location: and providing the data to the user. 20. A method of modifying a planned route comprising- receiv ing a route start point: receiving a route end point: receiving a road block location: and determining a route from the route start point to the route end point avoiding the road block location. 21. A method of determining a route comprising: receiving a route start point; receiving a route end point; receiving a mode of transportation; and determining a route from the route start point to the route end point based on the mode of transportation.

Inventors: OBRADOVICH MICHAEL L, OBRADOVICH, MICHAEL, L.
Applicants: AMERICAN CALCAR INC, AMERICAN CALCAR INC.
Application year: 2000
Main classification: G06F17
IPC codes: G01C21, G06F13, G06F17