System and method for user interaction with virtual geographic zones

A system and method for user interaction includes a network, a server connected to the network, an administrator device receiving information from a global positioning system and connected to the network, a user device receiving information from the global positioning system and connected to the network. The administrator, having the administrator device, defines a set of virtual geographic zones and sub-zones in which the user device is tracked, and saves the set of virtual geographic zones and sub-zones to an administrator account on the server. The user downloads a user application, sets-up a user account, and downloads the set of virtual geographic zones and sub-zones. As the user, having the user device, moves through the virtual geographic zones and sub-zones the location of the user device is determined and a set of administrator-defined actions are executed on the user device based on the location of the user device.

FIELD OF THE INVENTION

The present invention relates to communications, namely electrical and telecommunications. More particularly, the present invention relates location-based data processing.

BACKGROUND OF THE INVENTION

As wireless devices proliferate, including smartphones and tablet computers, marketers are facing increasing competition for the attention of consumers. For example, the television industry has recently started using mobile phones to drive live television viewing through mobile phones. In 2012, 86% of Americans use their mobile phone while watching television. As a result, marketers have increased the amount spent on online advertising attempting to reach mobile phone users through advertising. From 2011 to 2012, marketers have increased online advertising spending by 21.7% compared to an increase in spending of only 4.5% for television advertising. However, difficulties in reaching a target consumer base remain prevalent because mobile phone users are not constantly browsing online.

With the increase in technological sophistication of wireless devices over time, marketers have attempted to find a solution in the prior art to target consumers using wireless devices with limited success. For example, U.S. Pat. No. 7,321,773 to Hines, et al. discloses an area watcher wireless feature with a database of geographic areas triggering the wireless area watcher to display a message upon particular wireless device's entry into or exit from a watched area. A watched area is defined by a postal code, principality, state or country, or by a particular cell site area. The area watcher wireless feature is implemented into a wireless service provider's network to watch the wireless device. However, the system in Hines relies on the infrastructure of a wireless network service provider to implement the watcher feature and to define the watched areas leading to an expensive system that cannot be customized.

U.S. Pat. No. 7,995,996 to Link, et al. discloses providing target advertisements over wireless network from local advertisers pre-registered to advertise. Local advertisers register to advertise on wireless devices that are in close proximity to the advertiser. As a consumer enters a cell site that is near the location of the local advertiser, the wireless network delivers a message to the wireless device of the consumer that is specified by the local advertiser. However, the system in Link relies on the location and the range of cellular towers leading to an inaccurate location of the wireless device. Further, such reliance on the range of the cellular towers results in fixed areas within which the consumer must be and cannot be customized to suit the local advertiser.

WIPO Patent Publication No. 2010/078616 to Wood, et al. discloses a mobile device managing arrangement for service and product information by a wireless fidelity network through hand-held devices interacting with a precinct database. In Wood, the precinct database stores vendors, products, services, and information for each precinct. A precinct is a predefined region in which a customer with the mobile device can access information about the vendors, products, services within the precinct. The precinct is equipped with proximity short range wireless equipment, in the form of a pad or a gate. In order to access the information from the precinct database, the customer must place the mobile device within the range of the proximity pad or gate to access the information. However, the system in Wood relies on the wireless fidelity network and a cellular network to locate the mobile device leading to an inaccurate location because the range of the wireless fidelity network and the range of the cellular network cannot conform to the shape of the building in which the customer is desired to be located and cannot be customized. Further, the wireless fidelity network for the determination of the location can be compromised through the use of a wireless fidelity network repeater to extend the reach of the network to unauthorized areas.

