WO2021042067A1 - Computer network for tracking user using user's mobile device - Google Patents

Computer network for tracking user using user's mobile device Download PDF

Info

Publication number
WO2021042067A1
WO2021042067A1 PCT/US2020/048836 US2020048836W WO2021042067A1 WO 2021042067 A1 WO2021042067 A1 WO 2021042067A1 US 2020048836 W US2020048836 W US 2020048836W WO 2021042067 A1 WO2021042067 A1 WO 2021042067A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
location
mobile device
attributes
notification
Prior art date
Application number
PCT/US2020/048836
Other languages
French (fr)
Inventor
Lawrence GRIFFITH, Jr.
Adrian Patrick DELANCY
David Michael THIERRY
Original Assignee
Digital Factory Technologies, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/555,600 external-priority patent/US11044572B2/en
Application filed by Digital Factory Technologies, Inc. filed Critical Digital Factory Technologies, Inc.
Priority to EP20856940.0A priority Critical patent/EP4022946A1/en
Priority to CA3149141A priority patent/CA3149141A1/en
Priority to AU2020336229A priority patent/AU2020336229A1/en
Publication of WO2021042067A1 publication Critical patent/WO2021042067A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0242Determining effectiveness of advertisements
    • G06Q30/0244Optimization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0261Targeted advertisements based on user location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services

Definitions

  • the disclosed embodiments relate to a computer network for tracking a user using a user’ s mobile device. More specifically, the embodiments relate to a computer network for tracking a user utilizing the user’s mobile device to cluster users to select and deliver a notification to a user’s mobile device and/or to provide the user, healthcare insurers and providers, and/or doctors, information regarding a user’s health and wellness.
  • notifications or promotions are effective tools to pique consumers’ interest in a product or service.
  • the notification can include a coupon, discount, sample give away, or some other promotional offer to incentivize the consumer to try the product or service with the expectation that the consumer will continue to use the product or service afterwards.
  • the notification needs to be distributed to a consumer who is likely to convert on the offer in the notification.
  • the notification needs to be distributed at the right time and at the right location. A general and broad distribution of notifications may overwhelm the consumer causing the consumer to ignore all notifications.
  • a system and method for clustering mobile device end users using a computer network in which location and speed information is received from a mobile device of a user. A determination is then made as to whether the user is moving below a predetermined speed and whether the user has remained within a predetermined distance from the location during a predetermined amount of time. A location attribute is determined for the location of mobile device of the user whereby a plurality of locations attributes associated with the user are also aggregated in association with the user. A profile may then be determined for the user based on the aggregated location attributes for the user. Additionally, a user’ s health wellness may be determined based on the aggregated location attributes for the user.
  • the system comprising one or more memory devices storing programing instructions and one or more processors configured to execute the program instructions to cause the system to perform operations.
  • the programing instructions include: receiving a location and speed from a mobile device of a user; determining the mobile device of the user is moving below a predetermined speed; determining the mobile device of the user has remained within a predetermined distance from the location during a predetermined amount of time; identifying a location attribute for the location of mobile device of the user; associating the location attribute with the user; aggregating a plurality of location attributes associated with the user; and determining a profile for the user based on the aggregated location attributes for the user.
  • the system comprising one or more memory devices storing programing instructions and one or more processors configured to execute the program instructions to cause the system to perform operations.
  • the programing instructions include: a system for defining a fence using a computer network, the system comprising: receiving a first fence defined by a first user, the first fence includes an area having a geographic location, a plurality of notifications available for the first fence, and a plurality of content attributes for each notification; receiving location and speed from a mobile device of a second user; determining the mobile device of the second user is stationary for a predetermined amount of time, the location where the second user remained stationary for a predetermined amount of time defines a second fence; identifying a location attribute for the second fence; associating the location attribute with the second user; aggregating a plurality of location attributes associated with the second user; determining an audience profile for the second user based on the aggregated location attributes for the second user, a plurality of audience profile attributes are
  • the system comprises one or more memory devices storing programing instructions and one or more processors configured to execute the program instructions to cause the system to perform operations.
  • the programing instructions include: receiving location and speed from a mobile device of a user; determining the mobile device of the user is stationary for a predetermined amount of time; clustering a group of users based on location they were stationary for a predetermined amount of time; and determining a common health issue (such as exposure to a contiguous disease/virus) within clustered group of users.
  • FIG. 1 is a schematic of a mobile device of an end user, a personal computer of a marketer, and a system for clustering end users and selecting and delivering a notification to the mobile device in accordance with an illustrated embodiment;
  • FIGs. 2A and 2B are flow diagrams illustrating microfence creation
  • FIGs. 3A, 3B, and 3C are flow diagrams illustrating placing an end user into an audience profile
  • FIGs. 4A and 4B are flow diagrams illustrating selecting and delivering a notification to an end user’s mobile device
  • FIGs. 5A and 5B illustrate screen shots of a dashboard depicting locations of existing microfences and for receiving inputs to add a new microfence, edit an existing microfence, and/or delete an existing microfence;
  • FIG. 6 illustrates a screen shot of a dashboard depicting attributes for an audience profile
  • FIG. 7 illustrates a screen shot of a dashboard depitcting a plurality of notifications and performance of the highlighted notification
  • FIG. 8 illustrates a screen shot of a dashboard depicting statistics and performance for the audience profile of FIG. 7 ;
  • FIG. 9 illustrates a mobile device depicting a notification selected by the system
  • FIG. 10 is a schematic of a mobile device of an end user, a personal computer of a medical professional, and a system for clustering end users and selecting and delivering a notification to the mobile device in accordance with an illustrated embodiment
  • FIGs. 11 A and 1 IB are flow diagrams depicting a process for determining if an end user is stationary
  • FIGs, 12A and 12B are flow diagrams depicting a process for placing an end user into a health profile
  • FIG. 13 is a flow diagram depicting a process for determining an end user’s health wellness based on aggregated location attributes.
  • FIG. 14 is a flow diagram depicting a process for determining common health issues within clustered group of users based on their aggregated location attributes
  • FIG. 15 depicts a process for determining common health issues within clustered group of users based on the location they were stationary;
  • FIGs. 16A and 16B depict screen shots for tracking end user behaviors associated with healthcare applications
  • FIGs. 17A-17E depict screen shots illustrating an end user’s (patient’s) medical and wellness records
  • FIGs. 18A and 18B illustrate the display of one or more mobile devices generated during a medical emergency scenario
  • FIGs. 19A-19D illustrate the display of one or more mobile devices of medical professional linking together and having access to a patient’s medical records.
  • the terms "optional” or “optionally” mean that the subsequently described event or circumstance can or cannot occur, and that the description includes instances where said event or circumstance occurs and instances where it does not.
  • FIG. 1 illustrates an environment 100 of one embodiment of a system 120 for clustering end users and delivering a notification to an end user’s mobile device (e.g., a smart phone, tablet device and any capable portable computing device).
  • the system 120 is preferably accessible by an end user 110, who may be a subscriber to an application operatively associated with the system 120, preferably through two-way communication with the user’s mobile device 112.
  • the end user’s mobile device 112 is configured for tracking the mobile device’s location through triangulation of satellites (GPS) 114, triangulation of cellar towers or any other functional method.
  • GPS satellites
  • the user’s mobile device 112 is also configured to track the mobile device’s ground speed (e.g., MPH) via an accelerometer and/or by detecting changes in ground location over time through a triangulation method. It is assumed that the end user 110 is carrying the mobile device 112 or keeps the mobile device 112 close to him or her, such as in the vehicle the end user is located within. Hence, it is to be understood the ground location and speed of the end user’s mobile device 112 is approximately the same as the location and speed of the end user 110.
  • ground speed e.g., MPH
  • the location of the end user’s mobile device 112 can be used interchangeably with the location of the end user 110 and the speed of the end user’s mobile device 112 can be used interchangeably with the speed of the end user 110.
  • FIG. 1 further illustrates an embodiment of the system 120 that is accessible by a marketer or an administrator (hereinafter “marketer”) 116 involved in marketing products or services to consumers, through two-way communications with the marketer’s computer 118 or some other device such as a tablet or a mobile device associated with the marketer 116.
  • marketer an administrator
  • FIG. 1 further illustrates an embodiment of the system 120 that is accessible by a marketer or an administrator (hereinafter “marketer”) 116 involved in marketing products or services to consumers, through two-way communications with the marketer’s computer 118 or some other device such as a tablet or a mobile device associated with the marketer 116.
  • the marketer’s computer 118 preferably includes an output component, such as a monitor, capable of displaying content from the system 120 and at least one input component, such as a keyboard, mouse, or touch screen, capable of sending requests and inputs to the system 120.
  • the system 120 is functionally controlled by a control unit.
  • the control unit includes at least one specially configured processor and at least one controller configured to operate with at least one memory device and at least one data storage device (collectively referred to herein as “memory device”) 124.
  • a control unit includes at least one specially configured processor or central processing unit (CPU) which preferably includes arithmetic logic units and math co processors also known as floating point units.
  • the specially configured processor includes registers for holding instructions or other data, and cache memory for storing data for faster operation thereupon.
  • the specially configured processor may be a multi-core processor that includes two or more processors for enhanced performance, more efficient parallel processing, or other advantageous computing functions, and may be one or more processing devices such as microprocessor(s) or integrated circuit(s) and may include one or more controllers. It should be appreciated that in certain illustrative embodiments, a general purpose processor could be programmed to perform the functions of specially configured processor.
  • a controller is a device or a software program that manages or directs the flow of data between two entities. Often, controllers are special purpose circuitry or software that solve a technical communications problem between different technology systems, and functions as an interface between two systems while managing the communications between the systems. In certain illustrative embodiments, a controller functions as an interface between a processor and a peripheral device and functions to control the peripheral device.
  • At least one specially configured processor and controller (collectively referred to herein as “processor”) 122 is configured to communicate with at least one memory device 124.
  • the memory device 124 preferably includes one or more memory structures for storing instructions and various types of data.
  • Memory structures may include one or more random access memory units (RAMs) units, one or more read only memory units (ROMs), one or more flash memory units including solid state drives (SSDs), one or more electrically erasable/programmable read only memory units (EEPROMs).
  • RAMs random access memory units
  • ROMs read only memory units
  • flash memory units including solid state drives (SSDs)
  • EEPROMs electrically erasable/programmable read only memory units
  • Memory device 124 preferably stores program code and operation data necessary for the operation of the system 120 described herein.
  • code and operation data necessary for the operation of the system 120 may be store in a distributed manner such that some code is stored in the memory device 124 and other code is stored remotely from system 120.
  • the code and operation data necessary for the operation of the system includes, for example, basic input and output function data, instruction fetching data, bus and network communication protocol data, and like data.
  • the code and operation data for operation of the system herein may be stored in removable cartridges or flash drives, a compact disk ROM, a digital versatile disk (DVD) optical storage technology, or suitable other fixed non-transitory storage mediums.
  • part or all of the code and operational data for operation of the system may be stored in a remote memory structure and be downloaded to the memory device 124 via a network connection.
  • system 120 may utilize any combination of memory devices such as random access memory devices (RAMs), unalterable memory devices (ROMs), and mass storage devices for securely storing and securely communicating the software components or code that facilitate operation and other functions of the system 120.
  • RAMs random access memory devices
  • ROMs unalterable memory devices
  • mass storage devices for securely storing and securely communicating the software components or code that facilitate operation and other functions of the system 120.
  • FIG. 1 can be embodied in hardware, software, or a combination thereof. Described hardware includes the structures described and their functional or operational equivalents. Described functions may be performed by hardware, digital circuitry, computer software, computer firmware, or functionally equivalent combinations thereof.
  • FIGs. 2A and 2B illustrated are flowcharts depicting examplary operation 200 of an illustrative embodiment of the system and method for creating a microfence.
  • processor 122 of the system 120 (FIG. 1) is preferably configured, via instructions stored in a memory device 124, to perform the operation 200.
  • a memory device 124 to perform the operation 200.
  • other suitable variations of operation 200 are possible. For instance, in one illustrative embodiment, fewer or one or more additional blocks (not shown) may be employed in operation 200 of the system and method. In other illustrative embodiments, the blocks may be performed in any suitable order.
  • FIG. 2A illustrates the system 120 receives a request from a computer 118 of a marketer 116 (FIG. 1) to access a dashboard showing locations of existing microfences (block 210).
  • the microfence can be a geographic area which the system 120 can be triggered to perform certain operations once a mobile device enters the microfence.
  • the microfence can be identified as a particular location (including but not limited to GPS coordinate, latitude and longitude, address, road intersection) and a given radius, such as 1 ⁇ 4 mile from the location.
  • the system 120 After the system 120 receives a request to access a dashboard, the system 120 causes the computer monitor 118 of the marketer 116 to display a map showing a plurality of existing microfences, if any, previously created by the marketer or other users having access to the dashboard (block 212). After viewing the originally displayed map, the marketer 116 may zoom in or out to a particular area of interest. In the situation for which the system 120 received a signal to display a particular area of interest (block 214), the system 120 causes the monitor to display a map of that particular area showing the microfences, if any, previously created by the marketer or other users having access to the dashboard (block 216).
  • the marketer 116 may decide to add or create to a new microfence.
  • the system 120 receives a signal from the marketer’s computer to add a new microfence (block 218)
  • the system 120 updates the database of microfences with the location and area of the new microfence (block 220) and causes the marketer’ s monitor to display the new microfence on the map, as illustrated in block 222 via off page connector A in FIG. 2B.
  • the system receive inputs from the marketer to select, import, and/or create the notifications available for and to be associated with the new microfence, preferably along with the content attributes associated with each notification (block 224).
  • the notification preferably includes one or more promotional offers (including but not limited to coupons, discounts, sample give away, and other offers) that are available to an end customer to redeem or convert.
  • the system 120 then preferably updates database of microfences by saving the available notifications for the new microfence to the memory device 124, along with the content attributes for each notification (block 226).
  • the marketer may create another microfence.
  • the system 120 updates the database of microfences in memory device 124 with location of the second new microfence(s) and the process of operation 200 in accordance to blocks 220, 222, 224, 226, and 228 repeats until the processor 122 no longer receives a signal to add another microfence.
  • FIG. 1 the processor 122 of the system 120 (FIG. 1) is preferably configured, via instructions stored in a memory device 124, to perform the operation 300.
  • the processor 122 of the system 120 (FIG. 1) is preferably configured, via instructions stored in a memory device 124, to perform the operation 300.
  • FIG. 1 the processor 122 of the system 120 (FIG. 1) is preferably configured, via instructions stored in a memory device 124, to perform the operation 300.
  • FIG. 1 the processor 122 of the system 120
  • FIG. 1 the processor 122 of the system 120 (FIG. 1) is preferably configured, via instructions stored in a memory device 124, to perform the operation 300.
  • fewer or one or more additional blocks may be employed in operation 300 of the illustrative system and method.
  • the blocks may be performed in any suitable order.
  • the system 120 may receive inputs from a mobile device 112 of an end user 110 (FIG. 1) (block 305).
  • the system 120 is preferably accessible by an end user 110, who may be a subscriber to an application associated with the system 120, through two-way communications with the user’s mobile device 112.
  • the inputs preferably include information to identify the end user and to determine the location and the speed of the mobile device 112.
  • the end user’s mobile device 112 is preferably configured to track the mobile device’s location through triangulation of satellites (GPS) 114 or through triangulation of cellar towers.
  • GPS satellites
  • the user’s mobile device 112 is further preferably configured to track the mobile device’s speed via an accelerometer and/or changes in location over time, such as through triangulation. It is understood that the end user 110 typically carries the mobile device 112 or keeps the mobile device close to him or her, such as in the vehicle that the end user travelling within. Hence, it can be assumed that the location and speed of the end user’s mobile device 112 is approximately the same as the location and speed of the end user 110. Therefore, the location of the end user’s mobile device 112 can be used interchangeably with the location of the end user 110 and the speed of the end user’s mobile device 112 can be used interchangeably with the speed of the end user 110.
  • the system 120 preferably uses the information received from the mobile device 112 to identify the user in order to determine if an audience profile has been associated with the end user (block 310).
  • process of operation 300 continues to block 314 to determine the location of the mobile device 112, preferably through triangulation of satellites (GPS) 114 or through triangulation of cellar towers and speed of the mobile device via an accelerometer and/or changes in location over time through triangulation. If an audience profile has already been associated with the end user, the process of operation 300 continues to block 312 to determine if a predetermined time period, such as one month, has elapsed since the audience profile for the end user was last reviewed.
  • GPS satellites
  • the system 120 reassesses whether the end user should be placed in a new audience profile by the process of operation 300 determining the location and speed of the mobile device (block 314). If the predetermined time period has not elapsed since the audience profile for the end user was last reviewed, the end user will continue to be associated with that audience profile. It is to be appreciated that the audience profile and its attributes can be used for other operations, such as “selecting and delivering a notification to mobile device”, which is to be discussed below in accordance with FIGs. 4A and 4B, via off page connector D.
  • the process of operation then proceeds to determine whether the end user purposely stopped at a location (“stationary”) or whether the end user stopped unintentionally, such as waiting at a traffic light (block 314). If the mobile device 112 is not moving below a given speed, the process of operation 300 then reverts back to block 305 in which the system 120 may receive, from the mobile device 112, new information to determine the location and speed of the mobile device 112.
  • a given or predetermined speed such as 5 m/s or another speed that was predetermined as an indicator that the end user has purposely stopped at a location
  • the process of operation then proceeds to determine whether the end user purposely stopped at a location (“stationary”) or whether the end user stopped unintentionally, such as waiting at a traffic light (block 314). If the mobile device 112 is not moving below a given speed, the process of operation 300 then reverts back to block 305 in which the system 120 may receive, from the mobile device 112, new information to determine the location and speed of the mobile device 112.
  • the system 120 preferably starts a timer in accordance (block 318). After a periodic time interval has elapsed, such as one second, the system 120 determines a new location of the mobile device 112, such as through triangulation of satellites (GPS) 114 or through triangulation of cellar towers (block 320). After the periodic time interval has elapsed, if the location of the mobile device remains within a given distance (block 322), such as 10 meters, from the original location determined in block 314, the process 300 continues by determining another new location after a periodic time interval until the timer started in block 318 has surpassed a given or predetermined amount of time, such as twenty seconds (block 324).
  • a given distance such as 10 meters
  • process of operation 300 reverts to block 305 whereby the system 120 receives from the mobile device 112 new information to determine the location of the mobile device 112, such as through triangulation of satellites (GPS) 114 or through triangulation of cellar towers and speed of the mobile device 112 via an accelerometer and/or changes in location over time through triangulation.
  • GPS satellites
  • process 300 continues to block 326 via off page connector E in FIG. 3B whereby the system 120 evaluates if the original determined location (block 314) is associated with a current geofence saved in its memory device 124. If the original location belongs to a current geofence saved in the system’s memory device 124, process 300 continues to block 330. If the original coordinate does not belong to a current geofence saved in the system’s memory device 124, a new geofence is created for this location (block 328) and then the process 300 continues to block 330.
  • the system 120 preferably submits analysis purpose related data to the Web server through specific web API to determine the location attributes of the geofence location, which location attribute is then saved preferably in memory device (block 332).
  • the location attribute can be the type of product or service provided at that location, such a fast food restaurant, a movie theater, a school, a hospital, etc.
  • the identified location attribute is preferably saved in the memory device 124 of the system 120 as being associated with an end user 110. If a sufficient number of location attributes have been saved for the end user (block 334), the system 120 aggregates the end user’ s visits to the different location attributes per time period (day, week, or month) (block 336).
  • the number of sufficient location attributes is at least a number that would be statistically significant to indicate the habit and behavior of the end user 110. If the number of location attributes saved for an end user 110 has not surpassed the sufficient number of location attributes, process 300 reverts block 305 via off page connector F in FIG. 3A to continue identifying additional location attributes to associate with the end user 110.
  • the system 120 then preferably groups the end user’s visits to particular locations by their location attributes (block 338).
  • the system 120 next classifies particular distinct behaviors of the end user by taking into account the clustered and chosen visiting patterns of the end user (block 340). These particular distinct behaviors and frequencies associated with the end user are then stored in a database (block 342).
  • Process 300 then continues to block 344 via off page connector G in FIG. 3C whereby the system 120 places an identifier for the individual end user 110 in a sparse vector space preferably based on the end user’s behavior/frequency analysis.
  • the end user’s 110 behaviors may also be derived from end user entered data.
  • the end user 110 may provide personal information about himself or herself, such as his or her preferences and demographics including but not limited to marital status, income range, profession, etc.
  • This user-entered data is preferably stored in a memory device 124.
  • This user-entered behavior and demographic information (block 346) may also be used to place the individual end user’s identifier in a sparse vector space (block 344). Clusters in this vector space is then preferably identified using statistical analysis/mathematics models (block 348).
  • the system 120 then preferably labels individual end users with their profile membership and stores this label in the memory device 124 (block 350).
  • a ML Classifier or other machine learning engine, is trained to place individual users into one of the audience profiles (block 352).
  • the system 120 also preferably determines if there is an existing audience profile having location attributes visits that closely matches the end user’ s aggregated visits to the different location attributes (block 354).
  • the audience profile is a hypothetical person that represents a group or cluster of end users having similar attributes. The use of an audience profile allows the system 120 to quickly and efficiently identify the characteristics of an end user 110 by his or her audience profile when determining the spending habits of the end user 110 and hence the probability of the end user 110 converting an offer.
  • the system 120 determines if there is an existing audience profile that closely matches the aggregated location attributes visits, attributes provided by the end user (such as the user-entered data stored in memory device 124a), and/or other attributes collected about the user (such as from public information about the end user available on the internet).
  • the end user 110 is preferably associated with that audience profile, along with the audience profile attributes for that audience profile (block 362).
  • the audience profile attributes may include the behavior frequency for the audience profile, such as the audience profile’s app usage, the audience profile’s route commutes, the audience profile’s visits to fast food restaurants by car, the audience profile’s visits to fast food restaurants by bus, the audience profile’s visit to clothing stores, etc. Further examples of audience profile attributes will be further discussed in association with Figure 7. If there is not an existing audience profile which closely matches the end user’s aggregated visits to the different location attributes, the system 120 then preferably clusters behavior grouping based on behavior frequency attributes, inferred home/work location categories, etc.
  • blocks 350, 352 and 354 are shown in FIG. 3C as sequential steps, those skilled in the relevant art will recognize and appreciate that these steps can performed by the system 120 simultaneously, interchangeably, or in a different order.
  • a marketer further analyzes the cluster to provide a name and description for the new audience profile (block 358).
  • the system 120 then preferably generates and saves the new audience profile in its memory device 124 (block 360) whereby the end user 110 is associated with that audience profile and the associated audience profile attributes (block 362).
  • the audience profile associated with an end user 110 and its attributes can be used for other operations, such as “selecting and delivering a notification to mobile device”, as to be discussed below in association with FIGs. 4A and 4B, via off page connector D.
  • the process 300 then reverts back to block 305 via off page connector F in FIG. 3A to continue identifying additional location attributes to associate with the end user
  • FIGs. 4A and 4B illustrated are flowchart depicting exemplary operation 400 in accordance with an illustrated embodiment of the system and method for selecting and delivering a notification to an end user’s mobile device.
  • processor 122 of the system 120 (FIG. 1) is configured, via instructions stored in a memory device 124, to perform operation 400 described herein.
  • FIG. 1 It should be appreciated that other suitable variations of operation 400 are possible. For example, fewer or one or more additional blocks (not shown) may be employed in operation 400 of the system and method. In other illustrative embodiments, the blocks may be performed in any suitable order.
  • the system 120 may receive inputs from a mobile device 112 of an end user 110 (FIG. 1), which may include information that identifies the end user and/or determines the location of the mobile device 112. The system then evaluates whether the mobile device 112 and the end user 110 have entered a microfence (block 410) that was previously created by a marketer 116 through process 200 illustrated in FIGs. 2A and 2B via off page connector C. If the end user 110 did not enter a microfence, process 400 reverts back to block 405 to receive new inputs, including the end user’s 110 new location from the end user’s mobile device 112.
  • the system 120 identifies or retrieves from the memory device 124 the notifications available for, and associated with, that microfence along with the associated content attributes for each notification.
  • the notification preferably includes one or more promotional offers (including but not limited to coupons, discounts, sample give away, and other offers) that are available to an end customer to redeem or convert.
  • the content attributes can be the goods and services associated with the offers provided in the notification.
  • the content attributes may include (but are not to be understood to be limited to) fast food, cafe, alcoholic beverage, coffee, soft drink, bus travel, train travel, clothing, and other products or services associated with the offer provided in a notification.
  • the system 120 Based on the audience profile attributes for the audience profile that was previously associated with the end user through process 300 illustrated in FIGs 3A, 3B and 3C via off page connector D and the content attributes associated with notifications available for the geofence retrieved (block 410), the system 120 preferably generates a conversion probability for the end user (block 412). Preferably, the conversion probability represents the likelihood or probability that the end user 110 will convert the offer provided in a notification. The system 120 then selects a notification for display to the end user 110 based on the generated conversion probability (block 414). The selected notification can be the notification, from the plurality of notifications available for the microfence, that the end user 110 is most likely to convert the offer provided in the notification.
  • Process 400 continues to repeat to block 405 by receiving new locations and determining if the user 110 has entered another microfence.
  • process 400 further provides information to the marketer 116 by displaying a dashboard with the number of notifications sent to end users 110, the number of end users who viewed the notifications and the number of offers that the end users converted.
  • the information displayed on the dashboard assists the marketer to assess the success of the marketing campaign for which the notification is created.
  • process 400 continues to block 418 via off page connector H in FIG. 4B whereby the system 120 updates in its memory device 124 with the number of notifications sent to end users 110 and causes the new number of notifications sent end users to be displayed on a dashboard.
  • Process 400 determines if the end user viewed the notification (block 420).
  • the system 120 In the event the system 120 receives a signal from the mobile device 112 indicating that the end user 110 viewed the notification, the system 120 preferably updates the number of views by end users 110 in its memory device 124 and causes the new number of views by end users 110 to be displayed on the dashboard (block 422). If a signal is not received from the mobile device 112 indicating that the end user 110 viewed the notification, it is assumed that the notification has not yet been viewed by the end user whereafter the system 120 continues to wait indefinitely for a signal that the end user 110 viewed the notification (block 428). In other embodiments, if a signal has not been received from the mobile device 112 indicating that the end user 110 viewed the notification, the system 120 continues to wait until the promotion end date for the offer provided in the notification. If the end customer viewed the notification, process 400 then determines if the end user converted the offer provided in the notification (block 424).
  • the system 120 updates in its memory device 124 with the number of conversions by end users 110 and causes the new number of conversions by an end user 110 to be displayed on the dashboard (block 426). If a signal has not been received from the service or product provider indicating that an end user 110 converted the offer provided in the notification, it is assumed that the offer has not yet been converted by the end user 110. If a signal has not been received from the service or product provider indicating that the end user converted the offer, the system 120 continues to wait indefinitely from the service or product provider for an input that the end user 110 converted the notification (block 428). And if a signal has not been received from the service or product provider indicating that the end user 110 converted the offer, the system 120 continues to wait until the promotion end date for the offer provided in the notification.
  • the dashboard preferably includes several information areas and input areas/buttons/icons. It is to be understood that while these information areas and input areas/buttons/icons are illustrated in a particular arrangement, they may be arranged in any suitable manner in different embodiments. For instance, in some embodiments, the dashboard may include more or fewer information areas and input areas/buttons/icon than illustrated. In other embodiments, the content of the information may be displayed as a table, a bar chart, pie chart, bar graph, or some other format.
  • FIG. 5A illustrates a dashboard showing locations of existing microfences as well as designated areas for receiving inputs to add or create a new microfence.
  • the dashboard may be displayed on a computer monitor 118 of a marketer 116 (FIG. 1).
  • the dashboard 500 is shown to include a map 502 showing the locations of existing microfences 510 that were previously created by the marketer 116, or other users having access to the dashboard 500.
  • a number 512 is displayed to represent the number of microfences located at that region.
  • the dashboard preferably displays instructions 514 to create a fence, and instructions 516 to edit or delete a fence.
  • the dashboard 500 also preferably provides an input area 518 to search for a location by GPS coordinate, latitude and longitude, address, or road intersection. Should a marketer desire to zoom in or zoom out of the map, the marketer can change the scale of the map by clicking the scale input button 504. Alternatively, the marketer can zoom in a particular region of the map by clicking a particular region on the map 502, in addition to pinch-to-zoom methods.
  • FIG. 5B illustrates an exemplary dashboard 500 in which the system 120 received an input from the marketer, either by clicking the scale input button or a particular region of the map, to zoom in a region of downtown Chicago.
  • each microfence 510 is identified by a central location (such as GPS coordinate, latitude and longitude, address, or road intersection) and a radius from the central location to define the border of the microfence. It should be noted that the radius from the central location does not need to be the same for all microfences. For instance, the radius from the central location of microfence 510A is approximately one city block (approximately a quarter of a mile) whereas the radius from the central location of microfence 510B is approximately half a city block (approximately an eighth of a mile).
  • a microfence need not be defined by a central location and a radius from the central location, rather a microfence can be defined by a rectangle representing a city block or a non- uniform shape of a park.
  • the system 120 may receive inputs on the notifications that are available for the microfence in accordance to block 224 of FIG. 2B.
  • FIG. 6 illustrates an exemplary dashboard 500 displaying the attributes for the highlighted/selected audience profile of “Kim” 530A. Also shown are buttons for audience profiles, “Jenny” 530B and “Sally” 530C, although the buttons for these other audience profiles are not highlighted/selected in the dashboard.
  • Kim is not an actual person but rather is a hypothetical person that represents a group or cluster of end users having similar attributes.
  • the use of an audience profile, such as Kim enables the system 120 to identify the habits or attributes of an end user 110 quickly and effectively by grouping or clustering the end user 110 with other end users having similar habits or attributes.
  • the illustrated dashboard 500 includes app usage 540 for Kim, routine commutes 542 for Kim, fast food visits by car 544 for Kim, clothing store visits by car 546 for Kim, and fast food visits by bus 548 for Kim.
  • the illustrated dashboard 500 also includes a summary 550 for Kim displaying other attributes. It is to be appreciated that additional attributes for an audience profile can be determined and displayed, including but not limited to pregnancy, estimated income level, neighborhood type (suburban, rural, urban), religious beliefs, dining habits, exercise habits, education level, age/phase of life, and health problems.
  • the marketer can click on the button for Jenny 530B or Sally 530C. In other embodiments more or fewer audience profiles can be available in the dashboard 500.
  • FIG. 7 illustrates an exemplary embodiment of a dashboard 500 showing the notifications 590A-E available for a particular microfence.
  • the dashboard 500 displays the notifications 590A-E that are available to the end users, the name 592A-E of each notification and the promotion date range 594A-E of each notification.
  • the performance of the highlighted notification 590A is displayed.
  • the dashboard 500 displays in display area 570 the number of notifications that this highlighted notification 590A had been sent to end users.
  • the number of notifications displayed in display area 570 is updated in process 400 in block 418 in FIG. 4B.
  • the dashboard 500 also preferably displays in display area 572 the number of views of the highlighted notification 590A by end users and displays in the display area 574 the number of conversions of the offers provided in the highlighted notification 590A.
  • the number of views and the number of conversions displayed in display areas 572 and 574 are updated in the process of operation 400 in blocks 422 and 426 in FIG. 4B.
  • the performance of the highlighted notification 590A can also be illustrated graphically by one or more graphs in display area 576 as shown in FIGs. 5A, 5B, 6 and 7.
  • FIG. 8 illustrates an exemplary embodiment of the dashboard 500 displaying the statistic and performance for a particular audience profile 530 from the possible audience profiles, Kim 530A, Jenny 530B and Sally 530C.
  • the illustrated dashboard 500 shows the statistics and performance for Kim 530A, and the associated selected and highlighted audience profile.
  • the dashboard 500 displays in the display area 560 the total number of end users that are associated with the Kim audience profile 530 A.
  • the dashboard 500 also displays in the display area 562 the percentage of total end users that are associated with the Kim audience profile and displays in the display area 564 the average number of new end users that are being associated with the Kim audience profile each day.
  • the dashboard 500 may display one or more graphs 580 indicating the performance for the Kim audience profile.
  • the graphs 580 illustrated in FIG. 8 include a graph indicating the number of notifications 582A sent to end users associated with the Kim audience profile.
  • the graphs illustrated in FIG. 8 also include a graph indicating the number of views 582B made by end users associated with the Kim audience profile and a graph indicating the number of offer conversions 582C made by end users associated with the Kim audience profile in response to viewing the notifications.
  • the performance graphs 580 can be for all time periods, as illustrated in FIG. 8, by selecting the “All” button 584A.
  • the displayed time period for the graphs 580 can be changed by selecting the “1 Year” button 530B, the “6 Months” button 530C, the Month” button 530D, the “Week” button 530E, the “Day” button 560F, or the “Hour” button 560G.
  • the performance graphs 580 can be displayed in increments of each date, as illustrated in FIG. 8, by selecting the “Date” button 586A.
  • the graphs 580 can be displayed in other increments by selecting the “Day of Week” button 586B, the “Day of Month” button 586C, the “Months” button 586D, or the
  • FIG. 9 illustrated is a mobile device 112 of the end user 110 displaying the selected notification 590A in FIG. 7.
  • the system 120 selects a notification 590, from the plurality of notifications available for and associated with the microfence 510 that the end user 110 has entered, based on the audience profile attributes for the audience profile associated with the end user 110 and the content attributes associated with the notifications available for the microfence.
  • the system 120 causes the end user’s mobile device 112 to display the selected notification in accordance with block 416.
  • the notification may include one or more promotional offers (including but not limited to: coupons, discounts, sample give away, and other offers) that are available to a customer to redeem or convert. Additionally, the notification may include additional information about the promotional offer, such as the effective dates of the offer. As shown, FIG. 9 illustrates the notification on the end user’ s mobile device 112 offering a free cup of coffee.
  • FIG. 10 illustrated is an environment 1100 of one embodiment of a system 1120 for clustering end users and providing the user, healthcare providers (such as insurers and healthcare fiduciaries, Medicaid, Medicare, private and public payers) and/or doctors with an understanding of the user’s health wellness.
  • the system 1120 is preferably accessible by an end user 1110, who may be a subscriber to an application associated with the system 1120, preferably through two-way communications with the user’s mobile device 1112.
  • the end user’s mobile device 1112 is configured to track the mobile device’s 1112 location through triangulation of satellites (GPS) 1114, triangulation of cellar towers or other suitable tracking methods.
  • GPS satellites
  • the user’s mobile device 1112 is further preferably configured to track the mobile device’s 1112 ground speed via an accelerometer and/or changes in location over time, such as through triangulation. It is assumed that the end user 1110 is carrying the mobile device 1112 or keeps the mobile device close to him or her, such as in the vehicle that the end user 1110 is travelling within. Hence, it can be assumed that the location and speed of the end user’s mobile device 1112 is approximately the same as the location and speed of the end user 1110. Therefore, the location of the end user’s mobile device 1112 can be used interchangeably with the location of the end user 1110 and the speed of the end user’s mobile device 1112 can be used interchangeably with the speed of the end user 1110.
  • FIG. 10 further illustrates, in accordance with an illustrative embodiment, a system 1120 accessible by a medical professional, such as a doctor, healthcare provider (such as insurers and healthcare fiduciaries, Medicaid, Medicare, private and public payers), pharmacist, an administrator, or some other medical professional involved in the health of the end user (hereinafter “medical professional”), designated generally by reference 1116, involved in the health of the end user 1110, preferably through two-way communications with the medial professional’s computer 1118 or some other device such as a tablet or other suitable mobile computing device.
  • the medical professional’s computer 1118 preferably includes an output component, such as a monitor, capable of displaying content from the system 1120 and at least one input component, such as a keyboard, mouse, or touch screen, capable of sending requests and inputs to the system 1120.
  • a medical professional such as a doctor, healthcare provider (such as insurers and healthcare fiduciaries, Medicaid, Medicare, private and public payers), pharmacist, an administrator, or some other medical professional involved in the
  • the illustrated system 1120 is preferably functionally controlled by a control unit.
  • the control unit preferably includes at least one specially configured processor and at least one controller configured to operate with at least one memory device and at least one data storage device (collectively referred to herein as “memory device”) 1124.
  • the control unit includes at least one specially configured processor or central processing unit (CPU) including arithmetic logic units and math co-processors also known as floating point units.
  • the specially configured processor further preferably includes registers for holding instructions or other data, and cache memory for storing data for faster operation thereupon.
  • the specially configured processor may be a multi-core processor that includes two or more processors for enhanced performance, more efficient parallel processing, or other advantageous computing functions.
  • the specially configured processor may be one or more processing devices such as microprocessor(s) or integrated circuit(s) and may include one or more controllers.
  • a controller is a device or a software program that manages or directs the flow of data between two entities. Often, controllers are special purpose circuitry or software that solve a technical communications problem between different technology systems. In the illustrative embodiment, a controller functions as an interface between two systems while managing the communications between the systems. In other illustrative embodiments, a controller functions as an interface between a processor and a peripheral device and functions to control the peripheral device.
  • At least one specially configured processor and controller (collectively referred to herein as “processor”) 1122 is configured to communicate with at least one memory device 1124.
  • the memory device 1124 includes one or more memory structures for storing instructions and various types of data.
  • Memory structures may include one or more random access memory units (RAMs) units, one or more read only memory units (ROMs), one or more flash memory units including solid state drives (SSDs), one or more electrically erasable/programmable read only memory units (EEPROMs).
  • RAMs random access memory units
  • ROMs read only memory units
  • flash memory units including solid state drives (SSDs)
  • EEPROMs electrically erasable/programmable read only memory units
  • communication with a memory 1124 device by a processor encompasses the processor accessing the memory device 1124, exchanging data with the memory device 1124, or storing data to the memory device 1124.
  • Memory device 1124 may store all program code and operation data necessary for the operation of the system 1120 described hereinbelow. It is to be further understood that code and operation data necessary for the operation of the system 1120 may be store in a distributed manner such that some code is stored in the memory device 1124 and other code is stored remotely from system 1120. For instance, the code and operation data necessary for the operation of the system 11120 includes basic input and output function data, instruction fetching data, bus and network communication protocol data, and like data.
  • the code and operation data for the operation of the system 1120 described hereinbelow may be stored in removable cartridges or flash drives, a compact disk ROM, a digital versatile disk (DVD) optical storage technology, or suitable other fixed non-transitory storage mediums. Part or all of the code and operational data for operation of the system may be stored in a remote memory structure and be downloaded to the memory device 1124 via a network connection. It is to be understood the system 1120 may utilize any combination of memory devices such as random access memory devices (RAMs), unalterable memory devices (ROMs), and mass storage devices for securely storing and securely communicating the software components or code that facilitate operation and other functions of the system 1120.
  • RAMs random access memory devices
  • ROMs unalterable memory devices
  • mass storage devices for securely storing and securely communicating the software components or code that facilitate operation and other functions of the system 1120.
  • FIG. 11A and 11B illustrates are exemplary flowcharts of an example operation 1300 of an illustrative embodiment of the system and method for placing an end user into a health profile.
  • a processor 1122 of the system 1120 (shown in FIG. 10) is configured, via instmctions stored in a memory device 1124, to perform the operation 1300.
  • fewer or one or more additional blocks may be employed in operation 1300 of the system 1120 and method. In other embodiments, the blocks may be performed in any suitable order.
  • the system 1120 receive inputs from a mobile device 1112 of an end user 1110 (FIG. 10).
  • the inputs preferably include information that identifies the end user 1110 and determines the location and the speed of the end user’s 1110 mobile device 1112.
  • the end user’ s mobile device 1112 is configured to track the mobile device’ s 1112 location preferably through triangulation of satellites (GPS) 1114 or through triangulation of cellar towers.
  • GPS satellites
  • the user’s mobile device 1112 is also configured to track the mobile device’s 1112 speed via an accelerometer and/or changes in location over time, preferably through triangulation.
  • the end user 1110 is carrying the mobile device 1112 or maintains the mobile device close to him or her, such as in the vehicle that the end user 1110 is travelling within.
  • the location and speed of the end user’ s mobile device 1112 is approximately the same as the location and speed of the end user 1110. Therefore, the location of the end user’s mobile device 1112 can be used interchangeably with the location of the end user 1110 and the speed of the end user’s mobile device 1112 can be used interchangeably with the speed of the end user 1110.
  • process 1300 proceeds to determine whether the end user 1110 purposely stopped at a location (“stationary”) or whether the end user 1110 stopped unintentionally, such as waiting at a traffic light. If the mobile device 1112 is not moving below a given speed, process 1300 reverts back to block 1305 in which the system 1120 may receive, from the mobile device 1112, new information to determine the location and speed of the mobile device 1112.
  • a given or predetermine speed such as 5 m/s or another speed that was predetermined as an indicator that the end user has purposely stopped at a location
  • process 1300 proceeds to determine whether the end user 1110 purposely stopped at a location (“stationary”) or whether the end user 1110 stopped unintentionally, such as waiting at a traffic light. If the mobile device 1112 is not moving below a given speed, process 1300 reverts back to block 1305 in which the system 1120 may receive, from the mobile device 1112, new information to determine the location and speed of the mobile device 1112.
  • the system 1120 may start a timer (block 1318). After a periodic time interval has elapsed, such as one second, the system 1120 determines a new location of the mobile device 1112, preferably through triangulation of satellites (GPS) 1114 or through triangulation of cellar towers (block 1320). After the periodic time interval has elapsed (block 1322), if the location of the mobile device remains within a given distance, such as 10 meters, from the original location determined (block 1314), the process of operation continues by determining another new location after a periodic time interval until the timer started in block 1318 has surpassed a given or predetermined amount of time, such as twenty seconds (block 1324).
  • process of operation 1300 reverts block 1305 in which the system 1120 may receive from the mobile device 1112 new information to determine the location of the mobile device, preferably through triangulation of satellites (GPS) 1114 or through triangulation of cellar towers and speed of the mobile device via an accelerometer and/or changes in location over time through triangulation.
  • GPS satellites
  • process 1300 continues to block 1326 via off page connector AE in FIG. 11B such that the system 1120 evaluates if the original determined location (block 1314) belongs to any current geofence saved in its memory device 1124. If the original location belongs to a current geofence saved in the system’s memory device 1124, process 1300 continues to block 1330.
  • a new geofence is created for this location (block 1328) and process 1300 continues to block 1330 in which the system 1120 submits analysis purpose related data to the Web server, preferably through specific web API, and then determines the location attributes of the geofence location and saves the location attribute in memory device 1124 (block 1332).
  • the location attribute can be a type of product or service provided at that location, such a fast food restaurant, a movie theater, a school, a hospital, etc.
  • the identified location attribute is then saved in the memory device 1124 of the system 1120 as being associated with an end user 1110. Process 1300 then continues via off page connector AC.
  • the system 1120 aggregates the end user’s visits to the different location attributes per time period (day, week, or month) (block 1336).
  • the number of sufficient location attributes is at least a number that would be statistically significant to indicate the habit and behavior of the end user. If the number of location attributes saved for the end user 1110 has not surpassed the sufficient number of location attributes, process 1300 reverts to block 1305 via off page connector AF in FIG. 11A to continue identifying additional location attributes to associate with the end user 1110.
  • the system 1120 then preferably groups the end user’s 1110 visits to particular locations by their location attributes (block 1338).
  • Process 300 then proceed to classify particular distinct behaviors of the end user by taking into account the clustered and chosen visiting patterns of the end user (block 1340). These particular distinct behaviors and frequencies associated with the end user 1120 are then stored in a database (e.g., memory device 1124) (block 1342).
  • Process 1300 then proceeds to block 1344 via off page connector AG in FIG. 12B in which the system 1120 then places an identifier for the individual end user 1110 in a sparse vector space based on the end user’s behavior/frequency analysis.
  • the end user’s 1110 behaviors can also be derived from end user 1110 entered data. For instance, during the application registration process, the end user 1110 may provide personal information about himself or herself, such as his or her preferences and demographics including but not limited to marital status, income range, profession, etc. These user-entered data can be stored in a memory device 1124.
  • the end user-entered behavior and demographic information (block 1346) is then utilized to place the individual end user’s identifier in a sparse vector space (block 1344). Clusters are then identified in this vector space preferably using statistical analysis/mathematics models (block 1348). Individual end users are then labelled with their profile membership, which is then preferably stored in the memory device 1124 (block 1350). A ML Classifier, or other machine learning engine, is then preferably trained to place individual users 1110 into one of the health profiles (block 1352). During this process, the system 1120 determines if there is an existing health profile having location attributes visits that closely matches the end user’s 1110 aggregated visits to the different location attributes (block 1354).
  • the health profile is preferably a hypothetical person that represents a group or cluster of end users 1110 having similar health attributes.
  • the use of a health profile allows the system 1120 to cluster a group of users 1110 having similar health attributes to determine a user’s health wellness, to provide suggestions to improve a user’s health wellness, and/or to determine common health issue.
  • the system 1120 determines if there is an existing health profile that closely matches the aggregated location attributes visits, attributes provided by the end user 1110 (such as the user-entered data stored in memory device 1124) and/or other attributes collected about the user 1110 (such as from public information about the end user available on the internet).
  • the end user 1110 is associated with that health profile, along with the health profile attributes for that health profile (block 1362).
  • the audience profile attributes associated with each audience profile is preferably stored in the memory device 1124.
  • the health profile attributes preferably include the behavior frequency for the health profile, such as the health profile’s visits to doctor’s offices, the health profile’s route commutes, the health profile’s visits to fast food restaurants, the health profile’s visits to the gym, the health profile’s visit to beaches, etc. If there is not an existing health profile which closely matches the end user’s aggregated visits to the different location attributes, the system clusters behavior grouping based on behavior frequency attributes, inferred home/work location categories, etc.
  • blocks 1350, 1352 and 1354 are shown in FIG. 12B as sequential steps, those skilled in the relevant art will recognize and appreciate that these steps can performed by the system 1120 simultaneously, interchangeably, or in a different order.
  • a medical professional further analyzes the cluster to provide a name and description for the new health profile (block 1358).
  • the system 1120 preferably generates and saves the new health profile in its memory device 1124 (block 1360) with the end user 1110 being associated with that health profile and the associated health profile attributes (block 1362). It is to be appreciated that the health profile associated with end user 1110 and its attributes can be used for other operations via off page connector AD.
  • Process 1300 then reverts to block 1305 via off page connector AF in FIG. 12A to continue identifying additional location attributes to associate with the end user 1110.
  • FIG. 13 illustrates a flowchart of a process 1400 depicting a system and method for determining an end user’s health wellness based on aggregated location attributes in accordance with an illustrated embodiment. It is noted that processor 1122 of the system
  • process 1400 is configured, via instructions stored in a memory device 1124, to perform process 1400.
  • process 1400 is possible.
  • fewer or one or more additional blocks may be employed for process 1400 and/or the below described blocks may be performed in any suitable order.
  • the system 1120 preferably assigns a health wellness value for each location attribute associated with each location for which the user 1110 was stationary. For example, if the end user 1110 visited a gym, this visit can be considered beneficial to the end user health wellness and this visit will be assigned a positive one (+1). However, if the end user 1110 visited a fast food restaurant, this visit can be considered damaging or unbeneficial to the end user health wellness and this visit will be assigned a negative one (-1). It should be noted that different location attributes can affect an end user heath wellness in various amount.
  • a visit to a bar can have more damaging effects (e.g., have a greater weighted negative wellness value) to an end user’s 1110 health wellness than visiting a fast food restaurant, thus a visit to a bar may be assigned a negative two (-2) value whereas a visit to a fast food restaurant may be assigned only a negative one (-1) value.
  • the value to be assigned for each location attribute can be predetermined and stored in the system’s memory device 1124.
  • the system 1120 then adds the assigned heath wellness value for the visit to the end user’s overall heath wellness value (block 1410).
  • the system 1120 determines the end user heath wellness based on the end user’s overall heath value (block 1415).
  • the system 1120 selects a notification for display to the end user 1120 based on the end user’s overall health wellness value as compared to other user’s overall health wellness or the end’s previous overall health wellness (block 1420).
  • the selected notification may be a message such as “keep it up, you’re doing great”, “you are doing better than average”, “try to avoid fast food high in fat and salt intake”, and like informative message with relevant information.
  • the system 1120 displays the selected notification to the user 1110 (block 1425).
  • Process 1400 continues to repeat to block 1305 by receiving new inputs from user mobile device 1112.
  • FIG. 14 illustrated is a flowchart of an exemplary process 1500 for determining a common health issues within clustered group of users based on their aggregated location attributes in accordance with an illustrated embodiment.
  • processor 1122 of the system 1120 (FIG. 10) is preferably configured, via instructions stored in a memory device 1124, to perform process 1500.
  • process 1500 is preferably configured, via instructions stored in a memory device 1124, to perform process 1500.
  • process 1500 are possible. For instance, fewer or one or more additional blocks (not shown) may be employed in execution of process 1500.
  • below described blocks of FIG.14 may be performed in any suitable order.
  • system 1120 receives and collects occurrence of health issues
  • the system 1120 determines if a particular health profile has a higher than average occurrence of a particular health issue, such as exposure to a contiguous disease/virus in view of aforesaid associated location attributes (block 1510). The system 1120 then determines whether the higher than average occurrence of the particular health issue experienced by the health profile is statistically significant (block 1515). If the higher than average occurrence of a particular health is statistically significant, the system
  • 1120 is configured to provide a notification to a medical professional or a government agency
  • the system may correlate the health issue found to statistically significant for a number of health profiles with the health profiles’ location attributes to identify potential correlation between a location attribute and a health issue (block 1525).
  • FIG. 15 illustrated a flowchart of an exemplary process 1600 for determining common health issues within clustered group of users based on the location they were stationary in accordance with an illustrated embodiment.
  • processor 1122 of the system 1120 (FIG. 10) is configured, preferably via instmctions stored in a memory device 1124, to perform process 1600.
  • process 1600 is configured, preferably via instmctions stored in a memory device 1124, to perform process 1600.
  • the system 1120 receives and collects occurrence of health issues (illness such as infectious disease/virus, lung cancer, diabetes, gastroesophageal reflux, etc.) experienced by users and the locations the users 1110 were stationary. For instance, the system 1120 may have received and collected occurrence of food poisoned users and the locations the users were stationary and/or the system 1120 may have received and collected information regarding users 1110 having, or associated/exposed to, an infectious vims/disease and the locations those users 1110 were stationary at.
  • health issues such as infectious disease/virus, lung cancer, diabetes, gastroesophageal reflux, etc.
  • the system 1120 determines if a particular location has been visited (determined to be stationary) by more than average (or more than expected) number of users 1110 who experienced the heath issue (e.g., associated with an infectious virus/disease) (block 1610). The system 1120 then determines whether the higher than average occurrence of the particular health issue at this location (e.g., user’s 1110 associated with an infectious virus/disease) experienced by the users 1110 is statistically significant (block 1615).
  • the system 1120 may provide notification(s) to a medical professional or a government agency (such as the Centers for Disease Control and Prevention) of this higher than average occurrence (block 1620) to enable such medical professional or a government agency to take preventive action(s) to thwart/mitigate the spread of a contagious disease/virus, for instance.
  • a medical professional or a government agency such as the Centers for Disease Control and Prevention
  • FIGs. 16A and 16B depicted are exemplary screen shots, preferably provided on a user’s device 1112, resulting from communication occurring between system 1120 and or more user’s devices 1112 for tracking end user 1110 behaviors in accordance with illustrated embodiments described herein regarding system 1120.
  • FIGs. 18A-18E illustrate are exemplary screen shots depicting an end user’s 1110 (patient’s) medical and wellness records generated by system 1120 in accordance with certain illustrated embodiments described herein.
  • certain end user’s 1110 wellness records are shown that preferably include a plurality of links (e.g., hyperlink(s)) regarding a user’s 1110 wellness.
  • links e.g., hyperlink(s)
  • the following exemplary user wellness information may be provided by system 1120:
  • FITNESS personal information regarding the fitness of a user 1110 that is preferably determined by system 1120 gathered from information collected from a user 1110 regarding user exercise routines, such as: how many steps walking or running, biking, exercise information collected while working out (e.g., lunges, sit ups, push-ups, weights, and like exercise tasks).
  • NUTRITION nutritional information regarding the nutrition of a user 1110 that is preferably determined by system 1120 gathered from what an individual consumes (e.g., good and bad) to foster the determination of individual lifestyles and a user’s 1110 level of health based upon a user’s nutrition (e.g., salt intake, fats, alcohol, etc.).
  • MONITORING information regarding the health of a user 1110 that is preferably determined by system 1120 via monitoring of a user’s: heart rate monitor, pulse rate, breathing monitoring, weight control, fat measurements, size measurements (further encompassing additional informative information useful for monitoring a user’s health).
  • FIGs. 18A and 18B illustrate the display of screen shots generated by system 1120 on user’s devices 1112 devices during a medical emergency scenario.
  • FIGs. 19A-19D illustrate the display screen shots generated by system 1120 on user’s devices 1112 to facilitate linking of user’s 1110 with medical professionals for preferably providing access to a patient’s medical records.

Abstract

A system and method for clustering mobile device end users using a computer network in which location and speed information is received from a mobile device of a user. A determination is then made as to whether the user is moving below a predetermined speed and whether the user has remained within a predetermined distance from the location during a predetermined amount of time. A location attribute is determined for the location of mobile device of the user whereby a plurality of locations attributes associated with the user are aggregated in association with the user. A profile may then be determined for the user based on the aggregated location attributes for the user. Additionally, a user' s health wellness may be determined based on the aggregated location attributes for the user.

Description

COMPUTER NETWORK FOR TRACKING USER USING USER’S MOBILE
DEVICE
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims priority of U.S. Non-provisional Utility Patent Application No. 16/555,600, filed August 29, 2020 and U.S. Provisional Patent Application No. 62/904459, filed September 23, 2019, which are hereby incorporated by reference herein in their entirety.
FIELD OF THE INVENTION
The disclosed embodiments relate to a computer network for tracking a user using a user’ s mobile device. More specifically, the embodiments relate to a computer network for tracking a user utilizing the user’s mobile device to cluster users to select and deliver a notification to a user’s mobile device and/or to provide the user, healthcare insurers and providers, and/or doctors, information regarding a user’s health and wellness.
BACKGROUND
It is to be appreciated that notifications or promotions are effective tools to pique consumers’ interest in a product or service. The notification can include a coupon, discount, sample give away, or some other promotional offer to incentivize the consumer to try the product or service with the expectation that the consumer will continue to use the product or service afterwards. To maximize the effectiveness of a notification, the notification needs to be distributed to a consumer who is likely to convert on the offer in the notification. Furthermore, the notification needs to be distributed at the right time and at the right location. A general and broad distribution of notifications may overwhelm the consumer causing the consumer to ignore all notifications. Even if the consumer receives a notification that is of interest to him or her but the distribution did not take into account the location of the consumer, the consumer will need to make an effort to travel to a location that accepts the offer in the notification or remember that he or she has that notification the next time the consumer passes by a facility that accepts the offer in the notification. This inconvenience of traveling to a location that accepts the offer in the notification or remembering that he or she has the notification greatly reduces the chance that the end user will convert the offer in the notification.
Furthermore, it would be advantageous for a marketer to know the effectiveness of a notification. This information allows a marketer to decide whether to ran a similar notification in the future, abandon such notification all together, or to modify the notification with the expectation that a modified notification can be more effective. A break down on the effectiveness of a notification by a specific subgroup of end users would also help the marketer to understand how best to target the subgroup of end users.
It is to be further appreciated that numerous factors contribute to the health status of an individual. These factors may include a person’ s diet, a person’ s level of physical activity, a person’s profession, a person’s genetic makeup, a person’s housing conditions, and exposure to harmful chemical, radiation, bacteria or vims, and many other factors. While there are mobile apps and other devices that assist an individual to stay healthy, these apps often only monitor a person’s physical activities, such as the number of steps a person walked. Furthermore, these mobile apps and devices typically only provide the collected information to the individual. SUMMARY
It is to be understood that this summary is not an extensive overview of the disclosure. This summary is exemplary and not restrictive, and it is intended neither to identify key or critical elements of the disclosure nor delineate the scope thereof. The sole purpose of this summary is to explain and exemplify certain concepts of the disclosure as an introduction to the following complete and extensive detailed description.
In accordance with certain illustrated embodiments, disclosed is a system and method for clustering mobile device end users using a computer network in which location and speed information is received from a mobile device of a user. A determination is then made as to whether the user is moving below a predetermined speed and whether the user has remained within a predetermined distance from the location during a predetermined amount of time. A location attribute is determined for the location of mobile device of the user whereby a plurality of locations attributes associated with the user are also aggregated in association with the user. A profile may then be determined for the user based on the aggregated location attributes for the user. Additionally, a user’ s health wellness may be determined based on the aggregated location attributes for the user.
Also disclosed is a system providing notifications to a mobile device using a computer network. The system comprising one or more memory devices storing programing instructions and one or more processors configured to execute the program instructions to cause the system to perform operations. The programing instructions include: receiving a location and speed from a mobile device of a user; determining the mobile device of the user is moving below a predetermined speed; determining the mobile device of the user has remained within a predetermined distance from the location during a predetermined amount of time; identifying a location attribute for the location of mobile device of the user; associating the location attribute with the user; aggregating a plurality of location attributes associated with the user; and determining a profile for the user based on the aggregated location attributes for the user.
Further disclosed is a system for providing notifications to a mobile device using a computer network. The system comprising one or more memory devices storing programing instructions and one or more processors configured to execute the program instructions to cause the system to perform operations. The programing instructions include: a system for defining a fence using a computer network, the system comprising: receiving a first fence defined by a first user, the first fence includes an area having a geographic location, a plurality of notifications available for the first fence, and a plurality of content attributes for each notification; receiving location and speed from a mobile device of a second user; determining the mobile device of the second user is stationary for a predetermined amount of time, the location where the second user remained stationary for a predetermined amount of time defines a second fence; identifying a location attribute for the second fence; associating the location attribute with the second user; aggregating a plurality of location attributes associated with the second user; determining an audience profile for the second user based on the aggregated location attributes for the second user, a plurality of audience profile attributes are associated with the audience profile; and detecting that the second user has crossed into an area defined by the first fence.
Also disclosed is a system for providing notifications to a mobile device using a computer network. The system comprises one or more memory devices storing programing instructions and one or more processors configured to execute the program instructions to cause the system to perform operations. The programing instructions include: receiving location and speed from a mobile device of a user; determining the mobile device of the user is stationary for a predetermined amount of time; clustering a group of users based on location they were stationary for a predetermined amount of time; and determining a common health issue (such as exposure to a contiguous disease/virus) within clustered group of users.
Various implementations described in the present disclosure may include additional systems, methods, features, and advantages, which may not necessarily be expressly disclosed herein but will be apparent to one of ordinary skill in the art upon examination of the following detailed description and accompanying drawings. It is intended that all such systems, methods, features, and advantages be included within the present disclosure and protected by the accompanying claims.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying appendices and/or drawings illustrate various non- limiting, example, inventive aspects in accordance with the present disclosure:
FIG. 1 is a schematic of a mobile device of an end user, a personal computer of a marketer, and a system for clustering end users and selecting and delivering a notification to the mobile device in accordance with an illustrated embodiment;
FIGs. 2A and 2B are flow diagrams illustrating microfence creation;
FIGs. 3A, 3B, and 3C are flow diagrams illustrating placing an end user into an audience profile;
FIGs. 4A and 4B are flow diagrams illustrating selecting and delivering a notification to an end user’s mobile device;
FIGs. 5A and 5B illustrate screen shots of a dashboard depicting locations of existing microfences and for receiving inputs to add a new microfence, edit an existing microfence, and/or delete an existing microfence;
FIG. 6 illustrates a screen shot of a dashboard depicting attributes for an audience profile; FIG. 7 illustrates a screen shot of a dashboard depitcting a plurality of notifications and performance of the highlighted notification;
FIG. 8 illustrates a screen shot of a dashboard depicting statistics and performance for the audience profile of FIG. 7 ;
FIG. 9 illustrates a mobile device depicting a notification selected by the system;
FIG. 10 is a schematic of a mobile device of an end user, a personal computer of a medical professional, and a system for clustering end users and selecting and delivering a notification to the mobile device in accordance with an illustrated embodiment;
FIGs. 11 A and 1 IB are flow diagrams depicting a process for determining if an end user is stationary;
FIGs, 12A and 12B are flow diagrams depicting a process for placing an end user into a health profile;
FIG. 13 is a flow diagram depicting a process for determining an end user’s health wellness based on aggregated location attributes.
FIG. 14 is a flow diagram depicting a process for determining common health issues within clustered group of users based on their aggregated location attributes;
FIG. 15 depicts a process for determining common health issues within clustered group of users based on the location they were stationary;
FIGs. 16A and 16B depict screen shots for tracking end user behaviors associated with healthcare applications;
FIGs. 17A-17E depict screen shots illustrating an end user’s (patient’s) medical and wellness records;
FIGs. 18A and 18B illustrate the display of one or more mobile devices generated during a medical emergency scenario; and FIGs. 19A-19D illustrate the display of one or more mobile devices of medical professional linking together and having access to a patient’s medical records.
DETAILED DESCRIPTION OF CERTAIN EMBODIMENTS
The following description is provided as an enabling teaching of the present systems, and/or methods in its best, currently known aspect. To this end, those skilled in the relevant art will recognize and appreciate that many changes can be made to the various aspects of the present systems, and/or methods described herein, while still obtaining the beneficial results of the present disclosure. It will also be apparent that some of the desired benefits of the present disclosure can be obtained by selecting some of the features of the present disclosure without utilizing other features. Accordingly, those who work in the art will recognize that many modifications and adaptations to the present disclosure are possible and can even be desirable in certain circumstances and are a part of the present disclosure. Thus, the following description is provided as illustrative of the principles of the present disclosure and not in limitation thereof.
As used throughout, the singular forms "a," "an" and "the" include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to "an element" can include two or more such elements unless the context indicates otherwise.
As used herein, the terms "optional" or "optionally" mean that the subsequently described event or circumstance can or cannot occur, and that the description includes instances where said event or circumstance occurs and instances where it does not.
The word "or" as used herein means any one member of a particular list and also includes any combination of members of that list. Further, one should note that conditional language, such as, among others, "can," "could," "might," or "may," unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain aspects include, while other aspects do not include, certain features, elements and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more particular aspects or that one or more particular aspects necessarily include logic for deciding, with or without user input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular aspect.
Disclosed are components that can be used to perform the disclosed methods and systems. These and other components are disclosed herein, and it is understood that when combinations, subsets, interactions, groups, etc. of these components are disclosed that while specific reference of each various individual and collective combinations and permutation of these may not be explicitly disclosed, each is specifically contemplated and described herein, for all methods and systems. This applies to all aspects of this application including, but not limited to, steps in disclosed methods. Thus, if there are a variety of additional steps that can be performed it is understood that each of these additional steps can be performed with any specific aspect or combination of aspects of the disclosed methods.
Environment for Delivering a Notification to Mobile Device
FIG. 1 illustrates an environment 100 of one embodiment of a system 120 for clustering end users and delivering a notification to an end user’s mobile device (e.g., a smart phone, tablet device and any capable portable computing device). In an illustrative embodiment, the system 120 is preferably accessible by an end user 110, who may be a subscriber to an application operatively associated with the system 120, preferably through two-way communication with the user’s mobile device 112. The end user’s mobile device 112 is configured for tracking the mobile device’s location through triangulation of satellites (GPS) 114, triangulation of cellar towers or any other functional method. The user’s mobile device 112 is also configured to track the mobile device’s ground speed (e.g., MPH) via an accelerometer and/or by detecting changes in ground location over time through a triangulation method. It is assumed that the end user 110 is carrying the mobile device 112 or keeps the mobile device 112 close to him or her, such as in the vehicle the end user is located within. Hence, it is to be understood the ground location and speed of the end user’s mobile device 112 is approximately the same as the location and speed of the end user 110.
Therefore, the location of the end user’s mobile device 112 can be used interchangeably with the location of the end user 110 and the speed of the end user’s mobile device 112 can be used interchangeably with the speed of the end user 110.
FIG. 1 further illustrates an embodiment of the system 120 that is accessible by a marketer or an administrator (hereinafter “marketer”) 116 involved in marketing products or services to consumers, through two-way communications with the marketer’s computer 118 or some other device such as a tablet or a mobile device associated with the marketer 116.
The marketer’s computer 118 preferably includes an output component, such as a monitor, capable of displaying content from the system 120 and at least one input component, such as a keyboard, mouse, or touch screen, capable of sending requests and inputs to the system 120. In an illustrative embodiment, the system 120 is functionally controlled by a control unit. The control unit includes at least one specially configured processor and at least one controller configured to operate with at least one memory device and at least one data storage device (collectively referred to herein as “memory device”) 124. In the illustrative embodiment, A control unit includes at least one specially configured processor or central processing unit (CPU) which preferably includes arithmetic logic units and math co processors also known as floating point units. The specially configured processor includes registers for holding instructions or other data, and cache memory for storing data for faster operation thereupon. The specially configured processor may be a multi-core processor that includes two or more processors for enhanced performance, more efficient parallel processing, or other advantageous computing functions, and may be one or more processing devices such as microprocessor(s) or integrated circuit(s) and may include one or more controllers. It should be appreciated that in certain illustrative embodiments, a general purpose processor could be programmed to perform the functions of specially configured processor.
It is to be appreciated that a controller is a device or a software program that manages or directs the flow of data between two entities. Often, controllers are special purpose circuitry or software that solve a technical communications problem between different technology systems, and functions as an interface between two systems while managing the communications between the systems. In certain illustrative embodiments, a controller functions as an interface between a processor and a peripheral device and functions to control the peripheral device.
With reference now to FIG. 1, at least one specially configured processor and controller (collectively referred to herein as “processor”) 122 is configured to communicate with at least one memory device 124. The memory device 124 preferably includes one or more memory structures for storing instructions and various types of data. Memory structures may include one or more random access memory units (RAMs) units, one or more read only memory units (ROMs), one or more flash memory units including solid state drives (SSDs), one or more electrically erasable/programmable read only memory units (EEPROMs). communication with a memory device by a processor encompasses the processor accessing the memory device, exchanging data with the memory device, and/or storing data to the memory device. Memory device 124 preferably stores program code and operation data necessary for the operation of the system 120 described herein. In other illustrative embodiments, code and operation data necessary for the operation of the system 120 may be store in a distributed manner such that some code is stored in the memory device 124 and other code is stored remotely from system 120. The code and operation data necessary for the operation of the system includes, for example, basic input and output function data, instruction fetching data, bus and network communication protocol data, and like data.
In addition to the memory device 124 described above, in accordance with certain illustrative embodiments, the code and operation data for operation of the system herein may be stored in removable cartridges or flash drives, a compact disk ROM, a digital versatile disk (DVD) optical storage technology, or suitable other fixed non-transitory storage mediums. In certain illustrative embodiments, part or all of the code and operational data for operation of the system may be stored in a remote memory structure and be downloaded to the memory device 124 via a network connection.
It is to be understood the system 120 may utilize any combination of memory devices such as random access memory devices (RAMs), unalterable memory devices (ROMs), and mass storage devices for securely storing and securely communicating the software components or code that facilitate operation and other functions of the system 120. It is to be further understood that the subject matter and functional operations described in relation to FIG. 1 can be embodied in hardware, software, or a combination thereof. Described hardware includes the structures described and their functional or operational equivalents. Described functions may be performed by hardware, digital circuitry, computer software, computer firmware, or functionally equivalent combinations thereof.
System and Method for Creating Microfence
With reference now to FIGs. 2A and 2B, illustrated are flowcharts depicting examplary operation 200 of an illustrative embodiment of the system and method for creating a microfence. It is to be understood processor 122 of the system 120 (FIG. 1) is preferably configured, via instructions stored in a memory device 124, to perform the operation 200. However, it is to be appreciated that other suitable variations of operation 200 are possible. For instance, in one illustrative embodiment, fewer or one or more additional blocks (not shown) may be employed in operation 200 of the system and method. In other illustrative embodiments, the blocks may be performed in any suitable order.
FIG. 2A illustrates the system 120 receives a request from a computer 118 of a marketer 116 (FIG. 1) to access a dashboard showing locations of existing microfences (block 210). The microfence can be a geographic area which the system 120 can be triggered to perform certain operations once a mobile device enters the microfence. The microfence can be identified as a particular location (including but not limited to GPS coordinate, latitude and longitude, address, road intersection) and a given radius, such as ¼ mile from the location. After the system 120 receives a request to access a dashboard, the system 120 causes the computer monitor 118 of the marketer 116 to display a map showing a plurality of existing microfences, if any, previously created by the marketer or other users having access to the dashboard (block 212). After viewing the originally displayed map, the marketer 116 may zoom in or out to a particular area of interest. In the situation for which the system 120 received a signal to display a particular area of interest (block 214), the system 120 causes the monitor to display a map of that particular area showing the microfences, if any, previously created by the marketer or other users having access to the dashboard (block 216).
After viewing the microfences saved in memory device 124 of the system 120, the marketer 116 may decide to add or create to a new microfence. In the event that the system 120 received a signal from the marketer’s computer to add a new microfence (block 218), the system 120 updates the database of microfences with the location and area of the new microfence (block 220) and causes the marketer’ s monitor to display the new microfence on the map, as illustrated in block 222 via off page connector A in FIG. 2B.
In accordance with the illustrated embodiment, the system receive inputs from the marketer to select, import, and/or create the notifications available for and to be associated with the new microfence, preferably along with the content attributes associated with each notification (block 224). The notification preferably includes one or more promotional offers (including but not limited to coupons, discounts, sample give away, and other offers) that are available to an end customer to redeem or convert. The system 120 then preferably updates database of microfences by saving the available notifications for the new microfence to the memory device 124, along with the content attributes for each notification (block 226).
After creating a new microfence, the marketer may create another microfence. In the event that the processor 122 received a signal to add another microfence (block 226), the system 120 updates the database of microfences in memory device 124 with location of the second new microfence(s) and the process of operation 200 in accordance to blocks 220, 222, 224, 226, and 228 repeats until the processor 122 no longer receives a signal to add another microfence.
System and Method for Placing End user into an Audience Profile With reference now to FlGs. 3A, 3B and 3C, illustrated are flowcharts depicting exemplary operation 300 of an illustrative embodiment of the system and method for placing an end user into an audience profile. It is to be understood the processor 122 of the system 120 (FIG. 1) is preferably configured, via instructions stored in a memory device 124, to perform the operation 300. However, it is to be appreciated that other suitable variations of operation 300 are possible. For example, in one embodiment, fewer or one or more additional blocks (not shown) may be employed in operation 300 of the illustrative system and method. In other illustrative embodiments, the blocks may be performed in any suitable order.
With reference now to Fig. 3A, the system 120 may receive inputs from a mobile device 112 of an end user 110 (FIG. 1) (block 305). The system 120 is preferably accessible by an end user 110, who may be a subscriber to an application associated with the system 120, through two-way communications with the user’s mobile device 112. The inputs preferably include information to identify the end user and to determine the location and the speed of the mobile device 112. The end user’s mobile device 112 is preferably configured to track the mobile device’s location through triangulation of satellites (GPS) 114 or through triangulation of cellar towers. The user’s mobile device 112 is further preferably configured to track the mobile device’s speed via an accelerometer and/or changes in location over time, such as through triangulation. It is understood that the end user 110 typically carries the mobile device 112 or keeps the mobile device close to him or her, such as in the vehicle that the end user travelling within. Hence, it can be assumed that the location and speed of the end user’s mobile device 112 is approximately the same as the location and speed of the end user 110. Therefore, the location of the end user’s mobile device 112 can be used interchangeably with the location of the end user 110 and the speed of the end user’s mobile device 112 can be used interchangeably with the speed of the end user 110. The system 120 preferably uses the information received from the mobile device 112 to identify the user in order to determine if an audience profile has been associated with the end user (block 310).
In accordance with the illustrated embodiment, if an audience profile has not been associated with the user, process of operation 300 continues to block 314 to determine the location of the mobile device 112, preferably through triangulation of satellites (GPS) 114 or through triangulation of cellar towers and speed of the mobile device via an accelerometer and/or changes in location over time through triangulation. If an audience profile has already been associated with the end user, the process of operation 300 continues to block 312 to determine if a predetermined time period, such as one month, has elapsed since the audience profile for the end user was last reviewed. If the predetermined time period has elapsed since the audience profile for the end user was last reviewed (block 312), the system 120 reassesses whether the end user should be placed in a new audience profile by the process of operation 300 determining the location and speed of the mobile device (block 314). If the predetermined time period has not elapsed since the audience profile for the end user was last reviewed, the end user will continue to be associated with that audience profile. It is to be appreciated that the audience profile and its attributes can be used for other operations, such as “selecting and delivering a notification to mobile device”, which is to be discussed below in accordance with FIGs. 4A and 4B, via off page connector D.
In accordance with the illustrated embodiment, if the mobile device 112 is moving at a speed below a given or predetermined speed (such as 5 m/s or another speed that was predetermined as an indicator that the end user has purposely stopped at a location), as determined via an accelerometer and/or changes in location over time through triangulation, the process of operation then proceeds to determine whether the end user purposely stopped at a location (“stationary”) or whether the end user stopped unintentionally, such as waiting at a traffic light (block 314). If the mobile device 112 is not moving below a given speed, the process of operation 300 then reverts back to block 305 in which the system 120 may receive, from the mobile device 112, new information to determine the location and speed of the mobile device 112.
To determine if the end user is stationary, the system 120 preferably starts a timer in accordance (block 318). After a periodic time interval has elapsed, such as one second, the system 120 determines a new location of the mobile device 112, such as through triangulation of satellites (GPS) 114 or through triangulation of cellar towers (block 320). After the periodic time interval has elapsed, if the location of the mobile device remains within a given distance (block 322), such as 10 meters, from the original location determined in block 314, the process 300 continues by determining another new location after a periodic time interval until the timer started in block 318 has surpassed a given or predetermined amount of time, such as twenty seconds (block 324). During the time that the predetermined amount of time has not elapsed, if the location of the mobile device is beyond the given distance from the original location determined in block 314, it is assumed that the end user 110 is not stationary and process of operation 300 reverts to block 305 whereby the system 120 receives from the mobile device 112 new information to determine the location of the mobile device 112, such as through triangulation of satellites (GPS) 114 or through triangulation of cellar towers and speed of the mobile device 112 via an accelerometer and/or changes in location over time through triangulation.
After the timer has surpassed the predetermined amount of time and the mobile device 112 remained within the given distance from the original location (block 314), process 300 continues to block 326 via off page connector E in FIG. 3B whereby the system 120 evaluates if the original determined location (block 314) is associated with a current geofence saved in its memory device 124. If the original location belongs to a current geofence saved in the system’s memory device 124, process 300 continues to block 330. If the original coordinate does not belong to a current geofence saved in the system’s memory device 124, a new geofence is created for this location (block 328) and then the process 300 continues to block 330.
With reference now to block 330, the system 120 preferably submits analysis purpose related data to the Web server through specific web API to determine the location attributes of the geofence location, which location attribute is then saved preferably in memory device (block 332). It is to be appreciated that the location attribute can be the type of product or service provided at that location, such a fast food restaurant, a movie theater, a school, a hospital, etc. The identified location attribute is preferably saved in the memory device 124 of the system 120 as being associated with an end user 110. If a sufficient number of location attributes have been saved for the end user (block 334), the system 120 aggregates the end user’ s visits to the different location attributes per time period (day, week, or month) (block 336). Preferably, the number of sufficient location attributes is at least a number that would be statistically significant to indicate the habit and behavior of the end user 110. If the number of location attributes saved for an end user 110 has not surpassed the sufficient number of location attributes, process 300 reverts block 305 via off page connector F in FIG. 3A to continue identifying additional location attributes to associate with the end user 110.
Preferably, if a sufficient number of location attributes have been saved for the end user 110 and the system 120 aggregated the end user’s visits to the different the location attributes, the system 120 then preferably groups the end user’s visits to particular locations by their location attributes (block 338). The system 120 next classifies particular distinct behaviors of the end user by taking into account the clustered and chosen visiting patterns of the end user (block 340). These particular distinct behaviors and frequencies associated with the end user are then stored in a database (block 342). Process 300 then continues to block 344 via off page connector G in FIG. 3C whereby the system 120 places an identifier for the individual end user 110 in a sparse vector space preferably based on the end user’s behavior/frequency analysis. In addition to behaviors based on the end user’s 110 aggregated visits to geofence locations, the end user’s 110 behaviors may also be derived from end user entered data. In accordance with the illustrated embodiment, preferably during the application registration process, the end user 110 may provide personal information about himself or herself, such as his or her preferences and demographics including but not limited to marital status, income range, profession, etc. This user-entered data is preferably stored in a memory device 124. This user-entered behavior and demographic information (block 346) may also be used to place the individual end user’s identifier in a sparse vector space (block 344). Clusters in this vector space is then preferably identified using statistical analysis/mathematics models (block 348). The system 120 then preferably labels individual end users with their profile membership and stores this label in the memory device 124 (block 350). During this process, a ML Classifier, or other machine learning engine, is trained to place individual users into one of the audience profiles (block 352). The system 120 also preferably determines if there is an existing audience profile having location attributes visits that closely matches the end user’ s aggregated visits to the different location attributes (block 354). It is to be appreciated that the audience profile is a hypothetical person that represents a group or cluster of end users having similar attributes. The use of an audience profile allows the system 120 to quickly and efficiently identify the characteristics of an end user 110 by his or her audience profile when determining the spending habits of the end user 110 and hence the probability of the end user 110 converting an offer. In other illustrative embodiments, if a sufficient number of location attributes have been saved for the end user 110, and the system 120 aggregated the end user’s visits to the different location attributes, the system 120 then determines if there is an existing audience profile that closely matches the aggregated location attributes visits, attributes provided by the end user (such as the user-entered data stored in memory device 124a), and/or other attributes collected about the user (such as from public information about the end user available on the internet).
If there is an existing audience profile, the end user 110 is preferably associated with that audience profile, along with the audience profile attributes for that audience profile (block 362). It is to be appreciated that the audience profile attributes may include the behavior frequency for the audience profile, such as the audience profile’s app usage, the audience profile’s route commutes, the audience profile’s visits to fast food restaurants by car, the audience profile’s visits to fast food restaurants by bus, the audience profile’s visit to clothing stores, etc. Further examples of audience profile attributes will be further discussed in association with Figure 7. If there is not an existing audience profile which closely matches the end user’s aggregated visits to the different location attributes, the system 120 then preferably clusters behavior grouping based on behavior frequency attributes, inferred home/work location categories, etc. to create a new audience profile (block 356). It is to be appreciated that while blocks 350, 352 and 354 are shown in FIG. 3C as sequential steps, those skilled in the relevant art will recognize and appreciate that these steps can performed by the system 120 simultaneously, interchangeably, or in a different order.
Next, a marketer further analyzes the cluster to provide a name and description for the new audience profile (block 358). The system 120 then preferably generates and saves the new audience profile in its memory device 124 (block 360) whereby the end user 110 is associated with that audience profile and the associated audience profile attributes (block 362). It is to be appreciated that the audience profile associated with an end user 110 and its attributes can be used for other operations, such as “selecting and delivering a notification to mobile device”, as to be discussed below in association with FIGs. 4A and 4B, via off page connector D. The process 300 then reverts back to block 305 via off page connector F in FIG. 3A to continue identifying additional location attributes to associate with the end user
110.
System and Method for Selecting and Delivering a Notification to Mobile Device
With reference now to FIGs. 4A and 4B, illustrated are flowchart depicting exemplary operation 400 in accordance with an illustrated embodiment of the system and method for selecting and delivering a notification to an end user’s mobile device. It is to be understood processor 122 of the system 120 (FIG. 1) is configured, via instructions stored in a memory device 124, to perform operation 400 described herein. However, it should be appreciated that other suitable variations of operation 400 are possible. For example, fewer or one or more additional blocks (not shown) may be employed in operation 400 of the system and method. In other illustrative embodiments, the blocks may be performed in any suitable order.
As indicted in block 405, the system 120 may receive inputs from a mobile device 112 of an end user 110 (FIG. 1), which may include information that identifies the end user and/or determines the location of the mobile device 112. The system then evaluates whether the mobile device 112 and the end user 110 have entered a microfence (block 410) that was previously created by a marketer 116 through process 200 illustrated in FIGs. 2A and 2B via off page connector C. If the end user 110 did not enter a microfence, process 400 reverts back to block 405 to receive new inputs, including the end user’s 110 new location from the end user’s mobile device 112. If the end user 110 did enter a microfence (block 410), the system 120 identifies or retrieves from the memory device 124 the notifications available for, and associated with, that microfence along with the associated content attributes for each notification. The notification preferably includes one or more promotional offers (including but not limited to coupons, discounts, sample give away, and other offers) that are available to an end customer to redeem or convert. For instance, the content attributes can be the goods and services associated with the offers provided in the notification. The content attributes may include (but are not to be understood to be limited to) fast food, cafe, alcoholic beverage, coffee, soft drink, bus travel, train travel, clothing, and other products or services associated with the offer provided in a notification.
Based on the audience profile attributes for the audience profile that was previously associated with the end user through process 300 illustrated in FIGs 3A, 3B and 3C via off page connector D and the content attributes associated with notifications available for the geofence retrieved (block 410), the system 120 preferably generates a conversion probability for the end user (block 412). Preferably, the conversion probability represents the likelihood or probability that the end user 110 will convert the offer provided in a notification. The system 120 then selects a notification for display to the end user 110 based on the generated conversion probability (block 414). The selected notification can be the notification, from the plurality of notifications available for the microfence, that the end user 110 is most likely to convert the offer provided in the notification. Once the system 120 selects a notification based the generated conversion probability, the system 120 preferably causes the end user’s mobile device 112 to display the selected notification on the user’s mobile device 112 (block 416). Process 400 continues to repeat to block 405 by receiving new locations and determining if the user 110 has entered another microfence.
Dashboard
It is to be appreciated that process 400 further provides information to the marketer 116 by displaying a dashboard with the number of notifications sent to end users 110, the number of end users who viewed the notifications and the number of offers that the end users converted. The information displayed on the dashboard assists the marketer to assess the success of the marketing campaign for which the notification is created. After the selected notification has been selected and displayed on the user’s mobile device 112, process 400 continues to block 418 via off page connector H in FIG. 4B whereby the system 120 updates in its memory device 124 with the number of notifications sent to end users 110 and causes the new number of notifications sent end users to be displayed on a dashboard. Process 400 then determines if the end user viewed the notification (block 420). In the event the system 120 receives a signal from the mobile device 112 indicating that the end user 110 viewed the notification, the system 120 preferably updates the number of views by end users 110 in its memory device 124 and causes the new number of views by end users 110 to be displayed on the dashboard (block 422). If a signal is not received from the mobile device 112 indicating that the end user 110 viewed the notification, it is assumed that the notification has not yet been viewed by the end user whereafter the system 120 continues to wait indefinitely for a signal that the end user 110 viewed the notification (block 428). In other embodiments, if a signal has not been received from the mobile device 112 indicating that the end user 110 viewed the notification, the system 120 continues to wait until the promotion end date for the offer provided in the notification. If the end customer viewed the notification, process 400 then determines if the end user converted the offer provided in the notification (block 424).
If a signal has been received from the offer service or product provider that the end user 110 converted or redeemed the offer, the system 120 updates in its memory device 124 with the number of conversions by end users 110 and causes the new number of conversions by an end user 110 to be displayed on the dashboard (block 426). If a signal has not been received from the service or product provider indicating that an end user 110 converted the offer provided in the notification, it is assumed that the offer has not yet been converted by the end user 110. If a signal has not been received from the service or product provider indicating that the end user converted the offer, the system 120 continues to wait indefinitely from the service or product provider for an input that the end user 110 converted the notification (block 428). And if a signal has not been received from the service or product provider indicating that the end user 110 converted the offer, the system 120 continues to wait until the promotion end date for the offer provided in the notification.
With reference now to FIGs. 5A-B, and 6-8, illustrated are exemplary screen shots of the dashboard available to be displayed to the marketer. The dashboard preferably includes several information areas and input areas/buttons/icons. It is to be understood that while these information areas and input areas/buttons/icons are illustrated in a particular arrangement, they may be arranged in any suitable manner in different embodiments. For instance, in some embodiments, the dashboard may include more or fewer information areas and input areas/buttons/icon than illustrated. In other embodiments, the content of the information may be displayed as a table, a bar chart, pie chart, bar graph, or some other format.
FIG. 5A illustrates a dashboard showing locations of existing microfences as well as designated areas for receiving inputs to add or create a new microfence. It is to be understood the dashboard may be displayed on a computer monitor 118 of a marketer 116 (FIG. 1). The dashboard 500 is shown to include a map 502 showing the locations of existing microfences 510 that were previously created by the marketer 116, or other users having access to the dashboard 500. In the event that multiple microfences are overlaid on the displayed map scale, a number 512 is displayed to represent the number of microfences located at that region. The dashboard preferably displays instructions 514 to create a fence, and instructions 516 to edit or delete a fence. The dashboard 500 also preferably provides an input area 518 to search for a location by GPS coordinate, latitude and longitude, address, or road intersection. Should a marketer desire to zoom in or zoom out of the map, the marketer can change the scale of the map by clicking the scale input button 504. Alternatively, the marketer can zoom in a particular region of the map by clicking a particular region on the map 502, in addition to pinch-to-zoom methods. FIG. 5B illustrates an exemplary dashboard 500 in which the system 120 received an input from the marketer, either by clicking the scale input button or a particular region of the map, to zoom in a region of downtown Chicago. At this scale of the map, all the individual microfences 510 are visible and each microfence 510 is identified by a central location (such as GPS coordinate, latitude and longitude, address, or road intersection) and a radius from the central location to define the border of the microfence. It should be noted that the radius from the central location does not need to be the same for all microfences. For instance, the radius from the central location of microfence 510A is approximately one city block (approximately a quarter of a mile) whereas the radius from the central location of microfence 510B is approximately half a city block (approximately an eighth of a mile). It is to be appreciated that a microfence need not be defined by a central location and a radius from the central location, rather a microfence can be defined by a rectangle representing a city block or a non- uniform shape of a park. In addition to the system 120 receiving inputs to define the location and border of a microfence, the system 120 may receive inputs on the notifications that are available for the microfence in accordance to block 224 of FIG. 2B.
FIG. 6 illustrates an exemplary dashboard 500 displaying the attributes for the highlighted/selected audience profile of “Kim” 530A. Also shown are buttons for audience profiles, “Jenny” 530B and “Sally” 530C, although the buttons for these other audience profiles are not highlighted/selected in the dashboard. As previously discussed, Kim is not an actual person but rather is a hypothetical person that represents a group or cluster of end users having similar attributes. The use of an audience profile, such as Kim, enables the system 120 to identify the habits or attributes of an end user 110 quickly and effectively by grouping or clustering the end user 110 with other end users having similar habits or attributes. In one embodiment, the illustrated dashboard 500 includes app usage 540 for Kim, routine commutes 542 for Kim, fast food visits by car 544 for Kim, clothing store visits by car 546 for Kim, and fast food visits by bus 548 for Kim. The illustrated dashboard 500 also includes a summary 550 for Kim displaying other attributes. It is to be appreciated that additional attributes for an audience profile can be determined and displayed, including but not limited to pregnancy, estimated income level, neighborhood type (suburban, rural, urban), religious beliefs, dining habits, exercise habits, education level, age/phase of life, and health problems. In accordance with the present illustrative embodiment, should the marketer wish to view the attributes for one of the other audience profiles, the marketer can click on the button for Jenny 530B or Sally 530C. In other embodiments more or fewer audience profiles can be available in the dashboard 500.
FIG. 7 illustrates an exemplary embodiment of a dashboard 500 showing the notifications 590A-E available for a particular microfence. The dashboard 500 displays the notifications 590A-E that are available to the end users, the name 592A-E of each notification and the promotion date range 594A-E of each notification. As illustrated in FIG. 7, and also FIGs. 5A, 5B and 6, the performance of the highlighted notification 590A is displayed. For the highlighted notification 590A, the dashboard 500 displays in display area 570 the number of notifications that this highlighted notification 590A had been sent to end users. In the present illustrative embodiment, the number of notifications displayed in display area 570 is updated in process 400 in block 418 in FIG. 4B. The dashboard 500 also preferably displays in display area 572 the number of views of the highlighted notification 590A by end users and displays in the display area 574 the number of conversions of the offers provided in the highlighted notification 590A. The number of views and the number of conversions displayed in display areas 572 and 574 are updated in the process of operation 400 in blocks 422 and 426 in FIG. 4B. The performance of the highlighted notification 590A can also be illustrated graphically by one or more graphs in display area 576 as shown in FIGs. 5A, 5B, 6 and 7. FIG. 8 illustrates an exemplary embodiment of the dashboard 500 displaying the statistic and performance for a particular audience profile 530 from the possible audience profiles, Kim 530A, Jenny 530B and Sally 530C. The illustrated dashboard 500 shows the statistics and performance for Kim 530A, and the associated selected and highlighted audience profile. The dashboard 500 displays in the display area 560 the total number of end users that are associated with the Kim audience profile 530 A. The dashboard 500 also displays in the display area 562 the percentage of total end users that are associated with the Kim audience profile and displays in the display area 564 the average number of new end users that are being associated with the Kim audience profile each day.
In addition to providing the statistics for the Kim audience profile, the dashboard 500 may display one or more graphs 580 indicating the performance for the Kim audience profile. The graphs 580 illustrated in FIG. 8 include a graph indicating the number of notifications 582A sent to end users associated with the Kim audience profile. The graphs illustrated in FIG. 8 also include a graph indicating the number of views 582B made by end users associated with the Kim audience profile and a graph indicating the number of offer conversions 582C made by end users associated with the Kim audience profile in response to viewing the notifications. The performance graphs 580 can be for all time periods, as illustrated in FIG. 8, by selecting the “All” button 584A. Alternatively, the displayed time period for the graphs 580 can be changed by selecting the “1 Year” button 530B, the “6 Months” button 530C, the Month” button 530D, the “Week” button 530E, the “Day” button 560F, or the “Hour” button 560G. The performance graphs 580 can be displayed in increments of each date, as illustrated in FIG. 8, by selecting the “Date” button 586A. Alternatively, the graphs 580 can be displayed in other increments by selecting the “Day of Week” button 586B, the “Day of Month” button 586C, the “Months” button 586D, or the
“Years” button 586E. With reference now to FIG. 9, illustrated is a mobile device 112 of the end user 110 displaying the selected notification 590A in FIG. 7. In accordance to block 414 (FIG. 4A), the system 120 selects a notification 590, from the plurality of notifications available for and associated with the microfence 510 that the end user 110 has entered, based on the audience profile attributes for the audience profile associated with the end user 110 and the content attributes associated with the notifications available for the microfence. Once the system 120 selects the notification, the system 120 causes the end user’s mobile device 112 to display the selected notification in accordance with block 416. The notification may include one or more promotional offers (including but not limited to: coupons, discounts, sample give away, and other offers) that are available to a customer to redeem or convert. Additionally, the notification may include additional information about the promotional offer, such as the effective dates of the offer. As shown, FIG. 9 illustrates the notification on the end user’ s mobile device 112 offering a free cup of coffee.
Environment for Providing User, Healthcare Providers and/or Doctors with an Understanding of the User’s Health Wellness
With reference now to FIG. 10, illustrated is an environment 1100 of one embodiment of a system 1120 for clustering end users and providing the user, healthcare providers (such as insurers and healthcare fiduciaries, Medicaid, Medicare, private and public payers) and/or doctors with an understanding of the user’s health wellness. The system 1120 is preferably accessible by an end user 1110, who may be a subscriber to an application associated with the system 1120, preferably through two-way communications with the user’s mobile device 1112. The end user’s mobile device 1112 is configured to track the mobile device’s 1112 location through triangulation of satellites (GPS) 1114, triangulation of cellar towers or other suitable tracking methods. The user’s mobile device 1112 is further preferably configured to track the mobile device’s 1112 ground speed via an accelerometer and/or changes in location over time, such as through triangulation. It is assumed that the end user 1110 is carrying the mobile device 1112 or keeps the mobile device close to him or her, such as in the vehicle that the end user 1110 is travelling within. Hence, it can be assumed that the location and speed of the end user’s mobile device 1112 is approximately the same as the location and speed of the end user 1110. Therefore, the location of the end user’s mobile device 1112 can be used interchangeably with the location of the end user 1110 and the speed of the end user’s mobile device 1112 can be used interchangeably with the speed of the end user 1110.
FIG. 10 further illustrates, in accordance with an illustrative embodiment, a system 1120 accessible by a medical professional, such as a doctor, healthcare provider (such as insurers and healthcare fiduciaries, Medicaid, Medicare, private and public payers), pharmacist, an administrator, or some other medical professional involved in the health of the end user (hereinafter “medical professional”), designated generally by reference 1116, involved in the health of the end user 1110, preferably through two-way communications with the medial professional’s computer 1118 or some other device such as a tablet or other suitable mobile computing device. The medical professional’s computer 1118 preferably includes an output component, such as a monitor, capable of displaying content from the system 1120 and at least one input component, such as a keyboard, mouse, or touch screen, capable of sending requests and inputs to the system 1120.
The illustrated system 1120 is preferably functionally controlled by a control unit.
The control unit preferably includes at least one specially configured processor and at least one controller configured to operate with at least one memory device and at least one data storage device (collectively referred to herein as “memory device”) 1124.
In accordance with the illustrative embodiment, the control unit includes at least one specially configured processor or central processing unit (CPU) including arithmetic logic units and math co-processors also known as floating point units. The specially configured processor further preferably includes registers for holding instructions or other data, and cache memory for storing data for faster operation thereupon. It is to be appreciated that the specially configured processor may be a multi-core processor that includes two or more processors for enhanced performance, more efficient parallel processing, or other advantageous computing functions. Alternatively, the specially configured processor may be one or more processing devices such as microprocessor(s) or integrated circuit(s) and may include one or more controllers.
It is to be understood that a controller is a device or a software program that manages or directs the flow of data between two entities. Often, controllers are special purpose circuitry or software that solve a technical communications problem between different technology systems. In the illustrative embodiment, a controller functions as an interface between two systems while managing the communications between the systems. In other illustrative embodiments, a controller functions as an interface between a processor and a peripheral device and functions to control the peripheral device.
With continuing reference to FIG. 10, at least one specially configured processor and controller (collectively referred to herein as “processor”) 1122 is configured to communicate with at least one memory device 1124. The memory device 1124 includes one or more memory structures for storing instructions and various types of data. Memory structures may include one or more random access memory units (RAMs) units, one or more read only memory units (ROMs), one or more flash memory units including solid state drives (SSDs), one or more electrically erasable/programmable read only memory units (EEPROMs).
It should be appreciated that communication with a memory 1124 device by a processor encompasses the processor accessing the memory device 1124, exchanging data with the memory device 1124, or storing data to the memory device 1124. Memory device 1124 may store all program code and operation data necessary for the operation of the system 1120 described hereinbelow. It is to be further understood that code and operation data necessary for the operation of the system 1120 may be store in a distributed manner such that some code is stored in the memory device 1124 and other code is stored remotely from system 1120. For instance, the code and operation data necessary for the operation of the system 11120 includes basic input and output function data, instruction fetching data, bus and network communication protocol data, and like data.
In addition to the memory device 1124 described above, the code and operation data for the operation of the system 1120 described hereinbelow may be stored in removable cartridges or flash drives, a compact disk ROM, a digital versatile disk (DVD) optical storage technology, or suitable other fixed non-transitory storage mediums. Part or all of the code and operational data for operation of the system may be stored in a remote memory structure and be downloaded to the memory device 1124 via a network connection. It is to be understood the system 1120 may utilize any combination of memory devices such as random access memory devices (RAMs), unalterable memory devices (ROMs), and mass storage devices for securely storing and securely communicating the software components or code that facilitate operation and other functions of the system 1120. It is to be further understood that the subject matter and functional operations described in relation to FIG. 10 can be embodied in hardware, software, or a combination thereof. Described hardware includes the structures described and their functional or operational equivalents. Described functions may be performed by hardware, digital circuitry, computer software, computer firmware, or functionally equivalent combinations thereof.
System and Method for Determining End User is Stationary
With reference now to FlGs. 11A and 11B, illustrates are exemplary flowcharts of an example operation 1300 of an illustrative embodiment of the system and method for placing an end user into a health profile. It is to be understood that a processor 1122 of the system 1120 (shown in FIG. 10) is configured, via instmctions stored in a memory device 1124, to perform the operation 1300. However, it should be appreciated that other suitable variations of operation 1300 are possible. For example, in another illustrative embodiment, fewer or one or more additional blocks (not shown) may be employed in operation 1300 of the system 1120 and method. In other embodiments, the blocks may be performed in any suitable order.
Starting at block 1305, the system 1120 receive inputs from a mobile device 1112 of an end user 1110 (FIG. 10). The inputs preferably include information that identifies the end user 1110 and determines the location and the speed of the end user’s 1110 mobile device 1112. The end user’ s mobile device 1112 is configured to track the mobile device’ s 1112 location preferably through triangulation of satellites (GPS) 1114 or through triangulation of cellar towers. The user’s mobile device 1112 is also configured to track the mobile device’s 1112 speed via an accelerometer and/or changes in location over time, preferably through triangulation. It is assumed that the end user 1110 is carrying the mobile device 1112 or maintains the mobile device close to him or her, such as in the vehicle that the end user 1110 is travelling within. Hence, it can be assumed that the location and speed of the end user’ s mobile device 1112 is approximately the same as the location and speed of the end user 1110. Therefore, the location of the end user’s mobile device 1112 can be used interchangeably with the location of the end user 1110 and the speed of the end user’s mobile device 1112 can be used interchangeably with the speed of the end user 1110.
In the event the mobile device 1112 is moving at a speed below a given or predetermine speed (such as 5 m/s or another speed that was predetermined as an indicator that the end user has purposely stopped at a location), as determined via an accelerometer and/or changes in location over time through triangulation (block 1314), process 1300 proceeds to determine whether the end user 1110 purposely stopped at a location (“stationary”) or whether the end user 1110 stopped unintentionally, such as waiting at a traffic light. If the mobile device 1112 is not moving below a given speed, process 1300 reverts back to block 1305 in which the system 1120 may receive, from the mobile device 1112, new information to determine the location and speed of the mobile device 1112.
To determine if the end user 1110 is stationary, the system 1120 may start a timer (block 1318). After a periodic time interval has elapsed, such as one second, the system 1120 determines a new location of the mobile device 1112, preferably through triangulation of satellites (GPS) 1114 or through triangulation of cellar towers (block 1320). After the periodic time interval has elapsed (block 1322), if the location of the mobile device remains within a given distance, such as 10 meters, from the original location determined (block 1314), the process of operation continues by determining another new location after a periodic time interval until the timer started in block 1318 has surpassed a given or predetermined amount of time, such as twenty seconds (block 1324). During the time that the predetermined amount of time has not elapsed, if the location of the mobile device 1112 is beyond the given distance from the original location (block 1314), it is assumed that the end user 1110 is not stationary and process of operation 1300 reverts block 1305 in which the system 1120 may receive from the mobile device 1112 new information to determine the location of the mobile device, preferably through triangulation of satellites (GPS) 1114 or through triangulation of cellar towers and speed of the mobile device via an accelerometer and/or changes in location over time through triangulation.
After the timer has surpassed the predetermined amount of time and the mobile device remained within the given distance from the original location determined (block 1314), process 1300 continues to block 1326 via off page connector AE in FIG. 11B such that the system 1120 evaluates if the original determined location (block 1314) belongs to any current geofence saved in its memory device 1124. If the original location belongs to a current geofence saved in the system’s memory device 1124, process 1300 continues to block 1330.
If the original coordinate does not belong to a current geofence saved in the system’s memory device 1124, a new geofence is created for this location (block 1328) and process 1300 continues to block 1330 in which the system 1120 submits analysis purpose related data to the Web server, preferably through specific web API, and then determines the location attributes of the geofence location and saves the location attribute in memory device 1124 (block 1332). It is to be appreciated that the location attribute can be a type of product or service provided at that location, such a fast food restaurant, a movie theater, a school, a hospital, etc. The identified location attribute is then saved in the memory device 1124 of the system 1120 as being associated with an end user 1110. Process 1300 then continues via off page connector AC. System and Method for Placing End User into a Health Profile
If a sufficient number of location attributes have been saved for an end user 1110 (block 1334), the system 1120 aggregates the end user’s visits to the different location attributes per time period (day, week, or month) (block 1336). The number of sufficient location attributes is at least a number that would be statistically significant to indicate the habit and behavior of the end user. If the number of location attributes saved for the end user 1110 has not surpassed the sufficient number of location attributes, process 1300 reverts to block 1305 via off page connector AF in FIG. 11A to continue identifying additional location attributes to associate with the end user 1110.
If a sufficient number of location attributes have been saved for the end user 1110 and the system 1120 aggregated the end user’s 1110 visits to the different the location attributes, the system 1120 then preferably groups the end user’s 1110 visits to particular locations by their location attributes (block 1338). Process 300 then proceed to classify particular distinct behaviors of the end user by taking into account the clustered and chosen visiting patterns of the end user (block 1340). These particular distinct behaviors and frequencies associated with the end user 1120 are then stored in a database (e.g., memory device 1124) (block 1342).
Process 1300 then proceeds to block 1344 via off page connector AG in FIG. 12B in which the system 1120 then places an identifier for the individual end user 1110 in a sparse vector space based on the end user’s behavior/frequency analysis. In addition to behaviors based on the end user’s 1110 aggregated visits to geofence locations, the end user’s 1110 behaviors can also be derived from end user 1110 entered data. For instance, during the application registration process, the end user 1110 may provide personal information about himself or herself, such as his or her preferences and demographics including but not limited to marital status, income range, profession, etc. These user-entered data can be stored in a memory device 1124. The end user-entered behavior and demographic information (block 1346) is then utilized to place the individual end user’s identifier in a sparse vector space (block 1344). Clusters are then identified in this vector space preferably using statistical analysis/mathematics models (block 1348). Individual end users are then labelled with their profile membership, which is then preferably stored in the memory device 1124 (block 1350). A ML Classifier, or other machine learning engine, is then preferably trained to place individual users 1110 into one of the health profiles (block 1352). During this process, the system 1120 determines if there is an existing health profile having location attributes visits that closely matches the end user’s 1110 aggregated visits to the different location attributes (block 1354). It is to be appreciated that the health profile is preferably a hypothetical person that represents a group or cluster of end users 1110 having similar health attributes. The use of a health profile allows the system 1120 to cluster a group of users 1110 having similar health attributes to determine a user’s health wellness, to provide suggestions to improve a user’s health wellness, and/or to determine common health issue. Additionally, if a sufficient number of location attributes have been saved for the end user 1110 and the system 1120 aggregated the end user’s 1110 visits to the different location attributes, the system 1120 then preferably determines if there is an existing health profile that closely matches the aggregated location attributes visits, attributes provided by the end user 1110 (such as the user-entered data stored in memory device 1124) and/or other attributes collected about the user 1110 (such as from public information about the end user available on the internet).
In the even there is an existing health profile (block 1354), the end user 1110 is associated with that health profile, along with the health profile attributes for that health profile (block 1362). The audience profile attributes associated with each audience profile is preferably stored in the memory device 1124. The health profile attributes preferably include the behavior frequency for the health profile, such as the health profile’s visits to doctor’s offices, the health profile’s route commutes, the health profile’s visits to fast food restaurants, the health profile’s visits to the gym, the health profile’s visit to beaches, etc. If there is not an existing health profile which closely matches the end user’s aggregated visits to the different location attributes, the system clusters behavior grouping based on behavior frequency attributes, inferred home/work location categories, etc. to create a new health profile (block 1356). It is to be appreciated that while blocks 1350, 1352 and 1354 are shown in FIG. 12B as sequential steps, those skilled in the relevant art will recognize and appreciate that these steps can performed by the system 1120 simultaneously, interchangeably, or in a different order.
With continued reference to Fig. 12B, a medical professional further analyzes the cluster to provide a name and description for the new health profile (block 1358). The system 1120 preferably generates and saves the new health profile in its memory device 1124 (block 1360) with the end user 1110 being associated with that health profile and the associated health profile attributes (block 1362). It is to be appreciated that the health profile associated with end user 1110 and its attributes can be used for other operations via off page connector AD. Process 1300 then reverts to block 1305 via off page connector AF in FIG. 12A to continue identifying additional location attributes to associate with the end user 1110.
System and method for determining an end user’s health wellness based on aggregated location attributes
FIG. 13 illustrates a flowchart of a process 1400 depicting a system and method for determining an end user’s health wellness based on aggregated location attributes in accordance with an illustrated embodiment. It is noted that processor 1122 of the system
1120 (FIG. 10) is configured, via instructions stored in a memory device 1124, to perform process 1400. However, it should be appreciated that other suitable variations process 1400 are possible. For instance, fewer or one or more additional blocks (not shown) may be employed for process 1400 and/or the below described blocks may be performed in any suitable order.
Starting at block 1405, the system 1120 preferably assigns a health wellness value for each location attribute associated with each location for which the user 1110 was stationary. For example, if the end user 1110 visited a gym, this visit can be considered beneficial to the end user health wellness and this visit will be assigned a positive one (+1). However, if the end user 1110 visited a fast food restaurant, this visit can be considered damaging or unbeneficial to the end user health wellness and this visit will be assigned a negative one (-1). It should be noted that different location attributes can affect an end user heath wellness in various amount. A visit to a bar can have more damaging effects (e.g., have a greater weighted negative wellness value) to an end user’s 1110 health wellness than visiting a fast food restaurant, thus a visit to a bar may be assigned a negative two (-2) value whereas a visit to a fast food restaurant may be assigned only a negative one (-1) value. It is to be appreciated that the value to be assigned for each location attribute can be predetermined and stored in the system’s memory device 1124. Next, the system 1120 then adds the assigned heath wellness value for the visit to the end user’s overall heath wellness value (block 1410). The system 1120 then determines the end user heath wellness based on the end user’s overall heath value (block 1415). The system 1120 then selects a notification for display to the end user 1120 based on the end user’s overall health wellness value as compared to other user’s overall health wellness or the end’s previous overall health wellness (block 1420). For instance, the selected notification may be a message such as “keep it up, you’re doing great”, “you are doing better than average”, “try to avoid fast food high in fat and salt intake”, and like informative message with relevant information. The system 1120 then displays the selected notification to the user 1110 (block 1425). Process 1400 continues to repeat to block 1305 by receiving new inputs from user mobile device 1112. System and method for determining common health issues within clustered group of users based on their Aggregated Location Attributes
With reference now to FIG. 14, illustrated is a flowchart of an exemplary process 1500 for determining a common health issues within clustered group of users based on their aggregated location attributes in accordance with an illustrated embodiment. It is to be understood processor 1122 of the system 1120 (FIG. 10) is preferably configured, via instructions stored in a memory device 1124, to perform process 1500. However, it should be appreciated that other suitable variations of process 1500 are possible. For instance, fewer or one or more additional blocks (not shown) may be employed in execution of process 1500. It is to be further appreciated that below described blocks of FIG.14 may be performed in any suitable order.
Starting at block 1505, system 1120 receives and collects occurrence of health issues
(illness such as infectious disease, lung cancer, diabetes, gastroesophageal reflux, etc.) experienced by users 1110 in a health profile (cluster of group of users based on their aggregated location attributes). The system 1120 then determines if a particular health profile has a higher than average occurrence of a particular health issue, such as exposure to a contiguous disease/virus in view of aforesaid associated location attributes (block 1510). The system 1120 then determines whether the higher than average occurrence of the particular health issue experienced by the health profile is statistically significant (block 1515). If the higher than average occurrence of a particular health is statistically significant, the system
1120 is configured to provide a notification to a medical professional or a government agency
(such as the Centers for Disease Control and Prevention) of this higher than average occurrence (block 1520). In the event the higher than average occurrence of a particular health is statistically significant, the system may correlate the health issue found to statistically significant for a number of health profiles with the health profiles’ location attributes to identify potential correlation between a location attribute and a health issue (block 1525).
System and method for determining common health issues within clustered group of users based on the location they were stationary
With reference now to FIG. 15 illustrated a flowchart of an exemplary process 1600 for determining common health issues within clustered group of users based on the location they were stationary in accordance with an illustrated embodiment. It is to be appreciated that processor 1122 of the system 1120 (FIG. 10) is configured, preferably via instmctions stored in a memory device 1124, to perform process 1600. However, it should be appreciated that other suitable variations of process 600 are possible. For instance, fewer or one or more additional blocks (not shown) may be employed in process 1600 and/or the below described blocks may be performed in any suitable order.
Starting at block 1605, the system 1120 receives and collects occurrence of health issues (illness such as infectious disease/virus, lung cancer, diabetes, gastroesophageal reflux, etc.) experienced by users and the locations the users 1110 were stationary. For instance, the system 1120 may have received and collected occurrence of food poisoned users and the locations the users were stationary and/or the system 1120 may have received and collected information regarding users 1110 having, or associated/exposed to, an infectious vims/disease and the locations those users 1110 were stationary at. The system 1120 then determines if a particular location has been visited (determined to be stationary) by more than average (or more than expected) number of users 1110 who experienced the heath issue (e.g., associated with an infectious virus/disease) (block 1610). The system 1120 then determines whether the higher than average occurrence of the particular health issue at this location (e.g., user’s 1110 associated with an infectious virus/disease) experienced by the users 1110 is statistically significant (block 1615). If the higher than average occurrence of a particular health issues at the location (e.g., user’s 1110 associated with an infectious vims/disease) is statistically significant, the system 1120 may provide notification(s) to a medical professional or a government agency (such as the Centers for Disease Control and Prevention) of this higher than average occurrence (block 1620) to enable such medical professional or a government agency to take preventive action(s) to thwart/mitigate the spread of a contagious disease/virus, for instance.
With reference now to FIGs. 16A and 16B, depicted are exemplary screen shots, preferably provided on a user’s device 1112, resulting from communication occurring between system 1120 and or more user’s devices 1112 for tracking end user 1110 behaviors in accordance with illustrated embodiments described herein regarding system 1120.
End user’s or patient’s medical and wellness records
With reference now to FIGs. 18A-18E, illustrate are exemplary screen shots depicting an end user’s 1110 (patient’s) medical and wellness records generated by system 1120 in accordance with certain illustrated embodiments described herein. In particular, with specific reference to the screen shots depicted in FIGs. 18C and 18E, certain end user’s 1110 wellness records are shown that preferably include a plurality of links (e.g., hyperlink(s)) regarding a user’s 1110 wellness. For instance, the following exemplary user wellness information may be provided by system 1120:
• FITNESS: personal information regarding the fitness of a user 1110 that is preferably determined by system 1120 gathered from information collected from a user 1110 regarding user exercise routines, such as: how many steps walking or running, biking, exercise information collected while working out (e.g., lunges, sit ups, push-ups, weights, and like exercise tasks). • NUTRITION: nutritional information regarding the nutrition of a user 1110 that is preferably determined by system 1120 gathered from what an individual consumes (e.g., good and bad) to foster the determination of individual lifestyles and a user’s 1110 level of health based upon a user’s nutrition (e.g., salt intake, fats, alcohol, etc.).
• MONITORING: information regarding the health of a user 1110 that is preferably determined by system 1120 via monitoring of a user’s: heart rate monitor, pulse rate, breathing monitoring, weight control, fat measurements, size measurements (further encompassing additional informative information useful for monitoring a user’s health).
A number of embodiments of the invention have been described. Various modifications may be made without departing from the spirit and scope of the invention. For instance, FIGs. 18A and 18B illustrate the display of screen shots generated by system 1120 on user’s devices 1112 devices during a medical emergency scenario. And FIGs. 19A-19D illustrate the display screen shots generated by system 1120 on user’s devices 1112 to facilitate linking of user’s 1110 with medical professionals for preferably providing access to a patient’s medical records.
It is to be further appreciated that various forms of the flows shown above may be used, with steps re-ordered, added, or removed. The following claims in its broader aspects is therefore not limited to the specific details, representative system and method, and illustrative example shown and described. Accordingly, other embodiments are within the scope of the following claims.

