This disclosure relates to a system, method, and computer-readable device configured to receive demographic and geographical information and create a unique global address therefrom. For example, the system comprises at least one processor configured to receive account information describing the remote user and global location data describing a remote location, validate the received information and data, determine navigational data, create a location code, and send the location code to a remote device.
Legal claims defining the scope of protection, as filed with the USPTO.
. A computer-implemented method comprising:
. The computer-implemented method of, wherein the determining the travel instructions to access the target location further comprises:
. The computer-implemented method of, further comprising:
. The computer-implemented method of, wherein the modified machine-readable optical image further comprises an error-correction code word that enables the device to locate and correct an error in at least a portion of the travel instructions caused by the decode.
. The computer-implemented method of, further comprising:
. The computer-implemented method of, wherein the positioning information indicates at least one of latitude information associated with a landmark, longitude information associated with the landmark, or altitude information associated with the landmark.
. The computer-implemented method of, wherein the device comprises an emergency response device, wherein an interaction with the modified machine-readable optical image facilitates a response to an emergency event by the emergency response device.
. A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations comprising:
. The non-transitory computer-readable medium of, wherein the determining the travel instructions to access the target location further comprises:
. The non-transitory computer-readable medium of, the operations further comprising:
. The non-transitory computer-readable medium of, wherein the modified machine-readable optical image further comprises an error-correction code word that enables the device to locate and correct an error in at least a portion of the travel instructions caused by the decode.
. The non-transitory computer-readable medium of, the operations further comprising:
. The non-transitory computer-readable medium of, wherein the positioning information indicates at least one of latitude information associated with a landmark, longitude information associated with the landmark, or altitude information associated with the landmark.
. The non-transitory computer-readable medium of, wherein the device comprises an emergency response device, wherein an interaction with the modified computer-readable optical image facilitates a response to an emergency event by the emergency response device.
. A system comprising:
. The system of, wherein the determining the travel instructions to access the target location further comprises:
. The system of, the operations further comprising:
. The system of, wherein the modified machine-readable optical image further comprises an error-correction code word that enables the user device to locate and correct an error in at least a portion of the travel instructions caused by the decode.
. The system of, the operations further comprising:
. The system of, wherein the device comprises an emergency response device, wherein an interaction with the modified machine-readable optical image facilitates a response to an emergency event by the emergency response device.
Complete technical specification and implementation details from the patent document.
This application is a continuation of U.S. patent application Ser. No. 18/179,618, filed Mar. 7, 2023, which is a continuation of U.S. patent application Ser. No. 17/750,073, filed May 20, 2022, which is a continuation of U.S. patent application Ser. No. 16/055,775, filed Aug. 6, 2018, which is a continuation-in-part of U.S. patent application Ser. No. 15/461,100, filed Mar. 16, 2017, which are all incorporated by reference herein in their entirety.
This disclosure relates to a system, method, and computer-readable device for creating a global address code, in particular, a global address code to provide a uniform address code for any location in the world and to aid in the delivery of services or goods.
Correct addressing is of great importance for enabling the localization of persons, objects, companies and other entities. Correct addressing can furthermore contribute to environmental planning, give a strong impulse to regional, continental and global welfare and facilitate economic, political and social interaction. However, there are regions in the world where addressing is underdeveloped or even absent. Postal codes, street names and/or house numbers are not provided, not logically structured, and/or not registered in a central database. Hence, persons, objects, companies and other entities cannot be easily found and mail and packages are not reliably delivered. As a result, mail carriers refuse to deliver to unmarked locations that do not currently have an assigned street address. This causes unnecessary confusion and can delay the economic development of a region. Delivery systems are known which allow for setting a drop-box as an alternative to an unclear address. The number and availability of drop-boxes are, however, simply too limited.
Even in locations where government-recognized addresses exist, mail carriers still refuse to deliver to certain rural locations. The United States Postal Service provides delivery services using either city carriers, rural carriers, or contract carriers. When a rural delivery route does not serve a minimum of one family per mile, that delivery route may be converted to contract delivery route. But, the contract delivery routes must still meet a certain criteria, otherwise the USPS and its contract carriers will not service that address. If an address is not on a publicly maintained road, is not kept clear of ice and snow in the wintertime, and/or is not less than a half-mile from the carrier's current line of travel, the address will not qualify for delivery service. When an address does not qualify for delivery service, the affected family, individual, or company must establish a drop box in a qualifying location or rent a post office box to receive mail.
Currently, mail carriers require the use of data networks (e.g., the internet or a cellular data network) to deploy their methods and systems. For example, as U.S. Pat. Publ. No. 2016/0092456 discloses a location identifier as a barcode that includes, among other things, a barcode ID, service data, zip code, and grid coordinates. When the barcode is scanned, a device must query the Internet to retrieve the grid coordinate information. Additional delivery systems and methods, such as U.S. Pat. No. 7,797,104, disclose systems and methods where navigation and routing information is also available from Internet sites. U.S. Pat. No. 8,725,407 describes a mapping system that is in electronic communication with other systems/devices over wired or wireless networks. Each of these methods explicitly require access to the Internet, a wired, or a wireless network to function. None of the systems can operate in rural areas outside a cellular data network.
Additionally, local, state, and national government entities maintain databases that store information describing a publicly maintained road and transportation network. However, the government does not track or store information describing roads, paths, trails, etc. that are located in rural areas or are located on private property. In some jurisdictions, the government does not keep track of any road or transportation network information.
According to a first aspect, the present disclosure provides a system, method, and tangible computer-readable device for creating a global address. Specifically, the present disclosure provides a system, method, and computer-readable device comprising a memory, at least one processor or processing module, and a communications link capable of facilitating data transmissions between a remote device associated with a specific remote user and the processor or processing module. The system's processor or processing module are configured to receive account information and location data, describing a specific user and a specific global location, respectively. Upon validating the received information and data, the processor determines turn-by-turn navigational data for the receiving location. The processor is further configured to create a location code based at least in part on the received account information, the received location data, and the determined navigational data.
In an embodiment, the present disclosure further provides a method for requesting a global address. The method includes sending account information and global location data to a remote computer. In an embodiment, the global location data may include at least one of longitude, latitude, and altitude of a specific global location. The method further includes receiving a location code from the remote computer. In an embodiment, the location code is based at least in part on a combination of the account information, the specific global location, and the turn-by-turn navigational data. The location code may be encoded into a QR code, printed, and used a physical label. Furthermore, the encoded global location and turn-by-turn navigational data may be decoded, even in rural areas outside a cellular data network.
In an embodiment, the account information may include a username and/or password. In yet another embodiment, the system, method, and computer-readable device may provide an interactive map to a remote user to obtain location data based on the user's selection.
As required, a detailed illustrative embodiment of the present invention is disclosed herein. However, techniques, systems and operating structures in accordance with the present disclosure may be embodied in a wide variety of forms and modes, some of which may be quite different from those in the disclosed embodiment. Consequently, the specific structural and functional details disclosed herein are merely representative, yet in that regard, they are deemed to afford the best embodiment for purposes of disclosure and to provide a basis for the claims herein, which define the scope of the present invention. The following presents a detailed description of a preferred embodiment as well as alternate embodiments such as a simpler embodiment or more complex embodiments for alternate devices of the present invention.
In countries around the world, many geographical addressing systems have been created in order to identify or describe a geographic location of a specific residence, business, street address, etc. Each country or principality has adopted its own version of such geographic addressing systems. For example, in the United States one generally identifies/describes a geographic location using a street number, street name, city, state, and a zip code that includes up to nine numerical digits. Other countries also use postal codes similar to the United States zip code. However, in countries like Canada, the postal code may indicate on which side of a residential street a person lives. In the United Kingdom, there are at least six valid postcode formats that mix and match alphanumeric characters to create an outward code and an inward code. In many countries and principalities around the world, there are geographic locations that do not have any type of addressing system. Rural areas such as areas outside Erbil city in Kurdistan, Iraq, have no existing address systems. Thus, in some areas of the world, very complex addressing systems are in place, while other portions of the world have no such system at all.
In view of the foregoing, there exists a need for an improved system, method, and apparatus for creating a globally recognized addressing system. Furthermore, there exists a need for an improved system, method, and apparatus to provide navigational data to rural or remote locations that are not serviced by a mail carrier and/or are located in an area outside a data communications network.
This disclosure provides a method and system for creating a unique global address code for any location in the world. The disclosure further provides a localization system for determining or confirming data describing a location, in particular a delivery location for delivery of services or goods, wherein the location can be provided with a uniform address or location code and wherein the address or location code comprises encoded navigational data that can be decoded without the internet or any assistance of a data network.
For illustrative purposes, embodiments, as provided herein, are described with respect to creating a unique global address for locations worldwide. A skilled artisan would recognize that the techniques disclosed herein can be applied to other sorts of personal and/or entity information.
illustrates a functional block diagram of an exemplary global addressing system, useful for implementing various embodiments of the present disclosure. As will be described in greater detail below, a user may interact with global addressing systemto create a global address code for a specific global location. As depicted, remote deviceis in electronic communication with at least one computing systemover communications linkand at least one printing deviceover communications link. In an embodiment, remote deviceincludes one or more features to provide additional functionality. For example, the remote devicemay include, for example, processor, global positioning system (“GPS”) receiver, user interface, and communications port. In an embodiment, user interfacemay further include user input/output device(s).
The computing systemlikewise includes one or more features to provide additional functionality. For example, computing systemmay include at least one processor, user interface, and communications port. In an embodiment, processor(s)may additionally include validation module, location module, and global addressing module. In an embodiment, user interfacemay further include user input/output device(s). In an embodiment, computing systemis in electronic communication with global address readerover communications linkand/or at least one database/memory system, i.e., database memory-over communications link
For purposes of this discussion, the term “module” shall be understood to include at least one of software, firmware, and hardware (such as one or more circuit, microchip, processor, or device, or any combination thereof), and any combination thereof. In addition, it will be understood that each module may include one, or more than one, component within an actual device, and each component that forms a part of the described module may function either cooperatively or independently of any other component forming a part of the module. Conversely, multiple modules described herein may represent a single component within an actual device. Further, components within a module may be in a single device or distributed among multiple devices in a wired or wireless manner. As such, one or more modules may be used alone (or in combination) to provide an improved system, method, or apparatus for creating a unique global address code for a specific global location.
Remote deviceis a remote computing device capable of interacting with a remote user. In an embodiment, the remote device may be implemented using a personal computer, a laptop computer, a tablet, a smartphone, or other communications device capable of communicating with computing systemover a communications link. As will be discussed in greater detail below, a remote user may interact with remote deviceto send demographic and/or geographic data, describing a specific person or place, to computing system. Further, as will be discussed in greater detail below, computing systemuses this information to generate a global address describing the specific person or global location.
In an embodiment, remote deviceincludes GPS receiver. GPS receivermay be implemented using either global navigation satellite system (GNSS) type receivers or any other GPS receiver capable of providing the remote device's real-time location.
In an embodiment, user interfacefurther includes input/output device(s). The input/output device(s) may be used to facilitate interactions between a user and the remote device. For example, input/output device(s) include monitors, displays, keyboards, pointing devices, joysticks, buttons, touchscreens, graphical user interface buttons (GUI), etc., that communicate with a processor through user interface. In an embodiment, a user may use a keyboard or touchscreen to enter, or alternatively confirm, demographic and/or geographic information describing a specific person or global location.
In an embodiment, computing systemfurther includes memory. Memoryis implemented as a main or primary memory, such as random access memory (RAM). Memorymay include one or more levels of cache. The memory may have stored therein control logic, such as computer software, and/or data. In additional embodiments, memory may also include one or more secondary storage devices or memory such as a hard disk drive and/or a removable storage device or drive. The removable storage drive may include a floppy disk drive, a magnetic tape drive, a compact disk drive, and/or any other storage device/drive.
In an embodiment, computing systemfurther includes at least one processor. As depicted in, processorfurther includes validation module, location module, global addressing module, road detection module, and/or any other module necessary to perform the functionality described herein. In additional embodiments, processorincludes only a single module or any modules contemplated herein. Each module may be implemented as logic embodied in software, firmware, hardware, and/or operating system implementations in order to perform or carry-out a desired function. Further, as used herein, a module may also be implemented as a collection of software instructions. One or more software instructions in the modules may be embedded in firmware, such as in an erasable programmable read only memory (EPROM). The modules described herein may also be stored in any type of non-transitory computer-readable medium or other storage device.
In an embodiment, the modules are incorporated using a single computing system and processor. In other embodiments, the modules are incorporated using more than one computing system and/or processor. Referring now to, shown is a non-limiting functional block diagram of global addressing system, useful for implementing various embodiments of the present disclosure. As shown, a remote device(such as remote device) is in electronic communication with networkthrough communications link. Networkmay be comprised of computer systems-, each having at least one processor-. The processors may send and receive data to/from other processors within the network and/or remote devicethrough communications infrastructure. For example, in an embodiment, validation module, located within computing system, communicates with remote deviceby transmitting data through communications infrastructureand communications link. In another non-limiting example, location modulelocated within computing system, may send and receive data with global address modulethrough communications infrastructure. In another example, road detection modulelocated within computing system, may send and receive data with global address modulethrough communications infrastructure.
A network (such as networkof) may be implemented as a wide area network (WAN), a local area network (LAN), a metropolitan area network (MAN), or any other network capable of performing the functionality described herein. As such, a communications infrastructure (such as communications infrastructureof) may be a wired and/or wireless connection. Further, the communications infrastructure may operate using a communications protocol such as: long term evolution (LTE), Wi-Fi, Bluetooth, radio-frequency, first generation (1G) wireless technology, second generation (2G) wireless technology, third generation (3G) wireless technology, fourth generation (4G) wireless technology, code-division multiple access (CDMA), frequency division multiple access (FDMA), generic access network (GAN), global system for mobile (GSM), or any other network protocol capable of sending and receiving data between nodes within a network and/or a remote device. Accordingly, networkmay interact with remote deviceover communications linkusing any of the aforementioned protocols.
Various example, non-limiting embodiments, of contemplated software, firmware, hardware, and/or operating system modules shall now be discussed.
A validation module (such as validation moduleofor validation moduleof) may provide security functionality. The validation module may be used to confirm the identity of the user. For example, in an embodiment, the user may be required to create a username and password. In an embodiment, the user may be required to confirm his/her identity using a credit card, a duplication of a passport, or biometric data such as a thumb print, finger print, or a retina scan. In an additional embodiment, a user's social media presence may be used to confirm his/her identity. In additional embodiments, the validation module may also track the IP address, location of the user device, MAC address of the user device, network specifications including cell tower or internet service provider locations, timestamps, and any other data that may be used to confirm the location of the user.
Location moduleand/or location modulemay be implemented to determine and/or confirm geographic data describing a specific person or geographic location. For example, in an embodiment, the location module may generate and provide an interactive map to confirm a geographic location of received user input. The user may interact with the map to select a location on the map. In an embodiment, the user may enter a street address, a city, state, zip code, country, principality or any other geographical identifier and the location module will present the location to the user through a user interface. The user may then manipulate the map display by zooming in and out; by panning up, down, or to any side or angle; by rotating the map clockwise or counterclockwise; or any other means for manipulating a map.
As described above, map vector data may not be available that describes the road network. Map vector data, may for example, be a vector-based collection of geographic information system (GIS) data about Earth at various levels of detail. Being a vector-based data model, it describes the road network as a connection of geographic coordinates (e.g., latitude and longitude), one connected to another. An example, is for example, is a Vector Map (VMAP) format, also sometimes called Vector Smart Map. In the U.S., the government collects that information and stores it in a public database managed by the National Geospatial Intelligence Area. Often, this information may be manually reported to the entity managing the public database. In some areas and countries, public roads may built without registering them in a public database. the desired route may include private roads that are uncharted. The lack of vector map data presents a great technical problem in delivering goods to remote areas.
Various solutions are presented herein to the technical problem herein. Even in cases where vector road map data is unavailable, raster satellite imagery may be available. Various approaches are disclosed for determining a route in the absence of vector map data.
First, in an embodiment, the user may place a marker in the exact spot on a map. Upon receiving confirmation that the selected global position is correct, the location module sends the geographic data to the global address module. In an embodiment the interactive map may be a satellite image. The user may be prompted to draw the delivery route on the interactive map using a mouse, pointer, touchscreen, or any other method for interacting with the map. For example, the user may zoom in on the map to find an road, trail, path, waterway, etc., and draw a suggested delivery route. The system may be configured to auto-correct a user's input. For example, the system may detect that a user-drawn path is drawn on the interactive map within 10 feet of a detected road, trail, waterway, etc.
Second, in another embodiment, location modulemay determine vector map data based on the image data. As mentioned above, the map data may be in raster format, describing satellite photographs on a pixel-by-pixel basis. Embodiments may interpret these satellite photographs to determine map vector data using computer vision techniques.
According to the computer vision techniques applied herein, every object class (such as primary, secondary roads) has its own special features that helps in classifying the class. Object class detection uses these special features. Road detector moduleand/oris configured to detect roads within an images. For example, the Viola-Jones detection technique, normally used for face detection, may be applied here to detect roads. The algorithm may comprise four stages: Haar Feature Selection, creating an integral image, Adaboost Training, and Cascading Classifiers. Using an object detection technique is applied, the pixels of the raster satellite image may be determined.
Once the pixels of the raster satellite image are identified, the latitude and longitude values corresponding to the pixels may be determined. Then, latitude and longitude values are integrated to determine vector map data describing the missing road data. In this embodiment, data describing the newly detected road or pathway is stored in a database and, in an embodiment, the newly detected road or pathway is assigned a unique identifier or name. So, in rural areas where the government does not track or maintain a database describing the unnamed or unknown roads and pathways, this system is capable of detecting and storing this information.
Using the vector map data, the location module may determine a navigational route via newly detected road(s) or pathway(s). The navigational route may be determined, for example, by applying a Viterbi algorithm and may include estimated traversal times. The determined navigational route may include one or more roads or pathways that were previously unnamed, unknown, or did not previously exist in a government-maintained database.
In an embodiment, the location module may be updated to include the most recent database and software updates based on updated satellite images, including any newly assigned unique identifier data.
In an exemplary embodiment, a user may enter “Erbil City, Kurdistan Region, Iraq.” Upon receiving this inquiry, the location module produces a satellite image of the city and its surrounding region as retrieved from, for example, an image database (not shown). The user may then zoom in and pan the image to a desired location, such as a pasture behind his or her own residence using known graphical processing interfaces or interactive mapping technology. Upon placing a marker on the map, the location module will prompt the user to confirm the location. Upon confirming the location, the location module sends the geographic data of the selected location to the global address module.
In an embodiment, the location module may also generate recommended driving, walking, boating, or cycling instructions/directions. The directions may originate from a specific business location in the region, a local airport, bus depot, or any other common hub for public transportation. In such an embodiment, the user may be prompted to confirm the instructions/directions to the rural delivery location. The user may also be prompted to define a more efficient travel route. As an example of such an embodiment, if the user entered the GPS coordinates “47°02′09.4″N 9°00′18.5″E”, the location module would detect a location near Glarus, Switzerland. Upon confirming the location, as described above, the location module would suggest traveling instructions from a Swiss Post Office, the Glarus train station, the Zurich International Airport, the Zurich HauptBahnhof, or any other transportation hub. Such locations may be determined, for example, from a database listing of such hubs identified by coordinates, using an algorithm to determine distances between hubs in the database and the GPS coordinates entered and then select the hubs having the smallest distance value. The user would then either select a suggested travel route or the user may be prompted to draw a more efficient route. Based on the user input, the system will determine geographical coordinates for drawn path and using the geographical coordinates the system determines navigational directions.
In an embodiment, the navigational directions may also begin at a known structure or landmark, such as a religious building, a hospital, a shopping center, convenience store, a geological feature, or another known feature that is directly accessible from a public transportation network. For example, the first navigational instruction may instruct the user to navigate to the known location, and from the known location, begin traveling on roads or paths outside the publicly-maintained transportation network. Based on the user input, the system will determine geographical coordinates for drawn path and using the geographical coordinates the system determines navigational directions.
In an embodiment, the location module may determine a road, path, or waterway network using a road map comprising government recognized roads and a satellite image comprising remote and/or rural paths. The network map may be refined and represented using a direct graph. The network map is then converted into the global coordinate, which is much more convenient for performing navigational tasks than the other types of coordinate. Using the global coordinates of the map, the shortest path for motion is estimated using a heuristic searching method. In an embodiment where the path is drawn by the user, the location module may be configured to adjust the drawn path to match up with the network map and/or the remote and rural paths of the satellite image. The location module may then assign global coordinates to the drawn path and determine the navigational data/instructions.
Global address moduleand/or global address moduleis used to generate a specific global address or global address code based on demographic and/or geographic data describing a specific person or geographic location. In an embodiment, the global address module receives user input, processes the received embodiment, and generates the global address code. In an embodiment, the received user input describes a specific global location. The user input describing a specific location may include at least one of: a nationally recognized street address, residential or commercial property, business name, resident name, longitude, latitude, and altitude. In an embodiment, the global address module may receive specific location data from the location module. In an additional embodiment, the specific location data may be received from the user directly. The generated global address code will be discussed in greater detail below, with reference to.
Database/Memory-and/or Database/Memory-may be implemented within networkto provide additional storage space. In an embodiment, Database/Memory-and/or Database/Memory-may be configured to store a list of roads, paths, trails, riverbed, abandoned railway, or other navigational landmarks that may be useful in navigating from one location to another location in a rural, remote, nomadic, or adventure location. In embodiments where the road, path, trail, etc., is not a government-recognized or publicly-maintained byway, the database may be configured to assign a unique name or identifier for each road, path, trail, or landmark.
For example, the location module, as described above, may determine navigational directions that follow a mountainous trail that begins near a unique geological formation. The determined navigational direction may include specific directions to the geological formation and then changing course by traveling east, 100 meters after the unique rock formation. In such an embodiment, the system will assign the turn, e.g., fork, in the path and/or the geological formation a unique name or identifier and store data describing the fork and/or rock formation in Database/Memory-and/or Database/Memory-. The same process may be performed in areas where a new, unnamed, road is created or a new delivery location is requested. In an embodiment, the unique name or identifier may be one or more descriptive words, a global position describing the location, or a series of alphanumeric characters.
Assigning and storing data describing areas where a new, unnamed, road is created or for other landmarks offers at least three benefits not offered by current systems and methods. First, the disclosed method provides more clear and accurate navigational data/instructions based on the roads, paths, and landmarks not tracked or otherwise known. Second, the disclosed method provides a solution for areas or jurisdictions that do not track or maintain data describing a rural road or transportation network. Third, by creating and storing unique identifiers for the new roads or other landmarks, the amount of data to be encoded into a QR code is reduced.
In an embodiment, the Database and Memory systems may also store code words for commonly-used directions. For example, for a navigational direction “turn right at the next intersection,” the system may store an acronym such as “tratni” or it may be assigned an alphanumeric code such as “tr4.” Employing code words may reduce the amount of data required to encode and decode the navigational data. Further, the systems used to encode and decode the QR codes, as described herein, may be configured to store a list of commonly-used directions in local memory.
Various example, non-limiting embodiments, of contemplated global address creation methods shall now be discussed.
illustrates method, a method for creating a global address using the global addressing systems illustrated in, as described above. At step, the system receives a request for a global address from a remote user.
At step, the system determines whether to use the remote user's current location or a different location. This determination may be performed by prompting the remote user to select a “use current location” option and/or based on the information received at step. For example, the information received at stepmay indicate that the user's current location is to be used. Such information may include a checkbox, graphical user interface, web-form, or saved preferences based on a user account indicating the remote user's selection.
At step, the system determines whether GPS data is available. If the GPS data is available, the system advances to step, where it is determined that the remote device is associated with the remote user. Stepwill be discussed in greater detail below. If the GPS data is not available, the system may prompt the remote user to turn on the device's GPS system (not shown) or the system may automatically advance to step.
At step, the system prompts the user for demographic and/or geographic information to be used in creating a global address and/or a user account. Demographic data may include: first name, last name, age, gender, household information, etc. Geographic information may include: current street address (when possible), zip code (when possible), global latitude, global longitude, elevation, or any other information that may be used to identify a specific global location. In an embodiment, stepmay further include providing an interactive map where the user may place a map indicator over the specific global location. In an embodiment, the interactive map will assist the system in determining the latitude, longitude, and altitude of the indicated location.
At step, the system receives the information from the remote user. In an embodiment, stepmay further include checking the received data for errors. For example, if the received information provides a global location that is on a mountain top, in the ocean, or another uninhabitable place, the system may return to step. In an embodiment, the system may confirm that the mountain top, ocean, or other inhabitable place is indeed the intended delivery location, and advances to the next step.
Unknown
April 7, 2026
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.