Referring toFIG. 1, in a prior art example of a “proximity system” is shown. The prior art proximity systems have several limitations. Building150has perimeter151. Wi-Fi router152is mounted in building150and has range153. One limitation is that coverage of range153is indistinct and varies around perimeter158. Further, some areas are exclusion. For example, areas156and157are not covered by range153of Wi-Fi router152. Further, undesired reception of the Wi-Fi signal occurs. For example, Wi-Fi repeater154broadcasts repeater range155. This is a problem because wireless device159is able to access range153of Wi-Fi router152through Wi-Fi repeater154hence providing coverage beyond what is intended. Further, range153cannot be precisely determined due to the “fuzziness” of range153, thereby allowing an unintended user of wireless device159to access range153of Wi-Fi router152by being in close proximity to range perimeter158.

The prior art fails to disclose or suggest a system and method for creating customizable virtual geographic zones to enable administrators to accurately interact with users. Therefore, there is a need in the prior art for a system and method for creating accurate virtual geographic zones that cannot be compromised to allow an administrator to inexpensively and accurately interact with users.

SUMMARY

In a preferred embodiment, a system and method for message delivery to a user is disclosed. The system includes a network, a server connected to the network, an administrator device receiving information from a global positioning system and connected to the network, a user device receiving information from the global positioning system and connected to the network.

In a preferred embodiment, an administrator defines a set of virtual geographic zones and sub-zones in which the user device is tracked, and saves the set of virtual geographic zones and sub-zones to an administrator account on the server. The user downloads a user application, sets up a user account that includes a user ID and a verification, and downloads the set of virtual geographic zones and sub-zones. As the user moves into and out of the virtual geographic zones and sub-zones, the location of the user device is determined and a set of administrator-defined actions are executed by the user application on the user device based on the location of the user device.

In one embodiment, the set of administrator-defined actions is a set of advertisements that are displayed on the user device based on the location of the user device. In another embodiment, the set of administrator-defined actions is a set of discount coupons for products and services of the administrator to be redeemed at a point-of-sale based on the location of the user device. In this embodiment, the set of discount coupons are displayed on the user device when the user enters a retail store zone of the administrator. In another embodiment, as the user moves through each sub-zone of a retail store zone of the administrator, information about various products located in each sub-zone, including a location of each product, is displayed on the user device as the user moves through each sub-zone.

In another embodiment, the set of actions is a retail store event, during which the user must be present to win a prize. In this embodiment, the user must locate a predetermined sub-zone of the administrator within a predetermined time period in order to redeem the prize. The user application determines the location and time of the user device and sends the location and time to the server. The administrator may monitor the location of the user in real-time.

In one embodiment, the user application intermittently monitors the location of the user device at a predetermined frequency in real-time to determine an engagement of the user device with the zone, i.e., if the user device is at, within, or nearby the boundary of the zone. In this embodiment, the user application determines a predicted path for the user device relative to velocity of the user device, determines a zone equation for the zone, compares the predicted path to the zone equation, and the engagement of the predicted path with the zone equation is determined from the comparison.

In one embodiment, a polygonal zone is deployed which clearly distinguishes from the proximity based systems of the prior art.

DETAILED DESCRIPTION

It will be appreciated by those skilled in the art that aspects of the present disclosure may be illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Therefore, aspects of the present disclosure may be implemented entirely in hardware, entirely in software (including firmware, resident software, micro-code, etc.) or combining software and hardware implementation that may all generally be referred to herein as a “circuit,” “module,” “component,” or “system.” Further, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.

Any combination of one or more computer readable media may be utilized. The computer readable media may be a computer readable signal medium or a computer readable storage medium. For example, a computer readable storage medium may be, but not limited to, an electronic, magnetic, optical, electromagnetic, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the computer readable storage medium would include, but are not limited to: a portable computer diskette, a hard disk, a random access memory (“RAM”), a read-only memory (“ROM”), an erasable programmable read-only memory (“EPROM” or Flash memory), an appropriate optical fiber with a repeater, a portable compact disc read-only memory (“CD-ROM”), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. Thus, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.

Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, Objective C, C++, C#, VB.NET, Python or the like, conventional procedural programming languages, such as the “C” programming language, Visual Basic, Fortran 2003, Peri, COBOL 2002, PHP, ABAP, dynamic programming languages such as Python, PHP, HTML, AJAX, Ruby and Groovy, or other programming languages. The program code may execute entirely on a user device, partly on the user device, entirely on an administrator device, partly on the administrator device, as a stand-alone software package, partly on the user device and partly on a network server, partly on the administrator device and partly on the network server, or entirely on the network server. In the network server scenario, the network server may be connected to the user device and/or the administrator device through any type of network, including a local area network (“LAN”) or a wide area network (“WAN”), or the connection may be made to an external computer connected to the user device or the administrator device (for example, through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a Software as a Service (“SaaS”).

