You are on page 1of 30
'US0093 1983452 2) United States Patent (10) Patent Noz US 9,319,834 B2 Pierce, I et al. (45) Date of Patent: *Apr. 19, 2016 (91). SYSTEM AND METHOD FoR PROVIDIN (6) References Cited AUTOMATIC SUPERVISION OF EMPLOYEES. USING VIRTUAL GEOGRAPHIC ZONES US. PATENT DOCUMENTS (71) Applicants: Rabert L. Perce, Dallas, TX (US) 2090967 A WI9TS Van Dusen tat James. Northrup, Dallas, TX (US) Staooe A ‘ion Holanda 5 8716:101 BL 42004 Meadows ta. (72) Inventors: Robert L. Pierce, Dallas, TX (US) Se cet eee James L. Northrup, Daas, TX (US) S3o0's6s BL 42007 Mosca a Fm.oes mr WO2o0r Sennen eta (*) Notice: Subject to any dstaimer, the tem ofthis S008 Oey ea Patent is extended or adjusted under 35 (Continued) USC. 1540) by O days This patent is subject to a terminal dis- FOREIGN PATENT DOCUMENTS laimer a 10203 «an ° ooo2is2 10200 21) Appl.Nos 19/102238 oon (Continved) (22) Filed: ‘Dec. 10, 2013 Primary Examiner —Nghi H Ly i Prior Publication Data (94) ditorney, Agent Fien — Schulz & Associates, PC [US 201810099975 A1 Apr 10,2014 6 ABSTRACT Retated US. Application Dats A system and method for user interaction include network, (6) Coatinution n-par ofaplicwion No, 13924395, ayer somnctedothenswera sper des es ae ae ing information fom a global posioning system and con- bie 21,201 nected to the network, a user device receiving information (60). Provisional application No, 614662980, fled on Jun. om the glabel portioning sytem and comectedo the 22, 2012, provisional aplication No. 617738402, network. The spervsor, having te supervisor device fled on Bet 10,2012. defines a set of vital geographic zones and sub-zanes in sy meer ‘which the wer device tacked, and ives the set of Vital nt. coprphie zones and sub-otes toa sipervisor acco on smosw 2400 (2009.01) ibeserver, The wer downloads a wer application, set-up mosw aan (2008.01) ‘ser account, and downloads the set of vital geographic us.c. Zones and sb-rooes, As the User, having the user device cee osw 402 2013.01), OsW 4021 ves through he viral geographic zones an! sub-7ones (201301) the location of he user device is determined and a st of (58). Field of Casscation Search Supervisor-dfined actions ae execnted onthe wer device CPC ... HOW 4/02: HOSW 64/00; Host. 29/08657 spc 455/456.3, 456.1, 404.2, 414.1, 422.1 See pplication ile for complete search history. based on the location ofthe user device. 30 Claims, 16 Drawing Sheets 66) 763.196 T3810 Ts2s.asa 7699229 1778802 Teas T8705 TNSH.785 Tsos our Toso06 99.109 S10ss7 soe ere 8209559 254061 Sa5L031 S000 S81 96 830 sson.s03 RSL S508 a5528 ass? S505 oad aso Beets onlay 386 Boaiaos 76819 RpKID 8709361 e2s08s B835.550, SSL 3302150 800378 ss80047 Sa00.685 20020068713 aoosons621 aoowo192337 aonsoase7st 20060003808 2oosoote7i2 2noss1 206 aonoionsseon 20090307067 soroonssies 20100287011 20100312633 2ovvo099070| ao10187s0s 8 BD Be Bo By al US 9,319,834 B2 Page 2 References Cited USS. PATENT DOCUMENTS ‘42008 ann ‘4008 a2010 2010 wa010 12010 12010 ion S201 tana W012 2012 2012 82012 82012 52013 720183 Tio 2013 2013 102013 02013 Markie eal Cont Dupray os 1028 342450 Gary tt. Ober a Winsome a. Phalips et. Falta eal Aniye et al nk eal ‘la Michal et Socks etal. Sea et Ramalingam tl AAlonet a lows a TOQ013 Poe ¥ioia 42014 Tana roa 2014 Sania sioia Sania oaoi4 fool Hao tao 2002 1 2003 92004 Hao 1006 32006 122008 2009 1 2009 roa010 ww2010 12010 42011 S201 Zalner Kimeeat Elan et Lewis Poe et a Coron! a Ramer et Busch Rosset Boyle ea Mathie eat Mos ta Philips ea. Cara eta Kone ta Scokanan «1 ‘vac Narchaya eal Hines el. Sands al. bosses Shain eal Nientine et Duksel tal Obermeyer Hegde Hosw 6400 Tolar? Mochkner Coren laser alta 2010238476 AL 92011 Carre a ao1v0r#i70s AL 102011 Daigle etal gortoreo4so AL 112011 Fongeca 2012010975) AL ‘82012. Sératonet a so120130%06 AL $2012 Basch SIDULSKSOS AL 62012. Kiloy tal 20120176280 AL 72012 Schneider th aoid0rss7e AL 112012 Daxonstal. gigazieet AL 122012 lems 20130073397 AL "$2013 Heath SOIOL4SD AL 42013 Sondencta SoiMOIsI2ND AL 62013 Richman goiaissseo AL 82013 Gum ao1y01s9946 AL 701% Sanson dorv0n2s2m) AL 82013 Willams ct goianeaeis AL 52013 Bilangect sl 20190778221 AL 102013 Zao ta 2O1SORSIL) AL 102013 Gagner ea SOIREE AL_ 102013 Johnson 2o1s034i87 AI* 122013 Persea 4551563 soiaorease AL ‘12014 Sadho aoia0nasi26 AL 22014 Schone et goiaoypey Al 42014 Guinnet al aoiaie2692 AL 62018 Leet So1aOIGiD6L AL 62014 Halow-betes golds Al* 2014 Berceet sl asv28 aoiaoissiat AL 72014 Lock soiamoise Al 72014 Euley goianansatg AL 72014 french 2o1a0r07499 AL 72014 Flow a aniaurrsco AL 92014 Leeetal 2o140r7123 AL 92014 Harkey eta goiaur7esoy AL 92014 eran a. aoiaor9sin Al 102018 Sheba ea, dolar9so44 AL 102014 Faicloth souaunagois AL 102014 Reitnuret a 20 2014 Noemberg el doraosHolt AL 112014 Doginet a FOREIGN PATENT DOCUMENTS. BP aoowsosss 3.2004 w roososseas 22006 w aooroi2008 32007 » aoriseiso 72007 Wo ‘OMS 3.2001 wo ‘ontsos 22002 wo ao0soasioo 5.2005 wo aoosoor7s 12006 wo doosossi0s 72008 wo aooooasio 32009, wo aoiomssis 72010, wo 2010 wo 2012 wo 2083 wo Tro. wo ao1ai3o000 AL S204 wo aoiaiagred AL 92014 * cited by examiner U.S. Patent Apr. 19, 2016 Sheet 1 of 16 US 9,319,834 B2 FIG. 1 15 ORORARD) INVALID COVERAGE Sour no eer 1 ! US 9,319,834 B2 Sheet 2 of 16 Apr. 19, 2016 U.S, Patent V7'OId waN30RE S3OIAES AYN Te ate t siz Nouvonday [4 S02 Yee ISvEVIVaOOTNAISAS ba woss300%d | 5p auoNEN oz 01Ag0 waSN| evo nas wasn xOsMyadNs i zee ‘GRINS 3HL 40 SMELSAS NOLVOIAWN £62, ‘YBHLO NY NOUWINONYRL HOO 3 NOUWOINNANOD Cras Mm nas {VN ‘NOUWINONVIRL HM 38H wosineadns Ni NOLWINONYIAL ¥AMOL TIED Bsvavlvanaen ‘SULVAdaY SdO ‘Sd ONIONTOND NOUWOridd¥ ZA SBOIANS AYN y ; 7) AMONIN ghz Oz a NORE = 02 90% SSOINES AVN ele Lie NoUVOrideW uosss00ud viz wosiauaans 5 ESTES) wossz00ud fm} ZIZ svonan ae 4 J Boia YOSANRENS odz US 9,319,834 B2 Sheet 3 of 16 Apr. 19, 2016 U.S. Patent dc ‘Ola INGA BSN cd suasn ad vee ISAS 3HLNILVIS 40 S1uOdE NOSIAAANS SONVHO HOV Od AMINA m NY SNIVINOO 807 NSUSAS snollovuosinusans _}~€22 SHI 3SV@VIVO SIHL NI (wowvotaneaa ‘ad CEAVS BAN SARIN 907 NOLLYROANI wasn - Maan ao eWyd sENozens wosMniaaNs }_ 277 sanozwosmusans | zz (Nouvorsteaa ‘aD NouWntuosNi yosiaaans [02z SSIMINS O01 WALSAS -INNODOV BEEN -INNODOV BOSIANBANS 7 asveviva 7 asvaviva aeveiva of ooTnaisas zz wasn wosuuaens 612 vez 602 Ow U.S. Patent Apr. 19, 2016 Sheet 4 of 16 US 9,319,834 B2 355~, US 9,319,834 B2 Sheet 5 of 16 Apr. 19, 2016 U.S, Patent zee de ‘Olt a 5 Z vee SNOZENS31SV OE soe ae Ale YK 2 soz vie ge~ If 208 gog 3NOZENs FIsW ae 9ze é 7 2 Loe BS Rize Sf — ade snozenssISW = ; ez HEE gfe anozensa1sw Te * ste zoe ae ze wee ‘3NOZ-ENS Oo zie 3Noz-ens zisv [ = | ee nes & \ Lee ove ove US 9,319,834 B2 Sheet 6 of 16 Apr. 19, 2016 U.S, Patent UNOL ALluNORS HO ANOAWTONITING Of ‘Dla 38M) BEOHIO—) oT Adluno3s csnassocos gp pen Bm C9 96 | Yoos-zoNioTINE \ y L-ove somo © intoa L-6€e 303H9 ove eve Soa 3000 || LNIOd > wo_ || 03H : sie BE 7woow-zonatne youn [ove Nod lve sre zoel) 3000 ] | anioa sie Noa FEE bonictne wo |[yosHo] qa ye] OHO & ele ore £02 AY wosinuaans o NWO oncring US 9,319,834 B2 Sheet 7 of 16 Apr. 19, 2016 U.S, Patent ANS HOSIANaNS ‘DIA % a ve'5) souovavs (_) anozHova wos“ 81 ‘SNOLLOW NAS SNOLLOV ¥3LN3 a ou ssaNOZ 3A¥8 7 ale Ok setae {cp acrae coy zw C) rouvoorsumaisa “7 6 D Z NOLVIOSNI NOLLWAO3NI NOLLVOOTAWN GNSS. nines ROIEREOAN NOUNOOT AW ISSTORY aNweai3a ¥ oe C) anussancz avi oy 'Sonaa y | Zor NOWWRIONIINnODOV ONES vosrauns C) () aezaresreusaot SNMRELIO “INnODOW 18303 NOUWNOSNILNNODOVBEINIA. 44 é "Nout LNOGO¥ aNaS ouvondy 7 Sor AOSHNIATS LIS ~ gop “oor Nowwonady suNaW=uNORY 30130 ‘da HOSIAUSANS GYOTNMOT Owais TIEN VOU, wosinaadns SNR ¢ NOUWOrddY z0y wosiiuaans 1s3n03u ‘mwas 01 03NNOO_ p— hoz 7|_MaNuas 204 wosiawadns [£02 SB01N88 AYN 97 U.S. Patent Apr. 19, 2016 Sheet 8 of 16 US 9,319,834 B2 421 422 423 ~ DETERMINE ZONE TYPE 424 DEFINE ZONE 427 DEFINE SUB-ZONE ASSOCIATE SUB-ZONE 428 WITH ZONE DETERMINE 429 ‘SUB-ZONE TYPE 431 FIG. 4B ESTABLISH ZONE/SUB-ZONE U.S. Patent Apr. 19, 2016 Sheet 9 of 16 US 9,319,834 B2 432 433 ~ Gp 434~J DETERMINE LOCATION 1 435 RECORD LOCATION 436 YES 437 ~LCLOSE TO FIRST POINT SHOW en OF 438 ZONE/SUB-ZONE saver MO | soctSUB IONE 439 YES 440 441 ~CNO_) FIG. 4C DEFINE ZONE/SUB-ZONE US 9,319,834 B2 Sheet 10 of 16 Apr. 19, 2016 U.S, Patent dflas 43asn vs ‘Old ©) nousv arasia- 028 -LNSW3OVONS 3NOZ aus 1s © soanouveorwounon 618 v 815 918 svouov sinsai30 SNOLOV ONES © srmuov ane Innoooy wosuzans OL NOLLWWLINOD "NSSN JAWS Cerda C) anor so saumicaooo avs E15 }LS~ 3yoz 40 sauyNiawooo wei "BNOZ 20 SELVNIGHOOO ONES 605 701s ' WOUND OS © soumtanoo anisio NOMVOVREA ‘aLSN aAVS “INNODOV H3SN HSIT8¥1S3 20s 7 UNNOOOV HS'TEWIS3 OL ads "INROOOV 1830S NOLLVOITURA Or GSN NaS | \7 NOLLVOLAIA ‘OI NBN YBLN3 ~_ ggg = (©) nouronaavussn 18 gpg suvaneaunoss 0/0 ¢ | 19g NOUVEIEY HSS WOOD © owvorsar aan THSH. ggg 20g 7 Ha SNINESI3O NOILVOMTdeV HSN IS3NOF "Fan 01 L93NNOO ea BIOET Kate Sy boz U.S. Patent Apr. 19, 2016 Sheet 11 of 16 522 US 9,319,834 B2 DETERMINE LOCATION 521 4 g ee DETERMINE VELOCITY v oa DETERMINE DIRECTION 7 - ‘SET FREQUENCY OF SAMPLING ¥ oe ‘START CLOCK. —— oo DETERMINE PREDICTED PATH — 528 DETERMINE ZONE EQUATION ¥ 529-~J COMPARE PREDICTED PATH TO ZONE EQUATION v 530~) DETERMINE IN OR OUT OF ZONE AREA ¥ = DETERMINE DIRECTION ¥ 1592~7L SORT NEARBY” ZONES TO ELIMINATE BEHIND ZONES v ‘SET DISTANCE "NEARBY" RANGE TO 533 PERCENTAGE OF VELOCITY ¥ 5341 PROJECT PATH BY DISTANCE RANGE ¥ ‘SORT "NEARBY" ZONES BY DISTANCE RETRIEVE 535 RANGE ALONG PREDICTED PATH NEXT ZONE v 5361 REPORT "NEARBY" ZONES 538 537 YES FIG. 5B ‘UPDATE MONITOR USER PREDICTED PATH? LOCATIONS FOR 539 10, ZONE ENGAGEMENT 540. US 9,319,834 B2 Sheet 12 of 16 Apr. 19, 2016 U.S, Patent nouo¥ © ean anasa229 NOLLWoNdd¥ Nouloy © tavaan avs 828 wasn TNOUG¥ GBL¥GN ONES 9-Dla NOHgW GEIVOaN SHNOH vovcauen 228 as © manana ea " ‘NOLLVOISLLON ONS: AWTdSIO sauvosn a9 vouane © rousvaatveanaivs oO NOLLOW CaLWadN ONS \ NOLLVOISLLON oe aviesia | S49 009 (Of ensainaes i oo ¥19. Nowy “F181 g unnooov ANTdSIO ? ae NOLLV907 NO C3Sve eyo nawonrans (_) Nouv SMES NOILYOO1 ON3S NouLWoOT wh COR sg | roam Noun NOUWDENTNOLVOOTANNES | C_) tay $09 909 NOARON sane 77 UBS AdnEaA NOLLWAISNOD | NOLLWOO7 AVN 1S3NO3Y — sO NOUOUINaN SN anes 209 © nourosnsenains~ 20g NOUBA LS3n 3 as © eavesn 1svis ~ 108 SONGOWOSNEEENS | gg_]_SENLASTOA sonsceasn_| ggg SOMATA | yog US 9,319,834 B2 Sheet 13 of 16 Apr. 19, 2016 U.S, Patent SNOLLOW SLvddN HSNd ~ NOILVOITIdd¥ HOSIANAdNS: 7 VL ‘DIA 700 iS NOILVO}ILON 1d3034 AVTASIO NOILVOILLON Lala038 ONES 80L 7 SNOMLOY WON 1aSRTS |) eavoun rss O14 nouymanoo satzons ave (_) NOLLWOLILLON 4195738 \ zon NOILVOHSLLON AvSIO ‘i 902 SNOMLOY ©) a 02 ‘SNOILOV GalWaan GNSS FOL~ snouoy oO © snouov aaivadn anvs~ po, alvadn ¥aiNa SNOLLOW GBLVGdN GNSS ‘30130 €0z~|_uosiwwadns wanwas zon} jog BONRQYESN A coz US 9,319,834 B2 Sheet 14 of 16 Apr. 19, 2016 U.S, Patent See NOILW9O7 YSN YOLINOW ONY ASIYSA - ~NOILWONdd¥ YOSIANAdNS: ‘NOLLWIOT ad ‘Old ‘asa vel vowleon tL Ayidsia V ble CO) reuvo.snshnowvoor awAaNaoT SNS cel Ton OINT ivnouvooTeNsS Wee BLL Swouvoor asian (_) 2 NOLLVOOT GNSS © nowwoor aninsaiza abl anos NOUWWOSNI SNINESLIC NOUYOOTAWN ONS a She aL \ NOLLWARIOSNI NOLLWOO7 RETANATISS ey SINGER Biss woe] a | gg] wma worse fgg [ass bog US 9,319,834 B2 Sheet 15 of 16 Apr. 19, 2016 U.S, Patent eros Looe et OO sasnatremmat| O Nise S€8~__ 1sanoz41no 4no-y0010 E68 NOL ON3 “-yO0TO SS3008d Les eae ae Asanow CONV ‘NISIOSHO 7 28 ONY NID 0€8-~ ung 907 cz0Na Gazna unol nouvouwan 7) SOL Ona NOL Lavis YNOL aAVS 7z@ SNOLONSOL NFXOOTO 878 ~ juin3007 ssenomnesn 628 |¢ NOU _-o28 ‘NI907 NOWOW 3A¥S NOLLWOIGLLON Ae wopDaH9 ™NOL YaSN NOLLOW GNSS 10D: . 0, e278 NO G3SV8 NOLLOW AVTeSIO 8 Old » AAINI 901 ANIOax03H0_-zzg \ noonio ans Tg nomaalcunouva01 OLNPyO3HO see Ei 7 bee 008 612 auveooy¢ | ORNS OLNONOERER CO snot woe “ ‘CBLYWIS YNOL BAYS 218 SNOLIUVISOL isanosuuasn She NolLyo07 N-Ga0O7 SIEM GSTUA, nouvaor~“ PHB gyg aug 0EknEA Of voooTaes sresa0 pec 1 Ste oamecssvousornwes |) an NOLLWAYOSNI ee 4sanozy ‘NOLLWOIIHSA NOLLYOOT SLVLLNI cog oon sees O) NoWOOTAWNASSNOS 118 ae sos NEIOOTO OL asanosuussn 808, |¢”) C9007 1530355. 9g canouarurn oot sun sivasn NOUVOURA _-NOUVOUNSHLNW ROLLVO'RIIA ‘08 yereny oO i NOLLVOLNSHLAW 83SN CNIS NOUVOLINSHINY USNS. zoe NOVOERRA 808 | nouvourshiny issnoay_|C_) savassn sus 109 TUSLOTETS] gg, — TEBMESTON 9g ggg [200502390] qq TLSAS SNUBS U.S. Patent Apr. 19, 2016 Sheet 16 of 16 US 9,319,834 B2 900 901 902~J COLLECT PRESENT TOUR DATA 1 903 RETRIEVE HISTORICAL TOUR DATA 1 904 ~| COMPARE PRESENT TOUR DATA TO HISTORICAL TOUR DATA PRESENT TOUR ON-TIME 2 90g ~C_ENO_) FIG. 9 TOUR SCHEDULE ON-TIME US 9,319,834 B2 1 SYSTEM AND METHOD FOR PROVIDING. AUTOMATIC SUPERVISION OF EMPLOYEES. USING VIRTUAL GEOGRAPHIC ZONES (CROSS-REPERENCE TO RELATED "APPLICATIONS, This application is 9 continuation in part of US. patent pplication Ser. No. 13/924.395 filed lus. 21, 2013, which ‘lain priority 0 U.S. Provisional Application No. 61/662, 980 filed Jun. 22,2012. This application also claims priority to US. Provisional Application No. 61/735 402 filed Doc. 10, 2012. Each of the patent applications identified above is incomporated herein by reference in is entirety to provide continuity of disclosure FIELD OF THE INVENTION “The present iwenton relates location-based data process ing. More particularly the presen invention relates to moni toring and tracking of usors or employees of an organization ‘ora company as the users of employees move in and out of Virtual praphie zones (°VGZ"), BACKGROUND OF THE INVENTION ‘Though mobile phones have been prevalent inthe market- place for some time, they have not been widely used in the ‘industries that must monitor movement of wsers or employees ‘on a route, jeurney ora tour through commande oF super visor defined zones, places or loations. For example, secu- rity patrol officers move from checkpoint to checkpoint on a tour defined by a commander Prison guards move through ‘areas ofa prison while making “rounds” defined by a super- visor. Police officers move through areas or “beats” of their ‘ity a8 defined by a commander. Delivery tucks move fom store to store making deliveries ona route defined by @super- visor ora manager. Military missions move from Ioeation to location in the pursuit of accomplishing a mission ora jour ney defined by a commanding officer. Similarly, shoppers ve through isles i a store that ca be defined by zane ‘With the increase in technological sophistication of wire= less devices overtime, therehas been arse inthe use ofthese devices. While appearing unrelated at fist plance, it tums out ‘most development in the use of Wireless devices is part ofthe development of wircless device technology. Early effons ‘were principally focused in marketing prodvets to consun- ers. Marketers haveattempted to finda solution inthe priorant to target consumers using wireless devices with limited sne- US. Pat, No. 7,321,773 to Hines, eta. discloses an area watcher wireless feature with a database of geographic areas triggering the wireless area watcher to display message ‘upon particular wireless device's entry into or exit from & Watched area. A watched area may be defined by a postal ‘ode, principality, state or country, or by apanicular eal site ‘area, However, thesystem in ines relies on the infrastructure ‘ofa wireless network service provider to implement the fee ture and to define the watched areas leading Wo an expensive system that cannot be customized US. Pat. No, 7,995,996 to Link, etal, discloses providing target advertisements over wireless network from local adver tisrs pre-registered to advertise, Local advertisers register 10 advertiseon wireless devices thatarein close proximity tothe ‘advertiser, As a consumer enters 8 cell site that is near the location ofthe lal advertiser, the wireless network delivers ‘a message 0 the wireless device of the consumer that is 0 o 2 specified by the local advertiser. However the system ia Link relies onthe location and the range of eeliular towers leading ‘oan inaecurate locaton ofthe wireless deve, Further, such reliance on the range of the cellular towers results in fixed ‘reas Within which the consumer must be and cannot be ‘cstomized to sit the local advertiser. WIPO Patent Publication No. 20101078616 to Wood, ta discloses a mobile device managing arrangement for service ‘and product information by a wireless fidelity nework ‘through hand-held devices interacting with precinct datae base. In Woody the preinet database stores vendors, products, services, and information for each precinct. precinct is redefined region in which a customer with the mobile device «an access information about the vendors, products, services ‘within the precinet. The precincts equippd with proximity short range wireless equipment inthe form ofa pad ora gate Inorder to aecess the information from the precinet database, ‘hecustomer ust place the mobile device within the rangeot the proximity pod or gate to access te information. However, the systemin Wood relies on the wireless idelity newwork and ‘cellular nctwork to locate the mobile device leading to an ‘naccurate location because the minge ofthe wireless fidelity network andthe rine of theeellular network cannot conform to the shape ofthe building in which the customer is desired tobe located ad cannot be customized. Fuster the wireless fidelity network fo the determination of the location can be ‘compromised through the use of a wireless fidelity network repetier to extend the reach of the network to unauthorized US. Pat. No. 7.385,516 to Contractor discloses a location confirmation service for wireless deviees.A central processor perilcally receives postion data from a wireless device via GPS or cellular network as latitude aad ongitide point. The central processor compares the latitude and longitude point ‘with a known location point t determine if the wireless {dovice is within a predetermined distance from the known locaton point, However, the service is limited to comparing points and cannot compare a location ofa device toa spatial US. Pat. No. 7.864.047 to Aninye etal. discloses a moni toring system that tracks a loeation of a wireless personal tracking device. The system periodically tracks the location of the wireless personal tricking device using a cellular net- work or a GPS service. The system compares the location to apredetemined inclusion zone o a predetermined exclusion ‘one. Ihe wireless personal tacking device is in the prede- ‘ermined exclusion zone the system generates.a messegeand sends the message as 4 notification. However, the zones in ‘Aninye etal ace limited 0 cireuar zones, each having a fixed radius and cannot be customized in shape or adapted to the ‘conform tothe shape of structure. US. Put No. 8,104,672 to Mitchel, J. et al. discloses a security system inckaing set of sensors connected to the security system. The security system receives a location of a ‘mobile security device earried by a user via GPS or cellar network, compares the location ofthe mobile security device ‘witha known location ofan activated sensor and determines whether the ativated sensor is within a predetermined dis tance from the mobile security device Ifthe sensor i within the predetermined distance from the mobile security device, thon the activated sensor is graphically displayed on the mobile security device. The user can then respond 10 the activated sensor. However, the system in Mitchell, Jr. ct ‘ean only determine whesher a sensor is within» given radius tom the mobile security device and is inable to create cus ‘omized aeoaraphic zones US 9,319,834 B2 3 ‘The foregoing prior ar fils to disclose or suggest a system jn which a mobile device canbe said to be inside a managed defined space or outside that same managed defined space. Al prorat belongs in a class of proximity systems”. While iis mathematically necessary fora military mission to be “near” the objective ora security office to be “in the prox Jmity ofa checkpoint ora delivery manto be “near” the retall sor, it isnot sufficient tobe able to say they were there tis Lesrable to definitively say the soldier, or security’ officer oF ‘dalivery man was inside specific geographic coordinates (the virtual peograpie zone setup by the commande or supervi- sor) and was therefore there Referring to FIG. 1, a prior art example of @ “proximity system” is shown, This example demonstrates the insu ‘ciency of the “proximity system”, The prior art proximity systems have several imitations. Building 180 has perimeter 181, Wi-Fi access point 182 is mounted in building 180 and has range 183, One limitation is that coverage of range 183 is Indstinet and varies around perimeter 188, Further, some areas are exclided from coverage of range 153. For example tea 1ST and coverage area 159 are not covered by range 153 ‘of Wi-Fi access point 182. Further, undesired reception o the ‘WiFi signal occurs, For example, Wi-Fi repeater 184 broad- casts repeater coverage perimeter 18S by receiving signal 160, rom Wi-Fiaevess point 152 and broadcasting itincoverage ‘rea 189 with coverage perimeter 138. This is a problem because wireless device 156 is able to access Wi-Fi access Point 152 through Wi-Fi repeater 154 with coverage range 159, said coverage range 159 being beyond what is intended. Parher, range 153 cannot be precisely delormined duc to the “fuzziness” of range 153, thereby allowing an unintended user of wireless device 186 to access range 183 of Wi-Fi access point 152 by being in coverage range 159 of WicFi repeater 154, "The prior an fails to disclose oF suggest a system and method for creating customizable vital poographie es 0 ‘enable supervisors to accurately interact with ser, There> Joe, theres aneed inthe priorartforasystem and method for creating aocurate virtual geographic zones that cannot be ‘compromised to allow a supervisor to inexpensively and accurately interact with users SUMMARY, Ina preferred embodiment, «system and method for mes- sage delivery’ to a user and the tricking ofthe user through 2 set of predefined zones, checkpoints, or stops along a tour, 3 Joumey ora mission, determined by a supervisor is disclose. The system includes a nctwork, a server connected to the network, a supervisor device receiving information from & navigational ("NAV") service system and connected to the network, a user device receiving information from the NAV service system and connected tothe network, In a preferred embodiment, a suporvisor defines a set of viral geographic zones and’ sub-2ones in which the user devices tracked, and saves thest of virwal geographic ones ‘and sub-zones ia supervisor account onthe server. The user downloads a user application, sets up a user account that includes user ID anita verification, and dowaloads the st of Virtual geographic zones and sub-2ones. As the user moves into and out ofthe viral yeographie zones and sub-zones, the location of the user device is determined and a sot of supervisor-defined actions are executed by'the user applica- tion on the user device based on the location of the user device Thome embodiment, the set of spervisordefined actions is set of advertisements that are displayed on the user device 0 o 4 ‘aed on the location of the user deviee. ln sother embod ‘ment, the set of supervisor 6 embodied therein, for example, in baseband or a part of a carrier wave. The propagated data signal may take any of variety of fons, including, but not imited to, electro-mag- netic, optical, oF any suitable combination theroof. A com- puter readable signal medium may be any computer readable ‘medium tha is nota computer readable storage mediam and that can communicate, propagate, or transport program for tse by of in connection with an instriction execution system, apparatus, or device, Program code embodied ona computer ‘Readable signal medium may be rassmitted using any sppro- ‘rite mtesium, ineluding but not Himitedto wireless, satellite, ‘Wireline, optical ber cable, RF or any suitable combination thereat ‘Computer program code for carrying out operations for aspects ofthe present disclosure may be written in any com bination of one or more programming languages, including anobject oriented programming language suchas Java, Seal Silla, Fille, JADE, Emerald, Objective C, C+s, Ci VBINET, Python or the Tike, conventional procedural pro- gramming languages, such as the “C” programming lan- ‘zuage, Visual Basie, Fortran 2003, Per, COBOL 2002, PHP, ABAD, dynamic programming languages such as Python, PHP, HTML, AJAX, Ruby and Groovy, or other program. ming languages. The program code may execute entirely on user device, partly on the user deviee, entirely ona supervisor device, partly onthe supervisor deviee, a a tand-alone soft ware package, partly on the user device and party on a net- ork server, partly on the supervisor device and partly on the network server, or entitely’ on the network server. In the network server seenata, the network server may be con- ected tothe ser device andor the supervisor device trough any type of network, including a local area network LAN") fora wide area network ("WAN"), or the connection may be made tan extemal computer connected tothe user device or the supervisor device (for example through the Inemet sing ‘an Internet Service Provider) or ina cloud computing env ronment or alferedasa service such asa Software as aService (Saa8") “Aspecis ofthe present disclosure are deseribed with refer: cenceto flowchart illustrations andor block diagrams of meth- fos, systems and computer program products according to embodiments of he disclosure. Iwill Beunderstood that each block of the flowchart illustrations and/or block diagrams. ‘and combinations of blocks inthe flowchart illustations and ‘orblock diagrams, can he implemented by computer prognim instnctions, These computer program instructions may be provided to a processor ofa general purpose computer, spe- ial purpose compute, or other programmable data process- ing apparatus to produce a machine, such thatthe instwe- ‘ions, which execute vi the processor of the computer or ‘er programmable instruction execution apparatus create a ‘mechanism for implementing the functions/acs specified in the Nowehaet and/or block diagram block or blocks, "These computer program insinations may also be stored in ‘computer readable medium that when executed can directa computer, other programmable data processing apparatus, oF other deviees to funetion ina particular manne, such tat the instructions when stored in the computer readable medinm produce an article of manufacture including instevetions ‘whieh wlien executed, cause a computer to implement the Tunetion/at specified in the flowehar and/or block diagram block or blocks. The compiier program instrations may aso be loaded onto a computer, other programmable instruction execution apparatus, or other devices to cause a series of ‘operational steps to be performed on the computer, other piogrammable apparatuses or other devices to procice a ‘computer implemented process such that the instretions US 9,319,834 B2 1 hich execute onthe computer or other programmable appa- ratus provide processes for implementing the funetionsaets specified in the Mowehart and/or block diagram block oF blocks. ‘A system and method for providing automatie supervision ‘of emplayees using vietual geographic anes will be ‘deseribed. The disclosed system will be described with ref ‘erence to FIGS. 24.36, including preferred embodiments to deploy thesystem, The diselosed methods forthe system will, be described with reference to FIGS, 4 through 9 Referring to FIG. 2A, system 200 includes viral geo- raph zone (*VGZ") server 201 connected to network 202, supervisor device 203 connected to network 202 and receive ing infomation from NAV service system 204, and user device 08 connected to network 202 an receiving inform tion ftom NAV service system 204, ‘VGZ server 201 inclu processor 206 and memory 207 ‘connected processor 206, VGZ. application 208, user data base 209, supervisor database 210, and system log database 234 are sored in memory 207. VGZ application 208 has Supervisor setup 232 and user set-up 238 that wil be further deserbed below. Processor 206 excentes VGZ. application 208. Supervisor device 203 includes processor 211, memory 212 connected wo processor 211, and NAV service receiver 214 connected to processor 211. Supervisor application 213 js stored in memory 212 and processor 211 executes super- visor application 213 Userdevice 208 includes processor215, memory 216 con- noctel to processor 215, and receiving information frm NAV service receiver 218 connected to processor 218. User appli ceaion 217 is stored in memory 216 and processor 215 ‘executes user application 217. twill beapprecisted by one of ordinary sill in the at at ‘any navigation system may be employed to determine the Jocation of supervisor device 203 and wer device 208, INAV service system 204 is available from many sources sand continu to myprove andl e available in the marke‘place The most well-known ofthese systems is the Global Pos tioning System ("GPS"), Augmenting the GPS are GPS repeater systems. Others NAV’ serves inchide but are not limited to Earth base cel tower triangulation systems, local Wi-Fi access point tiangulation systems, Bluetooth tiangu- Jation systems, aviation and spoce navigation systems, nav zation systems for ships at sea, other systems and comin tions of par oF all ofthe above systems In a preferred embodiment, a supervisor associated with supervisor device 203 interacts with a user associated with user device 205 using messages, communications, avertse- tents and services as will be further describes below. “Asuused inthis application, supervisor isa company supers visor, a sore mumiger a tour commander, a security officer ‘commander a military commander, a shift supervisor a route supervisor, foreman, a ome owner's association director, a ‘casino manager «building manager, «payroll supervisor and ‘any and al other authorities who define a one, a sub-7one, a route, tour oF journey wherea user may need to be present aa specific location ‘As usod in this application, use i @ soeurity officer on a ‘our a soldier on a mission, a service technician, cleaning or ‘maintenance personnel at jobsite, delivery man ona deliv- ‘eg route, prison guar making rounds, ora shopper moving. through a store, Ina preferred embodiment, supervisor device 208 is a smartphone. Inanother embodiment, supervisor device 203 is 4 personal computer. In another embodiment, supervisor 0 o 8 eve 203 is a tablet computer. Other suitable con ‘devices now in the at may be employed In a preferred embodiment, user device 208 is a smart phone. In another embodiment user device 208 isa personal ‘computer. In nother embodiment, user device 208 isa tablet ‘computer Other suitable campater devices known inthe at may be employed. Ta one embodiment, supervisor application 213 is «com puter application executed on personal computer. Inanother ‘embodiment, supervisor application 213 is a mobile applica- ‘ion executed on a smartpione or tablet computer In another ‘embodiment, supervisor application 213 is a web application executed thrygh an Intemet browse. In one embodiment, user application 217 is a computer application executed on a personal computer. In another embodiment, user application 217 is a mobile application executed on a smartphone of tablet computer. In another embodiment, user application 217 is a web application ‘executed through an Intemet browser. Tn preferred embodiment, VGZ application 2088 com- puter application executed by processor 206 of VGZ server 201. In this embodiment, VGZ application 208 is a set of ‘machine code instictions that receives and examines data {rom supervisor device 203 and user device 208, saves and retrieves datato and from usr database 209 andlor supervisor atabase 210 as wil be futher desribed below. In one embodiment, network 202 is a cellular network providing a data connection to te Internet Tn another embodiment, network 202 sa locel Wi-Fi net- work providing a data connection tothe Internet. In another embodiment, network 202 isa local network connected 10 VGZ server 201 In another embodiment, network 202 is a Bluetooth wire- less network. Other known wireless and wired networks may be employed Tone embodiment, cach of wser device 208 and supervisor device 203 accesses NAV serviee system 204 through local INAV service repeater as will he furtaer described helo Referring to FIG, 2B, supervisor database 210 includes a plunlity of sypervisoraccosints 219, Fach perisoracconnt 219 includes supervisor infoemation 220, supervisor zones 221, supervisorsub-zones 222, supervisor actions 223, super- visor reports 224, users 228, and user events 226, “As used in this application, the team “zone” isa oograpic area of any size where a supervisor may rack the location of user device 208. The zone can be any graphical two or three dimensional sotid polygon whose sides are determined by geographic points, i, latitude, longitude andalttude.A time Period may be added to the zane by the supervisor to track ter device 208 in the zone during predetemmincd time period. The zone type can be “inclusion” where predoter- ined actions are penited or “exclusion” where predeter ‘mined aetions are prohibited. A set of zones are defined and saved by a supervisor using supervisor device 208 as super visor zones 221 as will be further described below. ‘As used in this application, the term “sub-7one" isa geo sraphicarea of any size within a one where a supervisor may {rack the location of user device 208, Thesub-zoneean be ay _raphical two or three dimensional sold polygon whasesides ‘re determined by geographic points i latitude, longitude land atitde. A time period! may be added tothe sub-rone by ‘the supervisor wo track user device 208 inthe sub-zone ding 4 predetermined time period, The sub-2one type ean be “inclusion” where predetermined actions are permitted or “exclusion” where predetermined actions are prohibited, set oF sub-zones are defined and saved by a supervisor using US 9,319,834 B2 9 supervisor device 203 as supervisor sub-zones 222 as willbe Surer described below. A sub-aone may inherit attributes of the zone within which the sub-zone is contained ‘In one embodiment, a zone or sub-rone is a jab site, 3 delivery site, a checkpoint, a elock-in location, a elock-out location, @ military mission checkpoint, a police stop on @ “beat”, stop on a delivery route, or a set of stops or checks points ona “walk” of “tour” through a prison, areas of & rocery store oF indoor oF outdoor spaces in a pat. As use in this application, the term “action” isa predeter- ‘mined funetion of user application 217 to be executed orto be prohibited from being executed based on the loetion of the user device relative to a zone or sub-zone as defined by the supervisor. Tn one embodiment, the action is a coupon redeemable at a point-of-sale based onthe location ofthe usee ‘device. Inanother embodiment, theaction isan advertisement {or display on a user device based on the location of the usee ‘device. In this embodiment, the advertisement can be in any ‘combination of audio, video, pietoral or graphical format Tn another embodiment, the action is a store event based on 2 the location of the user device during which a user must be present inorder to receivea prize. Inanother embodiment, the oto isan acknowledgement and verification that the user has properly entered or exited zone. In another embodiment the action allows auserto“clock-ia oF “elock-out” fora shit Jor which the user is working. In another embodiment the action displays information about an indoor or outdoor place Jina park, In oxher embodiment, any predetermined function ‘can he defined as an action, A set of actions are defined and saved by the supervisor using supervisor device 208 as super- visor actions 223 as wil be further desrihed below Ina preferred embodiment, supervisor information 220 includes a supervisor name, a supervisor ID, and a supervisor Verification of a supervisor using supervisor device 203 Tnoae embodiment, the supervisor verification is an alpha numeric password, In another embodiment, the supervisor ‘erification isa facial recognition. In another embodiment, the supervisor verification is fingerprint identification. "As used in this application, “ser event” is log entry in system log database 234 of a user location sent to the VGZ server sent by wer device 208, Each of user events 226 is saved into the supervisor aecountof the zone. User events 226 ‘can be queried fora supervisor report, ‘Users 225 i ist of users that have reovived the aetions of the zone from the supervisor Users 225 ean be queried for @ supervisor report Supervisor reports 224 is a set of saved queries that a supervisor ean execute to retrieve information. ‘User database 209 includes a plurality of user aecounts 227, Eachuser account 227 includes user information 228. Ia preferred embodiment, user information isa user ID and a user veritieation. In one embodiment, the user verification is an alpanu- erie password. In another embodiment, the wser verification 'sa ficial recognition. In another embodiment, the user veri fication is fingerprint identification. ‘System log database 244 ncdes« plurality of system log ‘nities 230. In a preferred embodiment, each of system log, ‘entries 230 is saved entry foreach change of state in the system. For example, each user location recvivedis logged as ‘system log enty 230, Referring to FIG. 3A, various zones will be described Zone 380s comprised of apolygonal shape having numerous vertices 384, 388, 386, 387, 388, 389 and 360. The vertices orm a elosed loop which can be any shape and have any numberof vertices: Zone 350 is an ates in which actions” are sent 10a user by the system, 0 o 10 Zone 380 includes sub-ones 381, 352 and 383, Sub-zone 351 is comprised of perimeter including vertices 361, 362, 363 and 364. The vertices form a closed loop Which can be ‘any shape and have aay numberof vertices. Sub-one 381 can ‘have any number of vertices and comprise any shupe, so long as itis inside zone 350. In the system, sub-rone 351 receives sub-set of ations sent tothe user in zone 380. Zone 380 includes “exclusion” sub-zone 383. Exclusion subzone 353 isan area bounded by a perimeter formed from vertices 965,366, 367, 368,369 and 370, Exclusion sub-zone 383 can have any number of vertices and comprise any shape, 0 longa itis inside zone 380. An “exclusion” sub-zone isa sub-rone in which a sub-set of actions sent to zone 380 are excluded So long atthe user is within ic ot zone” 382isasub-ranecof me 350 andlisa perimeter {formed by verices 371, 372, 373 and 374. Hot zone 352.can ‘have any number of vertices and comprise any shape, so long asi is inside zone 350, A “hot zone” sa sub-zone in which ‘actions are actually being sent to a user, Referring to FIG, 3B, an example of preferred deploy- meat of the system is described. Retsiler 300 includes eash register 301, NAV service repeater 302 mounted withia ‘alee 300 and product shelves 304,308, 36, 307,308,309, 310, 311, 312, 313, and 314 positioned within retailer 300. Priority check-out line 316 is adjacent to cash rexister 301 ‘Check-out line 315 is adjacent to priority check-out line 316. In one embodiment, Wi-Fi access point 303 is mounted within retailer 300, Of cours, other deployments indifferent Iocations are possible ‘Store ze 317 suerounds retailer 300 Aisle sub-zone 318 is positioned between product shelves 304 and 308, Aisle stiberone 319 is positioned between prot shelves 306 and 307. Aisle sub-zone 320 is positioned between product shelves 308 and 309, Aisle tub-zone 321 is positioned between product shelves 340 and 311. Aisle sub-zone 322 is positioned between precact shelves 312 and 313, Rov sub- ‘one 327 is adjacent to product shelf 314, Cash register b> ‘one 323 is adjacent to door 326 and surrounds cash register 301, check-out fine 318 and priority check-out line 316, Hot ‘zane sub-zane 324 is positioned within aisle sub-rone 318 Adjacent row subzone 427. Exelusion sub-zone 328 is posi tioned within aisle sub-zome 322, In preferred embodiment, each boundary of store zone 317, cash register sub-zone 323, aisle sub-zone 318, aisle ‘ub-zone 319, aisle sub-zone 320, aisle sub-zone 321, aisle sub-zone 322, cash register sub-zone 323, hot zone sub-zone 324, row sub-rone 327, and excision sub-rone 328s defined by a supervisor as will be further described below. In one embodiment, store zone 317 is defined by recording points 329, 330, 331, and 332 of store zone 317 as will be further escribad below. ‘User 32S user device 208 running user application 247 User device 205 is in wireless communication with NAV service repeater 302 to determine the location of user device 208 as willbe further described below Tn one embodiment, user device 208 is possessed by the user Inanother embodiment, user device 208 s possessed by ‘supervisor and “loaned” tothe user by he supervisor. ‘As user 325 moves in and out of store zone 317, cash register sub-zone 323 aise sub-zone 318, hot zone sb-rone 324, aisle sub-zane 319, aisle sub-zane 320, aisle sub-zone 4321, aisle sub-rone 322, row sub-rone 427, the location of ‘wer device 308 is tracked as wll be further described below Predetermined actions of user application 247 based on the location of user device 208 are executed oF prohibited from being executed as wil be further described below. US 9,319,834 B2 uw In one embodiment, a8 user 328 moves through each of aisle sub-zones 318, 319, 320, 321, and 322. and row sub- ‘zone 327 information about products, including the price, spocitications, and the location of the products on shelves adjacent to each of aisle sub-zones 318, 319, 320, 321, and, 322, and ow zoe 327, discount coups fr the purchase of the prodvets located in each of aisle sub-zones 318, 319,320, 321, and 322, and row sone 327 are displayed actions on user ‘device 205 by user application 217 In another embodiment, as user 328 moves into hot ne sub-zone 324 user application 217 displays the status of @ sore event action on user device 208, Inthis embodiment, the stanis of the store event ation is based on a predetermined Time Within whieh user 328 and user device 208 engage with ive, at or within, the boundary of hot zone sub-zone 324 Tnone embedimen, hot zane sub-rone 324 is“exels nan “exclusion” zone all actions are deactivated except for sctios related to store events. In another embodiment, bot zone sub-7one 324 is “inclusion” and allows other actions, including information about products, including the price specifications, and the loeation of the products on shelves ‘adjacent to each of aisle sub-zones 318, 319, 320, 324, and $322, and ow zone 327, discount coupes fr the purchase of the products located in each of aisle sub-zones 318, 319,320, 321, and 322. In one embodiment, a supervisor ean verify and monitor the location of user device 208 in store zone 317 as will be Jurher deseribed below. In another embodiment, as user 328 moves into cash reg ister sub-zone 328, user application 247 determines whether user 425 can access priority check-out line 316 oF mist use ‘check-out line 318 and displays the determination on user ‘device 205, Inone embodiment, the determination ofwhether user 325 can acess priority check-out line 316 is based on a predetermined amount of money user 328 has spent at retailer 500, Ia another embodiment, the determination of whethee ‘user 328 can aecess priority check-out line 316 is based on & predetermined amount of time user has heen a customer of retailer 300. Tnone embodiment, exclusion sub-one 328 is sub-zone in ‘which the supervisor can decline to send actions toa usce. In this embodiment actions may be prohibited by law or athee limitations so tht ations which would otherwise be deliv= ‘ered 10 the user are not delivered, Instead of an aeton, 2 mestagemay be sen tote user regarding the prohibited ne ‘an its boundaries, Referring 10 FIG. 3C, an example ofa prefered security tour embadiment is described. Buildings 384 and 379 are located next exch other Security perimeter zone 378 sur- rounds buildings 384 and 379. Building 334 has checkpoint zones 339, 340, and 341. Building 379 has Noor 36 and Boor 338 above oor 336. Floor 336 has checkpoint zones 342 and 33. Floor 338 has checkpoint zones 344 ad 348, Tnoneembodiment, QR codes 346 and 347 may be placed “atcheckpoint ones 348 and 35, respectively, to insure ace rey when user 333 checks in at checkpoint zones 343 and 48, In another embodiment, NAV service repeaters 349 and 395 may be added to buildings 384 and 379, respectively, (© Jnsoreaecuraey at checkpoint zones 339, 340,341, 342, 349 344, and M5; ‘Building owner 377 has asked supervisor 376 to ereate a security tour for user 383 for building 334 and building 379. Inthis embodiment, user 333 isa socurity ofier In another embodiment, building owner 377 can assume the duties of supervisor 476 by logging in as ¢ supervisor using supervisor deviee 203 0 o 12 As used inthis disclosure, a tour isa set of one oF more ‘zones or sub-zones that may be visited in sequence or ran- ‘domly. a military mission, sequence of checkpoints a sec rity offer visits, delivery route to be completed, thea” ‘through a prison when a prison guard makes rounds, or any series of places (ron) all of which are defined by a super visor and may be visited by a user either in sequence oF sundry Supervisor 376 lols supervisor application 213 on super- visor device 203 and defines security perimeter zone 378 by points 380, 381, 382, and 383. Inside security perimeter zone 378 and using supervisor application 213, supervisor 376 ‘efines checkpoint ones 339, 340, and 341 in building 334 and checkpoint zones 342, 343, 344, and 348 in building 379 ‘on floors 336 and 338 using sss 248. This process of defin- ing zones and sub-7ones will be further described below. ‘User 333 is tasked with monitoring checkpoint zones 339, 340, and 341 in buildings 334 and checkpoint zones 342.343, ‘344, and 348 in building 399. To begin a tour, user 333 turns ‘on user device 208 ani rans user application 217. ‘On first running, user application 217 wil ask user 33310 authenticate (login). Once user 333 has authenticated, an nly ismade in system log database 234 and user application 217 verifies that user 323 is inside the perimeter of security perimeter zone 37H, a will be futher described below. [fuser is inside security perimeter zone 378, user 323 is allowed tw clock-in using user application 217 and an entry is made in system Tog database 234, as willbe further described below. ‘When user 383 has locked-in, user 333 may begin the tour ‘User 333 enters building 334 through door 338 and proceeds to checkpoint zone 339. In one embodiment, user 333 is ‘uomatically checked-in by a supervisor defined action ‘when user device 208 enters each checkpoint zane, as will be Turther described below. An entry is made in system log alabase 234, a willbe lunber described below. ‘When user 333 exits checkpoint zone 339 an entry is made in system log database 234, User 333 proceeds to checkpoint zone M0. Tn one embodiment, scr 333 may proceed to each check: point zone in any order. ‘In another embodiment, user 333 proceeds to each check point zone in a predetermined order. User 333 continues to check-in at cach checkpoint zane ia building 334, as described above and then proceeds o build. ing 379, User 333 enters buiking 379 through door 337. User 383 proceeds the first checkpoint one, in this embodiment ‘checkpoint zone 342. user 333 passes through each of check- point zanes 342, 43, 344, and 345 and automatically ehocks Jnateach ofcheckpoint zones 342,343,344, and 348 which nent in system log database 234 is made at the entry and exit ofeach checkpoint zone 342, 343, 344, and 348. ‘In another embodiment, user 343 checks in at checkpoint ones 343 and 34S by scanning QR codes 346 and 347 with ‘ser device 208 using user application 217. In another embodiment, other scannable codes are employed. Tnanother embodiment, user device 208 usos NAV service 204 vin NAV service repeaters 349 and 35 inside building 334 and 379, respectively, to determine the location of user ‘device 208, a willbe further described below. In another embodiment, as user 333 moves from check point one to checkpoint zone, predetermined actions of user Application 217 based on the cation of user device 208 are «executed or prohibited from being executed, as willbe furner ‘deseribed below: In this embodiment, the actions include the Jogging of events into system log database 234. ‘When user 323 hs completed checking nat each ofchock- point zones 339, 340, 341, 342, 342, 348, 344, and 345, the US 9,319,834 B2 13 ‘ours complete. All entry data from the tour is saved on the VGZ Server 201 in sysiem log database 234. System log database 234 datas available for query by supervisor reports 224. TInanother embodiment, VGZ application 208 savesdata of ‘each tour undertaken by user 333 and the ime it takes to ‘complete each tour on a zone by zone basis for future come parison, as will be further described below. Tew be appreciated by those skilled in the art that this preferred security embodiment has the ability $0 automat- ‘ally track the progress of user 333 dough tours and allows, supervisor 376 to manage larger plurality of users 333 than ‘would normally be managenble. Embodiments of supervisor sep proces, a user sot-up process, a supervisor application process @ user application process, and’ time verification process will be described below exccuted by a combination of VGZ server 201, super visor device 203, NAV service system 204, and user device 208 will be described boiow: Referring to FIG. 4A, supervisor set-up method 400 fora supervisor application ‘using a VGZ application will be ribed. In step 401, supervisor device 203 connects (0 VGZ server 201 aod roquests the supervisor application. In sep 402, the VGZ application determines the requirements of supervisor device 203. In step 403, the supervisor pplication Js downloaded to supervisor device 203. In step 404, super- visor device 203 installs the supervisor application. In step 405, supervisor device 208 sans the supervisor application, Instep 406, a set of supervisor account information sented Jo snpervisor device 203 o establish a supervisor account. Instep 407, supervisor device 203 sends the sct of supervisor ‘account information to VGZ server 201 to request the super visor account. In step 408 the VGZ application establishes 2 supervisor account by saving the supervisor aecount infor tation into a supervisor database. In Hep 409, VGZ. server 201 sends sn account coafiemation o supervisor device 208. In step 410, the supervisor application initiates a zone set-up fnetion to establish and define each zonecor sub-rone as will further descrited helo. In step 41, the supervisor “application requests location information from NAV services system 204, Instop412, NAV services system 204 determines the NAV location information. ‘In one embodiment, NAV services system 204 is a GPS. system. In this embodiment, the location information includes the positon ofthe GPS satellite atthe time the GPS signal isto be sent and the time at which the GPS signal is sent. Other NAV services systems may be employed. In step 413, the Tocation information is sent supervisor device 203. In step 414, supervisor device 208 determines its location from the location information Ia sep 415, the loca- tion, ie. longitudinal, latitudinal, and altitudinal coordinates ‘ofa set of zanes andior a set of sub-2ones are entered into supervisor device 203, lin a proferrod embodiment, steps 411, 412, 413, 414, and 415 are repeated to establish and define points ofa polygonal zone ofa sub-vone as will be futher desribed in FIGS. 472 and 4C. Instep 416, the saved set of zones and/or sub-zonesis seat woVGZ server 201, In step 417, VGZ server 201 saves the sets ‘ofzones andor sub-zones int the supervisor account. In step “418, an ation for each zone and sub-zone i entered. Ia step 419, theentered action is sent to VGZ server 201 In step 420, VGZ server 201 saves each action, Referring to FIG. 4B, method 421 for establishing a zone ‘and suh-zone is described in further detail, Method 421 starts at sep 422. In step 423, zone type is determined, whether the zone is “inelusion” or “exclusion” In step 424, 0 14 the determined zone is defined. In step 428, whether all zones have boen established is determined. If all zones have not been established, then method 421 retuas to step 423, Ifll ‘ones have been established, then method 421 proceeds to step 426. In step 426, whether a sub-zone needs to be estab- lished is determined, If 0 sub-zones need to he established then method 421 ends instep 431. Ifa sub-zone needs to be ‘established, then the sub-rone is defined instep 427. In step 4428, the sub-zone is associated with the zone. step 429, 2 sub-zone type is determined for the sub-zone, Le, whether the sub-aone is “inclusion” or “exclusion”. In step 430, whether all sub-zones have been established s determined. IF all sub-zones have not been established, then method 421 returns fo step 427. If all subzones have been established then method 421 ends in step 431. Steps 424 and 427 are performed as will he further described in FIG. 4 Referring to FIG. 4C, method 482 for defining a polygon {fora zone or sub-one is described in further detail, Method 482 starts at step 433. In step 434, a point location of the supervisor device is determined as previously described, la step 435, the determined point location is recorded in the supervisor device. In step 436, a decision is made as 10 ‘whether or not to record additional points as comers of the polygon referencing a 7one or subzine. [additional points Ave tobe recorded, then method 432 returns to step 434. In 2 preferred embodiment, the supervisor moves along a desired path and determines and records the set of point locations. ‘The set of point locations are endpoints for sides of «polygon forthe zane or sub-rone. In this embodiment, the supervisor ends te determination and recording ofthe se of point loea- tions a the last point location along the desired path and the polygon is closed to the first point fo additional points are to be recorded then the process moves to step 437. In step 447, the polygon is close to the fist point location Tn step 438, the determined zone or sub-zone is displayed as a proview. In step 439, whether the displayed rone or subszone isto be saved into memory is determined, IF not saved into memory, thea the displayed zane or sub-rone is cleared in step 440 and method 492 recurs to step 434, the splayed zone or suiberone is saved into memory, thea ‘method 432 ends in step 441 [Referring to FIG. SA. user setup method S00 for a user application usinga VGZ epplication is Jesribed. Instep $01, user device 208 connects to VOZ server 201 and requesis the user application, In step $02, the requirements of user device 208 are determined. In step 803, the user application isdown- Jaded. In step 504, the user application i installed, I step 508, the user application is started. In sep $06, set of user information that ineludes a user ID and a user verification is cnlerod into the user application to establisha user account. la step 507, the set of user information issent to VGZ server 201 ‘nd to request the user account. In step 808, VGZ application 208 establishes the user account by saving the set of user information in the user database, ln step 509, VGZ server 201 sends a confirmation to user device 208. In step 510, the confirmation is displayed on user device 208, TInstep51, the coondinates ofasetof zanes are determined {rom each supervisor account of each zone ofthe set of zones. Instep12, the coordinstes ofthe set of zones are sent to user eve 208. Instep $13, user device 208 saves the eoondinates ‘ofthe set of zane into memory: In step S14, s confirmation is sent to VGZ server 201. Instep $15, VGZ server 201 savesthe ‘ser to exch of the supervisor accounts foreach zone. In stp 516, the ations foreach zone are determined fom the per visor database. In step 517, the actions for each zone are sent {ouser device 208. In step 818, the setions foreach zone are US 9,319,834 B2 15, saved to the memory of user device 208. In tep $19, the user application on user device 208 monitors the location of user ‘device 208 at predetermined time intervals in onder to deter- mine if the user device engages, ie. is near at, or within a zone. as will be further dseribed in FIG. $B. In a preferred ‘embesdiment, a user associated with user device 208 can set ‘ate the intermittent monitoring ofthe neation of user device 208in step 519 atany time In thisembodiment, any zone may bedixcoverable as will he further described in 1G. SB. Instep 520, if user device 208 engages, ie, sat or within the zone, then the actions forthe engaged zone are displayed on uset device 208. Referring to FIG, $B, method 821 for monitoring «loca tion ofa user device to determine an engagement of The uset device with a ane is described in Further dail, ln sep $22, ‘2 location of the user deviee is determined as previously “described. In step $23, a velocity of the user device is deter- mined. Ina preferred embodiment, the velocity ofthe user device is determined by deteasining a set of locations and 3 time period between first location and a second lation. la this embodiment, each position a is a set of latitudinal, lon- itudinal pairs (x, y,)-In this embodiment, velocity is cal- ‘ulated by where v isthe velocity of the wer deviee, Ad, isthe distance from location (1,31) 10 location (yy) and At i the time period hewen the determination of location (%y.y..) and location (x, ¥,) In other embodiments, a plurality of locations is detérmined, a time period between each of the plurality of locations is determined, and the velocity of the User device is detennined using Bg. 1 and Bq, 2. Tn step $24, a dircetion of travel of the user device is determined from the set of locations. la step 825, frequency ‘of sampling is set. In 8 prefered embodiment, the frequency ‘of sampling is the frequency with which method $24 deter- ‘mines the lostion of the user device and «predicted path of the user device as wll be further described below, Instep 526, aclockis started to maintain timeconstant In sep 527, the predicted path of the user deviewis determined by plating spline of a st of predicted positions (x, ¥,) oF the user device using the set of locations, the velocity at each ‘of the st of locations, and sing the flowing equations: ‘where x, isthe latitudinal distance, y, is the longitudinal ‘distance isthe latitudinal aecelertion , isthe longitudi- nal acceleration, v, i the latitudinal velocity a ,,v, isthe Tongitudinal velocity at y,,, is the velocity at vis the longitinal velocity at, time, and (ye 3) fan point ‘onthe predicted pth, In ne embodiment, the predicted ath is sont to the VGZ server In another embodiment the p= ‘ited pa remains on the user device stp $28, an equation defining the nei detrsined In 0 o 16 function that defines the boundary ofthe zone. nt $29, the predicted path i compared to the zone cyuation, In one {iment cach pint ofthe preted ath is compared > Points on the boundary ofthe ne. none embodiment each Zonchasa ltt distance (yk) anda Tongtinal isto GaYnn) al each ot pS, 4) along the pre- ited paths cored fo the one 0 determine H pot p long the predicted path is tthe boundary or ihn the ‘eoundary the zone In thisembodinent, foreach along thepredited pathy iscompare oxy aise of he zone to detemiine wht the following relationship is te: Inthisembocimen cach, lot rd ah is Compare yor and yor offending whet the lowing latent se In this embodiment, if Ret 5 and Rel, 6 are tre th (Spo) of the prected path engages i, is at oF ‘boundary of the zone. Inanother embodiment, point (x, y,) ofthe predicted path is compared to the boundary of the Zone Using yay ou Youn Yor 1 determine whether point (X,, y,) #8 within 3 prevetermined distance from the boundary of the zone t0 determine whether the zone is “nearby.” In step 530, whether the predicted path is at, nearby, or within the zone area is determined from the comparison in| step 529. In other methods of determining whether the pre- dicted path engages, ie. is at, within, or nearby the boundary ‘of the zone, may be employed. In step $31, te direction ofthe user deve is determined, In step $32, the nearby zone is sorted to eliminate any zone that is behind the user device along the direction of travel. In step $33, anearby distance range Dis set toa percentage rot the velocity v, determined in step $23 by: Dov Bu Any percentage can be employed, For example, the percent- ‘age can be 20%, 50%, oF 75%. I'he percentage is 50%, then Eq, 7 becomes: Deas Bus In step 534, the predicted path is modified so that the predicted path extends at the nearby distance range. Insp 535, the nearby zones are sorted by the nearby distance range , along the predicted path. In step $36, the sorted nearby ‘ones are reported for display. In step $37, whether euch zone has been compared tothe predicted path is determined. each zone has not been com- pared to the predicted path then the next zone is retrieved in step $38, Method 521 retams to step 528. If each zone has been compared to the predicted path, then method 821 pro- ceeds fo step $39. In step $39, whether the predicted path rnceds to be updated is determined. In a preferred embodi- ‘ment, the predicted path is determined at time t,. In this embodiment, the present time is. In this embodiment, the time elapsed is: bop me If the time elapse t, is greater than a predetermined time period, then method’ S21 returns to step 27. Ifthe time lapsed t, is less than or equal to the predetermined time period, then method 521 endsin step $40 and any determined ‘nearby’ zane is sent from the server tothe user device andlor splayed on the user device. ‘Referring i FIG. 6, method 600 for user application 217s \eseribed. In step 601, user application 217 is started on user US 9,319,834 B2 17 “device 208. In step 602, a user veritication is entered, In step (603, he user verification is sent to VGZ server 201 to request verification. In step 604, the entered user verification is ver- fied by comparing the entered user verification to a user verification stored in a user database. In step 608, 2 user ‘erfication notification is sent to user device 208 if ews is verified Tastep 606, location information from NAV services sys- tem 204 is requested. In step 607, NAV services system 204 determines the location information. in one embodiment, NAV services system 204 is a GPS. system. In this embodiment, the locaton information includes the positon of the GPS satelite and the time at which the GPS signal is sent. Other NAV systems may be ‘employed. In step 608, NAV services system 204 sends the location information to user device 206. In step 609, a location of user device 103 is determined from the location information. Ia sep 610, a set of actions based on the location of user device 208is determined. Ina prefered embodiment, the location of user device 205 is compared to the one and the sub-rone to ‘determine ifthe location of user device 208 engages, eis ‘or within, the boundary ofthe zone or the sub-rone. In this, ‘emboiment, the location of user device 20S is compared to the one to determine ifthe zone is “nearby the location of user device 208 engages, then the set of actions ofthe zone or sub-zone is retrieved from memory. In another embodiment, method $21 is employed. In step 611, the set of actions are slisplayed on user device 208. In step 612, the locations sont 1 VGZ server 101, In step 613, the locaton is saved as a user event In step 614, the supervisor account is updated withthe user location. Instep 618, a notification is seat to supervisor device 203. ln step 616, the notification is displayed on user device 203. In step 617, an updated action is entered on supervisor device 203. instep 618, the updated ation is sent © VGZ server 201 In step 619, the updated action is saved to the supervisor account, In step 620, an updated aetion notifieation i sent to twser device 208. In step 621, user device 605 displays the updated action notifieation. In step 622, the updated action notification is selected. In step 623, the updated action is requested from VGZ server 201, Instep 624, the updated action is sent to user device 208, In sep 625, the updated action is saved to the memory of usee ‘device 208. In step 626, user device 208 displays the updated ‘ction. Referring to FIG, 7A, method 700 for push updating ‘etionsis described. Inthisembediment, the updated actions ‘irecly pushed to user device 208, In Sep 701, an updated action i entered into supervisor device 203. In step 702, the Updated action is seat to VGZ server 201, In step 703, the updated action is saved tothe supervisor account. Instep 704, the updated action is sent to wer device 208, In step 708, the ‘uated aetion is saved tothe memony of wser device 208. In slep 706, user device 208 displays an updated action nott- cation. Instep 707, the updated action notification is selected, In step 708, the updated action is displayed on user device 208. In step 709, a receipt confirmation is sent io VGZ server 201. In step 710, the receipt confimation i saved 0 the Supervisor aecount as a user event. In step 7H, 2 receipt notification is sent to supervisor device 203. In step 712, the receipt notification is displayed on supervisor device 203 ‘Referring 1 FIG. 78, method 713 for verifying and moni toring a user device location in a zone and a sub-rone is “deserbed. In step 714, supervisor device 203 sends a request for a user device location to VGZ server 201. In sep 718, VGZ server 201 sends the request fora user device location (© o 18 user device 208. In step 716,user device 208 requests location information from NAV services vystem 204, Instep 717, NAV services system 204 determines the location information. In step 718, NAV services system 204 send the location infor- ‘mation 1o user device 208, la step 719, user device 208 deter ‘mines the lncation of wser device 205, ln step 720, wser device 208 sends the location o VGZ server 201. In tep 721, VGZ server 201 verifies the location by comping the locaton to the zone and the sub-rone to determine if the location engages, ie, is at oF within the boundary of the zone oF sub-zone. In one embodinnent, method $21 is employed. la step 722, VGZ server 201 sends the location and a location verification o supervisor device 203. lnstep 723, VGZ-server 201 saves the location and the location verification to the Supervisor account. In step 724, supervisor device 203 dis plays the location step 728, supervisor device 203 clispiays the location verification. Inanother embodiment, eps 716,717, 718,719,720, 721, 72,723,724, and 728 ae repeated to onstaaly monitor and verily the location of user device 208 from supervisor device 208. Referring to FIG. 8, method 800 describes a user tour process. Instep 801, a user starts user application 217 on user {ovice 208. In step 802, user application 217 requests the user ‘woauthenticate login) and the user enters a set of credentials {or authentication verification. In step 803, 2 request to for authentication veefieaion is sent to VGZ. server 201, In stop ‘808, VGZ server 201 verifies theuser credentials. Instep 805, ‘auser authentication verifications sent ouser device 208, la step 806, the user is authenticated and the verification is splayed on user device 208, In step 807, the user elocks-in by requesting a elock-in from VGZ server 201 Intep 808, he lock-in rast is sent to VGZ server 201. Instep 809, VGZ server 201 processes the lock-in request and saves a clock-in entry in system log database 284. In step 810, VGZ. server 201 must verity the user is within a zone where the user can clock-in and initiates «location verification of user device 208, Tn step 811, locaton information from NAV services sys {em 204 is requested. In sep 812, NAV services system 204 elermines the location information, Tn one embodiment, NAV services system 204 is « GPS. system. In this embodiment, the location information includes the position of the GPS satelite and the time at ‘which the GPS signal is sent. Other NAV’ systems may be employed In sep 813, NAV services system 204 sends the location information to user device 208, In step 814, a location of user ‘device 208 is determined from the locaton information, la step 815, th location of user device 208 issent to VGZ server 201 In step 816, VGZ server 201 verifies if user device 205 is within login zone boundary as previously deseribed. In step 817, ifthe user is within bounds of the login zane, the wer is verified and clocked-in, and the verification is sent to user vie 205, In step 818, a request start tours sent to VGZ server 201, In step 819, VGZ. server 201 save a tour start ery ia syste log database 234, In step 820, tour start verification instruction is seat to user devie 208, The tour begins instep 821 In step 822, the user checks at a checkpoint. In one cembodiment, the user checks-in manually as previously deseribed US 9,319,834 B2 19 Instep 823, the check-in location of user device 208s sent tw VGZ server 201. In step 824, VGZ server 201 saves the ‘chock in location of user deviee 208 as acheck-in log entry’ ia system log database 234, In another embodiment, user device 208 is automatically ‘checked-in ata checkpoint zone by a set of setions. In step 1825, a set of actions based onthe ocationof user device 205, ‘sdetermined and displayed onuser device 208. Ina prefered ‘embosdiment, the location of user device 208 is comparedto a ‘checkpoint zone and subaneto determine if the location of user device 205 engages, ie, is al oF within, the boundary of the checkpoint zone or the sub-rone In this embodiment, the Tocation of user device 206 is compared to the checkpoint zone to determine ifthe one is “nearby If the location of user device 205 engages, then te set of ction ofthe check point zone or sub-none i rerieved from memory. In nother ‘emboxiiment, method $21 is employed. In step 826, the action is execute, ic. user device 208 generates a check-in notification. In step 827, the check-in Aolifleaion is sent to VGZ server 201, In step 828, the 2 ‘executed action is saved in system fog database 234 a8 3 ‘check-in log entry Steps 822, 823, 824, 825, 826, 827, and 828 are repeated {or each checkpoint zone onthe tour. In step 829, a request to end the tour is sent VGZ server 201, Instep 880, VGZ server 201 saves tour end logeny i system log datshase 234. In tep 831, VGZ server 201 sends ‘tourend verification wo user device 206. instep 832, the end tour verification is displayed on user device 208, In sep 833, 9 roquest to clack-out is generated on user device 208. In step 834, the request to clock-out is sent 10 VGZ server 201. In step 838, VGZ server 201 processes the lock-out request and saves a clackeott entry in system log, database 234 In step 836, the clock-out request is verified. In this step. steps 810, BL1, 812,813, 814, 815, 816, and 817 are repeated. Instep 837, VG sorver 201 sends aclock-out verification to user device 208, In step 838, the clock-outverifiation is displayed on user device 205, Referring toF1G, 9, method 900 for determining whether a present tour is on time by VZ application 208 is disclosed. Instep 901, the present tour sats. In step 902, setof present tourdateis collected. la step 903, a set of historical tour data is retrieved [rom system log database 234. In step 904, theset ‘of present tour data is compared Io the set of historical tour ‘data on zone by zone basis. In one embodiment, an average time elapsed between each checkpoint zone of the set of historical tour data is compared to the current time elapsed between each checkpoint zone inthe same sequence of zones. Ione embodiment, a supervisor determines the time paran- ‘eters used for comparison to detenmine whether the present tours one time In step 908, VGZ. application 208 determines the present tourison time. Ifthe present tour ison time, then method 900 proceeds to step 907. Ifthe present tours not on time, then a predetermined oction set by a supervisor is executed in step ‘906. none embodiment, the present tur is aot on time ifthe ‘curent imei greater than he predetermined tine parameter Inanother embodiment, the present tours not onetime ithe ‘current tim is less than the predetermined time parameter. Tnone embodiment, the action includes a ntilieation, The notification is in the form of « phone eal a text message, an ‘email, a blinking notification, an alarm notification or any ‘combination thereo. In other embodiments, other notifica tions are employed, Tnone.embodiment, the action i a notification set to user ‘device 205 stating that the tour is not on time. 0 o 20 another embodiment, the action isa notitieation set to supervisor device 203 stating that the tour isnot on time. In another embodiment, the ation isa notification sent to supervisor device 203 nnd userdevice 208 stating that the tour Instep 907, whether the present tours done is detemained In-a profered embodiment, if an end tour verification has ‘been sen, as previously describe, then the present tour is done. In this embodiment, if an end tour verification has not ‘been sent, then the present tour is not done. Ifthe present tour snotdone, then method 90 rues to step 902. IF the present ‘ours done, then method 900 ends instep 908, twill be appreciated by those skilled in the art that modi ications cam be made 10 the embodiments disclosed and remain within the inventive concept. Therefore, {is not limited to the specific embodiments disclosed, but is intended to cover changes within the scope and spirit ofthe claims, ‘The invention claimed is: 1 Ina system comprising a network, a server connected t0 the network, a supervisor device connected tothe network, ‘and a user device connected tothe network, the server pro- rammed to store and execute instrctions that cause the system to perform a method comprising the steps of receiving, by the supervisor device a fist set of points; defining, by the supervisor deviee, & zone from the frst Set ‘of points receiving, by the supervisor deviee, a second set of points ‘within the zane; defining, by the supervisor device, a sub-zone from the second set of points defining, by the supervisor device, a set of aetions forthe defining, by the supervisor device, a predetermined Kime forthe zone; receiving, by the user device, a location ofthe user device; ‘comparing, by the sever, the location ofthe user device to ‘location of he zone: receiving, by the user device, time for the location of the ‘user device; ‘comparing, By the server, the lime to the predetermined time forthe zone; executing, by the user device, the set of actions if the location ofthe user device engages the zone; and, generating, bythe server, anotifieation ithe times preater ‘than the predetermined time. 2. The method of elas 1, Further comprising the steps of ‘comparing, by the user device, the location of the user device 1 a location ofthe sub-zone: and, executing, by the user device, the set of actions if the location ofthe user device is within the sub-zone. 3. The method of elsim 2, wherein the step of defining @ sub-zone by the supervisor device further comprises the steps of defining, by the supervisor device, an “exclusion” zone; receiving, by the supervisor deviee, a subset of excluded ‘actions from the set of actions; and, associating, by the supervisor device, the subset of ‘exclided actions with the exclosion zone. 4. The method of elaim 1, further eomprising the step of periodically monitoring, by the user device, the location of the user deve ', The mthod of eluim 1, further comprising the step of sending, bythe supervisor device, the notifiation to the user device, US 9,319,834 B2 2 6. The method of claim 1, further comprising the sep of sending, by the supervisor device, the notification 10 the supervisor device. 7. The method of claim 1, wherein the step of executing Jurdier comprising the step of receiving, by te server, « ‘check-in notification forthe user device. 8, The method of elaim 7, further comprising the steps of: receiving, by the server, an end tour request forthe user device: ‘comparing, by the server, the end tour request othe checks innotification; and, sending, by the server, an end tour verification to the user device ifthe end tour request is equal to the check-in nolifieation. 9, The method of clas 1 further comprising the steps of:

You might also like