Patent Publication Number: US-8122036-B2

Title: Method and apparatus for generating customized maps

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates generally to generating maps, and more specifically to generating maps that are customized for a user. 
     Companies, organizations, and groups often have a need to provide custom maps to its customers. For example, a company may want to provide a custom map to certain of its customers as a marketing promotion or a customized brochure. 
     The generation of geographic maps that are customized for particular customers is often a tedious process that typically involves a large amount of manual labor. As a result, the generation of customized maps has traditionally been a costly and time-intensive process that may limit the overall throughput of communications for an organization. 
     Further, the delivery of geographic maps to customers is often through a brochure. For example, a wireless telephone service provider often provides maps showing regions of coverage to its customers via a brochure that the service provider hands to its customers when the customer requests information about a service. A wireless telephone service provider may also mail a brochure to its customers, such as if the service provider has updated the areas of coverage for its customers on a particular plan. 
     BRIEF SUMMARY OF THE INVENTION 
     There remains a need to more efficiently produce and deliver maps that are customized for a particular recipient or recipients. 
     In accordance with the principles of one aspect of the present invention, maps may be custom generated, easily and rapidly, responsive to the needs of each customer. In one embodiment of the present invention, a method and system for generating a map includes a database for storing a list of recipients and characteristics associated with each recipient in the list of recipients. The method and system may also include a control module for receiving a characteristic associated with at least one recipient in the list of recipients. Examples of the predetermined characteristic include location data, revenue, product ownership, customer status, tenure with a particular company, organization, payment status, credit rating, and responses to previously sent material. 
     In a specific embodiment, the method and system may include a rule engine that enables the use of programmable rules to generate a map based at least in part on the characteristic associated with the at least one recipient. The rule engine includes a data validation and data processing module for validating and/or processing data associated with the map, and a mapping rule engine for generating the map. The rule engine may also include a maps database for storing the map generated by the rule engine. In yet another embodiment, the rule engine further includes a geo-processing module. The geo-processing module paints each layer of geo elements (e.g., lines, points, filled polygons, etc.) according to their corresponding geo coordinates (e.g., latitude or longitude) based on the maps rules specified. 
     Other embodiments of the invention may include: a map creation and disbursement rules database for storing data associated with the creation and disbursement of the map; a mapping attributes database for storing attributes of the map; a polygon generation module for generating at least one polygon for the map generation; and a communication module for communicating the map to the at least one recipient. The communication may be via email or via paper. The method and system can also receive feedback regarding the map. 
     These and other advantages of the invention will be apparent to those of ordinary skill in the art by reference to the following detailed description and the accompanying drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1A  is a block diagram of a map generation system used to generate customized maps in accordance with an embodiment of the present invention; 
         FIG. 1B  shows a high level block diagram of a computer system which may be used in an embodiment of the present invention; 
         FIG. 2  shows a block diagram of a software architecture used to generate customized maps in accordance with an embodiment of the present invention; 
         FIG. 3  is a flowchart showing the steps performed by the map generation system to generate customized maps; and 
         FIG. 4  is a diagram of a customized map output provided by the map generation system. 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 1A  is a block diagram of a map generation system  100  used to generate customized maps (e.g., textual maps, geographic maps, or tables). The system  100  includes a mapping module  104  and a communication module  108 . The mapping module  104  is the module responsible for generating customized maps. The communication module  108  is responsible for communicating the customized map(s) to particular recipients. The map generation system  100  enables customization of maps using one or more rules. In particular, the rules are used to guide and control the customization of a map to a characteristic of a recipient or group of recipients. In one embodiment, the rules enable a user without programming knowledge to adjust the customization of a map. A rule can specify how to create a customized map and/or a characteristic of a recipient to which the map will be delivered. 
     An example of a rule is to color a specific area code and/or zip code on a map a particular color. A user of the system  100  inputs a map creation rule stating that maps created for recipients who live in State A should color the towns associated with area code  123  a specific color (e.g., to represent a particular price for dialing someone in area code  123 ). 
     The rules are input into the system  100  via a control module  112 . The rules can also be edited via the control module  112 . In one embodiment, the control module  112  also enables a user to input marketing content, such as presentations and customer lists, into the system  100  for use in creating customized maps. 
     The control module  112  stores these rules in a map creation and disbursement rules database  120 . The map creation and disbursement rules database  120  may also store rules associated with the disbursements associated with a map. For example, the map creation and disbursement rules database  120  maintains a collection of data needed to create custom maps, such as customers&#39; addresses, postal codes, and telephone numbers. The disbursement of a map refers to how customized maps are disbursed to potential target recipients. Some sample rules include 1) send both printed copy on glossy paper and email to recipients with sales potential of more than certain limits, and 2) send email reminders within certain days of original map sent date for recipients who have not responded in certain days. 
     The control module  112  is also in communication with a mapping attributes database  116 . The mapping attributes database  116  is a database that stores mapping attributes, such as a map&#39;s color, size, location on a page, etc. 
     The mapping module  104  generates a customized map for particular recipients. The mapping module  104  includes a processing module  124  that processes the data received from the control module  112 . The processing module  124  also includes a data validation and data processing module  128  in communication with a mapping rule engine  132 . Both of these modules  128 ,  132  are in communication with a geo-processing block  136 . 
     The mapping module  104  receives input about the customizable map(s) from the mapping attributes database  116  and the map creation and disbursement rules database  120 . Specifically, the mapping attributes stored in the mapping attributes database  116  are transmitted to the data validation and data processing module  128 . Similarly, the map creation and disbursement rules are transmitted to the data validation and data processing module  128 . The data validation and data processing module  128  processes and/or validates the data that the module  128  receives. The data validation includes validating and normalizing address information. The resulting address needs to be geo-coded (i.e., the process of finding the exact coordinates in terms of, for instance, latitude and longitude). 
     The mapping module  104  also includes a polygon generation module  140 . The polygon generation module  140  generates polygons for the map(s). The polygon generation module  140  transmits the generated polygon(s) to the mapping rule engine  132  for use in generating the map. In one embodiment, the polygon generation module  140  generates boundary lines for the map. 
     The geo-processing module  136  receives input from the data validation and data processing module  128  as well as the mapping rule engine  132 . The geo-processing module  136  paints each layer of geo elements (e.g., lines, points, filled polygons, etc.) according to their corresponding geo coordinates (e.g., latitude or longitude) based on the maps rules specified. The output of the geo-processing module  136  is a customized map that is stored in a maps database  144 . 
     The maps database  144  provides its output to the communication module  108 . In particular, the customized output of the maps database  144  is transmitted to a communication rule engine  148 . 
     The communication rule engine  148  requests and receives information about one or more recipients (e.g., individuals or companies) associated with a predetermined characteristic from a target lists database  152 . The characteristic can be any attribute of the recipient. The recipient lists stored in target lists database  152  are generated from a variety of sources, such as from existing enterprise systems, from users of the system  100 , from third parties, etc. Data mining techniques, such as scoring or segmentation, are also used on the target lists database  152  to retrieve particular recipients from the lists. As described above, the predetermined characteristics may include location data, revenue, product ownership, customer status, tenure with a particular company, organization, payment status, credit rating, whether the recipient(s) have responded to previously communicated material, etc. 
     The communication rule engine  148  then determines whether to transmit the customized map to the recipients having a predetermined characteristic via email using an email rendering engine  156  or via paper using a paper rendering engine  160 . The communication module  108  then produces output  164 . Output  164  may be one or more emails with the maps as an attached document (or part of the email) or may be one or more printouts of the map. The output  164  can be, for example, emails, collaterals, brochures, textual materials, image and video information, etc. 
     The previous and following description describes the present invention in terms of the processing steps required to implement an embodiment of the invention. These steps may be performed by an appropriately programmed computer, the configuration of which is well known in the art. An appropriate computer may be implemented, for example, using well known computer processors, memory units, storage devices, computer software, and other components. A high level block diagram of such a computer is shown in  FIG. 1B . Computer  170  contains a processor  174  which controls the overall operation of computer  170  by executing computer program instructions which define such operation. The computer program instructions may be stored in a storage device  178  (e.g., magnetic disk) and loaded into memory  182  when execution of the computer program instructions is desired. Computer  170  also includes one or more interfaces  186  for communicating with other devices (e.g., locally or via a network). Computer  170  also includes input/output  194  which represents devices which allow for user interaction with the computer  170  (e.g., display, keyboard, mouse, speakers, buttons, etc.). The computer  170  can represent, for example, the mapping module  104 , the communication module, and/or the control module. 
     One skilled in the art will recognize that an implementation of an actual computer will contain other components as well, and that  FIG. 1B  is a high level representation of some of the components of such a computer for illustrative purposes. In addition, one skilled in the art will recognize that the processing steps described herein may also be implemented using dedicated hardware, the circuitry of which is configured specifically for implementing such processing steps. Alternatively, the processing steps may be implemented using various combinations of hardware and software. Also, the processing steps may take place in a computer or may be part of a larger machine. 
       FIG. 2  shows a block diagram of a software architecture  200  used to generate customized maps in accordance with an embodiment of the present invention. The components of the software architecture  200  provide flexibility, scaling, and extensibility to media. Recipients may be automatically profiled and maps disseminated according to customizable rules. Moreover, the architecture  200  can receive responses from the recipients regarding a map. The architecture  200  enables the tracking and monitoring of how effective a map is at communicating what the map intends to communicate based on responses received from recipients. 
     The software architecture  200  facilitates the automatic generation of custom maps. In particular, the software architecture  200  automatically profiles recipients from a target list. This profiling is subject to programmable rules. 
     The software architecture  200  includes a web interface  204 . The web interface  204  enables a user of the architecture  200  to provide rules to the architecture  200  and/or to provide instructions as to what characteristic to search for. The web interfaces  204  communicate with a second layer  206  of software. The second layer  206  of software includes the control module  208 . As described above, the control module  208  enables input of and editing of textual marketing content used in the creation of customized map(s). 
     The second layer  206  of software also includes a rule engine  212 , a mapping engine  216 , and a rendering engine  220 . The rule engine  212  processes rules to facilitate the generation of one or more custom maps. The rules can be provided as input or can be retrieved from a rules database  224 . The mapping engine  216  generates custom maps from the rules and the characteristics. The rendering engine  220  facilitates the rendering of the map into a paper format or an email. In one embodiment, one or more of the components in the second layer  206  of software are combined into a single module. 
     One or more of these engines communicate with one or more databases  228 . The databases  228  include the rules database  224 , a target lists database  232 , a maps database  236 , a mapping attributes database  240 , and a rate centers polygons database  244 . The mapping engine  216  communicates with the rate centers polygons database  244  to enable the generation of a map that provides information to users on how pricing information varies geographically for a particular product/service. The rules used by the rule engine  212  may be associated with recipients stored in the target lists database  232 . In one embodiment, the mapping engine  216  uses the mapping attributes database  240  to obtain attributes for a particular map, such as its shape, color, line width, etc. One or more of these databases can be combined into a single database. 
     The software architecture  200  may also increase marketing effectiveness. The architecture  200  enables recipients of the map(s) to provide input regarding the map(s). This input may be what the recipient thought of the map, how well the map portrayed its areas of interest, how well the map was customized to the particular recipient, etc. 
       FIG. 3  shows the steps performed by the map generation system to generate customizable maps. First, the map generation system receives a characteristic of at least one recipient that the user would like to customize a map to in step  302 . The map generation system then identifies at least one recipient associated with a characteristic in step  304 . In one embodiment, the map generation system searches its database(s) for recipient(s) associated with (e.g., having or not having) the characteristic. 
     The map generation system may then receive one or more map creation rules in step  308 . These map creation rules can be, for example, rules designating how the map is to be formed. An example rule is that the map has all areas in which calls cost more than $X per minute colored yellow on the map. 
     The map generation system then, in step  312 , generates a map based at least in part on the characteristic using the received map creation rule. The map generation system then transmits the map to the at least one recipient having the characteristic in step  316 . The map generation system may then receive feedback in step  320  from the at least one recipient about the customized map. 
       FIG. 4  is a diagram of a customized map output  400  provided by the map generation system. In one embodiment, the customized map output  400  includes one or more of a map  404 , a letter  408  describing the map  404 , and a table  412 . 
     The letter  404  describes the map and, in one embodiment, the table. The map  404  is a map customized for Customer A. For example, the map  404  may focus on a particular area that Customer A has local wireless calls from. The table  412  lists the area codes, local exchanges, and towns associated with the map  404  (and, for example, associated with Customer A&#39;s local calling area). 
     For example, the table  412  indicates that the map  404  includes area code  530  and local exchange  766 . This corresponds with Sacramento. Thus, Customer A can make a local call to Sacramento. 
     The foregoing Detailed Description is to be understood as being in every respect illustrative and exemplary, but not restrictive, and the scope of the invention disclosed herein is not to be determined from the Detailed Description, but rather from the claims as interpreted according to the full breadth permitted by the patent laws. It is to be understood that the embodiments shown and described herein are only illustrative of the principles of the present invention and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention. Those skilled in the art could implement various other feature combinations without departing from the scope and spirit of the invention.