Referring toFIG. 2A, system200includes virtual geographic zone (“VGZ”) server201connected to network202, administrator device203connected to network202and receiving information from global positioning system (“GPS”)204, and user device205connected to network202and receiving information from GPS204.

User device205includes processor215, memory216connected to processor215, and receiving information from GPS receiver218connected to processor215. User application217is stored in memory216and processor215executes user application217.

It will be appreciated by one of ordinary skill in the art that any navigation system may be employed to determine the location of administrator device203and user device205.

In a preferred embodiment, an administrator associated with administrator device203interacts with a user associated with user device205using messages, communications, advertisements and services as will be further described below.

In a preferred embodiment, administrator device203is a smartphone. In another embodiment, administrator device203is a personal computer. In another embodiment, administrator device203is a tablet computer. Other suitable computer devices known in the art may be employed.

In a preferred embodiment, user device205is a smartphone. In another embodiment, user device205is a personal computer. In another embodiment, user device205is a tablet computer. Other suitable computer devices known in the art may be employed.

In one embodiment, administrator application213is a computer application executed on a personal computer. In another embodiment, administrator application213is a mobile application executed on a smartphone or tablet computer. In another embodiment, administrator application213is a web application executed through an Internet browser.

In one embodiment, user application217is a computer application executed on a personal computer. In another embodiment, user application217is a mobile application executed on a smartphone or tablet computer. In another embodiment, user application217is a web application executed through an Internet browser.

In a preferred embodiment, VGZ application208is a computer application executed by processor206of VGZ server201. In this embodiment, VGZ application208is a set of machine code instructions that receives and examines data from administrator device203and user device205, saves and retrieves data to and from user database209and/or administrator database210as will be further described below.

In one embodiment, network202is a cellular network providing a data connection to the Internet.

In another embodiment, network202is a local Wi-Fi network providing a data connection to the Internet. In another embodiment, network202is a local network connected to VGZ server201.

In one embodiment, each of user device205and administrator device203accesses GPS204through a GPS repeater as will be further described below.

As used in this application, the term “zone” is a geographic area of any size where an administrator may track the location of user device205. The zone can be any graphical two or three dimensional solid polygon whose sides are determined by geographic points, i.e., latitude, longitude and altitude. A time period may be added to the zone by the administrator to track user device205in the zone during a predetermined time period. The zone type can be “inclusion” where predetermined actions are permitted or “exclusion” where predetermined actions are prohibited. A set of zones are defined and saved by an administrator using administrator device203as administrator zones221as will be further described below.

As used in this application, the term “sub-zone” is a geographic area of any size within a zone where an administrator may track the location of user device205. The sub-zone can be any graphical two or three dimensional solid polygon whose sides are determined by geographic points, i.e., latitude, longitude and altitude. A time period may be added to the sub-zone by the administrator to track user device205in the sub-zone during a predetermined time period. The sub-zone type can be “inclusion” where predetermined actions are permitted or “exclusion” where predetermined actions are prohibited. A set of sub-zones are defined and saved by an administrator using administrator device203as administrator sub-zones222as will be further described below.

As used in this application, the term “action” is a predetermined function of user application217to be executed or to be prohibited from being executed based on the location of the user device relative to a zone or sub-zone as defined by the administrator. In one embodiment, the action is a coupon redeemable at a point-of-sale based on the location of the user device. In another embodiment, the action is an advertisement for display on a user device based on the location of the user device. In this embodiment, the advertisement can be in any combination of an audio, video, pictorial, or graphical format. In another embodiment, the action is a store event based on the location of the user device during which a user must be present in order to receive a prize. In other embodiments, any predetermined function can be defined as an action. A set of actions are defined and saved by the administrator using administrator device203as administrator actions223as will be further described below.

In a preferred embodiment, administrator information220includes an administrator name, an administrator ID, and an administrator verification of an administrator using administrator device203.

In one embodiment, the administrator verification is an alphanumeric password. In another embodiment, the administrator verification is a facial recognition. In another embodiment, the user verification is a fingerprint identification.

As used in this application, a “user event” is a log entry of a user location sent to the VGZ server sent by the user device. Each of user events226is saved into the administrator account of the zone. User events226can be queried for an administrator report.

Users225is a list of users that have received the actions of the zone from the administrator. Users225can be queried for an administrator report.

Administrator reports224is a set of saved queries that an administrator can execute to retrieve information.

User database209includes a plurality of user accounts227. Each user account227includes user information228. In a preferred embodiment, user information is a user ID and a user verification.

In one embodiment, the user verification is an alphanumeric password. In another embodiment, the user verification is a facial recognition. In another embodiment, the user verification is a fingerprint identification.

Referring toFIG. 3A, various zones will be described. Zone350is comprised of a polygonal shape having numerous vertices354,355,356,357,358,359and360. The vertices form a closed loop which can be any shape and have any number of vertices. Zone350is an area in which “actions” are sent to a user by the system.

Zone350includes sub-zones351,352and353. Sub-zone351is comprised of a perimeter including vertices361,362,363and364. The vertices form a closed loop which can be any shape and have any number of vertices. Sub-zone351can have any number of vertices and comprise any shape, so long as it is inside zone350. In the system, sub-zone351receives a sub-set of actions sent to the user in zone350.

Zone350includes “exclusion” sub-zone353. Exclusion sub-zone353is an area bounded by a perimeter formed from365,366,367,368,369and370. Exclusion sub-zone353can have any number of vertices and comprise any shape, so long as it is inside zone350. An “exclusion” sub-zone is a sub-zone in which a sub-set of actions sent to zone350are exclusion so long as the user is within it.

“Hot zone”352is a sub-zone of zone350and is a perimeter formed by vertices371,372,373and374. Hot zone352can have any number of vertices and comprise any shape, so long as it is inside zone350. A “hot zone” is a sub-zone in which actions are actually being sent to a user.

Referring toFIG. 3B, an example of a preferred deployment of the system is described. Retailer300includes cash register301, GPS repeater302mounted within retailer300and product shelves304,305,306,307,308,309,310,311,312,313, and314positioned within retailer300. Priority check-out line316is adjacent to cash register301. Check-out line315is adjacent to priority check-out line316. In one embodiment, Wi-Fi access point303is mounted within retailer300. Of course, other deployments in different locations are possible.

Store zone317surrounds retailer300. Aisle sub-zone318is positioned between product shelves304and305. Aisle sub-zone318is positioned between product shelves304and305. Aisle sub-zone319is positioned between product shelves306and307. Aisle sub-zone320is positioned between product shelves308and309. Aisle sub-zone321is positioned between product shelves310and311. Aisle sub-zone322is positioned between product shelves312and313. Row sub-zone327is adjacent to product shelf314. Cash register sub-zone323is adjacent to door326and cash register301and surrounds check-out line315and priority check-out line316. Hot zone sub-zone324is positioned within aisle sub-zone318adjacent row sub-zone327. Exclusion sub-zone328is positioned within aisle sub-zone322.

In a preferred embodiment, each boundary of store zone317, cash register sub-zone323, aisle sub-zone318, aisle sub-zone319, aisle sub-zone320, aisle sub-zone321, aisle sub-zone322, cash register sub-zone323, hot zone sub-zone324, row sub-zone327, and exclusion sub-zone328is defined by an administrator as will be further described below. In one embodiment, store zone317is defined by recording points329,330,331, and332of store zone317as will be further described below.

