US20170289754A1 - Geofence determination - Google Patents
Geofence determination Download PDFInfo
- Publication number
- US20170289754A1 US20170289754A1 US15/085,408 US201615085408A US2017289754A1 US 20170289754 A1 US20170289754 A1 US 20170289754A1 US 201615085408 A US201615085408 A US 201615085408A US 2017289754 A1 US2017289754 A1 US 2017289754A1
- Authority
- US
- United States
- Prior art keywords
- geofence
- location
- sequentially
- mobile device
- determined locations
- 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.)
- Granted
Links
Images
Classifications
-
- 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/029—Location-based management or tracking services
-
- H04W4/04—
Definitions
- the present invention relates generally to the field of positional tracking and more particularly to a geofence creation using a mobile device.
- a geofence is a virtual perimeter or a virtual boundary for a geographic area.
- a geofence is commonly used with a location-aware device (e.g., a mobile device or a wearable computing device) that is using a location-based service (LBS) such as a global positioning system (GPS) to determine if a user is entering or exiting a geofenced area.
- LBS location-based service
- GPS global positioning system
- an alert or notification may be sent to the location aware device (e.g., smart phone) user as well as generating a message to the geofence operator who sets up and/or maintains the geofence.
- Embodiments of the present invention disclose a method, a computer program product, and a system to determine a geofence by one or more processors receiving an indication to determine a first location.
- the method includes the processors determining a second location.
- the method includes the processors connecting sequentially each of a set of sequentially determined locations to determine a geofence, wherein the set of sequentially determined locations includes at least the first location and the second location.
- FIG. 1 is a functional block diagram illustrating a distributed data processing environment, in accordance with at least one embodiment of the present invention
- FIG. 2 is a flowchart depicting one example of a geofence determination method in accordance with at least one embodiment of the present invention
- FIG. 3A is an illustration depicting an example of a non-standard geofence created based on sequentially determined locations of a mobile device in accordance with at least one embodiment of the present invention
- FIG. 3B is an illustration depicting an example of another non-standard geofence created based on intermittently received locations of a mobile device in accordance with at least one embodiment of the present invention.
- FIG. 4 is a block diagram depicting components of a computer system in accordance with at least one embodiment of the present invention.
- Embodiments of the present invention recognize that typically, a geofence is generated by a radius around a point location or a target area such as a store, generated as pre-determined distance from a road, or as a geofence boundary on a map such as a park boundary determined using map coordinates or geographic coordinates.
- Embodiments of the present invention provide a method, a computer program product, and a system to create a geofence from a set of locations of a mobile device generated as a user of the mobile device travels along a desired geofence boundary.
- FIG. 1 is a functional block diagram illustrating a distributed data processing environment, generally designated 100 , in accordance with at least one embodiment of the present invention.
- FIG. 1 provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made by those skilled in the art without departing from the scope of the invention as recited by the claims.
- distributed data processing environment 100 includes mobile device 120 and computer 130 interconnected over network 110 .
- Network 110 can include, for example, a telecommunications network, a local area network (LAN), a virtual LAN (VLAN), a wide area network (WAN), such as the Internet, or a combination of the these and can include wired or wireless connections.
- Network 110 can include one or more wired and/or wireless networks that are capable of receiving and transmitting data including receiving signals such as radio waves and location information such as a global positioning system (GPS) location from global positioning system or an indoor location from a an indoor location system that may be used for creating a geofence.
- GPS global positioning system
- network 110 can be any combination of connections and protocols that will support communications between mobile device 120 and computer 130 and other computing devices (not shown) within distributed data processing environment 100 .
- mobile device 120 examples include a smart phone, a wearable computer such as a smart watch, a hand held device such as a tablet, a personal digital assistant (PDA), a notebook computer or any other movable computing device capable of providing location data or connecting to a GPS or other location determination system via network 110 .
- mobile device 120 is a mobile computing device such as a smart phone with location determination capability.
- Mobile device 120 may receive and send data such as a location or a GPS position to computer 130 and other computing devices (not shown) in distributed data processing environment 100 .
- mobile device 120 includes geofence application 121 , location unit 122 and user interface (UI) 123 .
- UI user interface
- Geofence application 121 determines a geofence boundary for a desired geofenced area. Geofence application 121 provides a capability to create a geofence. A geofence for a desired geofenced area may be determined by geofence application 121 as the user of mobile device 120 walks, drives or otherwise moves along a desired geofence boundary. The desired geofenced area for a geofence created by geofence application 121 may be an irregularly shaped area or a polygon-shaped area for any shape geofenced area. The geofence boundary for a geofence created by geofence application 121 can be based on intermittently or continuously received location data such as GPS locations for a geofence boundary. Geofence application 121 identifies the geofence boundary using data or locations determined by geofence application 121 using location unit 122 as a user of mobile device 120 moves along a perimeter of the desired geofence boundary.
- geofence application 121 creates irregularly shaped geofences
- geofence application 121 creates a geofence with a shape that includes one or more polygon or known geometric shapes.
- geofence application 121 may create an oval shaped geofence, a square shaped geofence, or a geofence that is a partial perimeter along a stream or across an entrance to a manufacturing area.
- Geofence application 121 may send the data for a geofence to geofence database 135 on computer 130 and/or may store the geofence data locally in persistent storage or in a database on mobile device 120 .
- geofence application 121 creates and maintains operation of the geofence.
- computer 130 maintains the created geofence (e.g., tracks entries/exits and/or sends alerts). While depicted on mobile device 120 in FIG. 1 , in some embodiments, geofence application 121 resides on computer 130 .
- Geofence application 121 sends and receives data from location unit 122 and geofence database 135 via network 110 .
- Location unit 122 is a location determination device or application providing mobile device 120 with the capability to determine a current location for mobile device 120 .
- location unit 122 may include a GPS receiver and may determine a location of mobile device 120 based on one or more signals received from GPS satellites.
- location unit 122 uses another location determination technology.
- location unit 122 uses a system such as an RF identification (RFID) system, a real-time locating system, an indoor positioning system, an optical positioning system, a hybrid positioning system using more than one positioning technologies (e.g., GPS and Wi Fi positioning data) to determine a location or other known location determination method.
- RFID RF identification
- location unit 122 is a handheld or wearable location determination device (not included in mobile device 120 ) such as an RF tag that sends location tracking data to geofence application 121 as a user carrying the RF tag travels along a geofence boundary.
- Computer 130 can be a desktop computer, a notebook, a tablet, a mobile computing device, a web server, a management server or any other electronic device or known computing device capable of receiving, sending and processing data.
- Computer 130 can be a laptop computer, a computing device used in a server system, or any programmable electronic device capable of communicating with mobile device 120 and other electronic devices in distributed data processing environment 100 via network 110 .
- computer 130 is a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that act as a single pool of seamless resources when accessed such as used in a cloud-computing environment.
- Computer 130 includes UI 133 and geofence database 135 .
- UI 133 on computer 130 is any known user interface providing an interface between a user and computer 130 , and enables a user of computer 130 to interact with programs and data on mobile device 120 , computer 130 and other computing devices (not shown in FIG. 1 ).
- Computer 130 can receive and send data such as a mobile device location and geofence data from mobile device 120 .
- Computer 130 may store geofence data such as geofence boundary locations for a geofence in geofence database 135 . While depicted on computer 130 , geofence database 135 may reside in one or more other computers (not shown in FIG. 1 ).
- Geofence determination method 200 includes receiving a user indication to determine a first location ( 202 ).
- a user input on UI 123 intiates geofence application 121 to identify a first location or a starting point for the geofence.
- the user may indicate geofence application 121 activation by touching an icon on UI 123 for geofence application 121 or saying a voice command such as “start geofence”.
- the first location of the user of mobile device 120 may be a starting point for a geofence boundary of the geofence as the user walks around a desired geofenced area.
- Geofence application 121 using location unit 122 may determine a first location of a set of sequentially received locations for mobile device 120 carried by the user as the user walks, drives or otherwise travels along a desired geofence boundary.
- the location of mobile device 120 may be determined by any known location determination technology (e.g., GPS, indoor positioning, radio frequency identification (RFID), etc.).
- RFID radio frequency identification
- the capabilities of location unit 122 are included in geofence application 121 .
- mobile device 120 is incorporated into an autonomous vehicle or robotic unit (i.e., not carried by a user) that travels along a desired geofence boundary.
- a first location of mobile device 120 on an automated vehicle or robot may be determined by geofence application 121 as the autonomous vehicle or robot travels along a programmed or a sensed path for the geofence boundary.
- Geofence application 121 may be configured to determine a next or second location and the frequency of subsequent location determination of mobile device 120 carried by a user or on a robotic vehicle based, at least in part, on any one of the following criteria.
- the criteria for determining a second location and subsequent locations may be a pre-set time or a time duration (e.g., every ten seconds) after each determined location (e.g., ten seconds after the previously determined location the next location is determined), a pre-set distance or a distance of movement of mobile device 120 (e.g., every five feet) between each determined location, a location determination when mobile device 120 changes direction (e.g., when geofence application 121 determines that the user carrying mobile device 120 turns to the left or is walking a curving path) or intermittently determined based on an input on UI 123 (e.g., mobile device 120 receives an indication by a touch on a touch screen to determine each location of the user of mobile device 120 ).
- a user of mobile device 120 inputs on UI 123 a selection of the criteria used to determine a second location and the subsequent locations used to create a geofence. For example, a user may input to geofence application 121 on a user interface of mobile device 120 a selection to determine each location for the geofence boundary based on a distance traveled from a previously determined location. The user may select to determine another or subsequent locations ten feet after a previous location (e.g., to determine a location every ten feet) as the user with mobile device 120 walks or otherwise travels along a desired geofence boundary for the geofence. In another example, a user may input a desired time duration between various determined locations.
- Geofence determination method 200 includes determining if the geofence boundary is complete (decision step 210 ). The determination that the geofence is complete (yes branch, decision 210 ) may occur by one of several methods. For example in a first method, geofence determination method 200 may determine that segments of the geofence boundary created from sequential determined locations of mobile device 120 fully enclose an area (e.g., when two of the geofence boundary segments cross each other to close or complete a geofence). In a second method, geofence determination method 200 may receive an indication such as a user input that the geofence is complete. In the second method, an indication that the geofence is complete may be a double tap on an icon in a touch screen or a voice command such as “complete geofence”. When the first determined location and the last determined location connect for a last segment of the geofence boundary, the desired geofence boundary is complete (e.g., encloses an area) and the geofence is complete.
- the indication of the first location and last location determined by geofence application 121 in a partial perimeter geofence may be the same as described above for a geofence or may be a different indication (e.g., a double tap on the touch screen or a voice command such as “start partial perimeter geofence”).
- geofence determination method 200 connects each of the determined locations sequentially to create segments of the geofence boundary in the partial perimeter geofence however, does not connect the last determined location to the first determined location.
- a partial perimeter geofence may be complete when each of the sequentially determined locations are connected in the order determined and the geofence boundary may be open (e.g., does not enclose an area).
- geofence determination method 200 Upon determining that the geofence is complete, geofence determination method 200 saves the geofence data ( 212 ) for the geofence created with the completed geofence boundary.
- geofence application 121 stores the geofence data locally in persistent storage or in a database on mobile device 120 and/or sends the geofence data to geofence database 135 on computer 130 .
- the stored geofence data can be used by, for example, geofence application 121 or one of a plurality of other programs.
- FIG. 3A is an illustration 300 A depicting an example of a non-standard geofence created based on sequentially determined locations of mobile device 120 in accordance with at least one embodiment of the present invention.
- FIG. 3A includes house 310 A, front door 315 A, starting point X, flowers 320 A, driveway 330 A, road 340 A, property line 350 A and geofence boundary 360 A.
- the area enclosed within geofence boundary 360 A may be an example of a desired area for a child to play.
- Geofence boundary 360 A may identify a boundary for a geofence used to notify a parent or a responsible adult when a child carrying a location aware device such as mobile device 120 (e.g., a smart phone, a RF tag, or the like) leaves the geofenced area.
- Geofence boundary 360 A is an example of an irregular shaped geofence or an irregular shaped geofenced area created by geofence application 121 to protect the safety of a child and protect the desired flowers or home landscaping.
- Geofence application 121 may create geofence boundary 360 A when the user of mobile device 120 initiates geofence application 121 at starting point X. Geofence application 121 may have a default setting to record a location of the mobile device every three seconds when the user of mobile device 120 has initiated geofence application 121 . The user of mobile device 120 travels along geofence boundary 360 A and geofence application 121 records a location of mobile device 120 every three seconds. For example, the user may proceed to walk along house 310 A a safe distance from driveway 330 A (e.g., four feet away from driveway 330 A).
- Illustration 300 B depicts aisles 310 B, 320 B, and 330 B where the area of aisle 330 B and the area surrounding displays 350 B, 360 B and 365 B at the ends of aisle 330 B form geofenced area 380 B surrounded by geofence boundary 370 A in order to provide to customers with a mobile device in geofenced area 380 B information on sale items in aisle 330 B.
- FIG. 4 depicts a block diagram 400 of components of a computer system, which is an example of a system such as mobile device 120 and computer 130 within distributed data processing environment 100 , in accordance with an embodiment of the present invention. It should be appreciated that FIG. 4 provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments can be implemented. Many modifications to the depicted environment can be made.
- the media used by persistent storage 408 may also be removable.
- a removable hard drive may be used for persistent storage 408 .
- Other examples include optical and magnetic disks, thumb drives and smart cards that are inserted into a drive for transfer onto another computer readable storage medium that is part of persistent storage 408 .
- Communications unit 410 in these examples, provides for communications with other data processing systems or devices, including resources of mobile device 120 and computer 130 and other computing devices not shown in FIG. 1 .
- communications unit 410 includes one or more network interface cards.
- Communications unit 410 may provide communications with either or both physical and wireless communications links.
- Program instructions and data used to practice embodiments of the present invention may be downloaded to persistent storage 408 through communications unit 410 .
- I/O interface(s) 412 allows for input and output of data with other devices that may be connected to mobile device 120 .
- I/O interface(s) 412 may provide a connection to external device(s) 416 such as a keyboard, a keypad, a touch screen, a microphone, a digital camera and/or some other suitable input device.
- External device(s) 416 can also include portable computer readable storage media, for example, devices such as thumb drives, portable optical or magnetic disks and memory cards.
- Software and data used to practice embodiments of the present invention can be stored on such portable computer readable storage media and can be loaded onto persistent storage 408 via I/O interface(s) 412 .
- I/O interface(s) 412 also connect to a display 418 .
- the present invention may be a system, a method and/or a computer program product.
- the computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
- the computer readable storage medium can be any tangible device that can retain and store instructions for use by an instruction execution device.
- the computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device or any suitable combination of the foregoing.
- Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network.
- the network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.
- a network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
- Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages.
- the computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN) or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
- These computer readable program instructions may be provided to a processor of a general purpose computer, a special purpose computer or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
- the computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device.
- the computer readable program instructions may cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
- each block in the flowchart or block diagrams may represent a module, a segment or a portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s).
- the functions noted in the blocks may occur out of the order noted in the Figures.
- two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephone Function (AREA)
Abstract
Description
- The present invention relates generally to the field of positional tracking and more particularly to a geofence creation using a mobile device.
- A geofence is a virtual perimeter or a virtual boundary for a geographic area. A geofence is commonly used with a location-aware device (e.g., a mobile device or a wearable computing device) that is using a location-based service (LBS) such as a global positioning system (GPS) to determine if a user is entering or exiting a geofenced area. When a user carrying a location aware device crosses a geofence boundary, an alert or notification may be sent to the location aware device (e.g., smart phone) user as well as generating a message to the geofence operator who sets up and/or maintains the geofence.
- Embodiments of the present invention disclose a method, a computer program product, and a system to determine a geofence by one or more processors receiving an indication to determine a first location. The method includes the processors determining a second location. Furthermore, the method includes the processors connecting sequentially each of a set of sequentially determined locations to determine a geofence, wherein the set of sequentially determined locations includes at least the first location and the second location.
-
FIG. 1 is a functional block diagram illustrating a distributed data processing environment, in accordance with at least one embodiment of the present invention; -
FIG. 2 is a flowchart depicting one example of a geofence determination method in accordance with at least one embodiment of the present invention; -
FIG. 3A is an illustration depicting an example of a non-standard geofence created based on sequentially determined locations of a mobile device in accordance with at least one embodiment of the present invention; -
FIG. 3B is an illustration depicting an example of another non-standard geofence created based on intermittently received locations of a mobile device in accordance with at least one embodiment of the present invention; and -
FIG. 4 is a block diagram depicting components of a computer system in accordance with at least one embodiment of the present invention. - Embodiments of the present invention recognize that typically, a geofence is generated by a radius around a point location or a target area such as a store, generated as pre-determined distance from a road, or as a geofence boundary on a map such as a park boundary determined using map coordinates or geographic coordinates.
- Embodiments of the present invention provide a method, a computer program product, and a system to create a geofence from a set of locations of a mobile device generated as a user of the mobile device travels along a desired geofence boundary.
-
FIG. 1 is a functional block diagram illustrating a distributed data processing environment, generally designated 100, in accordance with at least one embodiment of the present invention.FIG. 1 provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made by those skilled in the art without departing from the scope of the invention as recited by the claims. - As depicted, distributed
data processing environment 100 includesmobile device 120 andcomputer 130 interconnected overnetwork 110.Network 110 can include, for example, a telecommunications network, a local area network (LAN), a virtual LAN (VLAN), a wide area network (WAN), such as the Internet, or a combination of the these and can include wired or wireless connections. Network 110 can include one or more wired and/or wireless networks that are capable of receiving and transmitting data including receiving signals such as radio waves and location information such as a global positioning system (GPS) location from global positioning system or an indoor location from a an indoor location system that may be used for creating a geofence. In general,network 110 can be any combination of connections and protocols that will support communications betweenmobile device 120 andcomputer 130 and other computing devices (not shown) within distributeddata processing environment 100. - Examples of
mobile device 120 include a smart phone, a wearable computer such as a smart watch, a hand held device such as a tablet, a personal digital assistant (PDA), a notebook computer or any other movable computing device capable of providing location data or connecting to a GPS or other location determination system vianetwork 110. In various embodiments,mobile device 120 is a mobile computing device such as a smart phone with location determination capability.Mobile device 120 may receive and send data such as a location or a GPS position tocomputer 130 and other computing devices (not shown) in distributeddata processing environment 100. As depicted,mobile device 120 includesgeofence application 121,location unit 122 and user interface (UI) 123.Mobile device 120 usinglocation unit 122 may intermittently determine a user's location and receive or send information (e.g., GPS coordinates or indoor location coordinates) tocomputer 130.Mobile device 120 may send geofence data such as determined locations for a geofence boundary togeofence database 135 oncomputer 130. -
Geofence application 121 determines a geofence boundary for a desired geofenced area. Geofenceapplication 121 provides a capability to create a geofence. A geofence for a desired geofenced area may be determined bygeofence application 121 as the user ofmobile device 120 walks, drives or otherwise moves along a desired geofence boundary. The desired geofenced area for a geofence created bygeofence application 121 may be an irregularly shaped area or a polygon-shaped area for any shape geofenced area. The geofence boundary for a geofence created bygeofence application 121 can be based on intermittently or continuously received location data such as GPS locations for a geofence boundary. Geofenceapplication 121 identifies the geofence boundary using data or locations determined bygeofence application 121 usinglocation unit 122 as a user ofmobile device 120 moves along a perimeter of the desired geofence boundary. - While
geofence application 121 creates irregularly shaped geofences, in an embodiment,geofence application 121 creates a geofence with a shape that includes one or more polygon or known geometric shapes. For example,geofence application 121 may create an oval shaped geofence, a square shaped geofence, or a geofence that is a partial perimeter along a stream or across an entrance to a manufacturing area. - Geofence
application 121 may send the data for a geofence togeofence database 135 oncomputer 130 and/or may store the geofence data locally in persistent storage or in a database onmobile device 120. In various embodiments,geofence application 121 creates and maintains operation of the geofence. In an embodiment,computer 130 maintains the created geofence (e.g., tracks entries/exits and/or sends alerts). While depicted onmobile device 120 inFIG. 1 , in some embodiments,geofence application 121 resides oncomputer 130. Geofenceapplication 121 sends and receives data fromlocation unit 122 andgeofence database 135 vianetwork 110. -
Location unit 122 is a location determination device or application providingmobile device 120 with the capability to determine a current location formobile device 120. In various embodiments,location unit 122 may include a GPS receiver and may determine a location ofmobile device 120 based on one or more signals received from GPS satellites. In other embodiments,location unit 122 uses another location determination technology. For example,location unit 122 uses a system such as an RF identification (RFID) system, a real-time locating system, an indoor positioning system, an optical positioning system, a hybrid positioning system using more than one positioning technologies (e.g., GPS and Wi Fi positioning data) to determine a location or other known location determination method. In some embodiments,location unit 122 is a handheld or wearable location determination device (not included in mobile device 120) such as an RF tag that sends location tracking data togeofence application 121 as a user carrying the RF tag travels along a geofence boundary. - UI 123 on
mobile device 120 is a user interface providing an interface between a user andcomputer 130, and enables a user ofmobile device 120 to interact with programs and data onmobile device 120,computer 130 and other computing devices (not shown inFIG. 1 ). UI 123 may be any known user interface such as a graphical user interface (GUI), an active area or line for text inputs, a web user interface (WUI), or other type of user interface and can display text, documents, user options, application interfaces, and instructions for operation such as commands, and include the information that a program presents to a user. In an embodiment, UI 123 receives a user input via a touch screen, a keyboard, a mouse, a display, an audio or voice, a visual or motion sensing device or other peripheral device standard in computer devices. -
Computer 130 can be a desktop computer, a notebook, a tablet, a mobile computing device, a web server, a management server or any other electronic device or known computing device capable of receiving, sending and processing data.Computer 130 can be a laptop computer, a computing device used in a server system, or any programmable electronic device capable of communicating withmobile device 120 and other electronic devices in distributeddata processing environment 100 vianetwork 110. In various embodiments,computer 130 is a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that act as a single pool of seamless resources when accessed such as used in a cloud-computing environment. -
Computer 130 includes UI 133 andgeofence database 135. UI 133 oncomputer 130 is any known user interface providing an interface between a user andcomputer 130, and enables a user ofcomputer 130 to interact with programs and data onmobile device 120,computer 130 and other computing devices (not shown inFIG. 1 ).Computer 130 can receive and send data such as a mobile device location and geofence data frommobile device 120.Computer 130 may store geofence data such as geofence boundary locations for a geofence ingeofence database 135. While depicted oncomputer 130,geofence database 135 may reside in one or more other computers (not shown inFIG. 1 ). -
FIG. 2 is a flowchart depicting one example of ageofence determination method 200 in accordance with at least one embodiment of the present invention. As depicted,FIG. 2 includes the steps that may be used in an embodiment ofgeofence application 121 to determine a geofence. -
Geofence determination method 200 includes receiving a user indication to determine a first location (202). A user input onUI 123intiates geofence application 121 to identify a first location or a starting point for the geofence. For example, the user may indicategeofence application 121 activation by touching an icon onUI 123 forgeofence application 121 or saying a voice command such as “start geofence”. - The first location of the user of
mobile device 120 may be a starting point for a geofence boundary of the geofence as the user walks around a desired geofenced area.Geofence application 121 usinglocation unit 122 may determine a first location of a set of sequentially received locations formobile device 120 carried by the user as the user walks, drives or otherwise travels along a desired geofence boundary. The location ofmobile device 120 may be determined by any known location determination technology (e.g., GPS, indoor positioning, radio frequency identification (RFID), etc.). In some embodiments, the capabilities oflocation unit 122 are included ingeofence application 121. In one embodiment,computer 130 receives locations frommobile device 120, a radio frequency (RF) tag or the like carried by a user or vehicle travelling along a desired the geofence boundary of a desired geofenced area. In this example,geofence application 121 resides oncomputer 130 and determines the geofence. - In one embodiment,
mobile device 120 is incorporated into an autonomous vehicle or robotic unit (i.e., not carried by a user) that travels along a desired geofence boundary. In this example, a first location ofmobile device 120 on an automated vehicle or robot may be determined bygeofence application 121 as the autonomous vehicle or robot travels along a programmed or a sensed path for the geofence boundary. - Determining a next location for the user of mobile device (204) may occur by one of several methods.
Geofence application 121 may be configured with a default selection for determining a second location and each of the following or subsequent locations to identify the geofence. For example, a default configuration ingeofence application 121 may determine a location every ten seconds. -
Geofence application 121 may be configured to determine a next or second location and the frequency of subsequent location determination ofmobile device 120 carried by a user or on a robotic vehicle based, at least in part, on any one of the following criteria. The criteria for determining a second location and subsequent locations may be a pre-set time or a time duration (e.g., every ten seconds) after each determined location (e.g., ten seconds after the previously determined location the next location is determined), a pre-set distance or a distance of movement of mobile device 120 (e.g., every five feet) between each determined location, a location determination whenmobile device 120 changes direction (e.g., whengeofence application 121 determines that the user carryingmobile device 120 turns to the left or is walking a curving path) or intermittently determined based on an input on UI 123 (e.g.,mobile device 120 receives an indication by a touch on a touch screen to determine each location of the user of mobile device 120). In an embodiment,geofence application 121 uses a continuously activatedlocation unit 122 for location tracking ofmobile device 120 to determine a geofence boundary for a geofence. For example,geofence application 121 receives tracking of the location ofmobile device 120 by a continuous or near real-time location tracking such as receiving near real-time GPS location data asmobile device 120 moves in a vehicle along a desired geofence boundary. - In various embodiments, a user of
mobile device 120 inputs on UI 123 a selection of the criteria used to determine a second location and the subsequent locations used to create a geofence. For example, a user may input togeofence application 121 on a user interface of mobile device 120 a selection to determine each location for the geofence boundary based on a distance traveled from a previously determined location. The user may select to determine another or subsequent locations ten feet after a previous location (e.g., to determine a location every ten feet) as the user withmobile device 120 walks or otherwise travels along a desired geofence boundary for the geofence. In another example, a user may input a desired time duration between various determined locations. - Once the first and the next location are determined,
geofence determination method 200 includes determining a first segment of a geofence boundary by connecting the first location and the next location (206).Geofence application 121 may create a geofence of any desired shape by connecting together successively determined locations in the order that the locations were determined bygeofence application 121 to create segments of a geofence boundary that form the geofence.Geofence application 121 may connect together each sequentially determined location to create a set of one or more geofence boundary segments used to identify the desired geofenced area. -
Geofence determination method 200 includes determining if the geofence boundary is complete (decision step 210). The determination that the geofence is complete (yes branch, decision 210) may occur by one of several methods. For example in a first method,geofence determination method 200 may determine that segments of the geofence boundary created from sequential determined locations ofmobile device 120 fully enclose an area (e.g., when two of the geofence boundary segments cross each other to close or complete a geofence). In a second method,geofence determination method 200 may receive an indication such as a user input that the geofence is complete. In the second method, an indication that the geofence is complete may be a double tap on an icon in a touch screen or a voice command such as “complete geofence”. When the first determined location and the last determined location connect for a last segment of the geofence boundary, the desired geofence boundary is complete (e.g., encloses an area) and the geofence is complete. - In one embodiment, a geofence is a partial perimeter geofence. A partial perimeter geofence may be a geofence that is composed of one or more segments of a geofence boundary that may not fully enclose an area. In a third method, for example, a user may select an icon, a line in a pop-up menu, indicate by a double tap on a touch screen or other similar known user input method to indicate a desire to create a partial perimeter geofence. In this third method, a user indication identifies a first location to determine a starting point of the partial perimeter geofence and indicates a last location for the geofence to complete the geofence as
mobile device 120 travels or is carried by a user along a desired geofence boundary. The indication of the first location and last location determined bygeofence application 121 in a partial perimeter geofence may be the same as described above for a geofence or may be a different indication (e.g., a double tap on the touch screen or a voice command such as “start partial perimeter geofence”). In this third method,geofence determination method 200 connects each of the determined locations sequentially to create segments of the geofence boundary in the partial perimeter geofence however, does not connect the last determined location to the first determined location. A partial perimeter geofence may be complete when each of the sequentially determined locations are connected in the order determined and the geofence boundary may be open (e.g., does not enclose an area). The partial perimeter geofence, for example, may be a geofence created as a curved geofence along a river's edge to keep people and/or pets out of the river or a geofence along the front of a series of loading dock doors to prevent uninspected product from being loaded on a truck. - Upon determining that the geofence is complete,
geofence determination method 200 saves the geofence data (212) for the geofence created with the completed geofence boundary. In various embodiments,geofence application 121 stores the geofence data locally in persistent storage or in a database onmobile device 120 and/or sends the geofence data to geofencedatabase 135 oncomputer 130. In embodiments, the stored geofence data can be used by, for example,geofence application 121 or one of a plurality of other programs. -
FIG. 3A is anillustration 300A depicting an example of a non-standard geofence created based on sequentially determined locations ofmobile device 120 in accordance with at least one embodiment of the present invention. As depicted,FIG. 3A includes house 310A,front door 315A, starting point X, flowers 320A,driveway 330A,road 340A,property line 350A andgeofence boundary 360A. The area enclosed withingeofence boundary 360A may be an example of a desired area for a child to play. -
Geofence boundary 360A may identify a boundary for a geofence used to notify a parent or a responsible adult when a child carrying a location aware device such as mobile device 120 (e.g., a smart phone, a RF tag, or the like) leaves the geofenced area.Geofence boundary 360A is an example of an irregular shaped geofence or an irregular shaped geofenced area created bygeofence application 121 to protect the safety of a child and protect the desired flowers or home landscaping. -
Geofence application 121 may creategeofence boundary 360A when the user ofmobile device 120 initiatesgeofence application 121 at starting point X.Geofence application 121 may have a default setting to record a location of the mobile device every three seconds when the user ofmobile device 120 has initiatedgeofence application 121. The user ofmobile device 120 travels alonggeofence boundary 360A andgeofence application 121 records a location ofmobile device 120 every three seconds. For example, the user may proceed to walk along house 310A a safe distance fromdriveway 330A (e.g., four feet away fromdriveway 330A). From the safe location neardriveway 330A, the user withmobile device 120 turns and walks a curving path approximately four feet away from and parallel todriveway 330A recording the location ofmobile device 120 held by the user every three seconds. At the end ofdriveway 330A, the user carryingmobile device 120 turns and walks a safe distance from (e.g., four feet away from) and parallel toroad 340A to a spot nearproperty line 350A. - Upon nearing
property line 350A (e.g., two feet away fromproperty line 350A), the user carryingmobile device 120 again turns and walks in a straight line approximately two feet parallel toproperty line 350A until reaching flowers 320A. At this location, the user turns and follows a curved path a safe distance such as two feet away from flowers 320 until passing another flowerbed with flowers 320A where the user approaches house 310A.Geofence application 121 continues to record the user's location every three seconds as the user moves around the various flowerbeds indicated by flowers 320A. - After walking around flowers 320A near the front door, the user walks along house 301A and
geofence application 121 continues to determine the location ofmobile device 120 every three seconds. The user completes the geofence by going to the starting point X atfront door 315A and indicating by for example, a touch ongeofence application 121 in the screen ofmobile device 120 that the geofence is complete. In response,geofence application 121 completes the geofence and stores it locally in a database onmobile device 120 or in persistent storage ofmobile device 120.Geofence application 121 creates the geofence identified bygeofence boundary 360A by connecting sequentially the locations recorded or determined bygeofence application 121 every three seconds as the user ofmobile device 120 walks the perimeter of the lawn as depicted inFIG. 3A . -
FIG. 3B is anillustration 300B depicting an example of another non-standard geofence created based on intermittently received locations ofmobile device 120 in accordance with at least one embodiment of the present invention. As depicted,FIG. 3B includesaisle 310B,aisle 320B,aisle 330B,shelves 340B,display 350B,display 360B,display 365B,geofence boundary 370B,geofenced area 380B,starting point 390B and 391B, 392B and 393B.location Illustration 300B depicts 310B, 320B, and 330B where the area ofaisles aisle 330B and the 350B, 360B and 365B at the ends ofarea surrounding displays aisle 330B form geofencedarea 380B surrounded by geofence boundary 370A in order to provide to customers with a mobile device ingeofenced area 380B information on sale items inaisle 330B. -
Geofenced area 380B may be created bygeofence application 121 as a store employee atstarting point 390B travels alonggeofence boundary 370B. In this example, the store employee has selected an option ingeofence application 121 to determine a location ofmobile device 120 when the user ofmobile device 120 has changed direction when travelling along the geofence. In some embodiments,geofence application 121 is configured to determinate a location based on a change of direction in the movement ofmobile device 120 where for example, the movement may be determined according movement in two dimensions (e.g., X and Y, latitude and longitude, etc.). In another embodiment,geofence application 121 is configured to disregard short, quick vertical movements of mobile device 120 (e.g., such as jigglingmobile device 120 or dropping mobile device 120) when determining a location formobile device 120. -
Geofence application 121 determines a first location as startingpoint 390B based on a received indication from the store employee, for example, onmobile device 120. The store employee walks without changing direction fromstarting point 390B tolocation 391B, a second location wheregeofence application 121 determines that the store employee withmobile device 120 changes direction based on data from the location determination unit on mobile device 120 (e.g., using indoor positioning and/or GPS data). -
Geofence application 121 may create a first segment forgeofenced area 380B by connecting the first two locations (e.g., startingpoint 390B andlocation 391B). As the store employee navigates around display,geofence application 121 determining changes in the store employee's direction records a series or a plurality of locations ofmobile device 120 as the store employee walks fromlocation 391B tolocation 392B. In one embodiment,geofence application 121 determines the location ofmobile device 120 as it changes directions in near real-time (e.g., continuously tracks the location of mobile device 120). In an embodiment,geofence application 121 determines the location ofmobile device 120 based on a pre-set time duration during changes in the direction of motion of mobile device 120 (e.g.,mobile device 120 may be configured to determine a location every two seconds while the store employee carryingmobile device 120 is turning or walking in a curving path). - As the store employee walks from
location 392B tolocation 393B,geofence application 121 determines no change in direction and, thereforegeofence application 121 records only 392B and 393B. The store employee withlocations mobile device 120 now navigates fromlocation 393B back tolocation 391B changing direction as the employee walks arounddisplay 360B and display 365B. As the employees navigates fromlocation 393B tolocation 391B changing direction,geofence application 121 determines a series of locations ofmobile device 120 as the user walks arounddisplay 360B and display 365B. Upon receiving an indication from the store employee that the desired geofence boundary is now complete,geofence application 121 may complete connecting each of the sequentially determined locations forgeofence boundary 360B to create a geofence forgeofenced area 380B.Geofence application 121 may create the geofence forgeofenced area 380B from periodically and/or continuously and sequentially determined locations ofmobile device 120 as a user ofmobile device 120 walks, drives or otherwise navigatesgeofence boundary 370B in the store. - In an embodiment, a geofence boundary such as
geofence boundary 380B is a geofence boundary in a manufacturing site or a national park that keeps valuable items or animals ingeofenced area 380B. Using the methods described above to create a geofence withgeofence application 121, any shape geofence boundary may be formed from determined locations of a location-sensing device carried by a user or a vehicle moving along a desired geofence boundary. -
FIG. 4 depicts a block diagram 400 of components of a computer system, which is an example of a system such asmobile device 120 andcomputer 130 within distributeddata processing environment 100, in accordance with an embodiment of the present invention. It should be appreciated thatFIG. 4 provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments can be implemented. Many modifications to the depicted environment can be made. -
Mobile device 120 includes processor(s) 404,cache 414,memory 406,persistent storage 408,communications unit 410, input/output (I/O) interface(s) 412 andcommunications fabric 402.Communications fabric 402 provides communications betweencache 414,memory 406,persistent storage 408,communications unit 410 and input/output (I/O) interface(s) 412.Communications fabric 402 can be implemented with any architecture designed for passing data and/or control information between processors (such as microprocessors, communications and network processors, etc.), system memory, peripheral devices and any other hardware components within a system. For example,communications fabric 402 can be implemented with one or more buses. -
Memory 406 andpersistent storage 408 are computer readable storage media. In this embodiment,memory 406 includes random access memory (RAM). In general,memory 406 can include any suitable volatile or non-volatile computer readable storage media.Cache 414 is a fast memory that enhances the performance of processor(s) 404 by holding recently accessed data and data near recently accessed data, frommemory 406. - Program instructions and data used to practice embodiments of the present invention are stored in
persistent storage 408 for execution and/or access by one or more of the respective processor(s) 404 viacache 414. In this embodiment,persistent storage 408 includes a magnetic hard disk drive. Alternatively, or in addition to a magnetic hard disk drive,persistent storage 408 can include a solid-state hard drive, a semiconductor storage device, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory or any other computer readable storage media that is capable of storing program instructions or digital information. - The media used by
persistent storage 408 may also be removable. For example, a removable hard drive may be used forpersistent storage 408. Other examples include optical and magnetic disks, thumb drives and smart cards that are inserted into a drive for transfer onto another computer readable storage medium that is part ofpersistent storage 408. -
Communications unit 410, in these examples, provides for communications with other data processing systems or devices, including resources ofmobile device 120 andcomputer 130 and other computing devices not shown inFIG. 1 . In these examples,communications unit 410 includes one or more network interface cards.Communications unit 410 may provide communications with either or both physical and wireless communications links. Program instructions and data used to practice embodiments of the present invention may be downloaded topersistent storage 408 throughcommunications unit 410. - I/O interface(s) 412 allows for input and output of data with other devices that may be connected to
mobile device 120. For example, I/O interface(s) 412 may provide a connection to external device(s) 416 such as a keyboard, a keypad, a touch screen, a microphone, a digital camera and/or some other suitable input device. External device(s) 416 can also include portable computer readable storage media, for example, devices such as thumb drives, portable optical or magnetic disks and memory cards. Software and data used to practice embodiments of the present invention can be stored on such portable computer readable storage media and can be loaded ontopersistent storage 408 via I/O interface(s) 412. I/O interface(s) 412 also connect to adisplay 418. -
Display 418 provides a mechanism to display data to a user and may be, for example, a computer monitor.Display 418 can also function as a touchscreen, such as a display of a tablet computer. - The programs described herein are identified based upon the application for which they are implemented in a specific embodiment of the invention. However, it should be appreciated that any particular program nomenclature herein is used merely for convenience and thus the invention should not be limited to use solely in any specific application identified and/or implied by such nomenclature.
- The present invention may be a system, a method and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
- The computer readable storage medium can be any tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable) or electrical signals transmitted through a wire.
- Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
- Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN) or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
- Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
- These computer readable program instructions may be provided to a processor of a general purpose computer, a special purpose computer or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
- The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device. The computer readable program instructions may cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
- The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, a segment or a portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
- The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The terminology used herein was chosen to best explain the principles of the embodiment, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.
Claims (20)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/085,408 US9788156B1 (en) | 2016-03-30 | 2016-03-30 | Geofence determination |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/085,408 US9788156B1 (en) | 2016-03-30 | 2016-03-30 | Geofence determination |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20170289754A1 true US20170289754A1 (en) | 2017-10-05 |
| US9788156B1 US9788156B1 (en) | 2017-10-10 |
Family
ID=59962173
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US15/085,408 Active US9788156B1 (en) | 2016-03-30 | 2016-03-30 | Geofence determination |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US9788156B1 (en) |
Cited By (35)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20180109914A1 (en) * | 2016-10-15 | 2018-04-19 | Microsoft Technology Licensing, Llc | Managing a user's geolocation home range |
| US10121347B1 (en) * | 2017-12-27 | 2018-11-06 | Patricia Jones | Bodily tracking assembly |
| US10171940B1 (en) * | 2017-09-07 | 2019-01-01 | International Business Machines Corporation | Transportation activated geofence |
| US20190048640A1 (en) * | 2017-08-08 | 2019-02-14 | Honda Motor Co., Ltd. | System and method for determining at least one zone associated with automatic control of a barrier |
| US10251023B2 (en) | 2016-04-29 | 2019-04-02 | In-Telligent Properties Inc. | Notification and communication system using geofencing to identify members of a community |
| US10278039B1 (en) * | 2017-11-27 | 2019-04-30 | Zendrive, Inc. | System and method for vehicle sensing and analysis |
| CN110228677A (en) * | 2018-03-05 | 2019-09-13 | 永恒力股份公司 | The method of monitored space and the positioning system for cargo logistic facilities are set up in cargo logistic facilities |
| US10559196B2 (en) | 2017-10-20 | 2020-02-11 | Zendrive, Inc. | Method and system for vehicular-related communications |
| CN111399497A (en) * | 2018-12-28 | 2020-07-10 | 卡特彼勒路面机械公司 | System and method for marking autonomous work areas |
| US10798522B1 (en) * | 2019-04-11 | 2020-10-06 | Compology, Inc. | Method and system for container location analysis |
| US10841730B2 (en) | 2016-11-16 | 2020-11-17 | Tech Diversified, LLC | Systems and methods for monitoring compliance with recovery goals |
| US10848913B2 (en) | 2015-08-20 | 2020-11-24 | Zendrive, Inc. | Method for smartphone-based accident detection |
| CN112328713A (en) * | 2020-03-12 | 2021-02-05 | 北京京东振世信息技术有限公司 | Data processing method and device of electronic map, electronic equipment and medium |
| US10943356B2 (en) | 2018-12-12 | 2021-03-09 | Compology, Inc. | Method and system for fill level determination |
| US20210076563A1 (en) * | 2018-03-30 | 2021-03-18 | Positec Power Tools (Suzhou) Co., Ltd | Automatic lawnmower |
| US11039273B1 (en) * | 2020-03-19 | 2021-06-15 | Intuit Inc. | Method and system for generating geofences using an iterative process |
| US11062594B2 (en) | 2017-06-28 | 2021-07-13 | Zendrive, Inc. | Method and system for determining traffic-related characteristics |
| US11076258B2 (en) * | 2017-01-27 | 2021-07-27 | Tracematics Limited | System and methods for dynamic creation of a geofence for a location |
| US11172325B1 (en) | 2019-05-01 | 2021-11-09 | Compology, Inc. | Method and system for location measurement analysis |
| US11175152B2 (en) | 2019-12-03 | 2021-11-16 | Zendrive, Inc. | Method and system for risk determination of a route |
| US11228861B2 (en) | 2019-09-17 | 2022-01-18 | In-Telligent Properties Llc | Emergency alert systems with customized alerts |
| US20220090937A1 (en) * | 2020-09-24 | 2022-03-24 | Ford Global Technologies, Llc | Mapping of a drivable area for vehicle navigation |
| US11313697B2 (en) * | 2019-04-19 | 2022-04-26 | Move, Inc. | Systems and apparatuses for generating a geometric shape and travel time data |
| US20220289329A1 (en) * | 2021-03-10 | 2022-09-15 | Diann Decker | Bicycle Safety Accessory Device |
| US11582903B1 (en) * | 2017-05-17 | 2023-02-21 | Hydro-Gear Limited Partnership | Vision based guidance system and method for lawn mowing devices |
| US11610185B2 (en) | 2013-03-15 | 2023-03-21 | Compology Llc | System and method for waste management |
| US11659368B2 (en) | 2016-09-12 | 2023-05-23 | Zendrive, Inc. | Method for mobile device-based cooperative data capture |
| US11734963B2 (en) | 2013-03-12 | 2023-08-22 | Zendrive, Inc. | System and method for determining a driver in a telematic application |
| US11775010B2 (en) | 2019-12-02 | 2023-10-03 | Zendrive, Inc. | System and method for assessing device usage |
| US11878720B2 (en) | 2016-12-09 | 2024-01-23 | Zendrive, Inc. | Method and system for risk modeling in autonomous vehicles |
| US11927447B2 (en) | 2015-08-20 | 2024-03-12 | Zendrive, Inc. | Method for accelerometer-assisted navigation |
| US12056633B2 (en) | 2021-12-03 | 2024-08-06 | Zendrive, Inc. | System and method for trip classification |
| US12254403B2 (en) | 2018-12-12 | 2025-03-18 | Compology Llc | Method and system for fill level determination |
| US12400272B2 (en) | 2019-12-02 | 2025-08-26 | Credit Karma, Llc | System and method for assessing device usage |
| US12451232B2 (en) | 2016-11-16 | 2025-10-21 | Michael Jerome Senger | Systems and methods for monitoring compliance with recovery goals |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10149424B2 (en) * | 2016-01-19 | 2018-12-11 | Steering Solutions Ip Holding Corporation | Automated electronic precision planting system |
| US10234299B2 (en) * | 2016-12-16 | 2019-03-19 | Osvaldo Morales | Geo-location tracking system and method |
| WO2018170016A1 (en) * | 2017-03-14 | 2018-09-20 | Konnekti, Inc. | System and method of optimizing the routing and delivery of services and goods, and notifications related to same |
| US10497232B1 (en) | 2019-03-01 | 2019-12-03 | Motorola Solutions, Inc. | System and method for dynamic vehicular threat detection perimeter modification for an exited vehicular occupant |
| US11501245B2 (en) | 2019-09-16 | 2022-11-15 | P44, Llc | Systems and methods for imputation of shipment milestones |
| US20230334536A1 (en) * | 2021-07-21 | 2023-10-19 | Samuel Brooks | Computer implemented application for real time, authentic reviews of venues and additional modes |
| US11778935B2 (en) | 2021-09-13 | 2023-10-10 | Deere & Company | Controlling operating envelope for off-road equipment based on a digital fence |
Family Cites Families (33)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6721652B1 (en) | 2002-11-22 | 2004-04-13 | Electronic Data Systems Corporation (EDS) | Implementing geo-fencing on mobile devices |
| US7564348B2 (en) | 2004-11-05 | 2009-07-21 | Wirelesswerx International, Inc. | Method and system to monitor movable entities |
| BRPI0607818A2 (en) | 2005-03-07 | 2009-10-06 | Networks In Motion Inc | method and system for identifying and defining virtual geographic fences |
| US7899583B2 (en) * | 2005-04-12 | 2011-03-01 | Ehud Mendelson | System and method of detecting and navigating to empty parking spaces |
| US9420423B1 (en) * | 2005-04-12 | 2016-08-16 | Ehud Mendelson | RF beacon deployment and method of use |
| US7848765B2 (en) * | 2005-05-27 | 2010-12-07 | Where, Inc. | Location-based services |
| US8593276B2 (en) * | 2006-02-01 | 2013-11-26 | Qualcomm Incorporated | Method and apparatus for asset geofencing |
| US20080125965A1 (en) | 2006-11-27 | 2008-05-29 | Carani Sherry L | Tracking System and Method with Automatic Map Selector and Geo Fence Defining Features |
| US8145424B2 (en) | 2008-08-06 | 2012-03-27 | International Business Machines Corporation | Geoboundaries using rectangular fencing and coupling of GPS/LBS systems |
| US8457596B2 (en) * | 2009-07-02 | 2013-06-04 | Sur-Tec, Inc. | System, method, and device for intelligence gathering and position tracking |
| US8653956B2 (en) * | 2009-09-11 | 2014-02-18 | Hti Ip, L.L.C. | Method and system for implementing a geofence boundary for a tracked asset |
| US8412166B2 (en) * | 2009-09-22 | 2013-04-02 | Telenav, Inc. | Location based system with contextual locator and method of operation thereof |
| US8577590B2 (en) * | 2009-11-09 | 2013-11-05 | Qualcomm Incorporated | Scalable geofences |
| US8897741B2 (en) * | 2009-11-13 | 2014-11-25 | William J. Johnson | System and method for mobile device usability by locational conditions |
| CA2686037A1 (en) | 2009-11-24 | 2011-05-24 | Kenneth R. Bannard | Personnel tracking system |
| US8504061B2 (en) * | 2010-04-07 | 2013-08-06 | Apple Inc. | Multi-tier geofence detection |
| US8284748B2 (en) * | 2010-07-07 | 2012-10-09 | Apple Inc. | Ad hoc formation and tracking of location-sharing groups |
| US8606260B2 (en) * | 2010-08-18 | 2013-12-10 | Apple Inc. | Location-based profile |
| US8396485B2 (en) * | 2010-11-09 | 2013-03-12 | Apple Inc. | Beacon-based geofencing |
| US8638720B2 (en) * | 2011-01-06 | 2014-01-28 | Apple Inc. | Multi-tiered detection of a geofence |
| US8626187B2 (en) * | 2011-06-03 | 2014-01-07 | Apple Inc. | Monitoring geofence exit |
| US9171327B2 (en) * | 2012-03-23 | 2015-10-27 | Ebay Inc. | Systems and methods for in-vehicle navigated shopping |
| US20130310053A1 (en) * | 2012-05-15 | 2013-11-21 | QUALCOMM Atheros, Incorporated | Creating geofence assistance information |
| US9113298B2 (en) * | 2012-06-12 | 2015-08-18 | Telecommunication Systems, Inc. | Geofence with kalman filter |
| US8489119B1 (en) * | 2012-08-11 | 2013-07-16 | Federico Fraccaroli | Method and apparatus for mediating among a plurality of profiles associated with users positioned in a shared location |
| US9411967B2 (en) * | 2012-08-24 | 2016-08-09 | Environmental Systems Research Institute (ESRI) | Systems and methods for managing location data and providing a privacy framework |
| WO2014072510A2 (en) | 2012-11-09 | 2014-05-15 | Doro AB | Improved geofencing |
| US20140258201A1 (en) * | 2013-03-05 | 2014-09-11 | Qualcomm Incorporated | Generating a geofence via an analysis of a gps fix utilization distribution |
| US9279696B2 (en) * | 2013-10-25 | 2016-03-08 | Qualcomm Incorporated | Automatic handover of positioning parameters from a navigation device to a mobile device |
| US9119034B2 (en) * | 2013-11-21 | 2015-08-25 | At&T Mobility Ii Llc | Method and apparatus for determining a probability for a geo-fence |
| US9503858B2 (en) * | 2014-08-28 | 2016-11-22 | Qualcomm Incorporated | Selective crowdsourcing of location-related data |
| US9551775B2 (en) * | 2014-09-04 | 2017-01-24 | Cisco Technology, Inc. | Enhancing client location via beacon detection |
| US9998868B2 (en) * | 2015-06-05 | 2018-06-12 | International Business Machines Corporation | Mobile device proximity notification |
-
2016
- 2016-03-30 US US15/085,408 patent/US9788156B1/en active Active
Cited By (59)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11734963B2 (en) | 2013-03-12 | 2023-08-22 | Zendrive, Inc. | System and method for determining a driver in a telematic application |
| US12230073B2 (en) | 2013-03-12 | 2025-02-18 | Credit Karma, Llc | System and method for determining a driver in a telematic application |
| US11610185B2 (en) | 2013-03-15 | 2023-03-21 | Compology Llc | System and method for waste management |
| US12067536B2 (en) | 2013-03-15 | 2024-08-20 | Compology Llc | System and method for waste management |
| US11375338B2 (en) | 2015-08-20 | 2022-06-28 | Zendrive, Inc. | Method for smartphone-based accident detection |
| US11927447B2 (en) | 2015-08-20 | 2024-03-12 | Zendrive, Inc. | Method for accelerometer-assisted navigation |
| US10848913B2 (en) | 2015-08-20 | 2020-11-24 | Zendrive, Inc. | Method for smartphone-based accident detection |
| US10251023B2 (en) | 2016-04-29 | 2019-04-02 | In-Telligent Properties Inc. | Notification and communication system using geofencing to identify members of a community |
| US11659368B2 (en) | 2016-09-12 | 2023-05-23 | Zendrive, Inc. | Method for mobile device-based cooperative data capture |
| US12192865B2 (en) | 2016-09-12 | 2025-01-07 | Credit Karma, Llc | Method for mobile device-based cooperative data capture |
| US20180109914A1 (en) * | 2016-10-15 | 2018-04-19 | Microsoft Technology Licensing, Llc | Managing a user's geolocation home range |
| US10123163B2 (en) * | 2016-10-15 | 2018-11-06 | Microsoft Technology Licensing, Llc | Managing a user's geolocation home range |
| US12451232B2 (en) | 2016-11-16 | 2025-10-21 | Michael Jerome Senger | Systems and methods for monitoring compliance with recovery goals |
| US10841730B2 (en) | 2016-11-16 | 2020-11-17 | Tech Diversified, LLC | Systems and methods for monitoring compliance with recovery goals |
| US11878720B2 (en) | 2016-12-09 | 2024-01-23 | Zendrive, Inc. | Method and system for risk modeling in autonomous vehicles |
| US20230388741A1 (en) * | 2017-01-27 | 2023-11-30 | Tracematics Limited | System and Methods for Automatically On-Boarding Telematics Units in Vehicles |
| US12177735B2 (en) * | 2017-01-27 | 2024-12-24 | Tracematics Limited | System and methods for automatically on-boarding telematics units in vehicles |
| US11076258B2 (en) * | 2017-01-27 | 2021-07-27 | Tracematics Limited | System and methods for dynamic creation of a geofence for a location |
| US11871297B2 (en) | 2017-01-27 | 2024-01-09 | Tracematics Limited | System and methods for detecting malfunctioning on-board telematics units in vehicles |
| US11595779B2 (en) | 2017-01-27 | 2023-02-28 | Tracematics Limited | System and methods for identifying stock anomalies in a fleet management system |
| US11582903B1 (en) * | 2017-05-17 | 2023-02-21 | Hydro-Gear Limited Partnership | Vision based guidance system and method for lawn mowing devices |
| US11735037B2 (en) | 2017-06-28 | 2023-08-22 | Zendrive, Inc. | Method and system for determining traffic-related characteristics |
| US11062594B2 (en) | 2017-06-28 | 2021-07-13 | Zendrive, Inc. | Method and system for determining traffic-related characteristics |
| US10851578B2 (en) * | 2017-08-08 | 2020-12-01 | Honda Motor Co., Ltd. | System and method for determining at least one zone associated with automatic control of a barrier |
| US20190048640A1 (en) * | 2017-08-08 | 2019-02-14 | Honda Motor Co., Ltd. | System and method for determining at least one zone associated with automatic control of a barrier |
| US10171940B1 (en) * | 2017-09-07 | 2019-01-01 | International Business Machines Corporation | Transportation activated geofence |
| US11380193B2 (en) | 2017-10-20 | 2022-07-05 | Zendrive, Inc. | Method and system for vehicular-related communications |
| US10559196B2 (en) | 2017-10-20 | 2020-02-11 | Zendrive, Inc. | Method and system for vehicular-related communications |
| US12483869B2 (en) | 2017-11-27 | 2025-11-25 | Credit Karma, Llc | System and method for vehicle sensing and analysis |
| US11871313B2 (en) * | 2017-11-27 | 2024-01-09 | Zendrive, Inc. | System and method for vehicle sensing and analysis |
| US20210329432A1 (en) * | 2017-11-27 | 2021-10-21 | Zendrive, Inc. | System and method for vehicle sensing and analysis |
| US11082817B2 (en) * | 2017-11-27 | 2021-08-03 | Zendrive, Inc | System and method for vehicle sensing and analysis |
| US10278039B1 (en) * | 2017-11-27 | 2019-04-30 | Zendrive, Inc. | System and method for vehicle sensing and analysis |
| US10121347B1 (en) * | 2017-12-27 | 2018-11-06 | Patricia Jones | Bodily tracking assembly |
| DE102018104998B4 (en) | 2018-03-05 | 2023-09-21 | Jungheinrich Ag | Method for setting up a monitoring zone in a goods logistics facility and location system for a goods logistics facility |
| US11275151B2 (en) * | 2018-03-05 | 2022-03-15 | Jungheinrich Ag | Method for setting up a surveillance zone in one goods logistics facility and location system for a goods logistics facility |
| CN110228677A (en) * | 2018-03-05 | 2019-09-13 | 永恒力股份公司 | The method of monitored space and the positioning system for cargo logistic facilities are set up in cargo logistic facilities |
| US20210076563A1 (en) * | 2018-03-30 | 2021-03-18 | Positec Power Tools (Suzhou) Co., Ltd | Automatic lawnmower |
| US10943356B2 (en) | 2018-12-12 | 2021-03-09 | Compology, Inc. | Method and system for fill level determination |
| US12254403B2 (en) | 2018-12-12 | 2025-03-18 | Compology Llc | Method and system for fill level determination |
| CN111399497A (en) * | 2018-12-28 | 2020-07-10 | 卡特彼勒路面机械公司 | System and method for marking autonomous work areas |
| US10976746B2 (en) * | 2018-12-28 | 2021-04-13 | Caterpillar Paving Products Inc. | System and method to mark autonomous work area |
| US11122388B2 (en) * | 2019-04-11 | 2021-09-14 | Compology, Inc. | Method and system for container location analysis |
| US10798522B1 (en) * | 2019-04-11 | 2020-10-06 | Compology, Inc. | Method and system for container location analysis |
| US11313697B2 (en) * | 2019-04-19 | 2022-04-26 | Move, Inc. | Systems and apparatuses for generating a geometric shape and travel time data |
| US11172325B1 (en) | 2019-05-01 | 2021-11-09 | Compology, Inc. | Method and system for location measurement analysis |
| US11363409B2 (en) | 2019-09-17 | 2022-06-14 | In-Telligent Properties Llc | Emergency alert systems with tracked user interactions |
| US11228861B2 (en) | 2019-09-17 | 2022-01-18 | In-Telligent Properties Llc | Emergency alert systems with customized alerts |
| US11516304B2 (en) | 2019-09-17 | 2022-11-29 | In-Telligent Properties Llc | Third-party integration of emergency alert systems |
| US11381931B2 (en) | 2019-09-17 | 2022-07-05 | In-Telligent Properties Llc | Emergency alert systems with secondary alerts |
| US11775010B2 (en) | 2019-12-02 | 2023-10-03 | Zendrive, Inc. | System and method for assessing device usage |
| US12400272B2 (en) | 2019-12-02 | 2025-08-26 | Credit Karma, Llc | System and method for assessing device usage |
| US12524040B2 (en) | 2019-12-02 | 2026-01-13 | Credit Karma, Llc | System and method for assessing device usage |
| US11175152B2 (en) | 2019-12-03 | 2021-11-16 | Zendrive, Inc. | Method and system for risk determination of a route |
| CN112328713A (en) * | 2020-03-12 | 2021-02-05 | 北京京东振世信息技术有限公司 | Data processing method and device of electronic map, electronic equipment and medium |
| US11039273B1 (en) * | 2020-03-19 | 2021-06-15 | Intuit Inc. | Method and system for generating geofences using an iterative process |
| US20220090937A1 (en) * | 2020-09-24 | 2022-03-24 | Ford Global Technologies, Llc | Mapping of a drivable area for vehicle navigation |
| US20220289329A1 (en) * | 2021-03-10 | 2022-09-15 | Diann Decker | Bicycle Safety Accessory Device |
| US12056633B2 (en) | 2021-12-03 | 2024-08-06 | Zendrive, Inc. | System and method for trip classification |
Also Published As
| Publication number | Publication date |
|---|---|
| US9788156B1 (en) | 2017-10-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9788156B1 (en) | Geofence determination | |
| US10824985B2 (en) | Interactive mobile pick-up unit notification | |
| US10694317B2 (en) | Methods, systems, and apparatus for a geo-fence system | |
| US10075812B1 (en) | Dynamic geo-fence size adjustment | |
| JP6316975B2 (en) | Energy efficient positioning | |
| US8433344B1 (en) | Displaying a tier of risk in a region of a map displayed via a mobile computing device | |
| US20130178233A1 (en) | Dynamic Geo-Fence Alerts | |
| US10540705B2 (en) | System and medium for checking-in a customer | |
| US9788157B2 (en) | Method and system for detection of presence in predefined location and delivery thereto | |
| WO2014011798A1 (en) | Systems and methods for selecting and displaying interactive advertising content with a lock screen | |
| US10417691B2 (en) | System, method, and non-transitory computer-readable storage media for automatically checking in a customer | |
| US9288622B1 (en) | Aggregated geo-fencing area based information delivery | |
| CN104838235A (en) | Mobile navigation to moving destination | |
| CN105101404A (en) | Positioning method, device and terminal | |
| US9279694B1 (en) | System and method for returning to a selected location and for finding forms in a facility | |
| US20210289321A1 (en) | A device for location based services | |
| US10621842B2 (en) | Auto-learning generation and use of objects checklist based on proximity control | |
| US20220084408A1 (en) | Area reservation system | |
| CN114446082B (en) | Method, device, wrist-worn device and medium for searching vehicle | |
| US20170026460A1 (en) | User defined geographical zones for chat platforms | |
| US20140292508A1 (en) | Audio positioning system | |
| KR20150081612A (en) | Simple payment service system, method and apparatus for simple payment service thereof | |
| US7755517B2 (en) | Navigation device | |
| US10698966B2 (en) | Search result prioritization based on device location | |
| US11651404B2 (en) | Virtual shopping assistant |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ANDERSON, EVELYN R.;BENDER, MICHAEL;BOONE, MICHAEL;AND OTHERS;REEL/FRAME:038141/0242 Effective date: 20160321 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
| AS | Assignment |
Owner name: KYNDRYL, INC., NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:057885/0644 Effective date: 20210930 Owner name: KYNDRYL, INC., NEW YORK Free format text: ASSIGNMENT OF ASSIGNOR'S INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:057885/0644 Effective date: 20210930 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |