The present invention is illustrated by way of example, and not by limitation, in the figures of the accompanying drawings, wherein elements having the same reference numeral designations represent like elements throughout and wherein:
An overall system 100 is depicted in
Selecting and purchasing the map information 122 may be performed online by an end user accessing the remote system 126 via a network 106, i.e., the Internet, using any computing device equipped with a standard web browser and an Internet connection, such as end user computer device 104.
An end user computing device 104, not necessarily the device selecting and purchasing the map information, but one electrically connected to the end user's portable device 102, is operable to communicate with the web server 110 and instruct the map server 114 to create, by means of a file generation module 116, a downloadable file 118 comprising the requested map information but locked to the end user's portable device 102. Once created, the end user computing device 104 is operable to download the locked file 118 and subsequently transfer the map file 118 to the end user's portable device 102.
Upon receiving locked file 118, the end user's portable device 102 is configured to validate the file based upon the encrypted information included within in the transferred file 118. Accordingly, by locking map data 122 to a specific end user portable device 102, system 100 is operable to control the usability of downloaded data.
Referring to
Examples of portable end user devices 102 include EXPLORIST devices from the MAGELLAN product series, or GPS units from the MERIDIAN series of GPS devices. Both product series are manufactured by Thales Navigation, headquartered in San Dimas, Calif.
In some aspects, computer platform 234 may include a processing engine 204, a location module 236, and memory 206. Processing engine 204 may comprise an application-specific integrated circuit (ASIC), or other chipset, processor, microprocessor, logic circuit, or other data processing device operable to perform one or more processing functions for the end user device 102, Furthermore, processing engine 204 may include various processing subsystems, embodied in hardware, firmware, software, and combinations thereof, that enable the functionality of the end user device 102, including initiating and maintaining communications, and exchanging data with other networked devices, e.g. end user computing device 104.
In some aspects, portable end user device 102 may comprise a location module 236 that may comprise, in whole or in part, a geographic information system (GIS), such as a tool used to gather, transform, manipulate, analyze, and produce information related to the surface of the earth. In some aspects, such a GIS may include a global positioning system (GPS), such as a satellite navigational system formed by satellites orbiting the earth and their corresponding receivers on the earth. The GPS satellites continuously transmit digital radio signals that contain data on the satellites' location and the exact time to the earth-bound receiver. The satellites are equipped with atomic clocks that are precise, for example, to within a billionth of a second.
Based on this information, the receivers know how long it takes for the signal to reach the receiver on earth. As each signal travels at the speed of light, the longer it takes the receiver to get the signal, the farther away the satellite is located. By knowing how far away a satellite is, the receiver knows that it is located somewhere on the surface of an imaginary sphere centered at the satellite. By using three satellites, GPS can calculate the longitude and latitude of the receiver based on where the three spheres intersect. By using four satellites, GPS can also determine altitude.
Memory 206 may be any type of memory, including read-only memory (ROM), random-access memory (RAM), EPROM, EEPROM, flash memory cells, secondary or tertiary storage devices, such as magnetic media, optical media, tape, or soft or hard disk, whether resident on computer platform 234 or remotely accessible from computer platform 234. An application module 208 resident in memory 206 comprises the program instructions operated upon by the processor 204 to receive the inputs from the location module 236 and display the position of the portable end user device 102 on the display unit 202 based upon map information that has been stored on the device 102.
Application module 208 is further operable to instruct the end user device to receive locked file 118 from the end user's computing device 104, decrypt and validate the downloaded file based upon a predetermined encryption algorithm and cipher key. In one aspect, only files that have been authorized for use on that particular end user device 102 are usable on that device 102.
Still referring to the portable end user device 102, computer platform 234 may further include a communication module 210 operable to send and/or receive signals and/or information to and/or from components within the portable end user device 102 and between the portable end user device and an external device, such as a GPS satellite (not shown) and the end user's computing device 104. For instance, communication module 210 may include one or any combination of input and/or output ports, transmit and receive chain components, transceivers, antenna, etc, i.e., a wired or wireless universal serial bus (USB) port. Communication module 210 may include, but is not limited to, technologies such as a one or any combination of a wireless GPS satellite interface; a serial port, i.e., a universal serial bus (USB) port and a FIREWIRE serial bus interface; an infrared interface; and a short range radio frequency interface, such as a BLUETOOTH technology interface.
Still referring to
In some aspects, customer computing device 104 may comprise a processing assembly 216, executing a memory resident operating system, e.g., Linux, Win32, etc. Furthermore, the customer computing device 104 may comprise a memory 218 operable to store application programs, including, but not limited to operating system 222, a standard web browser application 238 operable to connect to web server 110, and a transfer module 220 operable to transfer files to the portable end user device 102.
Furthermore, computer platform 232 may comprise a communications module 226 operable to transmit and receive messages and data to/from the portable end user device 102. Customer computing device 104 may communicate with the portable end user device 102 via any available interface, e.g., serial port, USB, FIREWIRE, BLUETOOTH, infrared, etc.
Customer computing device 104 may further comprise an input mechanism 228, i.e., keyboard, CD reader, etc., and an output mechanism 230, e.g., a display screen such as an LCD screen, interconnected to computer platform 232. The input mechanism 228 and the output mechanism 230 may permit a user to interface with the various application programs stored in memory 218.
Non-limiting, the end user computing device 104 purchasing map file information need not be the customer computing device 104 that downloads the purchased map information for subsequent transfer to the portable end user device 102. In some aspects, the only requirement of a customer computing device 104 to purchase a map file 122 for future download is a web browser application 238 residing in memory 218. Web browser applications are commonly available and may include, but are not limited to Microsoft's INTERNET EXPLORER, Netscape NAVIGATOR, and Mozilla's FIREFOX.
In other aspects, the transfer module 220 may be capable to log directly into the remote system 126, purchase and download map files based upon customer specific account information stored in memory 218. Such information may include account login information, and end user device specific information, including, but not limited to, i.e., model, serial number, date of purchase, etc. Such information may be entered manually via input mechanism 228 and/or automatically received by the client application module 220 when the end user device 102 is connected to the client's external computing device 104.
Regardless of how file 118 is stored in memory 218, the transfer module 220 is configured to communicate with a connected portable end user device 102 in order to push, or have the end user device 102 pull, locked file 118 into the memory 208 of the end user device 102. The transfer module 220 may be downloaded from remote system 126 or loaded into memory via a compact disk supplied along with the portable end user device 102.
Referring back to
Still referring to
Further, there can be additional servers or computer devices associated with remote system 126 that work in concert to provide data in usable formats, and/or a separate layer of control in the data flow between the customer computing device 104 and remote system 126.
Web server 110 and map server 114 may comprise one or more processing engines that may be any combination of processors, including an application-specific integrated circuit (ASIC), a chipset, a processor, a microprocessor, a logic circuit, and any other data processing device. These server processing engines performs one or more processing functions and may execute a module resident on or remotely assessable by the web server 110 and the map server 114 to perform a given function.
Each server may further include a memory not shown for storing data and/or executable instructions, etc. The memory may include, but is not limited to, one or any combination of a read-only memory (ROM), a random-access memory (RAM), an EPROM, an EEPROM, a flash memory cell, a secondary or tertiary storage device, such as magnetic media, optical media, tape, or soft or hard disk, whether resident on the servers 110 and 114 or remotely accessible from web server 110 or map server 120. For example, map database 120, comprising at least one set of purchasable map data 122, may reside on such an external storage device accessible by map server 114.
Furthermore, web server 110 may have access to corporate data base 112 in order to validate the identity and account information of customers logging into the remote system 126 for the purpose of updating account information, or in order to purchase map data. Furthermore, the corporate database 112 may include registration information pertaining to each portable end user device 102 owned by the customer. Based upon this information, remote system 126 may validate both the customer and the destination device of the purchased map.
Web servers, such as web server 110, are known to those knowledgeable in the field of network communications and may include a communication module operable to send and/or receive signals and/or information to and/or from components within the customer computing device 104. For example, the communication module may include one or any combination of hardware, software, firmware, executable instructions and data to enable the transfer of communications-related signals and information over a standard HTTP, an FTP or some other data transfer protocol to an electrically connected customer computer.
Additionally, web server 110 may further include a user interface 128, i.e., web pages, to allow communication with a customer of the remote system 126. In the disclosed aspects, access to, processing of, and updating of any of the components of remote system, whether the components are resident on web server 110, map server 120 or remotely accessible by server 110 and 120, may be performed by a user in operation of such a user interface 128.
Map server 114 may comprise an application module 116 operable to generate a downloadable file 118 based upon a map file 122 previously ordered by the customer. Based upon the previously requested map part number along with user device unit information, i.e., serial number for portable end user device 102 stored in the work order generated at the time of purchase, the map server 114 is operable to build the downloadable file 118.
As shown in
Furthermore, the data marker 312 may be encrypted using a readily available encryption algorithm, such as BLOWFISH, to limit the ability of a user to create multiple files for multiple destination units. The encryption may be performed using either hardware or software and may generate a unique cipher key 314, operable to decrypt the data marker 312. The cipher key 314 may be hidden in file 118 at a predetermined location. In order for the end user device 102 to decrypt the file 118, the encryption algorithm, as well as the position of the cipher key in the file 118, must be known to the end user device 102 and may be stored as part of the application module 208 in the memory 206 of the portable end user device 102. Though not as secure as other known key management systems, the above method may be sufficient to discourage unauthorized tampering of the locked file 118 by all but determined hackers.
The data marker 312 may include a security version identifier comprising 2 bytes identifing the version of security protocol/format used in the marker 312. The security version identifying field may have a major and minor version number (1 byte each). Preferably, the security version identifier would start with 1.0.
Next, a security flag field may include 2 bytes that identify the rules by which an end user device 102 validates the data file 118. Although three rules are currently defined, the number and definition of these fields are non-limiting. These three rules include:
Rule 1. Data marker data matches an end user device identifier, i.e., end user device serial number. For example, in order for an end user device 102 to utilize the downloaded file 118, the destination unit serial number (target unit ID) stored in the data marker must match the serial number of the end user device validating the file. This rule may have variations including, but not limited to:
Rule 2. Data marker data matches media ID, e.g., end user device or SD card serial number.
Rule 3. Data marker Validity Date field (to be discussed) is current, that is, the map data is inoperable if the current date is past the data marker validity date.
In addition, the data marker 312 may include a vendor ID field comprising 4 bytes. The vendor ID identifies the provider of the data. The vendor, along with a Data ID provides a unique identifier for each type/set of data provided by each vendor. If more than one vendor contributed data for a product, the vendor ID is a “virtual” ID denoting the combination.
The data ID field may comprise 4 bytes and identifies a particular type of data from a given vendor, i.e., a chart ID from a particular chart vendor and a region/CD/area ID identifying specific street data.
In addition, the data marker 312 may include a validity date field comprising 4 bytes. The validity date identifies the date that the map data becomes invalid. This feature implements a data “timeout” feature, providing data that could only be used for a specific period, i.e., one month, one year, etc. the validity date field includes the following fields:
Next, a media ID comprising 12 bytes may be included that identifies the unique media that the data is to reside on, i.e., the media comprising the end user device 102. This may include information derived from the SD card identification (ID) information and may be formatted as follows:
In addition, a target unit ID may comprise a 12 byte field consisting of end user device serial number information. The target unit ID may also be used to fill the media ID field for an end user device 102 with only internal memory.
The data marker 312 may also include an unlock code operable to unlock the map data. In some embodiments, the unlock code may comprise 20 bytes and may apply to data requiring a separate code/payment for each region/dataset.
Finally, in order to pad the data marker to a multiple of 8 bytes to facilitate encryption, an undefined expansion field of 4 bytes may be included.
Refer now to
Upon validating the customer, at step 504, customer may navigate to a web page that allows the customer to decide whether to download a precut map or to buy a secure digital (SD) card comprising the precut map, wherein a precut map may be considered map information, including geographic information and points of interest. If at step 504, the customer decides to buy an SD card, the SD card is added to the cart in step 512. Non-limiting, other non-map items can be added to the cart as well. At step 514, a normal order is processed and stored in the customer database 112
If at step 504 the customer decides to download the map information, at step 506, based on the type of map download, a list of possible destination unit types, i.e. portable end user device 102, is retrieved from a database, such as map database 120. In some aspects, multiple types of downloads may be available per type of destination unit selected, wherein the type of destination unit 102 may be a MAGELLAN product series like EXPLORIST or a MERIDIAN series GPS unit. For the selected destination unit type, a list of possible destination unit types is retrieved from a database and presented to the customer via the web interface 128.
Further at step 506, based upon the login information supplied by the customer, previously registered end user devices 102, stored in customer data base 112, may be presented to the customer through the web server 110.
At step 508, the customer selects a registered destination device, i.e., portable end user device 102, or alternatively, registers and selects a new destination device 102. It should be noted that the user can purchase multiple downloads at the same time, each downloadable line item in a shopping cart (not shown) is unique and should show up as a separate line item in the shopping cart (i.e., quantity can not be increased more than one).
At step 510, a link to the downloadable map information is added to the shopping cart and is tied to the registered product 102. At step 514, the order is processed and stored, and the customer may download the map information beginning on
As previously disclosed, in some embodiments, a customer may purchase the requested map information on one customer computing device 104, and download the purchased file from another customer computing device 104 at a later time. According to this aspect, the customer must re-login to the remote system 126 to access their account information and download the purchased map.
At
At step 604 a download page validates the identity of the purchaser based upon the user's account information. The download page checks the login information to determine if the person that is logged into the web server 110 is the same person that has purchased the map, and that the person that is logged into the web server 110 is the same person that has the destination unit 102 registered to their account.
At step 604, if the customer has a problem with the download or needs to repeat download, the process proceeds to step 606 that may require the customer to log back in and goes to a tracking detail for order checking. In one embodiment, a user may be requested to reattempt the download of the requested map data.
The process continues at step 608 if the customer information and purchase information is validated, i.e., the user currently logged in to the web server 20 is the owner of the destination unit 102 and is the party who has purchased the map being requested.
At step 608, the map server 114 generates a file 118 that locks the map information to the destination unit 102 and presents the user with a link to this file 118. At step 610 the customer may click on the link to download the file 118.
The file 118 may be downloaded to a memory device 218 on the customer computing device 104, such as internal or external memory, including an SD card. The computer 104 does not need the end user unit 102 to be connected in order to download the file 118.
Because retention of all such files 118 for an extended amount of time may be prohibitive, step 608 may further include a step whereby map server 114 initiates a chronological process, i.e., a map server management daemon, to delete, at step 612, a file after a set period of time.
Because an end user device 102 is programmed to accept only those files 118 which comprise an appropriately encoded marker file 312, the map information is useable only by the end user device selected at the time of purchase. At step 740, all map related files are added to a compressed file, such as a zip file. At step 760, the zip file is digitally signed for downloading at step 780. The map server 114 passes back a download link to the web server 110, which when selected by the user, initiates the downloading of the file.
It should now be apparent that a method and system has been disclosed that permitting a customer to download maps and/or map data over a communications network for use on a predetermined portable end user device.
While the foregoing disclosure shows illustrative aspects and/or aspects, it should be noted that various changes and modifications could be made herein without departing from the scope of the described aspects and/or aspects as defined by the appended claims. Furthermore, although elements of the described aspects may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated. Additionally, all or a portion of any aspect and/or aspect may be utilized with all or a portion of any other aspect and/or aspect, unless stated otherwise.
Number | Date | Country | |
---|---|---|---|
60793660 | Apr 2006 | US |