User325has user device305running user application217. User device205is in wireless communication with GPS repeater302to determine the location of user device205as will be further described below.

In one embodiment, user device205is possessed by the user. In another embodiment, user device205is possessed by an administrator and “loaned” to the user by the administrator.

As user325moves in and out of store zone317, cash register sub-zone323, aisle sub-zone318, hot zone sub-zone324, aisle sub-zone319, aisle sub-zone320, aisle sub-zone321, aisle sub-zone322, row sub-zone327, the location of user device305is tracked as will be further described below. Predetermined actions of user application217based on the location of user device205are executed or prohibited from being executed as will be further described below.

In one embodiment, as user325moves through each of aisle sub-zones318,319,320,321, and322, and row sub-zone327information about products, including the price, specifications, and the location of the products on shelves adjacent to each of aisle sub-zones318,319,320,321, and322, and row zone327, discount coupons for the purchase of the products located in each of aisle sub-zones318,319,320,321, and322, and row zone327are displayed actions on user device205by user application217.

In another embodiment, as user325moves into hot zone sub-zone324user application217displays the status of a store event action on user device205. In this embodiment, the status of the store event action is based on a predetermined time within which user325and user device205engage with, i.e., at or within, the boundary of hot zone sub-zone324.

In one embodiment, hot zone sub-zone324is “exclusion.” In an “exclusion” zone, all actions are deactivated except for actions related to store events. In another embodiment, hot zone sub-zone324is “inclusion” and allows other actions, including information about products, including the price, specifications, and the location of the products on shelves adjacent to each of aisle sub-zones318,319,320,321, and322, and row zone327, discount coupons for the purchase of the products located in each of aisle sub-zones318,319,320,321, and322.

In one embodiment, an administrator can verify and monitor the location of user device205in store zone317as will be further described below.

In another embodiment, as user325moves into cash register sub-zone323, user application217determines whether user325can access priority check-out line316or must use check-out line315and displays the determination on user device205. In one embodiment, the determination of whether user325can access priority check-out line316is based on a predetermined amount of money user has spent at store300. In another embodiment, the determination of whether user325can access priority check-out line316is based on a predetermined amount of time user has been a customer of store300.

In one embodiment, exclusion sub-zone328is sub-zone in which the administrator can decline to send actions to a user. In this embodiment actions may be prohibited by law or other limitations so that actions which would otherwise be delivered to the user are not delivered. Instead of an action, a message may be sent to the user regarding the prohibited zone and its boundaries.

Referring toFIG. 4A, administrator set-up method400for an administrator application using a VGZ application will be described. In step401, administrator device203connects to VGZ server201and requests the administrator application. In step402, the VGZ application determines the requirements of administrator402. In step403, the administrator application is downloaded to administrator device203. In step404, administrator device203installs the administrator application. In step405, administrator device203starts the administrator application. In step406, a set of administrator account information is entered into administrator device203to establish an administrator account. In step407, administrator device203sends the set of administrator account information to VGZ server201to request the administrator account. In step408, the VGZ application establishes an administrator account by saving the administrator account information into an administrator database. In step409, VGZ server201sends an account confirmation to administrator device203.

In step410, the administrator application initiates a zone set-up function to establish and define each zone or sub-zone as will be further described below. In step411, the administrator application requests a GPS signal from GPS204. In step412, GPS204determines the GPS signal that includes the position of the GPS satellite at the time the GPS signal is to be sent and the time at which the GPS signal is sent. In step413, the GPS signal is sent to administrator device203. In step414, administrator device203determines its location from the GPS signal. In step415, longitudinal, latitudinal, and altitudinal coordinates of a set of zones and/or a set of sub-zones are entered into administrator device203.

