US20180156925A1 - Mobile device location - Google Patents
Mobile device location Download PDFInfo
- Publication number
- US20180156925A1 US20180156925A1 US15/578,798 US201615578798A US2018156925A1 US 20180156925 A1 US20180156925 A1 US 20180156925A1 US 201615578798 A US201615578798 A US 201615578798A US 2018156925 A1 US2018156925 A1 US 2018156925A1
- Authority
- US
- United States
- Prior art keywords
- zone
- target
- locational
- location
- meters
- Prior art date
- Legal status (The legal status 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 status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/34—Power consumption
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/42—Determining position
- G01S19/48—Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/01—Determining conditions which influence positioning, e.g. radio environment, state of motion or energy consumption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/021—Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/025—Services making use of location information using location based information parameters
Definitions
- Apps for various computing devices, and particularly mobile computing devices such as smart phones, sometimes require knowledge of the device's location.
- the location of the device can be accomplished in various ways, such as global positioning systems (GPS) and analysis of information from WiFi and cell towers, for example.
- GPS global positioning systems
- Different processes for determining device location may have varying levels of accurateness, and the device resources required to determine device location may vary among different locational awareness processes.
- FIG. 1 illustrates aspects of an example of a locational awareness system in accordance with the present disclosure.
- FIG. 2 is schematically illustrates an example of a mobile device.
- FIG. 3 illustrates an example of a target with three defined surrounding Zones.
- FIG. 4 is a flow diagram illustrating an example process for setting locational accuracy and update frequency.
- apps Some computer applications (“apps”), particularly mobile device apps, require determining the location of the device.
- a user device such as a mobile computer or smart phone, may be associated with a user.
- mobile devices are configured to run a plurality of apps, such as email apps, social networking apps, global positioning system (GPS) apps, calendar apps, weather apps, etc.
- apps such as navigation apps that provide driving directions, require highly accurate determination of the device location (and thus the vehicle location) and constant updating of the device location to provide accurate turn-by-turn driving directions.
- the constant determination and updating of location by a mobile device especially if using GPS technology, can use significant device resources. Constant determination and updating of the device's location may consume the device's battery, requiring frequent recharging.
- a customer or potential customer is provided an incentive to leave one location, such as the location of a competitive merchant, and go to another merchant's establishment.
- a customer or potential customer is presented with a notification or alert upon entry into a geographic area, such as a region of a street or road.
- a geographic area such as a region of a street or road.
- the user may be presented with a message such as a full-screen image, HTML 5 rich media experience, a video, etc.
- a geographic area including a commercial location or otherwise associated with a commercial location such as a parking lot is defined.
- the geographic area or the boundary defining the geographic area is sometimes referred to herein as a “bounding box.”
- the bounding box is a rectangular box that circumscribes the “geographic area.” If the geographic area is rectangular, the bounding box and the geographic area may be the same. In some instances, it is possible for the geographic area to have a shape other than rectangular. This is addressed in some embodiments by maintaining a rectangular bounding box that circumscribes the non-rectangular geographic area, or by defining a non-rectangular bounding box.
- a geographic area may have a shape that is polygonal. In some instances, the definition of the geographic area may include a set of vertices defining the polygonal area.
- a geographic area or bounding box is sometimes referred to herein as a “target.”
- the geographic area, or target is defined by a merchant representing a business establishment such as a restaurant.
- the commercial location can be defined by the merchant or other user using a computer application.
- a mobile device and thus the user of the device, is located in some predetermined proximity to the target, such as within the target, a message and/or some form of incentive may be sent to the mobile device. To accomplish this, it is necessary to monitor the location of the device.
- FIG. 1 illustrates an example of portions of a system 100 configured to implement certain methods disclosed herein.
- the system 100 includes a front-end 102 , a back-end 104 , and a communication interface 106 such as the internet.
- the front-end 102 include a graphical user interface application granted to a user.
- a front-end application accesses and manipulates data in the back-end 104 .
- the front-end 102 includes a mobile device application 110 , such as an iPhone® or Android® app running on a mobile device, and a web based merchant portal front-end application 112 operating on any suitable device capable of communicating with the internet 106 .
- the mobile device application 110 may be an application created and/or published by a party unrelated to the party using the campaign portal 112 to establish a locational messaging or advertising campaign.
- the back-end 104 may communicate to with a network of third-party applications, each of which contains a software development kit (SDK) performing the various services and operations described herein.
- SDK software development kit
- parties willing to present locational advertising or messages of the nature described herein through their applications would include the SDK in their applications in order to acquire the capability to do so.
- Those wanting to have their locational messaging or advertising campaigns delivered via participating third-party applications would create their locational advertising and messaging campaigns via the campaign portal 112 .
- the illustrated back-end 104 includes server-based applications, services, and persistence layers that are deployed to dedicated hardware systems or cloud based environments, for example.
- example implementations of the back-end 104 include one or more web servers 120 that include appropriately programmed processing devices, API services 122 and memory devices 124 including databases, program code, etc.
- FIG. 2 illustrates an example mobile device 200 , such as a smart phone, a Personal Digital Assistant (PDA), a smart automobile console, or in any other form.
- a device configured for location awareness systems and other applications in accordance with disclosed embodiments may include additional or fewer components and features than those shown in FIG. 2 .
- the example device 200 may include typical components of a mobile communication device such as a hard keypad 232 , one or more specialized buttons (“function keys”) 234 , display 238 , and one or more indicators (e.g. LED) 242 .
- the device 200 may also include a speaker 244 for voice communications.
- the display 238 may be an interactive display (e.g. touch sensitive) and provide soft keys as well.
- disclosed embodiments operate in a manner that permits mobile devices to enter a low power or “sleep” state as often as possible while monitoring device location.
- permitting the GPS subsystem to sleep is important, as its operation is “expensive” from a power consumption point of view.
- the device is configured to operate on the basis of locational data derived from other sources, such as WiFi and cell tower information (for example, cellular triangulation), as often as possible.
- the device communicates with the back end 104 to obtain a set of data describing the location and shape of nearby targets.
- the device receives data describing bounding boxes.
- the device receives data defining polygonal shapes or circular shapes. GPS is turned on only as the device comes into proximity of a target, and more accuracy is needed to properly determine target entry. Thus, the method by which location of the mobile device is determined is selected based on proximity of the device to a particular target. To allow for target detection, while at the same time permitting the GPS subsystem to sleep often, “zones” of proximity to a target may be defined.
- a target 300 is depicted with n zones surrounding it. Although the target 300 is depicted as being rectangular, the target 300 may be polygonal or circular, as discussed above. In the example illustrated in FIG. 3 , three zones surround the target 300 . Zone 1 is a region of space within a certain distance from the target 300 . Distance from a target may be calculated as distance from the nearest edge of the target, or distance from the nearest vertex or corner of the target, or distance from the centroid of the target.
- Zone 1 is a region of space within a certain radius of the centroid of the target 300 .
- Zone 1 may be defined as a region of space within 100 meters of the centroid of the target 300 .
- Zone 1 may be defined as the region of space within 100 meters of the edge of the target 300 , or within 100 meters from the various vertices of the target 300 .
- Zone 2 is a region of space extending further out from the centroid of the target 300 than Zone 1.
- Zone 2 may be defined as a region of space greater than 100 meters from the centroid of the target 300 , but within 450 meters of its centroid.
- Zone 3 may be defined as all space outside of Zone 2. Continuing with the example, Zone 3 is thus defined as all space further than 450 meters from the centroid of the target 300 .
- the device's GPS may be turned off, and locational information derived by other means, such as WiFi and cell tower information. In some examples, this means requesting locational information with a low required accuracy, such as 3000 meters.
- locational information other than GPS data such as WiFi and/or cell tower information
- locational updates may be requested to occur at a relatively infrequent basis to reduce CPU workload. For example, locational updates may be requested only when the device 200 has moved 50 meters, or after some predetermined time period associated with Zone 3 has expired.
- Zone 2 As the device 200 moves towards the target 300 , it enters Zone 2.
- the requested accuracy and frequency of positional updates may be enhanced. For example, in Zone 2, accuracy may be requested to be within 10 meters, and locational updates may be requested upon the device 200 having moved 10 meters or after a shorter time period has expired.
- the purpose of Zone 2 is to obtain locational information that is just good enough and frequent enough to promptly determine that: (1) the Device 200 has moved into Zone 1 and locational update accuracy and frequency need to be enhanced; or (2) the Device 200 has returned to Zone 3 and the locational update accuracy and frequency can be returned to a low state to save power.
- the requested locational accuracy may be improved to the best accuracy that can be obtained, and the locational update frequency may be increased to obtain updates whenever the device 200 has moved 5 meters. High accuracy combined with frequent updates allows for rapid and accurate detection of target entry.
- the back end in response to a front end system call to obtain target information, or in response to another call by the device to the backend, such as a call specifically designated for the purpose of requesting zone definition information, the back end should respond with data corresponding to the defined zones.
- An example of such data is shown in Table 1.
- a four-zone scheme may be defined as having a first zone including the region of space within 300 meters of a target.
- the phone When in the first zone, the phone is configured to determine its accuracy to within 10 meters and to receive a locational callback to a delegate every time the phone moves 10 meters.
- a second zone is defined as the region of space outside of the first zone, but within 500 meters of the target.
- the phone When in the second zone, the phone is configured to determine its accuracy to within 100 meters and to receive a locational callback to a delegate every time the phone moves 300 meters.
- a third zone is defined as the region of space outside of the second zone, but within 1000 meters of the target.
- the phone When in the third zone, the phone is configured to determine its accuracy to within one kilometer and to receive a locational callback to a delegate every time the phone moves 500 meters.
- a fourth zone is defined as the region of space outside the third zone. When in the fourth zone, the phone is configured to determine its accuracy to within three kilometers and to receive a locational callback to a delegate every time the phone moves a kilometer.
- the locational accuracy and update frequency of device 200 is determined by its distance from the target that is nearest to it.
- FIG. 4 is a flow diagram illustrating an example process 400 for determining locational accuracy and update frequency.
- the system determines which target is closest to the device 200 .
- the system determines which zone the device 200 is in with respect to the target identified in operation 410 .
- the requested locational accuracy and update frequency are set based upon the determined zone.
- an incentive associated with a business establishment located within or associated with the target may be sent to the device 200 .
- a service call is further made to the back end 104 , and in response thereto the backend 104 removes the particular target that was just entered from the list of targets returned to the device, or otherwise designates that particular target as already having been entered. Its removal or designation as having been previously entered serves two purposes: (1) it prevents the incentive message from repeatedly being obtained by the device 200 , until such time as the target is once again included in response to a service call; and (2) it eliminates a just-entered target from being considered when identifying the closest target pursuant to the three-step process articulated in conjunction with FIG. 3 . Therefore, the device 200 is free to consider a different target as being the closest and determine which zone it is in vis-à-vis that particular target.
- some embodiments include the following scheme in which a timer is employed. If the device is sufficiently close to a target so that it is within a target's Zone 1 or Zone 2, but the device has not entered the target for more than a threshold period of time (example: 10 minutes), then the target should be disregarded for a period of time (3 hours). Both the threshold period and disregard period are communicated in the response to a relevant service call.
- a delegate object may be designated to receive locational updates, with each such update including locational information intended to conform to a desired accuracy, and with each such update intended to occur when the device has moved more than a chosen number of meters.
- the desired accuracy and number of meters between updates (also known as the distance filter) is determined by messaging a second object known as a location manager object. Starting and stopping of standard location monitoring is also controlled through messaging to the location manager object.
- the location manager can be messaged to halt standard location monitoring during such periods, thereby saving power consumption that occurs by monitoring location even at very low desired accuracy.
- Some iOS® devices include an accelerometer by which acceleration of the device may be measured. Detection of motion via use of the accelerometer offers very low-power motion monitoring.
- a handler block object is ordinarily designated to receive motion activity updates from the accelerometer as they occur.
- Each motion activity update may include an activity type (example: walking, running, automotive, cycling, stationary, unknown) and confidence data indicating the level of confidence that the user of the device is actually engaged in such action.
- the motion activity type and confidence data are calculated by the motion framework within iOS®.
- the location manager object may be messaged to stop standard location services, thereby halting the power draw associated therewith.
- iOS® devices respond to a command to stop standard location services by suspending all of the threads of the particular application hosting the location manager object, if the application is executing in the background as a navigational app.
- this is problematic because the application loses its opportunity to subsequently message the location manager object to resume standard location services, because the background execution of the application has been entirely suspended.
- the aforementioned handler block object may be dispatched to a global queue of a chosen priority (example: background priority).
- the handler may be dispatched to the queue asynchronously.
- the global queues are shared across applications and other resources and are not associated exclusively with the host application.
- the handler block object will be assigned a thread upon provision of a motion activity update, and it can perform the steps required to determine whether the device is in a condition of non-trivial motion or not. If the device is in a state of non-trivial motion, the handler block object may message the location manager object to resume standard location services, which causes the threads of the host application to become unsuspended and the application to resume background execution.
- the handler block object may assess each motion activity update based upon the confidence level associated with the update, and only if the confidence level exceeds the lowest possible confidence (in the context of a confidence level that is articulated on an enumerated scale of 0, 1 and 2, the confidence level would have to be 1 or 2), the handler block object determines that the device is in a state of non-trivial motion if the activity type is anything other than stationary.
- a device may “straddle” two Zones. For example, if a user's home or work location is near the border separating two zones, the user could frequently move between the adjacent Zones. Additionally, error inherent in the locational data itself could cause an apparent fluctuation in zone, such as causing a Zone 2-Zone 3-Zone 2-Zone 3-Zone 2 pattern of zone changes when the device is near a zone boundary. This could result in a situation in which the aforementioned timer repeatedly restarts (meaning that the target is not disregarded, and the associated power savings of such disregard is not attained) and the requested accuracy changes each time the zone changes. In some implementations, this may be addressed by providing “hysteresis” for Zone boundaries.
- the Zone boundary is increased, effectively increasing the size of the given Zone. This results in the boundary being crossed less often by the device, since the device has to travel farther to move outside the Zone.
- the zone boundary may be reduced to its original size, so that the device must travel relatively closer to the target to enter a particular zone, and must travel relatively further from the target to exit the particular zone.
- an additional timer is employed. Once a user has entered a given Zone, a subsequent exit of that Zone is ignored if re-entry into that Zone is observed prior to expiration of the additional timer. So, if the additional timer has a one-minute duration, for example, a zone exit will be honored only if the device is observed to have exited a zone and not re-entered that zone for a period of one minute.
- the set of data used to define the “3-zone scheme” illustrated in Figure three includes, for example:
- the preceding data set is be returned by the backend 104 in response to a service call from the mobile device 200 .
- the latitudes and longitudes of each edge constituting the boundary of a given target 300 are defined.
- the backend 104 further may provide the location (latitude and longitude) of the centroid of each target, so that the device may calculate its distance from the centroid of each such target without having to calculate the position of the centroid based on the defined boundaries.
- the location framework of Android® provides the opportunity to establish a distance threshold and a time threshold.
- a distance threshold defines the desired distance the device must move before a delegate object is updated with locational information.
- a time threshold defines the desired periodicity at which a determination should be made whether or not the distance threshold has been surpassed. For example, if the time threshold were to be set to one second, and the distance threshold were to be set to twenty meters, then once every second, a determination would be made whether or not the device had moved at least twenty meters. If so, then the delegate object is called with new locational data.
- the Android® location framework also permits the locational data to be of a requested priority level, which determines the desired accuracy of the locational data. According to some embodiments the priority or accuracy level may be selected to be of highest accuracy. According to some embodiments, with each locational update provided to the delegate object, the distance threshold may be re-calculated and set as a function of the distance of the device to the nearest target. Distance to a target may be defined many ways, including according to any of the schemes discussed in this document. For example, the distance filter may be calculated to be equal to one-tenth of the distance of the device to the nearest target.
- the time threshold may be re-calculated and set as a function of the distance of the device to the nearest target.
- distance to a target may be defined many ways, including according to any of the schemes discussed in this document.
- the time filter may be calculated to be equal to one-half of the distance filter (which, itself, may have been re-calculated to be one-half of the distance to the nearest target as just discussed), multiplied by one thousand, if expressed in milliseconds.
- the steps of determining the distance to the nearest target, adjusting the time threshold and distance threshold, and presenting a notification if the device is located at a proper relation to a target are organized as a service to the operating system. This permits the tracking and notification actions to be initiated whenever the operating system is initiated, meaning that, as a practical matter, these features will run whenever the device is operating.
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Telephone Function (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
Abstract
Determining location of a mobile device includes determining the proximity of the mobile device to a predetermined location. Based on the proximity determination, a locational accuracy criterion is selected and the location of the mobile device is determined according to the selected locational accuracy criterion.
Description
- This application is being filed on 2 Jun. 2016, as a PCT International patent application, and claims priority to U.S. Provisional Patent Application No. 62/169,904, filed Jun. 2, 2015, the disclosure of which is hereby incorporated by reference herein in its entirety.
- Applications (“apps”) for various computing devices, and particularly mobile computing devices such as smart phones, sometimes require knowledge of the device's location. The location of the device can be accomplished in various ways, such as global positioning systems (GPS) and analysis of information from WiFi and cell towers, for example. Different processes for determining device location may have varying levels of accurateness, and the device resources required to determine device location may vary among different locational awareness processes.
-
FIG. 1 illustrates aspects of an example of a locational awareness system in accordance with the present disclosure. -
FIG. 2 is schematically illustrates an example of a mobile device. -
FIG. 3 illustrates an example of a target with three defined surrounding Zones. -
FIG. 4 is a flow diagram illustrating an example process for setting locational accuracy and update frequency. - In the following Detailed Description, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present invention. The following detailed description, therefore, is not to be taken in a limiting sense.
- Some computer applications (“apps”), particularly mobile device apps, require determining the location of the device. A user device, such as a mobile computer or smart phone, may be associated with a user. As is well known, mobile devices are configured to run a plurality of apps, such as email apps, social networking apps, global positioning system (GPS) apps, calendar apps, weather apps, etc. Some apps, such as navigation apps that provide driving directions, require highly accurate determination of the device location (and thus the vehicle location) and constant updating of the device location to provide accurate turn-by-turn driving directions. The constant determination and updating of location by a mobile device, especially if using GPS technology, can use significant device resources. Constant determination and updating of the device's location may consume the device's battery, requiring frequent recharging.
- For example, copending U.S. Patent Application Publication No. 2013/0346205A1, which is incorporated by reference in its entirety, discloses a locational messaging system. Traditionally, the delivery of digital content (message forum postings, email, text messages, SMS, video files, graphics files, audio files, etc.) is organized around a universal resource locator (URL), telephone number, email address, etc. However, locational messaging systems deliver content based on the location of the mobile device.
- In some disclosed examples, a customer or potential customer is provided an incentive to leave one location, such as the location of a competitive merchant, and go to another merchant's establishment. In other examples, a customer or potential customer is presented with a notification or alert upon entry into a geographic area, such as a region of a street or road. Upon “swiping” of the notification or alert, or other such similar interaction, the user may be presented with a message such as a full-screen image, HTML 5 rich media experience, a video, etc. Returning to the example in which a customer is provided an incentive to leave one establishment to go to another, a geographic area including a commercial location or otherwise associated with a commercial location such as a parking lot is defined. According to some embodiments, the geographic area or the boundary defining the geographic area is sometimes referred to herein as a “bounding box.” In some examples, the bounding box is a rectangular box that circumscribes the “geographic area.” If the geographic area is rectangular, the bounding box and the geographic area may be the same. In some instances, it is possible for the geographic area to have a shape other than rectangular. This is addressed in some embodiments by maintaining a rectangular bounding box that circumscribes the non-rectangular geographic area, or by defining a non-rectangular bounding box. According to some embodiments, a geographic area may have a shape that is polygonal. In some instances, the definition of the geographic area may include a set of vertices defining the polygonal area. A geographic area or bounding box is sometimes referred to herein as a “target.”
- In some implementations, the geographic area, or target, is defined by a merchant representing a business establishment such as a restaurant. The commercial location can be defined by the merchant or other user using a computer application. When a mobile device, and thus the user of the device, is located in some predetermined proximity to the target, such as within the target, a message and/or some form of incentive may be sent to the mobile device. To accomplish this, it is necessary to monitor the location of the device.
-
FIG. 1 illustrates an example of portions of asystem 100 configured to implement certain methods disclosed herein. At a very basic level, thesystem 100 includes a front-end 102, a back-end 104, and acommunication interface 106 such as the internet. Examples of the front-end 102 include a graphical user interface application granted to a user. A front-end application accesses and manipulates data in the back-end 104. In the illustrated embodiment, the front-end 102 includes amobile device application 110, such as an iPhone® or Android® app running on a mobile device, and a web based merchant portal front-end application 112 operating on any suitable device capable of communicating with theinternet 106. According to some embodiments, themobile device application 110 may be an application created and/or published by a party unrelated to the party using thecampaign portal 112 to establish a locational messaging or advertising campaign. In such cases, the back-end 104 may communicate to with a network of third-party applications, each of which contains a software development kit (SDK) performing the various services and operations described herein. In other words, parties willing to present locational advertising or messages of the nature described herein through their applications would include the SDK in their applications in order to acquire the capability to do so. Those wanting to have their locational messaging or advertising campaigns delivered via participating third-party applications would create their locational advertising and messaging campaigns via thecampaign portal 112. The illustrated back-end 104 includes server-based applications, services, and persistence layers that are deployed to dedicated hardware systems or cloud based environments, for example. Thus, example implementations of the back-end 104 include one ormore web servers 120 that include appropriately programmed processing devices,API services 122 andmemory devices 124 including databases, program code, etc. -
FIG. 2 illustrates an examplemobile device 200, such as a smart phone, a Personal Digital Assistant (PDA), a smart automobile console, or in any other form. As such, a device configured for location awareness systems and other applications in accordance with disclosed embodiments may include additional or fewer components and features than those shown inFIG. 2 . Theexample device 200 may include typical components of a mobile communication device such as ahard keypad 232, one or more specialized buttons (“function keys”) 234,display 238, and one or more indicators (e.g. LED) 242. Thedevice 200 may also include aspeaker 244 for voice communications. Thedisplay 238 may be an interactive display (e.g. touch sensitive) and provide soft keys as well. - To avoid frequent recharging of the
mobile device 200, disclosed embodiments operate in a manner that permits mobile devices to enter a low power or “sleep” state as often as possible while monitoring device location. In particular, permitting the GPS subsystem to sleep is important, as its operation is “expensive” from a power consumption point of view. - According to some embodiments, to permit the GPS subsystem to sleep, the device is configured to operate on the basis of locational data derived from other sources, such as WiFi and cell tower information (for example, cellular triangulation), as often as possible. The device communicates with the
back end 104 to obtain a set of data describing the location and shape of nearby targets. In some embodiments, the device receives data describing bounding boxes. In some embodiments, the device receives data defining polygonal shapes or circular shapes. GPS is turned on only as the device comes into proximity of a target, and more accuracy is needed to properly determine target entry. Thus, the method by which location of the mobile device is determined is selected based on proximity of the device to a particular target. To allow for target detection, while at the same time permitting the GPS subsystem to sleep often, “zones” of proximity to a target may be defined. - As shown in
FIG. 3 , atarget 300 is depicted with n zones surrounding it. Although thetarget 300 is depicted as being rectangular, thetarget 300 may be polygonal or circular, as discussed above. In the example illustrated inFIG. 3 , three zones surround thetarget 300.Zone 1 is a region of space within a certain distance from thetarget 300. Distance from a target may be calculated as distance from the nearest edge of the target, or distance from the nearest vertex or corner of the target, or distance from the centroid of the target. For the sake of simplicity only, this document will discuss zones as being defined as regions of space from a centroid of a target, with the understanding that a zone refers to regions of space that are a certain distance from a target and that other definitions of distance from a target may also be used, including any of the aforementioned methods.Zone 1 is a region of space within a certain radius of the centroid of thetarget 300. For example,Zone 1 may be defined as a region of space within 100 meters of the centroid of thetarget 300. Again,Zone 1 may be defined as the region of space within 100 meters of the edge of thetarget 300, or within 100 meters from the various vertices of thetarget 300.Zone 2 is a region of space extending further out from the centroid of thetarget 300 thanZone 1. For example,Zone 2 may be defined as a region of space greater than 100 meters from the centroid of thetarget 300, but within 450 meters of its centroid. Finally,Zone 3 may be defined as all space outside ofZone 2. Continuing with the example,Zone 3 is thus defined as all space further than 450 meters from the centroid of thetarget 300. - When a mobile device such as the
device 200 is in Zone 3 (as is depicted inFIG. 3 ), the device's GPS may be turned off, and locational information derived by other means, such as WiFi and cell tower information. In some examples, this means requesting locational information with a low required accuracy, such as 3000 meters. Thus, when inZone 3, the device will rely upon locational information other than GPS data, such as WiFi and/or cell tower information, and produce locational results that, in the context of most urban or suburban environments, are accurate to within a city block (despite the fact that the requested accuracy may be set to 3000 meters). Additionally, locational updates may be requested to occur at a relatively infrequent basis to reduce CPU workload. For example, locational updates may be requested only when thedevice 200 has moved 50 meters, or after some predetermined time period associated withZone 3 has expired. - As the
device 200 moves towards thetarget 300, it entersZone 2. Upon detection of thedevice 200 inZone 2, the requested accuracy and frequency of positional updates may be enhanced. For example, inZone 2, accuracy may be requested to be within 10 meters, and locational updates may be requested upon thedevice 200 having moved 10 meters or after a shorter time period has expired. The purpose ofZone 2 is to obtain locational information that is just good enough and frequent enough to promptly determine that: (1) theDevice 200 has moved intoZone 1 and locational update accuracy and frequency need to be enhanced; or (2) theDevice 200 has returned toZone 3 and the locational update accuracy and frequency can be returned to a low state to save power. - Finally, when the
device 200 is inZone 1, the requested locational accuracy may be improved to the best accuracy that can be obtained, and the locational update frequency may be increased to obtain updates whenever thedevice 200 has moved 5 meters. High accuracy combined with frequent updates allows for rapid and accurate detection of target entry. - To permit the “three zone” scheme of the example discussed above to be employed, in response to a front end system call to obtain target information, or in response to another call by the device to the backend, such as a call specifically designated for the purpose of requesting zone definition information, the back end should respond with data corresponding to the defined zones. An example of such data is shown in Table 1.
-
TABLE 1 Radius for Zone 1Requested Locational Requested Distance Accuracy in Zone 1Between Locational Updates Example: within 100 Example: BEST Example: 5 meters meters Radius for Zone 2Requested Locational Requested Distance Accuracy in Zone 2Between Locational Updates Example: within 450 Example: 10 meters Example: 10 meters meters Radius for Zone 3Requested Locational Requested Distance Accuracy in Zone 3Between Locational Updates Example: further than Example: 3000 meters Example: 50 meters 450 meters - Other zone configurations are possible. For example, a four-zone scheme may be defined as having a first zone including the region of space within 300 meters of a target. When in the first zone, the phone is configured to determine its accuracy to within 10 meters and to receive a locational callback to a delegate every time the phone moves 10 meters. A second zone is defined as the region of space outside of the first zone, but within 500 meters of the target. When in the second zone, the phone is configured to determine its accuracy to within 100 meters and to receive a locational callback to a delegate every time the phone moves 300 meters. A third zone is defined as the region of space outside of the second zone, but within 1000 meters of the target. When in the third zone, the phone is configured to determine its accuracy to within one kilometer and to receive a locational callback to a delegate every time the phone moves 500 meters. A fourth zone is defined as the region of space outside the third zone. When in the fourth zone, the phone is configured to determine its accuracy to within three kilometers and to receive a locational callback to a delegate every time the phone moves a kilometer.
- Thus, according to the schemes disclosed in the preceding examples, the locational accuracy and update frequency of
device 200 is determined by its distance from the target that is nearest to it.FIG. 4 is a flow diagram illustrating anexample process 400 for determining locational accuracy and update frequency. Inoperation 410, the system determines which target is closest to thedevice 200. Inoperation 412, the system determines which zone thedevice 200 is in with respect to the target identified inoperation 410. Inoperation 414, the requested locational accuracy and update frequency are set based upon the determined zone. - In the locational messaging system example discussed above, upon entry into a target, an incentive associated with a business establishment located within or associated with the target may be sent to the
device 200. In disclosed examples, a service call is further made to theback end 104, and in response thereto thebackend 104 removes the particular target that was just entered from the list of targets returned to the device, or otherwise designates that particular target as already having been entered. Its removal or designation as having been previously entered serves two purposes: (1) it prevents the incentive message from repeatedly being obtained by thedevice 200, until such time as the target is once again included in response to a service call; and (2) it eliminates a just-entered target from being considered when identifying the closest target pursuant to the three-step process articulated in conjunction withFIG. 3 . Therefore, thedevice 200 is free to consider a different target as being the closest and determine which zone it is in vis-à-vis that particular target. - To guard against a situation in which a device comes to rest within proximity of a target without entering it (example: a user lives near a target, meaning that the user's device will be in proximity of a target when the user is at home, but that the device is unlikely to actually enter the target), some embodiments include the following scheme in which a timer is employed. If the device is sufficiently close to a target so that it is within a target's
Zone 1 orZone 2, but the device has not entered the target for more than a threshold period of time (example: 10 minutes), then the target should be disregarded for a period of time (3 hours). Both the threshold period and disregard period are communicated in the response to a relevant service call. - In some technical settings, such as in the case of devices running the iOS® operating system, the following configuration may be used to guard against using excessive energy in the event that the device is at rest or moving only trivially. In such a technical setting, a delegate object may be designated to receive locational updates, with each such update including locational information intended to conform to a desired accuracy, and with each such update intended to occur when the device has moved more than a chosen number of meters. The desired accuracy and number of meters between updates (also known as the distance filter) is determined by messaging a second object known as a location manager object. Starting and stopping of standard location monitoring is also controlled through messaging to the location manager object. Thus, in the event that it is known that the device is either not moving, or only moving in a trivial way, the location manager can be messaged to halt standard location monitoring during such periods, thereby saving power consumption that occurs by monitoring location even at very low desired accuracy.
- Some iOS® devices include an accelerometer by which acceleration of the device may be measured. Detection of motion via use of the accelerometer offers very low-power motion monitoring. In such settings, a handler block object is ordinarily designated to receive motion activity updates from the accelerometer as they occur. Each motion activity update may include an activity type (example: walking, running, automotive, cycling, stationary, unknown) and confidence data indicating the level of confidence that the user of the device is actually engaged in such action. The motion activity type and confidence data are calculated by the motion framework within iOS®. Using the motion activity data, a determination may be made that the device is either not moving (example: the device is sitting inert on a table), or moving only trivially (example: the device is being held in the hand of a person who is pacing around his or her home or office while talking on the phone). In the event that it is, determined that the device is either not moving or moving only trivially, the location manager object may be messaged to stop standard location services, thereby halting the power draw associated therewith.
- Ordinarily, iOS® devices respond to a command to stop standard location services by suspending all of the threads of the particular application hosting the location manager object, if the application is executing in the background as a navigational app. Typically, this is problematic because the application loses its opportunity to subsequently message the location manager object to resume standard location services, because the background execution of the application has been entirely suspended. To overcome this, the aforementioned handler block object may be dispatched to a global queue of a chosen priority (example: background priority). The handler may be dispatched to the queue asynchronously. The global queues are shared across applications and other resources and are not associated exclusively with the host application. As a result, the handler block object will be assigned a thread upon provision of a motion activity update, and it can perform the steps required to determine whether the device is in a condition of non-trivial motion or not. If the device is in a state of non-trivial motion, the handler block object may message the location manager object to resume standard location services, which causes the threads of the host application to become unsuspended and the application to resume background execution. According to one embodiment, the handler block object may assess each motion activity update based upon the confidence level associated with the update, and only if the confidence level exceeds the lowest possible confidence (in the context of a confidence level that is articulated on an enumerated scale of 0, 1 and 2, the confidence level would have to be 1 or 2), the handler block object determines that the device is in a state of non-trivial motion if the activity type is anything other than stationary.
- In some situations, a device may “straddle” two Zones. For example, if a user's home or work location is near the border separating two zones, the user could frequently move between the adjacent Zones. Additionally, error inherent in the locational data itself could cause an apparent fluctuation in zone, such as causing a Zone 2-Zone 3-Zone 2-Zone 3-
Zone 2 pattern of zone changes when the device is near a zone boundary. This could result in a situation in which the aforementioned timer repeatedly restarts (meaning that the target is not disregarded, and the associated power savings of such disregard is not attained) and the requested accuracy changes each time the zone changes. In some implementations, this may be addressed by providing “hysteresis” for Zone boundaries. In other words, once a device is determined to be located in a given Zone, the Zone boundary is increased, effectively increasing the size of the given Zone. This results in the boundary being crossed less often by the device, since the device has to travel farther to move outside the Zone. Upon exit of the increased zone boundary, the zone boundary may be reduced to its original size, so that the device must travel relatively closer to the target to enter a particular zone, and must travel relatively further from the target to exit the particular zone. In other embodiments, an additional timer is employed. Once a user has entered a given Zone, a subsequent exit of that Zone is ignored if re-entry into that Zone is observed prior to expiration of the additional timer. So, if the additional timer has a one-minute duration, for example, a zone exit will be honored only if the device is observed to have exited a zone and not re-entered that zone for a period of one minute. - The set of data used to define the “3-zone scheme” illustrated in Figure three includes, for example:
-
- radius of
zone 1 - requested locational accuracy in
zone 1 - requested distance between location updates in
zone 1 - radius of
zone 2 - requested locational accuracy in
zone 2 - requested distance between location updates in
zone 2 - requested locational accuracy in
zone 3 - requested distance between location updates in
zone 3 - threshold time for disregarding a target
- disregard time
- radius of
- The preceding data set is be returned by the
backend 104 in response to a service call from themobile device 200. - In some examples, the latitudes and longitudes of each edge constituting the boundary of a given
target 300 are defined. Thebackend 104 further may provide the location (latitude and longitude) of the centroid of each target, so that the device may calculate its distance from the centroid of each such target without having to calculate the position of the centroid based on the defined boundaries. - In some technical settings, such as devices running the Android® operating system, the following techniques may be used to minimize energy consumption while tracking the motion of a device toward or away from targets. In such technical settings, the location framework of Android® provides the opportunity to establish a distance threshold and a time threshold. A distance threshold defines the desired distance the device must move before a delegate object is updated with locational information. A time threshold defines the desired periodicity at which a determination should be made whether or not the distance threshold has been surpassed. For example, if the time threshold were to be set to one second, and the distance threshold were to be set to twenty meters, then once every second, a determination would be made whether or not the device had moved at least twenty meters. If so, then the delegate object is called with new locational data. The Android® location framework also permits the locational data to be of a requested priority level, which determines the desired accuracy of the locational data. According to some embodiments the priority or accuracy level may be selected to be of highest accuracy. According to some embodiments, with each locational update provided to the delegate object, the distance threshold may be re-calculated and set as a function of the distance of the device to the nearest target. Distance to a target may be defined many ways, including according to any of the schemes discussed in this document. For example, the distance filter may be calculated to be equal to one-tenth of the distance of the device to the nearest target. According to some embodiments, with each locational update provided to the delegate object, the time threshold may be re-calculated and set as a function of the distance of the device to the nearest target. Again, distance to a target may be defined many ways, including according to any of the schemes discussed in this document. For example, the time filter may be calculated to be equal to one-half of the distance filter (which, itself, may have been re-calculated to be one-half of the distance to the nearest target as just discussed), multiplied by one thousand, if expressed in milliseconds. According to some embodiments, the steps of determining the distance to the nearest target, adjusting the time threshold and distance threshold, and presenting a notification if the device is located at a proper relation to a target (such as within a target, or exiting a target, or having been within a target for more than a selected period of time) are organized as a service to the operating system. This permits the tracking and notification actions to be initiated whenever the operating system is initiated, meaning that, as a practical matter, these features will run whenever the device is operating.
- Various modifications and alterations of this disclosure may become apparent to those skilled in the art without departing from the scope and spirit of this disclosure, and it should be understood that the scope of this disclosure is not to be unduly limited to the illustrative examples set forth herein.
Claims (1)
1. A method of determining a location of a mobile device, comprising:
determining a proximity of a mobile device to a predetermined location;
selecting a locational accuracy criterion based on the determined proximity; and
determining a location of the mobile device according to the selected locational accuracy.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/578,798 US20180156925A1 (en) | 2015-06-02 | 2016-06-02 | Mobile device location |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562169904P | 2015-06-02 | 2015-06-02 | |
PCT/US2016/035536 WO2016196807A1 (en) | 2015-06-02 | 2016-06-02 | Mobile device location |
US15/578,798 US20180156925A1 (en) | 2015-06-02 | 2016-06-02 | Mobile device location |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2016/035536 A-371-Of-International WO2016196807A1 (en) | 2015-06-02 | 2016-06-02 | Mobile device location |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/150,809 Continuation US10684376B2 (en) | 2015-06-02 | 2018-10-03 | Mobile device location |
Publications (1)
Publication Number | Publication Date |
---|---|
US20180156925A1 true US20180156925A1 (en) | 2018-06-07 |
Family
ID=57441968
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/578,798 Abandoned US20180156925A1 (en) | 2015-06-02 | 2016-06-02 | Mobile device location |
US16/150,809 Active US10684376B2 (en) | 2015-06-02 | 2018-10-03 | Mobile device location |
US16/901,247 Abandoned US20210096267A1 (en) | 2015-06-02 | 2020-06-15 | Mobile device location |
US17/552,128 Active US11693082B2 (en) | 2015-06-02 | 2021-12-15 | Mobile device location |
US18/345,698 Pending US20240151803A1 (en) | 2015-06-02 | 2023-06-30 | Mobile device location |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/150,809 Active US10684376B2 (en) | 2015-06-02 | 2018-10-03 | Mobile device location |
US16/901,247 Abandoned US20210096267A1 (en) | 2015-06-02 | 2020-06-15 | Mobile device location |
US17/552,128 Active US11693082B2 (en) | 2015-06-02 | 2021-12-15 | Mobile device location |
US18/345,698 Pending US20240151803A1 (en) | 2015-06-02 | 2023-06-30 | Mobile device location |
Country Status (3)
Country | Link |
---|---|
US (5) | US20180156925A1 (en) |
EP (2) | EP3869234A1 (en) |
WO (1) | WO2016196807A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11246006B2 (en) * | 2019-10-31 | 2022-02-08 | Geotoll, Inc. | Dynamic geofence to preserve privacy and battery life |
US11290841B2 (en) * | 2017-02-03 | 2022-03-29 | Nec Corporation | Information processing apparatus, information processing method, data collection device, and control method |
US20230122680A1 (en) * | 2021-10-15 | 2023-04-20 | Airship Group, Inc. | Automated interactive communication trigger in message distribution |
WO2024049160A1 (en) * | 2022-08-30 | 2024-03-07 | 엘지전자 주식회사 | Method and apparatus for setting allowable position error in terminal location prediction-based message generation method |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180156925A1 (en) | 2015-06-02 | 2018-06-07 | Hangit Llc | Mobile device location |
CN109842924B (en) * | 2017-11-27 | 2021-01-12 | 维沃移动通信有限公司 | Position acquisition control method, user terminal and device |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7941157B2 (en) * | 2005-11-15 | 2011-05-10 | Robert Bosch Gmbh | Hybrid localization in wireless networks |
US20070232321A1 (en) * | 2006-03-28 | 2007-10-04 | Alessio Casati | Method of assigning a tracking area to a mobile unit based on multiple location update frequencies |
US20100283676A1 (en) * | 2009-05-08 | 2010-11-11 | Hatami Naquib U | Optimizing selection of method of determining location in a social networking system using mobile communications |
US8754767B2 (en) * | 2009-10-06 | 2014-06-17 | RFID Mexico, S.A. DE C.V. | Geographic localization system |
US8587476B2 (en) * | 2010-05-11 | 2013-11-19 | Blackberry Limited | System and method for providing location information on mobile devices |
JP2012103138A (en) * | 2010-11-11 | 2012-05-31 | Sony Corp | Position information detection device, communication device, and communication system |
US20130346205A1 (en) | 2011-04-01 | 2013-12-26 | Nicholas Eugene KLEINJAN | System and method for locational messaging |
US10499192B2 (en) * | 2013-03-14 | 2019-12-03 | T-Mobile Usa, Inc. | Proximity-based device selection for communication delivery |
AU2014253684B2 (en) * | 2013-04-18 | 2017-06-15 | Bluedot Innovation Pty Ltd | Reactive hybrid location determination method and apparatus |
US9788163B2 (en) * | 2013-07-02 | 2017-10-10 | Life360, Inc. | Apparatus and method for increasing accuracy of location determination of mobile devices within a location-based group |
AU2014292816A1 (en) * | 2013-07-19 | 2016-03-10 | Geomoby Pty Ltd | A location determination method and system |
US20180156925A1 (en) | 2015-06-02 | 2018-06-07 | Hangit Llc | Mobile device location |
-
2016
- 2016-06-02 US US15/578,798 patent/US20180156925A1/en not_active Abandoned
- 2016-06-02 WO PCT/US2016/035536 patent/WO2016196807A1/en active Application Filing
- 2016-06-02 EP EP21165158.3A patent/EP3869234A1/en not_active Withdrawn
- 2016-06-02 EP EP16804445.1A patent/EP3304116B1/en active Active
-
2018
- 2018-10-03 US US16/150,809 patent/US10684376B2/en active Active
-
2020
- 2020-06-15 US US16/901,247 patent/US20210096267A1/en not_active Abandoned
-
2021
- 2021-12-15 US US17/552,128 patent/US11693082B2/en active Active
-
2023
- 2023-06-30 US US18/345,698 patent/US20240151803A1/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11290841B2 (en) * | 2017-02-03 | 2022-03-29 | Nec Corporation | Information processing apparatus, information processing method, data collection device, and control method |
US11246006B2 (en) * | 2019-10-31 | 2022-02-08 | Geotoll, Inc. | Dynamic geofence to preserve privacy and battery life |
US20230122680A1 (en) * | 2021-10-15 | 2023-04-20 | Airship Group, Inc. | Automated interactive communication trigger in message distribution |
WO2024049160A1 (en) * | 2022-08-30 | 2024-03-07 | 엘지전자 주식회사 | Method and apparatus for setting allowable position error in terminal location prediction-based message generation method |
Also Published As
Publication number | Publication date |
---|---|
EP3304116A1 (en) | 2018-04-11 |
US20210096267A1 (en) | 2021-04-01 |
US20220357465A1 (en) | 2022-11-10 |
US11693082B2 (en) | 2023-07-04 |
EP3304116B1 (en) | 2021-05-05 |
US20240151803A1 (en) | 2024-05-09 |
EP3304116A4 (en) | 2019-05-15 |
US20190271786A1 (en) | 2019-09-05 |
US10684376B2 (en) | 2020-06-16 |
EP3869234A1 (en) | 2021-08-25 |
WO2016196807A1 (en) | 2016-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11693082B2 (en) | Mobile device location | |
US11946756B2 (en) | Determining matches using dynamic provider eligibility model | |
GB2547097B (en) | Method and apparatus for providing target location reminders for a mobile device | |
CN107076561B (en) | Considering indoor-outdoor transitions during position determination | |
EP3008928B1 (en) | Coalescing geo-fence events | |
CA2913511C (en) | Detecting geo-fence events using varying confidence levels | |
CN105978785B (en) | Predictive forwarding of notification data | |
CN107182029B (en) | Operating a geolocation system | |
US20140089375A1 (en) | Determining points of interest within a geofence | |
CA2955651A1 (en) | Geo-fencing notifications subscriptions | |
JP2016531277A (en) | Reduced power position determination to detect geofence | |
WO2012159093A2 (en) | Discovering nearby places based on automatic query | |
KR20110135929A (en) | Mobile device battery management | |
EP3612862B1 (en) | State-based location monitoring | |
WO2016010646A1 (en) | Controlling media output during consecutive navigation interruptions | |
CN106790690B (en) | Cross-floor message pushing method and device | |
EP2891343B1 (en) | Efficient proximity detection | |
AU2016296473A1 (en) | Detecting the context of a user using a mobile device based on wireless signal characteristics | |
US9686734B2 (en) | Determining content availability based on selective use of an active location system | |
WO2019022851A1 (en) | Network communication frequency adjustment | |
US20160277535A1 (en) | System and method for notification provision based on availability | |
CN114925154A (en) | Map generation method, map generation device, electronic device, map generation medium, and computer program product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: HANGIT LLC, FLORIDA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JOHNS, NICHOLAS PATRICK;MOREIRA, CORY A.;REEL/FRAME:044272/0749 Effective date: 20171102 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |