The various embodiments provide systems and methods for combining overlapping/geographically close geofences associated with a plurality of geofence-enabled applications operating on the same computing device into a single, blended geofence. Each geofence-enabled application may monitor the blended
The various embodiments provide systems and methods for combining overlapping/geographically close geofences associated with a plurality of geofence-enabled applications operating on the same computing device into a single, blended geofence. Each geofence-enabled application may monitor the blended geofence so the plurality of geofence-enabled applications may simultaneously or near-simultaneously detect that the blended geofence has been satisfied when the computing device satisfies the blended geofence. Thus, each of the plurality of geofence-enabled application may consume the output of location-sensing radios and/or communicate with the geofence server at the same time because each of the plurality of geofence-enabled applications detects when the blended geofence is crossed at the same or nearly the same time. Thus, by blending the plurality of geofence-enabled application's geofence areas, the various embodiments may improve battery life and/or conserve resources for a small decrease in accuracy such that the overall user experience on the computing device is improved.
대표청구항▼
1. A method of managing geofence-enabled applications executing on a computing device, comprising: identifying geofences that are associated with different geofence-enabled applications executing on the computing device and that are geographically close together;comparing metadata of the identified
1. A method of managing geofence-enabled applications executing on a computing device, comprising: identifying geofences that are associated with different geofence-enabled applications executing on the computing device and that are geographically close together;comparing metadata of the identified geofences that are associated with the different geofence-enabled applications to determine whether the identified geofences are geofence types that are compatible to combine into a blended geofence;combining the identified geofences that are geographically close together into the blended geofence in response to determine that the identified geofences are geofence types that are compatible to combine into the blended geofence; andenabling each geofence-enabled application associated with a geofence included in the blended geofence to be informed when the blended geofence is crossed, wherein enabling each geofence-enabled application associated with a goefence to be informed when the blended geofence is crossed comprises replacing the identified geofences associated with the geofence-enabled applications with the blended geofence. 2. The method of claim 1, further comprising determining whether each of the identified geofences that are geographically close together is permitted to be blended by an associated geofence-enabled application, wherein combining the identified geofences that are geographically close together into a blended geofence comprises combining into a blended geofence the identified geofences that are geographically close together and permitted to be blended. 3. The method of claim 1, wherein combining the identified geofences that are geographically close together into a blended geofence comprises combining into a blended geofence, in a geofence server, geofences that are associated with geofence-enabled applications and that are geographically close together, the method further comprising determining whether there is an exact match between geofence-enabled applications in a list of geofence-enabled applications executing on the computing device and the geofence-enabled applications associated with the geofences included in the blended geofence,wherein enabling each geofence-enabled application associated with a geofence included in the blended geofence to be informed when the blended geofence is crossed comprises: sending the blended geofence to the computing device in response to determining that there is an exact match between the geofence-enabled applications in the list of geofence-enabled applications executing on the computing device and the geofence-enabled applications associated with the blended geofence and the computing device providing the blended geofence to each geofence-enabled application executing on the computing device that is associated with a geofence included in the blended geofence; andsending unblended geofence information to the computing device in response to determining that there is not an exact match between the geofence-enabled applications in the list of geofence-enabled applications executing on the computing device and the geofence-enabled applications associated with the blended geofence. 4. The method of claim 1, wherein enabling each geofence-enabled application associated with a geofence included in the blended geofence to be informed when the blended geofence is crossed comprises: receiving with a geofence management unit the blended geofence from a geofence server, wherein the geofence management unit is a proxy server application operating on the computing device;determining whether the blended geofence has been crossed with the geofence management unit on behalf of each geofence-enabled application associated with a geofence included in the blended geofence; andnotifying with the geofence management unit each of the geofence-enabled applications associated with a geofence included in the blended geofence in response to determining that the blended geofence has been crossed. 5. The method of claim 1, wherein enabling each geofence-enabled application associated with a geofence included in the blended geofence to be informed when the blended geofence is crossed comprises: determining a current location of the computing device;determining whether the computing device has crossed the blended geofence; andnotifying each geofence-enabled application associated with a geofence included in the blended geofence when the blended geofence is crossed,wherein: identifying geofences associated with geofence-enabled applications executing on the computing device that are geographically close together comprises identifying geofences associated with geofence-enabled applications executing on the computing device that are geographically close to the current location of the computing device; andcombining the identified geofences that are geographically close together into a blended geofence comprises combining the identified geofences that are geographically close to the current location into a blended geofence. 6. The method of claim 5, further comprising notifying a geofence server when the blended geofence is crossed on behalf of each geofence-enabled application associated with a geofence included in the blended geofence. 7. The method of claim 5, wherein combining the identified geofences that are geographically close to the current location into a blended geofence comprises combining, in a geofence server, the geofences that are geographically close to the current location into a blended geofence, and wherein: determining a current location of the computing device comprises receiving, in the geofence server, the current location of the computing device in a message from the computing device;identifying geofences that are associated with geofence-enabled applications executing on the computing device and that are geographically close to the current location comprises: receiving in the geofence server from the computing device a list of geofence-enabled applications executing on the computing device; andidentifying geofences associated with listed geofence-enabled applications that are geographically close to the received current location of the computing device; andenabling each geofence-enabled application associated with a geofence included in the blended geofence to be informed when the blended geofence is crossed comprises sending the blended geofence from the geofence server to the computing device and the computing device providing the blended geofence to each geofence-enabled application associated with a geofence included in the blended geofence. 8. The method of claim 7, further comprising determining whether each of the identified geofences that are geographically close to the current location is permitted to be blended by an associated geofence-enabled application, wherein combining, in a geofence server, the geofences that are geographically close to the current location into a blended geofence comprises combining into a blended geofence the identified geofences that are geographically close to the current location and permitted to be blended. 9. A computing device, comprising: a memory;a transceiver; anda processor coupled to the memory and the transceiver, the processor configured with processor-executable instructions to perform operations comprising: identifying geofences that are associated with different geofence-enabled applications executing on the computing device and that are geographically close together;comparing metadata of the identified geofences that are associated with the different geofence-enabled applications to determine whether the identified geofences are geofence types that are compatible to combine into a blended geofence;combining the identified geofences that are geographically close together into the blended geofence in response to determining that the identified geofences are geofence types that are compatible to combine into the blended geofence; andenabling each geofence-enabled application associated with a geofence included in the blended geofence to be informed when the blended geofence is crossed, wherein enabling each geofence-enabled application associated with a geofence included in the blended geofence to be informed when the blended geofence is crossed comprises replacing the identified geofences associated with the geofence-enabled applications with the blended geofence. 10. The computing device of claim 9, wherein: the processor is configured with processor-executable instructions to perform operations further comprising determining whether each of the identified geofences that are geographically close together is permitted to be blended by an associated geofence-enabled application; andthe processor is configured with processor-executable instructions to perform operations such that combining the identified geofences that are geographically close together into a blended geofence comprises combining into a blended geofence the identified geofences that are geographically close together and permitted to be blended. 11. The computing device of claim 9, wherein: the processor is configured with processor-executable instructions to perform operations further comprising determining whether there is an exact match between geofence-enabled applications in a list of geofence-enabled applications executing on the computing device and the geofence-enabled applications associated with geofences included in the blended geofence; andthe processor is configured with processor-executable instructions to perform operations such that enabling each geofence-enabled application associated with a geofence included in the blended geofence to be informed when the blended geofence is crossed comprises: providing the blended geofence to each geofence-enabled application executing on the computing device that is associated with a geofence included in the blended geofence in response to determining that there is an exact match between the geofence-enabled applications in the list of geofence-enabled applications executing on the computing device and the geofence-enabled applications associated with the blended geofence; andproviding unblended geofence information to each geofence-enabled application executing on the computing device that is associated with a geofence included in the blended geofence in response to determining that there is not an exact match between the geofence-enabled applications in the list of geofence-enabled applications executing on the computing device and the geofence-enabled applications associated with the blended geofence. 12. The computing device of claim 9, wherein the processor is configured with processor-executable instructions to perform operations such that enabling each geofence-enabled application associated with a geofence included in the blended geofence to be informed when the blended geofence is crossed comprises providing the blended geofence to each geofence-enabled application associated with a geofence included in the blended geofence. 13. The computing device of claim 9, wherein the processor is configured with processor-executable instructions to perform operations such that enabling each geofence-enabled application associated with a geofence included in the blended geofence to be informed when the blended geofence is crossed comprises: receiving with a geofence management unit the blended geofence from a geofence server, wherein the geofence management unit is a proxy server application operating on the computing device;determining whether the blended geofence has been crossed with the geofence management unit on behalf of each geofence-enabled application associated with a geofence included in the blended geofence; andnotifying with the geofence management unit each of the geofence-enabled applications associated with a geofence included in the blended geofence in response to determining that the blended geofence has been crossed. 14. The computing device of claim 9, wherein the processor is configured with processor-executable instructions to perform operations such that: enabling each geofence-enabled application associated with a geofence included in the blended geofence to be informed when the blended geofence is crossed comprises: determining a current location of the computing device;determining whether the computing device has crossed the blended geofence; andnotifying each geofence-enabled application associated with a geofence included in the blended geofence when the blended geofence is crossed;identifying geofences associated with geofence-enabled applications executing on the computing device that are geographically close together comprises identifying geofences associated with geofence-enabled applications executing on the computing device that are geographically close to the current location of the computing device; andcombining the identified geofences that are geographically close together into a blended geofence comprises combining the identified geofences that are geographically close to the current location into a blended geofence. 15. The computing device of claim 14, the processor is configured with processor-executable instructions to perform operations further comprising notifying a geofence server when the blended geofence is crossed on behalf of each geofence-enabled application associated with a geofence included in the blended geofence. 16. The computing device of claim 14, wherein: the processor is configured with processor-executable instructions to perform operations further comprising determining whether each of the identified geofences that are geographically close to the current location is permitted to be blended by an associated geofence-enabled application; andthe processor is configured with processor-executable instructions to perform operations such that combining the identified geofences that are geographically close to the current location into a blended geofence comprises combining into a blended geofence the identified geofences that are geographically close to the current location and permitted to be blended. 17. A geofence server, comprising: a server processor configured with server-executable instructions to perform operations comprising: identifying geofences that are associated with different geofence-enabled applications executing on a computing device and that are geographically close together;comparing metadata of the identified geofences that are associated with the different geofence-enabled applications to determine whether the identified geofences are geofence types that are compatible to combine into a blended geofence;combining the identified geofences that are geographically close together into the blended geofence in response to determining that the identified geofences are geofence types that are compatible to combine into the blended geofence; andenabling each geofence-enabled application associated with a geofence included in the blended geofence to be informed when the blended geofence is crossed, wherein enabling each geofence-enabled application associated with a geofence included in the blended geofence to be informed when the blended geofence is crossed comprises replacing the identified geofences associated with the geofence-enabled applications with the blended geofence. 18. The geofence server of claim 17, wherein: the server processor is configured with server-executable instructions to perform operations further comprising determining whether each of the identified geofences that are geographically close together is permitted to be blended by an associated geofence-enabled application,the server processor is configured with server-executable instructions to perform operations such that combining the identified geofences that are geographically close together into a blended geofence comprises combining into a blended geofence the identified geofences that are geographically close together and permitted to be blended. 19. The geofence server of claim 17, wherein: the server processor is configured with server-executable instructions to perform operations such that combining the identified geofences that are geographically close together into a blended geofence comprises combining into a blended geofence geofences that are associated with geofence-enabled applications and that are geographically close together;the server processor is configured with server-executable instructions to perform operations further comprising determining whether there is an exact match between geofence-enabled applications in a list of geofence-enabled applications executing on the computing device and the geofence-enabled applications associated with geofences included in the blended geofence; andthe server processor is configured with server-executable instructions to perform operations such that enabling each geofence-enabled application associated with a geofence included in the blended geofence to be informed when the blended geofence is crossed comprises: sending the blended geofence to the computing device in response to determining that there is an exact match between the geofence-enabled applications in the list of geofence-enabled applications executing on the computing device and the geofence-enabled applications associated with the blended geofence and the computing device providing the blended geofence to each geofence-enabled application executing on the computing device that is associated with a geofence included in the blended geofence; andsending unblended geofence information to the computing device in response to determining that there is not an exact match between the geofence-enabled applications in the list of geofence-enabled applications executing on the computing device and the geofence-enabled applications associated with the blended geofence. 20. The geofence server of claim 17, wherein: the server processor is configured with server-executable instructions to perform operations such that enabling each geofence-enabled application associated with a geofence included in the blended geofence to be informed when the blended geofence is crossed comprises: determining a current location of the computing device;determining whether the computing device has crossed the blended geofence; andnotifying each geofence-enabled application associated with a geofence included in the blended geofence when the blended geofence is crossed; andthe server processor is configured with server-executable instructions to perform operations such that: identifying geofences associated with geofence-enabled applications executing on the computing device that are geographically close together comprises identifying geofences associated with geofence-enabled applications executing on the computing device that are geographically close to the current location of the computing device; andcombining the identified geofences that are geographically close together into a blended geofence comprises combining the identified geofences that are geographically close to the current location into a blended geofence. 21. The geofence server of claim 20, wherein the server processor is configured with server-executable instructions to perform operations such that: determining a current location of the computing device comprises receiving the current location of the computing device in a message from the computing device;identifying geofences that are associated with geofence-enabled applications executing on the computing device and that are geographically close to the current location comprises: receiving from the computing device a list of geofence-enabled applications executing on the computing device; andidentifying geofences associated with listed geofence-enabled applications that are geographically close to the received current location of the computing device; andenabling each geofence-enabled application associated with a geofence included in the blended geofence to be informed when the blended geofence is crossed comprises sending the blended geofence to the computing device. 22. The geofence server of claim 21, wherein: the server processor is configured with server-executable instructions to perform operations further comprising determining whether each of the identified geofences that are geographically close to the current location is permitted to be blended by an associated geofence-enabled application; andthe server processor is configured with server-executable instructions to perform operations such that combining the identified geofences that are geographically close to the current location into a blended geofence comprises combining into a blended geofence the identified geofences that are geographically close to the current location and permitted to be blended. 23. A system, comprising: a geofence server comprising a server processor; anda computing device comprising: a memory;a transceiver configured to communicate with a network coupled to the geofence server; anda computing device processor coupled to the memory and the transceiver, configured with processor-executable instructions to perform operations comprising: identifying different geofence-enabled applications executing on the computing device; andsending a list of the identified geofence-enabled applications to the geofence server;the server processor is configured with server-executable instructions to perform operations comprising: receiving the list of the identified geofence-enabled applications from the computing device;identifying geofences that are associated with listed geofence-enabled applications and that are geographically close together;comparing metadata of the identified geofences that are associated with the listed geofence-enabled applications to determine whether the identified geofences are geofence types that are compatible to combine into a blended geofence;combining the identified geofences that are geographically close together into the blended geofence in response to determining that the identified geofences are geofence types that are compatible to combine into the blended geofence; andsending the blended geofence to the computing device; andthe computing device processor is configured with processor-executable instructions to perform operations further comprising: receiving the blended geofence from the geofence server; andenabling each geofence-enabled application associated with a geofence included in the blended geofence to be informed when the blended geofence is crossed, wherein enabling each geofence-enabled application associated with a geofence included in the blended geofence to be informed when the blended geofence is crossed comprises replacing the identified geofences associated with the geofence-enabled applications with the blended geofence. 24. The system of claim 23, wherein: the server processor is configured with server-executable instructions to perform operations further comprising determining whether each of the identified geofences that are geographically close together is permitted to be blended by an associated geofence-enabled application; andwherein the server processor is configured with server-executable instructions to perform operations such that combining the identified geofences that are geographically close together into a blended geofence comprises combining into a blended geofence the identified geofences that are geographically close together and permitted to be blended. 25. The system of claim 23, wherein: the server processor is configured with server-executable instructions to perform operations further comprising determining whether there is an exact match between geofence-enabled applications in the list of the identified geofence-enabled applications and geofence-enabled applications associated with geofences included in the blended geofence; andthe server processor is configured with server-executable instructions to perform operations such that sending the blended geofence to the computing device comprises: sending the blended geofence to the computing device in response to determining that there is an exact match between the geofence-enabled applications in the list of the identified geofence-enabled applications executing on the computing device and the geofence-enabled applications associated with the blended geofence; andsending unblended geofence information to the computing device in response to determining that there is not an exact match between the geofence-enabled applications in the list of the identified geofence-enabled applications executing on the computing device and the geofence-enabled applications associated with the blended geofence. 26. The system of claim 23, wherein the computing device processor is configured with processor-executable instructions to perform operations such that: receiving a blended geofence from the geofence server comprises receiving with a geofence management unit the blended geofence from the geofence server, wherein the geofence management unit is a proxy server application operating on the computing device; andenabling each geofence-enabled application associated with a geofence included in the blended geofence to be informed when the blended geofence is crossed comprises: determining whether the blended geofence has been crossed with the geofence management unit on behalf of each geofence-enabled application associated with a geofence included in the blended geofence; andnotifying with the geofence management unit each of the geofence-enabled applications associated with a geofence included in the blended geofence in response to determining that the blended geofence has been crossed. 27. The system of claim 23, wherein: the computing device processor is configured with processor-executable instructions to perform operations further comprising: determining a current location of the computing device; andsending the current location of the computing device to the geofence server;the server processor is configured with server-executable instructions to perform operations further comprising receiving the current location of the computing device from the computing device; andthe server processor is configured with server-executable instructions to perform operations such that: identifying geofences that are associated with the listed geofence-enabled applications and that are geographically close together comprises identifying geofences that are associated with listed geofence-enabled applications and that are geographically close to the current location of the computing device; andcombining the identified geofences that are geographically close together into a blended geofence comprises combining the identified geofences that are geographically close to the current location into a blended geofence. 28. The system of claim 27, wherein the computing device processor is configured with processor-executable instructions to perform operations further comprising notifying the geofence server when the blended geofence is crossed on behalf of each geofence-enabled application associated with a geofence included in the blended geofence. 29. The system of claim 27, wherein: the server processor is configured with server-executable instructions to perform operations further comprising determining whether each of the identified geofences that are geographically close to the current location is permitted to be blended by an associated geofence-enabled application; andthe server processor is configured with server-executable instructions to perform operations such that combining the identified geofences that are geographically close to the current location into a blended geofence comprises combining into a blended geofence the identified geofences that are geographically close to the current location and permitted to be blended.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (1)
Phillips, Alan; Schroth, Frank; Palmer, Geoffrey M.; Zielinski, Stefan G.; Cunningham, III, Colin M., Location-based services.
Sethuraman, Rajeshkumar Thappali Ramaswamy; Vadamalayan, MuthuRamji; Krishnan, Viswanathan, Site management system with dynamic site threat level based on geo-location data.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.