In a preferred embodiment, steps411,412,413,414, and415are repeated to establish and define points of a polygonal zone or a sub-zone as will be further described inFIGS. 4B and 4C.

In step416, the saved set of zones and/or sub-zones is sent to VGZ server201. In step417, VGZ server201saves the sets of zones and/or sub-zones into the administrator account. In step418, an action for each zone and sub-zone is entered. In step419, the entered action is sent to VGZ server201. In step420, VGZ server201saves each action.

Referring toFIG. 4B, method421for establishing a zone and a sub-zone is described in further detail. Method421starts at step422. In step423, a zone type is determined, i.e., whether the zone is “inclusion” or “exclusion.” In step424, the determined zone is defined. In step425, whether all zones have been established is determined. If all zones have not been established, then method421returns to step423. If all zones have been established, then method421proceeds to step425. In step426, whether a sub-zone needs to be established is determined. If no sub-zones need to be established, then method421ends in step431. If a sub-zone needs to be established, then the sub-zone is defined in step427. In step428, the sub-zoned is associated with the zone. In step429, a sub-zone type is determined for the sub-zone, i.e., whether the sub-zone is inclusion or exclusion. In step430, whether all sub-zones have been established is determined. If all sub-zones have not been established, then method421returns to step427. If all sub-zones have been established, then method421ends in step431. Steps424and427are performed as will be further described inFIG. 4C.

Referring toFIG. 4C, method432for defining a polygon for a zone or sub-zone is described in further detail. Method432starts at step433. In step434, a point location of the administrator device is determined as previously described. In step435, the determined point location is recorded in the administrator device. In step436, a decision is made as to whether or not to record additional points as corners of the polygon referencing a zone or subzone. If additional points are to be recorded, then method432returns to step434. In a preferred embodiment, the administrator moves along a desired path and determines and records the set of point locations. The set of point locations are endpoints for sides of a polygon for the zone or sub-zone. In this embodiment, the administrator ends the determination and recording of the set of point locations at the last point location along the desired path and the polygon is closed to the first point.

If no additional points are to be recorded then the process moves to step437. In step437, the polygon is closed to the first point location.

In step438, the determined zone or sub-zone is displayed as a preview. In step439, whether the displayed zone or sub-zone is to be saved into memory is determined. If not saved into memory, then the displayed zone or sub-zoned is cleared in step440and method432returns to step434. If the displayed zone or sub-zone is saved into memory, then method432ends in step441.

Referring toFIG. 5A, user set-up method500for a user application using a VGZ application is described. In step501, user device205connects to VGZ server201and requests the user application. In step502, the requirements of user device205are determined. In step503, the user application is downloaded. In step504, the user application is installed. In step505, the user application is started. In step506, a set of user information that includes a user ID and a user verification is entered into the user application to establish a user account. In step507, the set of user information is sent to VGZ server201and to request the user account. In step508, VGZ application208establishes the user account by saving the set of user information in the user database. In step509, VGZ server201sends a confirmation to user device205. In step510, the confirmation is displayed on user device205.

In step511, the coordinates of a set of zones are determined from each administrator account of each zone of the set of zones. In step512, the coordinates of the set of zones are sent to user device205. In step513, user device205saves the coordinates of the set of zones into memory. In step514, a confirmation is sent to VGZ server201. In step515, VGZ server201saves the user to each of the administrator accounts for each zone. In step516, the actions for each zone are determined from the administrator database. In step517, the actions for each zone are sent to user device205. In step518, the actions for each zone are saved to the memory of user device205. In step519, the user application on user device205monitors the location of user device205at predetermined time intervals in order to determine if the user device engages, i.e., is near, at, or within a zone, as will be further described inFIG. 5B. In a preferred embodiment, a user associated with user device205can activate the intermittent monitoring of the location of user device205in step519at any time. In this embodiment, any zone may be discoverable as will be further described inFIG. 5B. In step520, if user device205engages, i.e., is at or within the zone, then the actions for the engaged zone are displayed on user device205.