Claims

What is claimed is:
1. A system for clustering mobile device end users using a computer network, the system comprising: one or more memory devices storing programing instructions; one or more processors configured to execute the program instructions wherein said processor upon execution of the instructions is configured to: receive a location and speed from a mobile device of a user; determine the mobile device of the user is moving below a predetermined speed; determine the mobile device of the user has remained within a predetermined distance from the location during a predetermined amount of time; identify a location attribute for the location of mobile device of the user; associate the location attribute with the user; aggregate a plurality of location attributes associated with the user; and determine a profile for the user based on the aggregated location attributes for the user.
2. The system of claim 1, wherein the one or more processors are further configured to determine a user’s health wellness based on the aggregated location attributes for the user.
3. The system of claim 2, wherein the profile is the audience profile for the user.
4. The system of claim 2, wherein the profile is the heath profile for the user.
5. The system of claim 2, wherein determining the mobile device of the user has remained within a predetermined distance from the location during a predetermined amount of time includes receiving location periodically from the mobile device of the user during the predetermined amount of time.
6. The system of claim 3, wherein the one or more memory devices further store location of a fence, a plurality of notifications available for the fence, and a plurality of content attributes for each notification, the one or more processors are further configured detect the user has crossed into an area defined by the fence.
7. The system of claim 6, wherein the one or more memory devices further store a plurality of audience profile attributes associated with the audience profile.
8. The system of claim 4, wherein the one or more memory devices further store a plurality of health profile attributes associated with the health profile.
9. The system of claim 7, wherein upon determining the user crossing into an area defined by the fence, the one or more processors are further configured to: determine a conversion probability based on content attributes of the notifications associated with the fence and audience profile attributes of the audience profile associated with the user; select a notification based the conversion probability; and display the selected notification on the mobile device of the user.
10. The system of claim 9, wherein selecting a notification based the conversion probability involves selecting the notification that shows an offer that the user is mostly likely to convert.
11. The system of claim 2, wherein the location of the mobile device of the user remained within a predetermined distance from the location within a predetermined amount of time defined a fence.
12. The system of claim 11, wherein the one or more memory devices further store location of the fence and its location attributes.
13. A system comprising: one or more memory devices storing programing instructions; one or more processors configured to execute the program instructions wherein said processor upon execution of the instructions is configured to: receive a fence defined by a first user, the fence includes an area having a geographic location, a plurality of notifications and their content attributes are associated with the fence; receive location and speed from a mobile device of a second user; determine the mobile device of the second user is stationary for a predetermine amount of time; identify a location attribute for the location of mobile device of the second user; associate the location attribute with the second user; aggregate a plurality of location attributes associated with the second user; determine an audience profile and audience profile attributes for the second user based on the aggregated location attributes for the second user; detect that the second user has crossed into an area defined by the fence; and responsive to detecting the second user crossing the fence: determine a conversion probability based on content attributes of the notifications associated with the fence and audience profile attributes of the audience profile associated with the second user; select a notification based the conversion probability; and cause the selected notification to be displayed on the mobile device of the second user.
14. The system of claim 13, wherein the one or more processors further cause a monitor to display total number of selected notifications sent to all users.
15. The system of claim 14, wherein the one or more processors further update the displayed total number of selected notifications sent to all users.
16. The system of claim 13, wherein the one or more processors further determine that selected notification has been viewed.
17. The system of claim 16, wherein the one or more processors further cause a monitor to display a total number of selected notifications viewed by all users.
18. The system of claim 17, wherein the one or more processors further update the displayed total number of selected notifications viewed by all users.
19. The system of claim 13, wherein the one or more processors further determine that the second user converted on an offer shown on the selected notification.
20. The system of claim 19, wherein the one or more processors further cause a monitor to display total number of conversions of an offer shown on the selected notification viewed by all users.
21. The system of claim 13, wherein the one or more memory devices further store a plurality of audience profile attributes associated with an audience profile.
22. The system of claim 13, wherein the one or more memory devices further store a plurality of notifications available for the fence.
23. The system of claim 22, wherein the one or more memory devices further store a plurality of content attributes for each notification.
24. The system of claim 13, wherein selecting a notification based the conversion probability involves selecting the notification that shows an offer that the second user is mostly likely to convert.
25. The system of claim 13, wherein location where the second user remained stationary for a predetermined amount of time create a second fence.
26. The system of claim 25, wherein the one or more memory devices further store location of the second fence and its location attributes.
27. The system of claim 13, wherein determining the mobile device of the second user is stationary for a predetermine amount of time involves receiving location periodically from the mobile device of the second user to determine if the mobile device was located beyond a predetermined distance from the original location during the predetermined amount of time.
28. A method of delivering notifications to a mobile device, the method comprising: receiving a fence defined by a first user, the fence includes an area having a geographic location, a plurality of notifications and their content attributes are associated with the fence; receiving location and speed from a mobile device of a second user; determining the mobile device of the second user is stationary for a predetermine amount of time; identifying a location attribute for the location of mobile device of the second user; associating the location attribute with the second user; aggregating a plurality of location attributes associated with the second user; determining an audience profile and audience profile attributes for the second user based on the aggregated location attributes for the second user; detecting that the second user has crossed into an area defined by the fence; determining a conversion probability based on content attributes of the notifications associated with the fence and audience profile attributes of the audience profile associated with the second user; selecting a notification based the conversion probability; and causing the selected notification to be displayed on the mobile device of the second user.
29. A system comprising: one or more memory devices storing programing instructions; one or more processors configured to execute the program instructions wherein said processor upon execution of the instructions is configured to: receive location and speed from a mobile device of a user; determine the mobile device of the user is stationary for a predetermine amount of time; identify a location attribute for the location of mobile device of the user; associate the location attribute with the user; aggregate a plurality of location attributes associated with the user; and determine the user’s health wellness based on the aggregated location attributes for the user.
30. The system of claim 29, wherein the one or more processors further cause a monitor to display the user’s heath wellness.
31. The system of claim 30, wherein the monitor is the user’s mobile device’ screen.
32. The system of claim 29, wherein the one or more processors further transmit the user’s health wellness to a second user’s system.
33. The system of claim 29, wherein the second user is a medical professional associated with the user.
34. The system of claim 29, wherein the one or more processors further determine suggested activities to improve user’s health wellness based on the aggregated location attributes for the user.
35. The system of claim 29, wherein the one or more processors further cause a monitor to display the suggested activities.
36. The system of claim 29, wherein one or more memory devices further store the user’s medical history.
37. The system of claim 36, wherein the one or more processors further are further configured to: determine if the user has authorized a second user access to the user’s medical history; and transmit the user’s medical history to the second user’s system if the user has authorized the second user access to the user’s medical history.
38. The system of claim 37, wherein the second user is at least one of a medical doctor or a healthcare provider associated with the user.
39. The system of claim 37, wherein the second user is an emergency medical technician or a paramedic.
40. The system of claim 37, wherein the one or more processors are further configured to electronically link the second user with a third user.
41. The system of claim 29, wherein determining the mobile device of the user is stationary for a predetermine amount of time includes receiving location information periodically from the mobile device of the second user to determine if the mobile device of the second user was located beyond a predetermined distance from the original location during the predetermined amount of time.
42. The system of claim 29, wherein the determined user’s health wellness relates to the user’s exposure to a contiguous disease/vims.
43. A system comprising: one or more memory devices storing programing instructions; one or more processors configured to execute the program instructions to cause wherein said processor upon execution of the instructions is configured to: receive location and speed information from a mobile device of a user; determine the mobile device of the user is stationary for a predetermine amount of time; identify a location attribute for the location of mobile device of the user; associate the location attribute with the user; aggregate a plurality of location attributes associated with the user; cluster a group of users based on their aggregated location attributes; and determine common health issues within the clustered group of users.
44. The system of claim 43, wherein the one or more processors further determine links between common health issues and the cluster group of users’ location attributes.
45. The system of claim 43, wherein determining the mobile device of the user is stationary for a predetermined amount of time includes receiving location information periodically from the mobile device of the second user to determine if the mobile device of the second user was located beyond a predetermined distance from the original location during the predetermined amount of time.
46. The system of claim 43, wherein the determined common health issues within the clustered group of users relates to exposure to a contiguous disease/virus.
47. A system comprising: one or more memory devices storing programing instructions; one or more processors configured to execute the program instructions wherein said processor upon execution of the instructions is configured to: receive location and speed information from a mobile device of a user; determine the mobile device of the user is stationary for a predetermine amount of time; cluster a group of users based on location they were stationary for a predetermined amount of time; and determine a common health issue within the clustered group of users.
48. The system of claim 47, wherein the one or more processors further determine links between the common health issue and location for which the cluster group of user were stationary for a predetermined amount of time.
49. The system of claim 47, wherein the one or more processors further causes a notification on the common health issue to be displayed on a monitor.
50. The system of claim 49, wherein the monitor is the user’s mobile device’s screen.
51. The system of claim 47, wherein determining the mobile device of the user is stationary for a predetermined amount of time involves receiving location information periodically from the mobile device of the user to determine if the mobile device of the user was located beyond a predetermined distance from the original location during the predetermined amount of time.
52. The system of claim 47, wherein the determined common health issues within the clustered group of users relates to exposure to a contiguous disease/virus.
PCT/US2020/048836 2019-08-29 2020-08-31 Computer network for tracking user using user's mobile device WO2021042067A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP20856940.0A EP4022946A1 (en) 2019-08-29 2020-08-31 Computer network for tracking user using user's mobile device
CA3149141A CA3149141A1 (en) 2019-08-29 2020-08-31 Computer network for tracking user using user's mobile device
AU2020336229A AU2020336229A1 (en) 2019-08-29 2020-08-31 Computer network for tracking user using user's mobile device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16/555,600 US11044572B2 (en) 2019-08-29 2019-08-29 System and method for clustering end users to select and deliver a notification to mobile device
US16/555,600 2019-08-29
US201962904459P 2019-09-23 2019-09-23
US62/904,459 2019-09-23