Referring toFIG. 5B, method521for monitoring a location of a user device to determine an engagement of the user device with a zone is described in further detail. In step522, a location of the user device is determined as previously described. In step523, a velocity of the user device is determined. In a preferred embodiment, the velocity of the user device is determined by determining a set of locations and a time period between a first location and a second location. In this embodiment, each position n is a set of latitudinal, longitudinal pairs (xn, yn). In this embodiment, velocity is calculated by:

vn=Δ⁢⁢dnΔ⁢⁢tnEq.⁢1Δ⁢⁢dn=(xn-xn-1)2+(yn-yn-1)2Eq.⁢2
where vnis the velocity of the user device, Δdnis the distance from location (xn-1, yn-1) to location (xn, yn), and Δtnis the time period between the determination of location (xn-1, yn-1) and location (xn, yn). In other embodiments, a plurality of locations is determined, a time period between each of the plurality of locations is determined, and the velocity of the user device is determined using Eq. 1 and Eq. 2.

In step524, a direction of travel of the user device is determined from the set of locations. In step525, a frequency of sampling is set. In a preferred embodiment, the frequency of sampling is the frequency with which method521determines the location of the user device and a predicted path of the user device as will be further described below.

In step526, a clock is started to maintain a time constant. In step527, the predicted path of the user device is determined by plotting a spline of a set of predicted positions (xp, yp) of the user device using the set of locations, the velocity at each of the set of locations, and using the following equations:

In step528, an equation defining the zone is determined. In a preferred embodiment, the zone equation is a mathematical function that defines the boundary of the zone. In step529, the predicted path is compared to the zone equation. In one embodiment, each point of the predicted path is compared to points on the boundary of the zone. In one embodiment, each zone has a latitudinal distance (xmax-xmin) and a longitudinal distance (ymax-ymin) and each point p (xp, yp) along the predicted path is compared to the zone to determine if point p along the predicted path is at the boundary or within the boundary of the zone. In this embodiment, for each ypalong the predicted path, xpis compared to xminand xmaxof the zone to determine whether the following relationship is true:
xmin≦xp≦xmaxRel. 5
In this embodiment, for each xpalong the predicted path, ypis compared to yminand ymaxof the zone to determine whether the following relationship is true:
ymin≦yp≦ymaxRel. 6
In this embodiment, if Rel. 5 and Rel. 6 are true, then point (xp, yp) of the predicted path engages, i.e., is at or within the boundary of the zone.

In another embodiment, point (xp, yp) of the predicted path is compared to the boundary of the zone using xmin, xmax, ymin, ymaxto determine whether point (xp, yp) is within a predetermined distance from the boundary of the zone to determine whether the zone is “nearby.”

In step530, whether the predicted path is at, nearby, or within the zone area is determined from the comparison in step529. In other methods of determining whether the predicted path engages, i.e., is at, within, or nearby the boundary of the zone, may be employed.

In step531, the direction of the user device is determined. In step532, the nearby zone is sorted to eliminate any zone that is behind the user device along the direction of travel. In step533, a nearby distance range Dris set to a percentage β of the velocity vndetermined in step523by:
Dr=vnβ  Eq. 7
Any percentage can be employed. For example, the percentage can be 20%, 50%, or 75%. If the percentage is 50%, then Eq. 7 becomes:
Dr=0.5vnEq. 8

In step534, the predicted path is modified so that the predicted path extends at the nearby distance range Dr. In step535, the nearby zones are sorted by the nearby distance range Dralong the predicted path. In step536, the sorted nearby zones are reported for display.

In step537, whether each zone has been compared to the predicted path is determined. If each zone has not been compared to the predicted path, then the next zone is retrieved in step538. Method521returns to step528. If each zone has been compared to the predicted path, then method521proceeds to step539. In step539, whether the predicted path needs to be updated is determined. In a preferred embodiment, the predicted path is determined at time to. In this embodiment, the present time is tp. In this embodiment, the time elapsed is:
te=tp−toEq. 9
If the time elapsed teis greater than a predetermined time period, then method521returns to step527. If the time elapsed teis less than or equal to the predetermined time period, then method521ends in step540and any determined nearby zone is sent from the server to the user device and/or displayed on the user device.

Referring toFIG. 6, method600for user application217is described. In step601, user application217is started on user device205. In step602, a user verification is entered. In step603, the user verification is sent to VGZ server201to request verification. In step604, the entered user verification is verified by comparing the entered user verification to a user verification stored in a user database. In step605, a user verification notification is sent to user device205if the user is verified.

In step606, a GPS signal from GPS204is requested. In step607, GPS204determines the GPS signal that includes the position of the GPS satellite and the time at which the GPS signal is sent. In step608, GPS204sends the GPS signal to user device205. In step609, a location of user device105is determined from the GPS signal. In step610, a set of actions based on the location of user device205is determined. In a preferred embodiment, the location of user device205is compared to the zone and the sub-zone to determine if the location of user device205engages, i.e., is at or within, the boundary of the zone or the sub-zone. In this embodiment, the location of user device205is compared to the zone to determine if the zone is “nearby.” If the location of user device205engages, then the set of actions of the zone or sub-zone is retrieved from memory. In another embodiment, method521is employed. In step611, the set of actions are displayed on user device205. In step612, the location is sent to VGZ server101.

In step613, the location is saved as a user event. In step614, the administrator account is updated with the user location. In step615, a notification is sent to administrator device203. In step616, the notification is displayed on user device203. In step617, an updated action is entered on administrator device203. In step618, the updated action is sent to VGZ server201. In step619, the updated action is saved to the administrator account. In step620, an updated action notification is sent to user device205. In step621, user device605displays the updated action notification. In step622, the updated action notification is selected. In step623, the updated action is requested from VGZ server201.

In step624, the updated action is sent to user device205. In step625, the updated action is saved to the memory of user device205. In step626, user device205displays the updated action.

Referring toFIG. 7A, method700for push updating actions is described. In this embodiment, the updated action is directly pushed to user device205. In step701, an updated action is entered into administrator device203. In step702, the updated action is sent to VGZ server201. In step703, the updated action is saved to the administrator account. In step704, the updated action is sent to user device205. In step705, the updated action is saved to the memory of user device205. In step706, user device205displays an updated action notification. In step707, the updated action notification is selected. In step708, the updated action is displayed on user device205. In step709, a receipt confirmation is sent to VGZ server201. In step710, the receipt confirmation is saved to the administrator account as a user event. In step711, a receipt notification is sent to administrator device203. In step712, the receipt notification is displayed on administrator device203.

Referring toFIG. 7B, method713for verifying and monitoring a user device location in a zone and a sub-zone is described. In step714, administrator device203sends a request for a user device location to VGZ server201. In step715, VGZ server201sends the request for a user device location to user device205. In step716, user device205requests a GPS signal from GPS204. In step717, GPS204determines the GPS signal. In step718, GPS204sends the GPS signal to user device205. In step719, user device205determines the location of user device205. In step720, user device205sends the location to VGZ server201. In step721, VGZ server201verifies the location by comparing the location to the zone and the sub-zone to determine if the location engages, i.e., is at or within the boundary of the zone or sub-zone. In one embodiment, method521is employed. In step722, VGZ server201sends the location and a location verification to administrator device203. In step723, VGZ server201saves the location and the location verification to the administrator account. In step724, administrator device203displays the location. In step725, administrator device203displays the location verification.

In another embodiment, steps716,717,718,719,720,721,722,723,724, and725are repeated to constantly monitor and verify the location of user device205from administrator device203.

It will be appreciated by those skilled in the art that modifications can be made to the embodiments disclosed and remain within the inventive concept. Therefore, this invention is not limited to the specific embodiments disclosed, but is intended to cover changes within the scope and spirit of the claims.