Publications (1)

Publication Number Publication Date
WO2021042067A1 true WO2021042067A1 (en) 2021-03-04

Family

ID=74685278

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2020/048836 WO2021042067A1 (en) 2019-08-29 2020-08-31 Computer network for tracking user using user's mobile device

Country Status (4)

Country Link
EP (1) EP4022946A1 (en)
AU (1) AU2020336229A1 (en)
CA (1) CA3149141A1 (en)
WO (1) WO2021042067A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020028681A1 (en) * 2000-08-21 2002-03-07 Soong-Bok Lee Method for collecting information and providing information service based on locational and geographical information
US20020111172A1 (en) * 2001-02-14 2002-08-15 Dewolf Frederik M. Location based profiling
KR100692803B1 (en) * 2004-10-27 2007-03-12 에스케이 텔레콤주식회사 Method and system for providing location based health care service
US20080235230A1 (en) * 2007-03-23 2008-09-25 Oracle International Corporation Using location as a presence attribute
JP2013143004A (en) * 2012-01-11 2013-07-22 Nippon Telegr & Teleph Corp <Ntt> Exercise management device, exercise management method, and program
US20140349672A1 (en) * 2013-05-23 2014-11-27 Honeywell International Inc. System and method with automatic radius crossing notification for gps tracker

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020028681A1 (en) * 2000-08-21 2002-03-07 Soong-Bok Lee Method for collecting information and providing information service based on locational and geographical information
US20020111172A1 (en) * 2001-02-14 2002-08-15 Dewolf Frederik M. Location based profiling
KR100692803B1 (en) * 2004-10-27 2007-03-12 에스케이 텔레콤주식회사 Method and system for providing location based health care service
US20080235230A1 (en) * 2007-03-23 2008-09-25 Oracle International Corporation Using location as a presence attribute
JP2013143004A (en) * 2012-01-11 2013-07-22 Nippon Telegr & Teleph Corp <Ntt> Exercise management device, exercise management method, and program
US20140349672A1 (en) * 2013-05-23 2014-11-27 Honeywell International Inc. System and method with automatic radius crossing notification for gps tracker

Also Published As

Publication number Publication date
AU2020336229A1 (en) 2022-04-21
EP4022946A1 (en) 2022-07-06
CA3149141A1 (en) 2021-03-04

Similar Documents

Publication Publication Date Title
US10715962B2 (en) Systems and methods for predicting lookalike mobile devices
US9838843B1 (en) Generating data-driven geo-fences
US9992290B2 (en) Recommendations based on geolocation
US10349208B1 (en) Systems and methods for real-time prediction of mobile device locations
US10135931B2 (en) Recommendations based on geolocation
JP6300295B2 (en) Friend recommendation method, server therefor, and terminal
US10278014B2 (en) System and method for using geo-blocks and geo-fences to predict mobile device locations
JP7285521B2 (en) System and method for predicting similar mobile devices
US11134359B2 (en) Systems and methods for calibrated location prediction
JP2018028729A (en) Determination device, determination method, and determination program
US11573988B2 (en) Storage of point of interest data on a user device for offline use
US20190096532A1 (en) Method and system for tracking illness
US10823578B1 (en) Geographical catchment data for electronic displays
JP2020008959A (en) Device, method, and program for processing information
US20210090741A1 (en) System and method for tracking end user behaviors for healthcare applications
US11930421B2 (en) System and method for clustering end users to select and deliver a notification to mobile device
Hladík et al. Spatial-temporal analysis of retail and services using Facebook Places data: a case study in Brno, Czech Republic
WO2021042067A1 (en) Computer network for tracking user using user&#39;s mobile device
Lin Indoor location-based recommender system
JP6262123B2 (en) Information processing apparatus, program, and information processing method
Yousfi et al. Discovering commute patterns via process mining
JP7259110B2 (en) Information processing device, information processing method, and information processing program
JP7194798B2 (en) Information processing device, information processing method, and information processing program
Fan et al. Discovering the influence of facility distribution on lifestyle patterns in urban populations
JP2020046880A (en) Device, method, and program for processing information

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20856940

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 3149141

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020856940

Country of ref document: EP

Effective date: 20220329

ENP Entry into the national phase

Ref document number: 2020336229

Country of ref document: AU

Date of ref document: 20200831

Kind code of ref document: A