Dynamic alerting based on remote mobile objects

CN122601705APending Publication Date: 2026-08-18QUALCOMM INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610805517.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2020-02-25
Filing Date
2021-02-15
Publication Date
2026-08-18

Smart Images

  • Figure CN122601705A_ABST
    Figure CN122601705A_ABST
Patent Text Reader

Abstract

Techniques are provided for generating dynamic alerts on a mobile device. An example method of employing a mobile device to provide a dynamic alert includes receiving initial dynamic alert information and event information via a first user interface, obtaining an event information update, calculating an alert time modification based on the event information update, and activating a device alert based at least in part on the initial dynamic alert information and the alert time modification.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the application filed on February 15, 2021, with application number 202180015153.1 (international application number PCT / US2021 / 018107) entitled "Dynamic Alarm Based on Remotely Moving Objects".

[0002] background

[0003] Wireless communication systems have undergone several generations of development, including first-generation analog radiotelephone service (1G), second-generation (2G) digital radiotelephone service (including transitional 2.5G and 2.75G networks), third-generation (3G) high-speed data radio service with Internet capabilities, fourth-generation (4G) service (e.g., Long Term Evolution (LTE) or WiMax), and fifth-generation (5G NR) service. Currently, many different types of wireless communication systems are in use, including cellular and Personal Communication Services (PCS) systems. Known examples of cellular systems include cellular analog Advanced Mobile Phone Systems (AMPS), and digital cellular systems based on Code Division Multiple Access (CDMA), Frequency Division Multiple Access (FDMA), Time Division Multiple Access (TDMA), and GSM TDMA variants.

[0004] It is typically desired to know the location of a user equipment (UE) (e.g., a cellular phone), where the terms "location" and "positioning" are synonymous and can be used interchangeably herein. A Location Service (LCS) client may require knowledge of the UE's location and may communicate with a location center to request the UE's location. The location center and the UE may exchange messages appropriately to obtain a location estimate for the UE. The location center may then return this location estimate to the LCS client, for example, for use in one or more applications.

[0005] Obtaining the location of a mobile device accessing a wireless network can be useful for many applications, including emergency calls, personal navigation, asset tracking, and locating friends or family members. Existing location methods include those based on measuring radio signals transmitted from various devices, including satellite vehicles and terrestrial radio sources in wireless networks, such as base stations and access points.

[0006] Overview

[0007] An example method for providing dynamic alerts using a mobile device according to this disclosure includes: receiving initial dynamic alert information and event information via a first user interface; obtaining an event information update; calculating an alert time modification based on the event information update; and activating a device alert based at least in part on the initial dynamic alert information and the alert time modification.

[0008] Implementations of such methods may include one or more of the following features: The event information may include identification information associated with a second user. The event information may include an indication of a rendezvous location. An estimated travel time from the location of a first device associated with a first user to the rendezvous location may be determined, such that the alarm time modification is based in part on the estimated travel time. The event information may include vehicle tracking information associated with the vehicle. The event information may be associated with a schedule object in a schedule management application. The event information update may include an estimated arrival time based on the current location of the second device associated with the second user. The event information update may include an estimated arrival time for the vehicle. The event information update may include schedule changes in a schedule object in a schedule management application. Calculating the alarm time modification may include adding a preparation time value. Calculating the alarm time modification may include calculating a nap time value based on the initial dynamic alarm information and the event information update, wherein activating the device alarm includes providing a nap option via a first user interface based on the nap time value. Activating the device alarm may include sending a command to one or more Internet of Things (IoT) devices.

[0009] An example apparatus according to this disclosure includes a memory and at least one processor operatively coupled to the memory, the at least one processor being configured to: receive initial dynamic alarm information and event information via a first user interface; obtain an event information update; calculate an alarm time modification based on the event information update; and activate a device alarm based at least in part on the initial dynamic alarm information and the alarm time modification.

[0010] Implementations of such devices may include one or more of the following features. The at least one processor is further configured to: determine an estimated travel time from the location of the first device associated with the first user to the rendezvous location, wherein the alarm time modification is based in part on the estimated travel time. The at least one processor is further configured to: calculate a nap time value based on the initial dynamic alarm information and the event information update, and provide a nap option to the user based on the nap time value.

[0011] An example device for providing dynamic alarms according to this disclosure includes: means for receiving initial dynamic alarm information and event information via a first user interface; means for obtaining event information updates; means for calculating alarm time modifications based on the event information updates; and means for activating a device alarm based at least in part on the initial dynamic alarm information and the alarm time modifications.

[0012] An example non-transient processor-readable storage medium according to the present disclosure includes processor-readable instructions for causing one or more processors to provide dynamic alarms, comprising: code for receiving initial dynamic alarm information and event information via a first user interface; code for obtaining event information updates; code for calculating alarm time modifications based on the event information updates; and code for activating a device alarm based at least in part on the initial dynamic alarm information and the alarm time modifications.

[0013] An example method for providing dynamic alerts according to this disclosure includes: receiving an event time, an event location, and one or more event tasks via a user interface; determining an event task location for the one or more event tasks; calculating route information based at least on the event time, the event location, and the event task location; calculating an alert time based at least in part on the route information; and activating a device alert based on the alert time.

[0014] Implementations of such methods may include one or more of the following features: The one or more event tasks include an item, and determining the location of the event task includes determining the location associated with the item. Receiving the one or more event tasks via the user interface may include receiving one or more event tasks assigned to a user from an invitation management application. Calculating the route information may include receiving an estimated travel time based on the event time, the event location, and the event task location from a route planning application. One or more of the event task locations may be associated with the duration, and calculating the alarm time may be based at least in part on the route information and the duration. Activating the device alarm may include providing the alarm time to the alarm bar in a schedule object in a schedule management application.

[0015] An example apparatus according to this disclosure includes a memory and at least one processor operatively coupled to the memory, the at least one processor being configured to: receive an event time, an event location, and one or more event tasks via a user interface; determine an event task location for the one or more event tasks; calculate route information based at least on the event time, the event location, and the event task location; calculate an alarm time based at least in part on the route information; and activate a device alarm based on the alarm time.

[0016] Implementations of such devices may include one or more of the following features: The at least one processor may be further configured to: receive one or more event tasks assigned to a user from an invitation management application. The at least one processor may be further configured to: receive an estimated travel time based on the event time, the event location, and the event task location from a route planning application. The at least one processor may be further configured to: provide an alert time to an alert bar in a schedule object within a schedule management application.

[0017] An example of providing dynamic alerts according to this disclosure includes: means for receiving event time, event location, and one or more event tasks via a user interface; means for determining the event task location for the one or more event tasks; means for calculating route information based at least on the event time, the event location, and the event task location; means for calculating an alert time based at least in part on the route information; and means for activating a device alert based on the alert time.

[0018] An example non-transient processor-readable storage medium according to this disclosure includes processor-readable instructions configured to enable one or more processors to provide dynamic alarms, comprising: code for receiving an event time, an event location, and one or more event tasks via a user interface; code for determining an event task location for the one or more event tasks; code for calculating route information based at least on the event time, the event location, and the event task location; code for calculating an alarm time based at least partially on the route information; and code for activating a device alarm based on the alarm time. Brief description of the attached diagram

[0020] Figure 1 This is a simplified diagram of an example wireless communication system.

[0021] Figure 2 yes Figure 1 The diagram shows a block diagram of the components of an example user equipment.

[0022] Figure 3 yes Figure 1 The diagram shows a block diagram of the components of an example transmit / receive point.

[0023] Figure 4 yes Figure 1 The diagram shows a block diagram of the components of the example server.

[0024] Figure 5A This is an example use case diagram for dynamic alerts based on the location of mobile users.

[0025] Figure 5B This is a sample user interface for inputting dynamic alerts on mobile devices.

[0026] Figure 6 This is a sample use case diagram for dynamic alerts based on web server data.

[0027] Figure 7 This is a sample use case diagram for dynamic alerts based on schedule updates.

[0028] Figure 8 This is a sample use case diagram for dynamic alerts based on an event task list.

[0029] Figure 9 This is a block flowchart of an example method for determining dynamic alarms.

[0030] Figure 10 This is a block flowchart of an example method for calculating dynamic alerts based on route information.

[0031] Detailed description

[0032] This article discusses techniques for providing dynamic alerts on mobile devices. Typical alerts on mobile devices (e.g., handheld, wearable devices) can be triggered at a set date and time. Typically, the trigger time of an alert is static and is not updated unless the user manually edits the date and / or time. For example, a user might set an alert on their wearable device to trigger in the early morning so they can pick up a friend arriving by long-distance bus. In reality, due to unexpected multiple traffic congestion, the bus may be delayed, and its estimated time of arrival (ETA) may be delayed by 45 minutes. Since the user-set alert is triggered at a set time, the user may be unnecessarily reminded 45 minutes in advance. However, dynamic alerts, as described in this article, can be updated based on external events without requiring user intervention.

[0033] In one example, dynamic alerts can be implemented based on a first location, the distance between the mobile device's location and the target destination. The dynamic alert can be modified based on the estimated time the mobile device will reach the target destination. For example, location information (such as terrestrial and satellite navigation signals) can be used to determine the distances and estimated arrival times. A user at the first location can set an initial alert on the electronic device based on the expected arrival time of the mobile device at the target destination. The mobile device's progress may change due to traffic, weather, mechanical failure, or other reasons. The mobile device can utilize its current location and other sensor data to provide the electronic device with an updated ETA. The ETA can be provided to other network resources configured to communicate with the electronic device, or calculated by such other network resources. In one example, the electronic device at the first location can update the alert time based on the updated ETA. In another example, the alert on the electronic device may have a slump function, and the slump time can be updated based on the updated ETA. In one example, the mobile device's ETA may be based on a networked transportation tracking system (e.g., a flight tracker), and the updated ETA may be used by the electronic device to update the alert and / or slump time. These techniques and configurations are examples, and other techniques and configurations can be used.

[0034] The projects and / or technologies described herein may provide one or more of the following capabilities, as well as others not mentioned. Dynamic alarms may be input into electronic devices. Dynamic alarms may be associated with mobile users, vehicles, or events. Schedule changes associated with mobile users, vehicles, or events may be detected by mobile devices. Dynamic alarms may be updated based on schedule changes. A nap time function may be updated based on schedule changes. Other capabilities may be provided, and not every implementation according to this disclosure is required to provide any of the capabilities discussed, let alone all of them.

[0035] Reference Figure 1 Examples of communication system 100 include UE 105, radio access network (RAN) 135 (here, fifth-generation (5G) next-generation (NG) RAN (NG-RAN)), and 5G core network (5GC) 140. UE 105 can be, for example, an IoT device, a location tracker device, a cellular phone, or other device. The 5G network can also be referred to as a new radio (NR) network; NG-RAN 135 can be referred to as 5G RAN or NR RAN; and 5GC 140 can be referred to as NG core network (NGC). Standardization of NG-RAN and 5GC is underway within the 3rd Generation Partnership Project (3GPP). Accordingly, NG-RAN 135 and 5GC 140 can comply with current or future standards from 3GPP for 5G support. RAN 135 can be another type of RAN, such as 3G RAN, 4G Long Term Evolution (LTE) RAN, etc. Communication system 100 may utilize information from constellation 185 of satellite launchers (SVs) 190, 191, 192, and 193 of a satellite positioning system (SPS) such as GPS, GLONASS, Galileo, or BeiDou, or some other local or regional SPS (such as the Indian Regional Navigation Satellite System (IRNSS), the European Geostationary Navigation Coverage Service (EGNOS), or the Wide Area Augmentation System (WAAS)). Additional components of communication system 100 are described below. Communication system 100 may include additional or replacement components.

[0036] like Figure 1As shown, NG-RAN 135 includes NR B-nodes (gNB) 110a, 110b and Next Generation Evolution B-node (ng-eNB) 114, and 5GC 140 includes Access and Mobility Management Functions (AMF) 115, Session Management Functions (SMF) 117, Location Management Functions (LMF) 120 and Gateway Mobility Location Center (GMLC) 125. gNBs 110a, 110b and ng-eNB 114 are communicatively coupled to each other, each configured to conduct bidirectional wireless communication with UE 105, and each communicatively coupled to and configured to conduct bidirectional communication with AMF 115. AMF 115, SMF 117, LMF 120 and GMLC 125 are communicatively coupled to each other, and GMLC is communicatively coupled to an external client 130. SMF 117 can be used as the initial contact point for Service Control Functions (SCF) (not shown) to create, control and delete media sessions.

[0037] Figure 1 A general explanation of each component is provided, wherein any or all of the components may be used appropriately, and each component may be repeated or omitted as needed. Specifically, although only one UE 105 is explained, many UEs (e.g., hundreds, thousands, millions, etc.) may be used in communication system 100. Similarly, communication system 100 may include a larger (or smaller) number of SVs (i.e., more or fewer than the four SVs 190-193 shown), gNB 110a, 100b, ng-eNB 114, AMF 115, external client 130, and / or other components. The explained connections connecting the various components in communication system 100 include data and signaling connections, which may include additional (intermediate) components, direct or indirect physical and / or wireless connections, and / or additional networks. Furthermore, components may be rearranged, combined, separated, replaced, and / or omitted depending on the desired functionality.

[0038] Although Figure 1While 5G-based networks have been described, similar network implementations and configurations can be used for other communication technologies such as 3G, Long Term Evolution (LTE), etc. The implementations described herein (for 5G technologies and / or for one or more other communication technologies and / or protocols) can be used to transmit (or broadcast) directional synchronization signals, receive and measure directional signals at a UE (e.g., UE 105), and / or provide location assistance to UE 105 (via GMLC 125 or other location servers), and / or calculate the location of UE 105 at a location-capable device (such as UE 105, gNB 110a, 110b, or LMF 120) based on measurement parameters of such directional transmissions received at UE 105. Gateway Mobile Location Center (GMLC) 125, Location Management Function (LMF) 120, Access and Mobility Management Function (AMF) 115, SMF 117, ng-eNB (eNodeB) 114, and gNB (gNodeB) 110a, 110b are examples and may be replaced by or include various other location server functions and / or base station functions in various embodiments.

[0039] UE 105 may include and / or may be referred to as a device, mobile device, wireless device, mobile terminal, terminal, mobile station (MS), Secure User Plane Positioning Enabled (SUPL) terminal (SET), or some other name. Furthermore, UE 105 may correspond to a cellular phone, smartphone, laptop device, tablet device, PDA, vehicle tracking device, navigation device, Internet of Things (IoT) device, asset tracker, health monitor, security system, smart city sensor, smart meter, wearable tracker, or some other portable or mobile device. Typically, although not mandatory, UE 105 may support wireless communication using one or more Radio Access Technologies (RATs) such as Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), Wideband CDMA (WCDMA), LTE, High Rate Packet Data (HRPD), IEEE 802.11 WiFi (also known as Wi-Fi), Bluetooth® (BT), WiMAX, 5G New Radio (NR) (e.g., using NG-RAN 135 and 5GC 140), etc. UE 105 can support wireless communication using a wireless local area network (WLAN), which can connect to other networks (e.g., the Internet) using, for example, digital subscriber line (DSL) or packet cable. Using one or more of these RATs allows UE 105 (e.g., via elements of 5GC 140) Figure 1(not shown in the image) or possibly via GMLC 125, communicate with external client 130 and / or allow external client 130 (e.g., via GMLC 125) to receive location information about UE 105.

[0040] UE 105 may include a single entity or may include multiple entities, such as in a personal area network, where the user may employ audio, video, and / or data I / O (input / output) devices, and / or body sensors, as well as separate wired or wireless modems. An estimate of the location of UE 105 may be referred to as location, location estimation, location locking, lock, positioning, location estimation, or location locking, and may be geographic, providing location coordinates (e.g., latitude and longitude) of UE 105, which may or may not include an elevation component (e.g., height above sea level; height above ground level, floor level, or basement level, or depth below). Alternatively, the location of UE 105 may be expressed as a municipal location (e.g., expressed as a postal address or a designation of a point or smaller area within a building (such as a specific room or floor)). The location of UE 105 may be expressed as an area or volume (geographically or municipally defined) within which UE 105 is expected to reside with a certain probability or confidence level (e.g., 67%, 95%, etc.). The location of UE 105 can be expressed as a relative location, which includes, for example, distance and direction from a known location. A relative location can be expressed as relative coordinates (e.g., X, Y (and Z) coordinates) defined relative to an origin at a known location, which can be, for example, geographically, municipally, or with reference to a point, area, or volume indicated, for example, on a map, floor plan, or building plan. In the description contained herein, the use of the term "location" can include any of these variations unless otherwise indicated. When calculating the location of the UE, local x, y, and possibly z coordinates are typically solved, and then (if necessary) the local coordinates are converted to absolute coordinates (e.g., with respect to latitude, longitude, and elevation above or below mean sea level).

[0041] UE 105 can be configured to communicate with other entities using one or more of a variety of technologies. UE 105 can be configured to indirectly connect to one or more communication networks via one or more device-to-device (D2D) peer-to-peer (P2P) links. D2D P2P links can be supported using any suitable D2D radio access technology (RAT) such as LTE Direct (LTE-D), WiFi Direct (WiFi-D), Bluetooth®, etc. One or more UEs in a group of UEs utilizing D2D communication can be within the geographic coverage area of ​​a transmit / receive point (TRP) (such as one or more of gNB 110a, 110b, and / or ng-eNB 114). Other UEs in the group may be outside such geographic coverage areas or may be unable to receive transmissions from the base station for other reasons. A group of UEs communicating via D2D communication can utilize a one-to-many (1:M) system, where each UE can transmit to other UEs in the group. The TRP facilitates the scheduling of resources for D2D communication. In other cases, D2D communication can be performed between UEs without involving TRP.

[0042] Figure 1 The base stations (BSs) in the NG-RAN 135 shown include NRB nodes (referred to as gNBs 110a and 110b). Each pair of gNBs 110a and 110b in the NG-RAN 135 can be interconnected via one or more other gNBs. Access to the 5G network is provided to UE 105 via wireless communication with one or more of the gNBs 110a and 110b. gNBs 110a and 110b can use 5G to provide wireless communication access to the 5GC 140 on behalf of UE 105. Figure 1 In this context, it is assumed that the serving gNB of UE 105 is gNB 110a, but another gNB (e.g., gNB 110b) may act as the serving gNB or as a secondary gNB to provide additional throughput and bandwidth to UE 105 if UE 105 moves to another location.

[0043] Figure 1The base station (BS) in NG-RAN 135 shown may include ng-eNB 114 (also referred to as a next-generation evolved B node). ng-eNB 114 may connect to one or more of gNBs 110a and 110b in NG-RAN 135 (possibly via one or more other gNBs and / or one or more other ng-eNBs). ng-eNB 114 may provide LTE radio access and / or evolved LTE (eLTE) radio access to UE 105. One or more of gNBs 110a, 110b and / or ng-eNB 114 may be configured to act as a location-only beacon, transmitting signals to aid in determining the location of UE 105, but may not be able to receive signals from UE 105 or other UEs.

[0044] BS 110a, 110b, and 114 may each include one or more TRPs. For example, each sector within a BS cell may include a TRP, but multiple TRPs may share one or more components (e.g., share a processor but have separate antennas). System 100 may include only macro TRPs, or system 100 may have different types of TRPs, such as macro, pico, and / or femto TRPs. Macro TRPs may cover a relatively large geographic area (e.g., a radius of several kilometers) and allow unrestricted access by terminals with service subscriptions. Pico TRPs may cover a relatively small geographic area (e.g., a pico cell) and allow unrestricted access by terminals with service subscriptions. Femto or home TRPs may cover a relatively small geographic area (e.g., a femto cell) and allow restricted access by terminals associated with that femto cell (e.g., a user's terminal in a residence).

[0045] As mentioned, although Figure 1 The diagram depicts nodes configured to communicate according to 5G communication protocols, but nodes configured to communicate according to other communication protocols (such as, for example, LTE or IEEE 802.11x protocols) can also be used. For example, in an evolved packet system (EPS) providing LTE radio access to UE 105, the RAN may include an evolved universal mobile telecommunications system (UMTS) terrestrial radio access network (E-UTRAN), which may include base stations containing evolved B-nodes (eNBs). The core network for the EPS may include an evolved packet core (EPC). The EPS may include the E-UTRAN plus the EPC, where the E-UTRAN corresponds to... Figure 1 NG-RAN 135 and EPC corresponds to Figure 1 5GC 140 in the middle.

[0046] gNB 110a, 110b, and ng-eNB 114 can communicate with AMF 115; for positioning functionality, AMF 115 communicates with LMF 120. AMF 115 supports the mobility of UE 105 (including cell changes and handover) and can participate in supporting signaling connections to UE 105 and possibly data and voice bearers for UE 105. LMF 120 can communicate directly with UE 105, for example, wirelessly. LMF 120 can support the positioning of UE 105 when UE 105 accesses NG-RAN 135 and can support various positioning protocols / methods, such as Auxiliary GNSS (A-GNSS), Observational Time Difference of Arrival (OTDOA), Real-Time Kinematics (RTK), Precise Point Positioning (PPP), Differential GNSS (DGNSS), Enhanced Cellular ID (E-CID), Angle of Arrival (AOA), Angle of Departure (AOD), and / or other positioning methods. LMF 120 can process location service requests for UE 105, for example, received from AMF 115 or GMLC 125. LMF 120 can be connected to AMF 115 and / or GMLC 125. LMF 120 may be referred to by other names, such as Location Manager (LM), Location Function (LF), Commercial LMF (CLMF), or Value-Added LMF (VLMF). Nodes / systems implementing LMF 120 may additionally or alternatively implement other types of location support modules, such as Enhanced Serving Mobility Location Center (E-SMLC) or Secure User Plane Positioning (SUPL) Location Platform (SLP). At least some of the location functionality (including the derivation of the location of UE 105) can be performed at UE 105 (e.g., using signal measurements obtained by UE 105 against signals transmitted by radio nodes (such as gNB 110a, 110b and / or ng-eNB 114), and / or auxiliary data provided to UE 105, for example, by LMF 120).

[0047] GMLC 125 can support location requests for UE 105 received from external client 130 and can forward such requests to AMF 115 for forwarding to LMF 120, or can forward them directly to LMF 120. A location response from LMF 120 (e.g., containing a location estimate for UE 105) can be returned to GMLC 125 directly or via AMF 115, and GMLC 125 can then return the location response (e.g., containing the location estimate) to external client 130. GMLC 125 is shown connected to both AMF 115 and LMF 120, but in some implementations, 5GC 140 may support only one of these connections.

[0048] like Figure 1 Further explanation is provided: the LMF 120 can use the new Radio Positioning Protocol A (which may be referred to as NPPa or NRPPa) to communicate with gNB 110a, 110b, and / or ng-eNB 114, which is defined in 3GPP Technical Specification (TS) 38.455. NRPPa can be the same as, similar to, or an extension of the LTE Positioning Protocol A (LPPa) defined in 3GPP TS 36.455, where NRPPa messages are transmitted via AMF 115 between gNB 110a (or gNB 110b) and the LMF 120, and / or between ng-eNB 114 and the LMF 120. Figure 1 Further explanation is provided: LMF 120 and UE 105 can communicate using the LTE Location Protocol (LPP), which is defined in 3GPP TS 36.355. LMF 120 and UE 105 can also communicate using a new radio positioning protocol (which may be referred to as NPP or NRPP), which may be the same as, similar to, or an extension of LPP. Here, LPP and / or NPP messages can be transmitted between UE 105 and LMF 120 via AMF 115 and UE 105's serving gNB 110a, 110b, or serving ng-eNB 114. For example, LPP and / or NPP messages can be transmitted between LMF 120 and AMF 115 using the 5G Location Services Application Protocol (LCS AP), and between AMF 115 and UE 105 using the 5G Non-Access Stratum (NAS) protocol. The LPP and / or NPP protocols can be used to support the location of UE 105 using UE-assisted and / or UE-based location methods (such as A-GNSS, RTK, OTDOA, and / or E-CID). The NRPPa protocol can be used to support the location of UE 105 using network-based location methods (such as E-CID) (e.g., in conjunction with measurements obtained by gNB110a, 110b, or ng-eNB 114) and / or can be used by LMF 120 to obtain location-related information from gNB 110a, 110b, and / or ng-eNB 114, such as defining parameters for directional SS transmissions from gNB 110a, 110b, and / or ng-eNB 114.

[0049] Using a UE-assisted positioning method, UE 105 can obtain location measurements and send these measurements to a location server (e.g., LMF 120) for calculating a location estimate for UE 105. For example, location measurements may include one or more of the following: Received Signal Strength Indication (RSSI), Round-Trip Time (RTT), Reference Signal Time Difference (RSTD), Reference Signal Received Power (RSRP), and / or Reference Signal Received Quality (RSRQ) for gNB 110a, 110b, ng-eNB 114, and / or WLAN AP. Location measurements may additionally or alternatively include measurements of GNSS pseudorange, code phase, and / or carrier phase for SV 190-193.

[0050] Using a UE-based positioning method, UE 105 can obtain a location measurement (e.g., which may be the same as or similar to a location measurement for a UE-assisted positioning method) and can calculate the location of UE 105 (e.g., by means of auxiliary data received from a location server (such as LMF 120) or broadcast by gNB 110a, 110b, ng-eNB 114 or other base stations or APs).

[0051] Using a network-based positioning method, one or more base stations (e.g., gNB 110a, 110b, and / or ng-eNB 114) or APs can obtain location measurements (e.g., measurements of RSSI, RTT, RSRP, RSRQ, or Time of Arrival (TOA) of signals transmitted by UE 105) and / or can receive measurements obtained by UE 105. These base stations or APs can then send these measurements to a location server (e.g., LMF 120) for calculating a location estimate for UE 105.

[0052] The information provided to the LMF 120 by the gNB 110a, 110b and / or ng-eNB 114 using NRPPa may include timing and configuration information for directional SS transmissions, as well as location coordinates. The LMF 120 may provide some or all of this information as supplementary data to the UE 105 in LPP and / or NPP messages via NG-RAN 135 and 5GC 140.

[0053] The LPP or NPP message sent from LMF 120 to UE 105 may instruct UE 105 to perform any of a variety of tasks, depending on the desired functionality. For example, the LPP or NPP message may contain instructions for UE 105 to obtain measurements for GNSS (or A-GNSS), WLAN, E-CID, and / or OTDOA (or some other positioning method). In the case of E-CID, the LPP or NPP message may instruct UE 105 to obtain one or more measurement parameters (e.g., beam ID, beamwidth, average angle, RSRP, RSRQ measurements) of directional signals transmitted within a specific cell supported by one or more of gNB 110a, 110b, and / or ng-eNB 114 (or supported by some other type of base station, such as eNB or WiFi AP). UE 105 can send these measurement parameters back to LMF 120 via service gNB110a (or service ng-eNB 114) and AMF 115 in an LPP or NPP message (e.g., within a 5G NAS message).

[0054] As mentioned, while a communication system 100 is described in relation to 5G technology, the communication system 100 can be implemented to support other communication technologies (such as GSM, WCDMA, LTE, etc.) used to support and interact with mobile devices (such as UE 105) (e.g., to enable voice, data, location, and other functionalities). In some such embodiments, the 5GC 140 can be configured to control different air interfaces. For example, non-3GPP interoperability functions (N3IWF) in the 5GC 150 can be used. Figure 1(Not shown) Connect 5GC 140 to a WLAN. For example, the WLAN may support IEEE 802.11 WiFi access for UE 105 and may include one or more WiFi APs. Here, N3IWF may connect to the WLAN and other components in 5GC 140, such as AMF 115. In some embodiments, both NG-RAN 135 and 5GC 140 may be replaced by one or more other RANs and one or more other core networks. For example, in EPS, NG-RAN 135 may be replaced by E-UTRAN containing eNBs, and 5GC 140 may be replaced by EPC containing a Mobility Management Entity (MME) instead of AMF 115, an E-SMLC instead of LMF 120, and a GMLC similar to GMLC 125. In such EPS, the E-SMLC may use LPPa instead of NRPPa to send location information to and receive location information from eNBs in the E-UTRAN, and may use LPP to support UE 105's positioning. In these other embodiments, the location of UE 105 using directional PRS can be supported in a manner similar to that described herein for 5G networks, the difference being that the functions and procedures described herein for gNB 110a, 110b, ng-eNB 114, AMF 115 and LMF120 can be applied alternatively to other network elements, such as eNB, WiFi AP, MME and E-SMLC, in some cases.

[0055] As mentioned, in some embodiments, positioning functionality may be achieved at least in part using directional SS beams transmitted by base stations (such as gNB 110a, 110b and / or ng-eNB 114) to determine the location of the UE (e.g., Figure 1 Within the range of UE 105. In some instances, the UE can use directional SS beams from multiple base stations (such as gNB 110a, 110b, ng-eNB 114, etc.) to calculate the UE's location.

[0056] Also refer to Figure 2UE 200 is an example of UE 105 and includes a computing platform containing processor 210, a memory 211 containing software (SW) 212, one or more sensors 213, a transceiver interface 214 for transceiver 215, a user interface 216, a satellite positioning system (SPS) receiver 217, a camera 218, and a positioning (motion) device 219. The processor 210, memory 211, sensors 213, transceiver interface 214, user interface 216, SPS receiver 217, camera 218, and positioning (motion) device 219 can be communicatively coupled to each other via a bus 220 (which can be configured for, for example, optical and / or electrical communication). One or more of the illustrated devices (e.g., camera 218, positioning (motion) device 219, and / or one or more of the sensors 213, etc.) can be omitted from UE 200. Processor 210 may include one or more intelligent hardware devices (e.g., a central processing unit (CPU), microcontroller, application-specific integrated circuit (ASIC), etc.). Processor 210 may include multiple processors, including a general-purpose / application processor 230, a digital signal processor (DSP) 231, a modem processor 232, a video processor 233, and / or a sensor processor 234. One or more of processors 230-234 may include multiple devices (e.g., multiple processors). For example, sensor processor 234 may include processors for radar, ultrasonic, and / or lidar, etc. Modem processor 232 may support dual SIM / dual connectivity (or even more SIMs). For example, one SIM (subscriber identity module or subscriber identification module) may be used by an original equipment manufacturer (OEM), and another SIM may be used by an end user of UE200 to obtain connectivity. Memory 211 is a non-transient storage medium, which may include random access memory (RAM), flash memory, disk storage, and / or read-only memory (ROM), etc. Memory 211 stores software 212, which may be processor-readable, processor-executable software code containing instructions configured to cause processor 210 to perform the various functions described herein when executed. Alternatively, software 212 may not be directly executable by processor 210, but may be configured (e.g., when compiled and executed) to cause processor 210 to perform various functions. This description may refer only to processor 210 performing functions, but this includes other implementations, such as processor 210 performing software and / or firmware implementations. This description may refer to processor 210 performing functions as a shorthand for one or more of processors 230-234 performing such functions. This description may refer to UE 200 performing functions as a shorthand for one or more appropriate components of UE 200 performing such functions. Processor 210 may include memory with the stored instructions as a supplement to and / or alternative to memory 211.The functionality of processor 210 will be discussed more comprehensively below.

[0057] Figure 2 The configuration of UE 200 shown is exemplary and not intended to limit this disclosure (including the claims), and other configurations may be used. For example, an exemplary configuration of the UE includes one or more of processors 230-234 in processor 210, memory 211, and wireless transceiver 240. Other exemplary configurations include one or more of processors 230-234 in processor 210, memory 211, wireless transceiver 240, and one or more of the following: (a) sensors 213, user interface 216, SPS receiver 217, camera 218, PMD 219, and / or wired transceiver 250.

[0058] UE 200 may include a modem processor 232, which may be capable of performing baseband processing on signals received and downconverted by transceiver 215 and / or SPS receiver 217. Modem processor 232 may also perform baseband processing on signals to be upconverted for transmission by transceiver 215. Alternatively or alternatively, baseband processing may be performed by processor 230 and / or DSP 231. However, other configurations may be used to perform baseband processing.

[0059] UE 200 may include sensors 213, which may include, for example, an inertial measurement unit (IMU) 270, one or more magnetometers 271, and / or one or more environmental sensors 272. IMU 270 may include one or more inertial sensors, such as one or more accelerometers 273 (e.g., those collectively responding to acceleration of UE 200 in three dimensions) and / or one or more gyroscopes 274 (e.g., three-dimensional gyroscopes). The magnetometers may provide measurements to determine orientation (e.g., relative to magnetic north and / or true north) that can be used for any of a variety of purposes (e.g., to support one or more compass applications). The environmental sensors 272 may include, for example, one or more temperature sensors, one or more barometric pressure sensors, one or more ambient light sensors, one or more camera imagers, and / or one or more microphones, etc. (Various) Sensors 213 may generate analog and / or digital signals, and indications of these signals may be stored in memory 211 and processed by DSP 231 and / or processor 230 to support one or more applications (such as, for example, applications involving positioning and / or navigation operations).

[0060] Sensors 213 can be used for relative position measurement, relative position determination, motion determination, etc. Information detected by sensors 213 can be used for motion detection, relative displacement, dead reckoning, sensor-based position determination, and / or sensor-assisted position determination. Sensors 213 can be used to determine whether the UE 200 is stationary or mobile and / or whether to report certain useful information related to the mobility of the UE 200 to a location server (such as LMF 120). For example, based on information obtained / measured by sensors 213, the UE 200 can notify / report to the LMF 120 that the UE 200 has detected movement or that the UE 200 has moved, and report relative displacement / distance (e.g., via dead reckoning implemented by sensors 213, or sensor-based position determination, or sensor-assisted position determination). In another example, for relative positioning information, sensors / IMUs can be used to determine the angle and / or orientation of another device relative to the UE 200, etc.

[0061] IMU 270 can be configured to provide measurements of the direction and / or velocity of motion of UE 200, which can be used for relative position determination. For example, one or more accelerometers 273 and / or one or more gyroscopes 274 of IMU 270 can detect the linear acceleration and rotational velocity of UE 200, respectively. The linear acceleration and rotational velocity measurements of UE 200 can be integrated over time to determine the instantaneous direction of motion and displacement of UE 200. The instantaneous direction of motion and displacement can be integrated to track the position of UE 200. For example, a reference position of UE 200 at a given moment can be determined, for example, using SPS receiver 217 (and / or by some other means), and measurements acquired from (the) accelerometers 273 and (the) gyroscopes 274 after that moment can be used for dead reckoning to determine the current position of UE 200 based on the movement (direction and distance) of UE 200 relative to that reference position.

[0062] Magnetometer 271 can determine the intensity of magnetic fields in different directions, which can be used to determine the orientation of UE 200. For example, this orientation can be used to provide a digital compass for UE 200. Magnetometer 271 may include a two-dimensional magnetometer configured to detect and provide an indication of magnetic field intensity in two orthogonal dimensions. Alternatively or alternatively, magnetometer 271 may include a three-dimensional magnetometer configured to detect and provide an indication of magnetic field intensity in three orthogonal dimensions. Magnetometer 271 may provide means for sensing magnetic fields and, for example, providing a magnetic field indication to processor 210.

[0063] Transceiver 215 may include a wireless transceiver 240 and a wired transceiver 250 configured to communicate with other devices via wireless and wired connections, respectively. For example, wireless transceiver 240 may include a transmitter 242 and a receiver 244 coupled to one or more antennas 246 for transmitting and / or receiving wireless signals 248 (e.g., on one or more uplink channels and / or one or more sidelink channels) and converting signals from wireless signals 248 to wired (e.g., electrical and / or optical) signals and from wired (e.g., electrical and / or optical) signals to wireless signals 248. Thus, transmitter 242 may include multiple transmitters that may be discrete components or combined / integrated components, and / or receiver 244 may include multiple receivers that may be discrete components or combined / integrated components. Wireless transceiver 240 can be configured to transmit signals according to various radio access technologies (RATs) (e.g., with TRP and / or one or more other devices), such as 5G New Radio (NR), GSM (Global System for Mobile Communications), UMTS (Universal Mobile Telecommunications System), AMPS (Advanced Mobile Telephone Systems), CDMA (Code Division Multiple Access), WCDMA (Wideband CDMA), LTE (Long Term Evolution), LTE Direct (LTE-D), 3GPP LTE-V2X (PC5), IEEE 802.11 (including IEEE 802.11p), WiFi, WiFi Direct (WiFi-D), Bluetooth®, Zigbee, etc. New Radio can use millimeter wave frequencies and / or sub-6 GHz frequencies. Wired transceiver 250 may include a transmitter 252 and a receiver 254 configured for wired communication (e.g., with network 135) to, for example, send and receive communications to and from gNB 110a. Transmitter 252 may include multiple transmitters, which may be discrete components or combined / integrated components, and / or receiver 254 may include multiple receivers, which may be discrete components or combined / integrated components. Wired transceiver 250 may be configured for, for example, optical communication and / or electrical communication. Transceiver 215 may be communicatively coupled to transceiver interface 214 (e.g., via optical and / or electrical connections). Transceiver interface 214 may be at least partially integrated with transceiver 215.

[0064] User interface 216 may include one or more of a number of devices, such as, for example, speakers, microphones, display devices, vibration devices, keyboards, touchscreens, etc. User interface 216 may include any device that includes more than one of these devices. User interface 216 may be configured to enable a user to interact with one or more applications stored in the main memory of UE 200. For example, user interface 216 may store indications of analog and / or digital signals in memory 211 in response to actions from the user, for processing by DSP 231 and / or general-purpose processor 230. Similarly, applications in the main memory of UE 200 may store indications of analog and / or digital signals in memory 211 to present output signals to the user. User interface 216 may include audio input / output (I / O) devices, including, for example, speakers, microphones, digital-to-analog circuitry systems, analog-to-digital circuitry systems, amplifiers, and / or gain control circuitry systems (any device including more than one of these devices). Other configurations of the audio I / O devices may be used. Alternatively or concurrently, the user interface 216 may include one or more touch sensors that respond to touch and / or pressure on, for example, the keyboard and / or touchscreen of the user interface 216.

[0065] SPS receiver 217 (e.g., a Global Positioning System (GPS) receiver) can receive and acquire SPS signal 260 via SPS antenna 262. Antenna 262 is configured to convert the wireless signal 260 into a wired signal (e.g., an electrical signal or an optical signal) and can be integrated with antenna 246. SPS receiver 217 can be configured to process the acquired SPS signal 260 fully or partially to estimate the location of UE 200. For example, SPS receiver 217 can be configured to determine the location of UE 200 by performing trilateration using SPS signal 260. SPS receiver 217 can be combined with general-purpose processor 230, memory 211, DSP 231 and / or one or more dedicated processors (not shown) to process the acquired SPS signal fully or partially and / or calculate the estimated location of UE 200. Memory 211 may store indications (e.g., measurements) of SPS signal 260 and / or other signals (e.g., signals acquired from wireless transceiver 240) for use during positioning operations. General-purpose processor 230, DSP 231, and / or one or more dedicated processors, and / or memory 211 may provide or support a position engine for processing measurements to estimate the position of UE 200.

[0066] UE 200 may include a camera 218 for capturing still or moving images. Camera 218 may include, for example, an imaging sensor (e.g., a charge-coupled device or a CMOS imager), lenses, analog-to-digital circuitry, frame buffers, etc. Additional processing, conditioning, encoding, and / or compression of the signals representing the captured images may be performed by a general-purpose processor 230 and / or a DSP 231. Alternatively, a video processor 233 may perform conditioning, encoding, compression, and / or manipulation of the signals representing the captured images. The video processor 233 may decode / decompress stored image data for presentation on a display device (not shown), such as (e.g., user interface 216).

[0067] A positioning (motion) device (PMD) 219 may be configured to determine the location and possible motion of the UE 200. For example, the PMD 219 may communicate with, and / or include some or all of, the SPS receiver 217. The PMD 219 may additionally or alternatively be configured to: use trilateration with ground-based signals (e.g., at least some signals 248), assist in obtaining and using SPS signals 260, or both, to determine the location of the UE 200. The PMD 219 may be configured to: use one or more other techniques (e.g., those that rely on the UE's self-reported location (e.g., part of the UE's positioning beacon)) to determine the location of the UE 200, and may use a combination of techniques (e.g., SPS and ground positioning signals) to determine the location of the UE 200. PMD 219 may include one or more sensors 213 (e.g., gyroscopes, accelerometers, magnetometers, etc.) that sense the orientation and / or motion of UE 200 and provide an indication of such orientation and / or motion. Processor 210 (e.g., processor 230 and / or DSP 231) may be configured to use this indication to determine the motion of UE 200 (e.g., velocity vector and / or acceleration vector). PMD 219 may be configured to provide an indication of uncertainty and / or error in the determined positioning and / or motion.

[0068] Also refer to Figure 3Examples of TRP 300 of BS 110a, 110b, 114 include a computing platform containing processor 310, a memory 311 including software (SW) 312, a transceiver 315, and (optionally) an SPS receiver 317. Processor 310, memory 311, transceiver 315, and SPS receiver 317 are communicatively coupled to each other via bus 320 (which may be configured, for example, for optical and / or electrical communication). One or more of the illustrated devices (e.g., a wireless interface and / or SPS receiver 317) may be omitted from TRP 300. SPS receiver 317 may be configured similarly to SPS receiver 217 to receive and acquire SPS signal 360 via SPS antenna 362. Processor 310 may include one or more intelligent hardware devices (e.g., a central processing unit (CPU), microcontroller, application-specific integrated circuit (ASIC), etc.). Processor 310 may include multiple processors (e.g., including such...). Figure 2 (The general-purpose / application processor, DSP, modem processor, video processor, and / or sensor processor shown). Memory 311 is a non-transient storage medium, which may include random access memory (RAM), flash memory, disk storage, and / or read-only memory (ROM), etc. Memory 311 stores software 312, which may be processor-readable, processor-executable software code containing instructions configured to cause processor 310 to perform the various functions described herein when executed. Alternatively, software 312 may not be directly executable by processor 310, but may be configured (e.g., when compiled and executed) to cause processor 310 to perform various functions. This description may refer only to processor 310 performing functions, but this includes other implementations, such as processor 310 performing software and / or firmware implementations. This description may refer to processor 310 performing functions as a shorthand for one or more processors included in processor 310 performing that function. This description may refer to the TRP300 execution function as a shorthand for one or more appropriate components of the TRP 300 (and thus BS 110a, 110b, 114) performing that function. The processor 310 may include memory with stored instructions as a supplement and / or replacement for memory 311. The functionality of the processor 310 is discussed more fully below.

[0069] Transceiver 315 may include a wireless transceiver 340 and a wired transceiver 350 configured to communicate with other devices via wireless and wired connections, respectively. For example, wireless transceiver 340 may include a transmitter 342 and a receiver 344 coupled to one or more antennas 346 for transmitting (e.g., on one or more uplink channels) and / or receiving (e.g., on one or more downlink channels) wireless signals 348 and converting signals from wireless signals 348 to wired (e.g., electrical and / or optical) signals and from wired (e.g., electrical and / or optical) signals to wireless signals 348. Thus, transmitter 342 may include multiple transmitters that may be discrete components or combined / integrated components, and / or receiver 344 may include multiple receivers that may be discrete components or combined / integrated components. Wireless transceiver 340 can be configured to transmit signals according to various radio access technologies (RATs) such as 5G New Radio (NR), GSM (Global System for Mobile Communications), UMTS (Universal Mobile Telecommunications System), AMPS (Advanced Mobile Telephone System), CDMA (Code Division Multiple Access), WCDMA (Wideband CDMA), LTE (Long Term Evolution), LTE Direct (LTE-D), 3GPP LTE-V2X (PC5), IEEE 802.11 (including IEEE 802.11p), WiFi, WiFi Direct (WiFi-D), Bluetooth®, Zigbee, etc., to (e.g., with UE 200, one or more other UEs, and / or one or more other devices). Wired transceiver 350 may include transmitter 352 and receiver 354 configured for wired communication (e.g., with network 140) to, for example, send and receive communications to LMF 120. Transmitter 352 may include multiple transmitters, which may be discrete components or combined / integrated components, and / or receiver 354 may include multiple receivers, which may be discrete components or combined / integrated components. Wired transceiver 350 may be configured for, for example, optical communication and / or electrical communication.

[0070] Figure 3 The configuration of TRP 300 shown is illustrative and not intended to limit this disclosure (including the claims), and other configurations may be used. For example, the description herein discusses TRP 300 being configured to perform several functions or TRP 300 performing several functions, but one or more of these functions may be performed by LMF 120 and / or UE 200 (i.e., LMF 120 and / or UE 200 may be configured to perform one or more of these functions).

[0071] Also refer to Figure 4Example of server 400 includes a computing platform containing processor 410, a memory 411 containing software (SW) 412, and a transceiver 415. Processor 410, memory 411, and transceiver 415 are communicatively coupled to each other via bus 420 (which may be configured for, for example, optical communication and / or electrical communication). One or more of the illustrated devices (e.g., a wireless interface) may be omitted from server 400. Processor 410 may include one or more intelligent hardware devices (e.g., a central processing unit (CPU), a microcontroller, an application-specific integrated circuit (ASIC), etc.). Processor 410 may include multiple processors (e.g., including such...). Figure 2 (The general-purpose / application processor, DSP, modem processor, video processor, and / or sensor processor shown). Memory 411 is a non-transient storage medium, which may include random access memory (RAM), flash memory, disk storage, and / or read-only memory (ROM), etc. Memory 411 stores software 412, which may be processor-readable, processor-executable software code containing instructions configured to cause processor 410 to perform the various functions described herein when executed. Alternatively, software 412 may not be directly executable by processor 410, but may be configured (e.g., when compiled and executed) to cause processor 410 to perform various functions. This description may refer only to processor 410 performing functions, but this includes other implementations, such as processor 410 performing software and / or firmware implementations. This description may refer to processor 410 performing functions as a shorthand for one or more processors included in processor 410 performing that function. This description may refer to the server 400 (or LMF 120) performing functions as a shorthand for one or more appropriate components of the server 400 (e.g., LMF 120) performing those functions. The processor 410 may include memory with stored instructions as a supplement to and / or replacement of memory 411. The functionality of the processor 410 is discussed more fully below.

[0072] Transceiver 415 may include a wireless transceiver 440 and a wired transceiver 450 configured to communicate with other devices via wireless and wired connections, respectively. For example, wireless transceiver 440 may include a transmitter 442 and a receiver 444 coupled to one or more antennas 446 for transmitting and / or receiving wireless signals 448 (e.g., on one or more downlink channels) and converting signals from wireless signals 448 to wired (e.g., electrical and / or optical) signals and from wired (e.g., electrical and / or optical) signals to wireless signals 448. Thus, transmitter 442 may include multiple transmitters that may be discrete components or combined / integrated components, and / or receiver 444 may include multiple receivers that may be discrete components or combined / integrated components. Wireless transceiver 440 may be configured to transmit signals according to various radio access technologies (RATs) such as 5G New Radio (NR), GSM (Global System for Mobile Communications), UMTS (Universal Mobile Telecommunications System), AMPS (Advanced Mobile Telephone System), CDMA (Code Division Multiple Access), WCDMA (Wideband CDMA), LTE (Long Term Evolution), LTE Direct (LTE-D), 3GPP LTE-V2X (PC5), IEEE 802.11 (including IEEE 802.11p), WiFi, WiFi Direct (WiFi-D), Bluetooth®, Zigbee, etc., to (e.g., with UE 200, one or more other UEs, and / or one or more other devices). Wired transceiver 450 may include transmitter 452 and receiver 454 configured for wired communication (e.g., with network 135) to, for example, send and receive communications to TRP 300. Transmitter 452 may include multiple transmitters, which may be discrete components or combined / integrated components, and / or receiver 454 may include multiple receivers, which may be discrete components or combined / integrated components. Wired transceiver 450 may be configured for, for example, optical communication and / or electrical communication.

[0073] Figure 4 The configuration of server 400 shown is exemplary and not intended to limit this disclosure (including the claims), and other configurations may be used. For example, wireless transceiver 440 may be omitted. Additionally or alternatively, the description herein discusses server 400 being configured to perform several functions or server 400 performing several functions, but one or more of these functions may be performed by TRP 300 and / or UE 200 (i.e., TRP 300 and / or UE 200 may be configured to perform one or more of these functions).

[0074] Reference Figure 5A And further refer to Figure 1-4 This diagram illustrates an example use case for dynamic alerts based on the location of mobile users. Figure 5A The use cases include a first mobile device 502 at a first location 510 and a second mobile device 504 at a second location 512. The first mobile device 502 and the second mobile device 504 may include... Figure 2 Some or all of the components shown make UE 200 an example of first and second mobile devices 502, 504. First mobile device 502 and second mobile device 504 are associated with corresponding first and second users ( Figure 5A(Not shown in the image) are associated with the first and second mobile devices 502, 504. The first and second mobile devices 502, 504 are configured to utilize various satellite and terrestrial positioning technologies (e.g., satellite-based positioning, cellular-based positioning, WiFi-based positioning, Bluetooth-based positioning, sensor-based positioning, or any combination thereof). For example, mobile devices 502, 504 may include an SPS receiver 217. Other positioning technologies may be used, such as RTT, multiple RTT, OTDOA (also known as TDOA and including UL-TDOA and DL-TDOA), enhanced cellular identifier (E-CID), DL-AoD, UL-AoA, etc. RTT uses the time it takes for a signal to travel from one entity to another and back to determine the range between the two entities. This range, plus the known location of the first entity and the angle between the two entities (e.g., azimuth), can be used to determine the location of the second entity. In multiple RTTs (also known as multiple cell RTTs), multiple ranges from one entity (e.g., mobile devices 502, 504) to other entities (e.g., TRPs), along with the known locations of those other entities, can be used to determine the location of that one entity. In TDOA (Time-of-Arrival Overlap) technology, the time difference of travel between one entity and other entities can be used to determine the relative range with respect to those other entities, and those relative ranges, combined with the known locations of those other entities, can be used to determine the location of that one entity. Angles of arrival and / or angles of departure can be used to help determine the location of an entity. For example, the angle of arrival or angle of departure of a signal, combined with the range between devices (ranges determined using signals (e.g., signal travel time, signal received power, etc.)) and the known location of one of these devices, can be used to determine the location of another device. Angles of arrival or angles of departure can be azimuths relative to a reference direction (such as true north). Angles of arrival or angles of departure can also be zenith angles relative to the direct upward direction from the entity (i.e., radially outward from the Earth's center). E-CID uses the identity of the serving cell, timing advance (i.e., the difference between the receive and transmit times at the mobile device), estimated timing and power of detected neighboring cell signals, and possible angles of arrival (e.g., the angle of arrival of signals from the base station at the mobile device, or vice versa) to determine the location of the mobile device. In TDOA, the time difference of arrival of signals from different sources at the receiving device, along with the known locations of these sources and the known offsets of the transmission times from these sources, are used to determine the location of the receiving device.

[0075] The first mobile device 502 and the second mobile device 504 are configured to communicate with a network 508. The network 508 may include one or more components of the communication system 100. The network 508 may be configured to determine location information and provide that location information to the mobile devices 502 and 504. For example, the LMF 120 may be configured to calculate the location of the second mobile device 504 based on measurements received by the second mobile device 504.

[0076] In operation, the second mobile device 504 moves along a trajectory 506 toward the meeting location 516. For example, trajectory 506 could be a bus route, train track, highway, or other path between the second mobile device 504 and the meeting location 516. The meeting location 516 could represent a station, airport, parking lot, or other pre-designated location where the first and second users will meet. The first user can input an initial alarm to the first mobile device 502 based on the expected time the second user will arrive at the meeting location 516. The initial alarm can be based on the amount of time the first user will need to reach the meeting location 516.

[0077] A second mobile device 504 or another network resource is configured to determine the estimated time of arrival (ETA) at meeting location 516. In one example, the ETA may be based on the remaining distance 522 and the speed of mobile device 504. This speed may be based on input from SPS receiver 217, IMU 270, or other sensors 213. In one example, the ETA may be based on network resources, such as route planning applications and / or associated application interfaces (e.g., RouteXL, Google, Waze, etc.). The second mobile device 504 or the network resource may be configured to periodically update the ETA (e.g., 1, 2, 5, 10, 30 minutes, etc.) in part based on the current location of the second mobile device 504. A first mobile device 502 may be configured to access the updated ETA information. In one example, the updated ETA may be provided to the first mobile device 502 via a messaging protocol (e.g., SMS). The first mobile device 502 may be configured to periodically retrieve the updated ETA information from network 508.

[0078] In one embodiment, the updated ETA information may be stored in memory 211, and processor 230 may modify the initial alarm time based on the updated ETA information. For example, if the ETA indicates that the second user will arrive one hour later, the initial alarm may be reset to one hour later. Conversely, if the ETA indicates that the second user will arrive 45 minutes earlier, the initial alarm may be set to activate 45 minutes earlier. In one embodiment, the alarm function on the first mobile device may have a snorkeling function, and the updated ETA may be used to modify the snorkeling time value of the snorkeling function. The alarm time and / or snorkeling time value may be updated periodically based on updates to the ETA. In one example, a minimum change threshold (e.g., 5, 10, 20, 30 minutes, etc.) may be used before modifying the alarm time. That is, the alarm time will not change unless the difference between the updated ETA value and the current alarm time is greater than the threshold.

[0079] In addition to the updated ETA value, the alert time on the first mobile device 502 can also take into account the pick-up distance 520 between the first location 510 and the meeting location 516. For example, if the meeting location 516 is a train station, a route planning application can be used to determine the travel time from the first location 510 to the meeting location 516. Thus, the new alert time can be based on the updated ETA and the time required for the first user to arrive at the meeting location 516 at the ETA time. For example, if the second user is scheduled to arrive at the meeting location 516 at 6:00 AM, the first user can set an alert at 5:30 AM on the first mobile device 502 based on the knowledge that traffic between the first location 510 and the meeting location 516 is not congested at that time in the morning (e.g., before peak commuting). During the evening, the first mobile device 502 can receive, via network 508, an updated ETA from the second mobile device 504 indicating that the second user will not arrive at the meeting location 516 before 8:30 AM (i.e., a delay of 2 hours and 30 minutes). Upon receiving an updated ETA, the first mobile device 502 can be configured to access a route planning service (e.g., Waze Planned Drive) to determine the estimated driving time between the first location 510 and the meeting location 516. Since 8:30 AM falls during the morning rush hour, the travel time is expected to be approximately one hour. In one example, the first mobile device can be configured to adjust the alert from 5:30 AM to 7:30 AM to compensate for both the updated ETA and the expected increase in travel time. The new alert can also include a user-defined preparation time (e.g., 10, 15, 30 minutes, etc.) such that the adjusted alert is based on the updated ETA, the expected travel time, and the preparation time. In another example, the initial 5:30 AM alert can be activated at a specified time, but a nap function can indicate the updated ETA and recommend a nap until 7:30 AM based on traffic considerations. The nap time can also incorporate a user-defined preparation time.

[0080] Reference Figure 5B And further refer to Figure 1-5A This illustrates a sample user interface for inputting dynamic alarms on a mobile device 550. The mobile device 550 can be... Figure 5A The first mobile device 502. The mobile device 550 includes a display 552 as a user interface 216. Figure 5BThe data fields and objects depicted are merely examples and not limitations, as other data fields and objects can also be used in the user interface. In one example, the user interface for entering dynamic alerts includes a participant field 554, a station field 556, an ETA field 558, a preparation time field 560, an adjustment alert object 562, an adjustment nap object 564, and a dynamic alert indicator field 566. The participant field 554 can be used to associate another user with the dynamic alert. Continuing with the example above, a second user's email address or other contact information (e.g., name, phone number, etc.) can be entered. The participant field 554 can be used to associate the dynamic alert with that participant and to share location information. The station field 556 can be used to indicate the expected meeting point (such as a train station, airport, bus station, parking lot, address, latitude / longitude, or other physical location), such as meeting location 516. The station field 556 can include other information, such as the train, bus, or flight number associated with the participant's mode of transportation. Station bar 556 can be used in conjunction with an asset / vehicle tracking server to determine the ETA (Electronic Toll Collection) for public and private transportation vehicles (e.g., ferries, flights, trains, buses, limousines, carpooling, taxis, Uber, Lyft, etc.) to obtain ETA updates. In one example, station bar 556 can indicate the first location 510 when a second user plans to go directly to the first location 510 (i.e., the first user's location) instead of the meeting location 516.

[0081] ETA column 558 can be entered by the user or obtained from network 508 and indicates the estimated date and / or time that the participant (e.g., participant column 554) will arrive at the station or other designated location (e.g., station column 556). ETA column 558 can be updated based on the participant's current location and other events (e.g., weather, traffic, machinery, etc.) reported by transportation tracking or route services (e.g., flight trackers, Waze, etc.). Preparation time column 560 can be a user-defined time period indicating the additional preparation time the user may need before meeting the participant (e.g., time required for showering, dressing, eating, etc.). Preparation time can also be set to adjust for parking time, and / or baggage handling delays, or other time factors based on specific use cases. Adjusted alert object 562 and adjusted nap object 564 can be associated with one or more data columns and configured to capture the user's expectations for updated alert times and / or updated nap times based on ETA updates.

[0082] The dynamic alarm indicator bar 566 provides a visual indication of the current dynamic alarm activation time. For example, the time indicated in the dynamic alarm indicator bar 566 can be based on the expected travel time between the current location of the ETA bar 558, the preparation time bar 560, and the mobile device 550 and the station bar 556 (i.e., the rendezvous point). In one example, if the adjustment nap object 564 is selected, the dynamic alarm indicator bar 566 can be used to indicate a nap time value in addition to the current alarm time. The mobile device 550 is configured to activate alarms (e.g., sound, light, display, etc.) based on the dynamic alarm indicator bar 566. The mobile device 550 can be configured to track and maintain multiple dynamic alarms for different participants, rendezvous points, and ETA times, or combinations of these bars.

[0083] Reference Figure 6 And further refer to Figure 1-5B This diagram illustrates an example use case for dynamic alerts based on web server data. The use case includes a first user using a first mobile device 602 and a second user using a second mobile device 604. The first mobile device 602 and the second mobile device 604 may include… Figure 2 Some or all of the components shown, and may be examples of UE 105. Assume that the first and second users possess the corresponding first and second mobile devices 602, 604, and are not in... Figure 6 As shown in the diagram, a first mobile device 602 is configured to communicate with a web server 620 via a first communication path 622. The web server 620 is an example of server 400. The first communication path 622 may include one or more elements of the communication system 100. The web server 620 may include one or more public or private data structures and application interfaces configured to provide users with asset / vehicle tracking and route information. For example, the web server 620 may be an airline flight tracking application, a ride-sharing tracker (e.g., UBER, LYFT tracking), or other route web services (e.g., RouteXL, Google Waze, etc.). The web server 620 may include a REST API or similar protocol and is configured to respond to queries with ETA and travel time information. The web server may provide information to the mobile device 602 in known formats such as XML, JSON, CSV, etc.

[0084] In operation, the second user and the second mobile device 604 can travel on a moving vehicle 612 along a route 606 to station 616. Vehicle 612 communicates with web server 620 via a second communication link 624. The second communication link 624 may include elements of communication system 100, or it may be based on other network technologies. For example, when vehicle 612 is an aircraft, the second communication link 624 may be a dedicated communication protocol to provide flight tracking and ETA information to web server 620 via the Internet or other wide area networks. Vehicle 612 may provide location updates to web server 620 as it travels along route 606, and web server 620 may be configured to generate an updated ETA and provide it to the first mobile device 602. In one example, the second mobile device 604 may be configured to communicate with web server 620 via a third communication link 626. The third communication link may be a cellular network, such as communication system 100. The second mobile device 604 can be configured to provide periodic location updates to the web server 620 via a third communication link 626.

[0085] A first user can input a motion alert into a first mobile device 602, causing the motion alert to include the second user's name or other identifying information in the participant field 554. In one example, the first mobile device 602 can use the participant field 554 to query the web server 620 and receive location and time information based on the last reported location of the second mobile device 604. The motion alert may include a station field 556 and / or a flight number (or other fields associated with the vehicle 612), and the first mobile device 602 may query the web server 620 based on the flight number to obtain location and updated ETA information. The location information and / or updated ETA information may be used to calculate the motion alert or slack value, such as depicted in the motion alert indicator field 566. In one example, the motion alert may also be based in part on the pick-up distance 618 between the first location 610 and station 616. That is, the motion alert may include determining the estimated travel time from the first location 610 to station 616 to allow the user to arrive at station 616 when vehicle 612 (and the second user) arrives at station 616.

[0086] Reference Figure 7 And further refer to the appendix Figure 1-5BThis diagram illustrates an example use case diagram for dynamic alerts based on calendar updates. The use case includes a mobile device 702 and a user location 710. Mobile device 702 is an example of UE 105 and is configured to communicate with server 704 via communication link 706. Communication path 706 may include one or more components of communication system 100. Server 704 is an example of server 400 and may be a cloud-based system (such as Microsoft Azure Cloud) configured with a calendar management application 708 (such as MS Outlook). Calendar management application 708 may include event objects (such as meeting invitations 712). Mobile device 702 may be configured to communicate with server 704 via the Internet, and a local version of calendar management application 708 may be configured to run on mobile device 702 while synchronizing with server 704.

[0087] In operation, users can input dynamic alerts based on event objects in the calendar management application 708. The participant field 554 can represent the meeting ID value, the station field 556 can represent the meeting location 716, and the ETA field can represent the meeting start time (i.e., 8:00 AM). Dynamic alerts on the mobile device can be based on the meeting start time and the estimated distance 718 between the user's location 710 and the meeting location 716. That is, the mobile device 702 can use a route planning application (e.g., Google Waze) to determine the time required to travel from the user's location 710 to the meeting location 716. The user's location 710 can be based on the current location of the mobile device 702 or another location as specified by the user. For a start time of 8:00 AM, the predicted travel time is likely to be a relatively short period because traffic is less congested at that time in the morning compared to later start times. For example, if meeting invitation 712 is updated to a start time of 10:00 AM in meeting update 714, the expected travel time from user location 710 to meeting location 716 will increase due to increased traffic.

[0088] Mobile device 702 is configured to monitor a calendar application 708 for updates to event objects. For example, MSFlow or other software applications can be used to detect updates to objects in the calendar application 708. In this example, when meeting invitation 712 is updated to 10:00 AM, mobile device 702 is configured to access a route planning application to determine the estimated travel time to meeting location 716. Dynamic alerts can be updated based on changes to the start time and their corresponding impact on travel time. For example, a two-hour delay in meeting time (i.e., from 8:00 AM to 10:00 AM) may only correspond to a one-hour change in the dynamic alert, because a later meeting time will require more travel time due to more congested traffic later in the morning. Dynamic alerts may also include a preparation time column 560. In one example, a dynamic alert may include an updated nap time based on changes to the meeting time and the revised travel time.

[0089] Reference Figure 8 And further refer to the appendix Figure 1-7 This diagram illustrates an example use case for event-based task-based dynamic alerts. The use case includes a mobile device 802 configured to communicate with a server 806 via a communication link 804. The mobile device 802 may include... Figure 2 The components shown are some or all of those in UE 105. Server 806 may include one or more of the components of server 400 such that server 400 may be an example of server 806. Communication link 804 and server 806 may be part of communication system 100. In one example, mobile device 802 is configured to communicate with server 806 via the Internet or other wide area network. Mobile device 802 may include a schedule management application (e.g., MS Outlook, Gmail, Apple Mail) configured to receive appointment and task information from a user. In one example, the user's schedule data may also reside on server 806 (e.g., a cloud-based solution). The user may create schedule object 808 that includes the event start time and destination (e.g., address, user location). Schedule object 808 may be associated with one or more event tasks 810 entered by the user. Event tasks may include an inventory 812, a location 814, an ETA 816, and a duration 818. Schedule objects 808 and event tasks 810 may reside in the memory 211 of the mobile device 802 or in the memory 411 of the server 806.

[0090] During operation, the user can input the schedule object 808 and the associated event task 810 into the mobile device 802 or other computing device. Figure 8(Not shown in the image). The initial entries for event task 810 may simply include a list of items 812 that the user wants to bring along on their way to destination 828 in schedule object 808. For example, refer to... Figure 8 Event task 808 is associated with a party starting at 7:00 PM. The user is responsible for bringing a cake, balloons, and pizza to the party. The user can input each of these items into event task 810. Mobile device 802 and server 806 can be configured to interact with a cloud platform (e.g., Google Maps Platform Store Locator) to identify one or more stores selling these items. In this example, a query can be made to the cloud platform with a list of items, and the query results can include a list of stores that stock these items. In one example, the query results can be filtered based on the mobile device's current location and the location of destination 828, prioritizing stores between mobile device 802 and destination 828. Stores stocking multiple items in event task 810 can also be prioritized. The user can be given the option to select a store for each of items 812. The cloud platform can return a list of stores based on optimized route planning. Figure 8 In the example, a user selects three locations to visit en route to party destination 828. These locations include a bakery 822 on Elm Street, a party shop 824 on Birch Street, and a pizzeria 826 on Maple Street. A cloud-based platform determines a first route 821 from office 820 to bakery 822, a second route 823 from bakery 822 to party shop 824, a third route 825 from party shop 824 to pizzeria 826, and a fourth route 827 from pizzeria 826 to destination 828. The cloud platform determines the estimated travel time for each of routes 821, 823, 825, and 827, and the ETA field 816 for the event task is updated based on the estimated travel time. The user can enter the duration for each stop into the duration field 818, and the ETA value 816 is updated accordingly. A dynamic alert 830 can be generated based on the original event time (i.e., 7:00 PM) using the estimated travel time for each of routes 821, 823, 825, and 827, and the duration in the duration column 818. In this example, the dynamic alert 830 is set to 4:40 PM to indicate when the user should leave office 820 to complete the task and arrive at destination 828 on time. The dynamic alert 830 can be periodically updated throughout the day based on a revised travel time estimate (e.g., every 1, 5, 10, 30 minutes, etc.).

[0091] Reference Figure 9 And further refer to Figure 1-8The method 900 for determining dynamic alerts includes the stages shown. However, method 900 is merely an example and not limiting. Method 900 can be modified, for example, by adding, removing, rearranging, combining, concurrently executing, and / or splitting a single stage into multiple stages. For example, one or more stages may occur... Figure 9 Prior to the stages shown, and / or one or more stages may occur. Figure 9 Following the stages shown, the mobile device 502 can be an apparatus for implementing method 900.

[0092] In stage 902, method 900 includes receiving initial dynamic alarm information and event information via a first user interface. User interface 216 and processor 230 may be means for receiving initial dynamic alarm and event information. In one example, refer to... Figure 5B Users can output dynamic alerts via the display 552 of mobile device 550. Other computing devices can also be used to input dynamic alerts. Users can enter an participant field 554 to associate the dynamic alert with a person or event, and an ETA field 558 to enter the initial alert time. Users can also enter additional information associated with the alert (such as a station field 556) to indicate a potential rendezvous location (e.g., meeting location 516) and / or to associate the dynamic alert with a trackable object (such as an airplane, train, bus, carpooling vehicle, etc.). A preparation time field 560 can be included as additional time required to calculate the alert. In one example, the location of mobile device 550, obtained via satellite or terrestrial navigation technologies (e.g., satellite-based positioning, cellular-based positioning, WiFi-based positioning, Bluetooth-based positioning, sensor-based positioning, or any combination thereof), can be associated with the dynamic alert.

[0093] In stage 904, method 900 includes obtaining event information updates. Transceiver 215 and processor 230 may be means for obtaining event information updates. In one example, the device associated with the participant identified in column 554 (such as...) Figure 5AThe second mobile device 504 can provide periodic location updates to network 508 as it moves toward the planned meeting location 516. Network resources (such as LMF 120 or other servers) can be configured to determine an updated ETA for the second mobile device 504 based on the received location information. In one example, the second mobile device 504 can utilize a route planning application (e.g., Waze) to periodically determine the updated ETA for arrival at meeting location 516 and subsequently provide the updated ETA to the first mobile device 502 via a messaging protocol (e.g., SMS, email). In one example, the first mobile device 502 can obtain ETA updates for the second mobile device 504 in part from a route planning web service (e.g., Waze, RouteXL) based on participant column 554. The updated ETA for the second mobile device 504 is an example of an event information update. In one example, the updated ETA for vehicle 612 is an event information update. In another example, a schedule change in a schedule management application 708 can be an event information update.

[0094] At stage 906, method 900 includes calculating an alarm time modification based on an event information update. Processor 230 may be an apparatus for calculating the alarm time modification. In one example, the event information update is an updated ETA time associated with the arrival of the second user at meeting location 516. Processor 230 is configured to modify the value of dynamic alarm indicator 566 based on the updated ETA. For example, if the updated ETA is one hour later, dynamic alarm indicator 566 may be changed to one hour later. In one embodiment, calculating the alarm time modification may also be based on other conditions, such as expected traffic at meeting location 516 at the updated ETA time. Mobile device 502 may be configured to obtain the expected travel time between the location of the first mobile device 502 and meeting location 516, and processor 230 may be configured to calculate the alarm time modification based on the event information update and the expected travel time. Processor 230 may also utilize a preparation time bar 560 to calculate the alarm time modification. In one embodiment, the alarm time modification may include a nap time. For example, processor 230 may keep the dynamic alarm time constant and calculate the slump time based on event information updates. Method 900 may periodically iterate back to stage 904 to determine further changes to the event information. For example, first mobile device 502 may query a server on network 508 every 5, 10, 15 minutes, etc., to obtain updated location information, updated vehicle tracking information, updated schedule information for second mobile device 504, and subsequently calculate the new alarm time modification in each iteration. In one example, the dynamic alarm indicator 566 is not updated unless the alarm time modification is greater than a time threshold (e.g., 5, 10, 20 minutes, etc.) compared to the current alarm value.

[0095] At stage 908, method 900 includes activating a device alarm at least in part based on initial dynamic alarm information and an alarm time modification. Processor 230 may be an apparatus for activating the device alarm. Processor 230 may be configured to compare the current time with a dynamic alarm indicator 566 and activate one or more notification objects, such as an audio file, a flash, a vibration pattern, a display message, or a combination thereof. The dynamic alarm indicator 566 may be provided as a reminder time to a scheduling application, which may then activate the alarm. In one example, activating a device alarm includes triggering a processing flow, such as sending a message or command to one or more Internet of Things (IoT) devices. That is, activating a device alarm may include triggering IoT devices, such as bedroom speakers, room lights, a television, a coffee maker, or other networked devices in a smart home. In one example, activating a device alarm includes activating the device alarm based on initial dynamic alarm information and presenting a nap option based on an alarm time modification. The device alarm may be reactivated at the end of the nap time. During the nap period, method 900 can continue to iterate to stages 904 and 906, and provide updated nap notifications based on further event information updates.

[0096] Reference Figure 10 And further refer to Figure 1-8 The method 1000 for calculating dynamic alerts based on route information includes the stages shown. However, method 1000 is merely an example and not limiting. Method 1000 can be modified, for example, by adding, removing, rearranging, combining, executing concurrently, and / or splitting a single stage into multiple stages. For example, one or more stages may occur... Figure 10 Prior to the stages shown, and / or one or more stages may occur. Figure 10 Following the stages shown, the mobile device 802 can be an apparatus for implementing method 1000.

[0097] In stage 1002, method 1000 includes receiving event time, event location, and one or more event tasks via a user interface. The user interface 216 and processor 230 may be means for receiving event information. (See also...) Figure 8In the example, a user can input a schedule object 808, including the event time (i.e., 7:00 PM) and the event location (i.e., destination 828), into a mobile device or other networked computing system. Schedule object 808 can be part of a calendar management application (such as MS Outlook). One or more event tasks 810 can also be associated with schedule object 808. In one example, one or more of the event tasks 810 may include an item bar 812 indicating the items the user expects to bring to the event. In one example, an event task may be assigned and imported into a user's event task 810 or otherwise associated with a user's event task 810 by another user or system (such as a web-based invitation management application, e.g., evite.com)

[0098] In stage 1004, method 1000 includes determining the location of an event task for the one or more event tasks. Transceiver 215 and processor 230 may be means for determining the location of the event task. Event task 810 may include an item 812 to be obtained by a user on a route to destination 828. Mobile device 802 may utilize transceiver 215 to access a web service and determine the location 814 for item 812. For example, Google Maps Platform Store Locator is a web service configured to provide the location associated with the item. The results of the web service search and user selections (if desired) may be stored in the location field 814 of event task 810. In one embodiment, the event task may have a location not associated with the item to be obtained. For example, the event task may include placing the item at a location entered by the user.

[0099] In stage 1006, method 1000 includes calculating route information based at least on event time, event location, and event task location. Transceiver 215 and processor 230 may be means for calculating the route information. Mobile device 802 is configured to access a route planning application (e.g., Waze, RouteXL) to determine the path between the event task location and the destination and estimate travel time. Figure 8 In the example depicted, the event task locations include bakery 822, party shop 824, and pizzeria 826. Each of routes 821, 823, 825, and 827 has an estimated travel time that can be stored in memory 211. The order of event locations along the routes can be based on route optimizations provided by a route planning application (e.g., shortest, fastest, least toll, etc.) or other considerations (such as keeping the pizza warm (i.e., it will be brought last)).

[0100] In stage 1008, method 1000 includes calculating the alarm time based at least in part on route information. Processor 230 may be a means for calculating the alarm time. The alarm time can be determined by subtracting the estimated travel time from the route information calculated in stage 1006 from the event time received in stage 1002. In one example, the user can provide duration information for each location in duration column 818. The total duration can also be incorporated into the alarm calculation. The resulting dynamic alarm 830 can be stored in the alarm column of the schedule object 808 (e.g., MeetingItem.ReminderTime in the MS Outlook object model). The alarm time can be stored in memory 211 and used as a trigger by other applications on the mobile device 802. Method 1000 may include periodically iterating back to stage 1006 to update the route information and subsequently recalculating the alarm time.

[0101] In phase 1010, method 1000 includes activating a device alarm based on the alarm time. Processor 230 may be a means for activating the device alarm. Processor 230 may be configured to compare the current time with the dynamic alarm 830 and activate one or more notification objects, such as an audio file, a flash, a vibration pattern, a display message, or a combination thereof. The device alarm may be activated based on the functionality of a calendar application. For example, the dynamic alarm 830 may be saved to the reminder time bar in a calendar object 808, and the calendar application may be configured to provide notifications or warnings based on the reminder time. In one example, activating a device alarm includes triggering a processing flow, such as sending a message or command to one or more Internet of Things (IoT) devices.

[0102] Other examples and implementations fall within the scope of this disclosure and the appended claims. For example, due to the nature of software and computers, the above-described functions can be implemented using software, hardware, firmware, hardwired, or any combination thereof executed by a processor. Features implementing the functions can also be physically located in various locations, including being distributed such that different parts of the functions are implemented at different physical locations. For example, one or more functions or one or more parts thereof that occur in servers 400 (e.g., LMF 120), 620, 704, and 806 as discussed above can be executed by other servers (such as TRP 300).

[0103] As used herein, the singular forms of “a,” “some,” and “the” also include the plural forms, unless the context clearly indicates otherwise. For example, “processor” can include one or more processors. As used herein, the terms “comprising,” “having,” “including,” and / or “containing” indicate the presence of the described features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0104] Similarly, as used herein, the "or" used in a list of items followed by "at least one of" or "one or more of" indicates a disjunctive list such that a list of, for example, "at least one of A, B or C" or "one or more of A, B or C" represents A or B or C or AB or AC or BC or ABC (i.e., A and B and C), or a combination having more than one feature (e.g., AA, AAB, ABBC, etc.).

[0105] Substantial modifications can be made to suit specific requirements. For example, custom hardware can be used, and / or specific elements can be implemented in the hardware, in processor-executed software (including portable software such as applets), or both. Furthermore, connectivity to other computing devices (such as network input / output devices) can be employed.

[0106] The systems and devices discussed above are examples. Various configurations may appropriately omit, substitute, or add various procedures or components. For example, features described with reference to certain configurations may be combined in various other configurations. Different aspects and elements of a configuration may be combined in a similar manner. Furthermore, technology evolves, and thus many elements are examples and do not limit the scope of this disclosure or the claims.

[0107] Unless otherwise stated, the interconnected or communicating components (functionally or otherwise) shown in the figures and / or discussed herein are communicatively coupled. That is, they may be connected directly or indirectly to enable communication between them.

[0108] A wireless communication system is a system in which communication is transmitted wirelessly, that is, through the atmospheric space via electromagnetic waves and / or sound waves rather than through wires or other physical connections. A wireless communication network may not necessarily transmit all communications wirelessly, but may be configured to transmit at least some communications wirelessly. Furthermore, the term "wireless communication device" or similar terms do not require that the device's functionality be exclusively or uniformly primarily used for communication, or that the device is a mobile device, but rather indicate that the device includes wireless communication capabilities (one-way or two-way), for example, including at least one radio (each radio being part of a transmitter, receiver, or transceiver) for wireless communication.

[0109] Specific details are provided in this description to offer a thorough understanding of the example configurations, including their implementations. However, these configurations can be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques have been shown without unnecessary detail to avoid obscuring these configurations. This description provides only example configurations and does not limit the scope, applicability, or configuration of the claims. Rather, the preceding description of the configurations provides a description for implementing the techniques described. Various changes can be made to the function and arrangement of the elements without departing from the scope of this disclosure.

[0110] As used herein, unless otherwise stated, a description of a function or operation “based on” an item or condition means that the function or operation is based on the described item or condition and may be based on one or more items and / or conditions other than the described item or condition.

[0111] As used herein, the terms “processor-readable medium,” “machine-readable medium,” and “computer-readable medium” refer to any medium that participates in providing data that enables a machine to operate in a particular manner. Using a computing platform, various processor-readable media may involve providing instructions / code to (such as) processors for execution, and / or being used to store and / or carry such instructions / code (e.g., as signals). In many implementations, processor-readable media are physical and / or tangible storage media. Such media can take many forms, including but not limited to non-volatile and volatile media. Non-volatile media include, for example, optical discs and / or magnetic disks. Volatile media include, but are not limited to, dynamic memory.

[0112] A statement whose value exceeds (or is greater than or higher than) a first threshold is equivalent to a statement whose value meets or exceeds a second threshold slightly greater than the first threshold. For example, in the resolution of the computing system, the second threshold is one value higher than the first threshold. A statement whose value is less than the first threshold (or within or below the first threshold) is equivalent to a statement whose value is less than or equal to a second threshold slightly lower than the first threshold. For example, in the resolution of the computing system, the second threshold is one value lower than the first threshold.

[0113] Examples of implementations are described in the following numbered clauses:

[0114] 1. A method for providing dynamic alerts using a mobile device, comprising:

[0115] Initial dynamic alarm information and event information are received via the first user interface;

[0116] Get event information updates;

[0117] The alarm time modification is calculated based on the updated event information; and

[0118] The device alarm is activated at least in part based on the initial dynamic alarm information and the alarm time modification.

[0119] 2. The method of Clause 1, wherein the event information includes identification information associated with the second user.

[0120] 3. The method of either Clause 1 or 2, wherein the event information includes an indication of the rendezvous location.

[0121] 4. The method of Clause 3 further includes: determining an estimated travel time from the location of the first device associated with the first user to the rendezvous location, wherein the alarm time modification is based in part on the estimated travel time.

[0122] 5. The method of any of Clauses 1 to 4, wherein the event information includes vehicle tracking information associated with the vehicle.

[0123] 6. The method of any of Clauses 1 to 5, wherein the event information is associated with a schedule object in a schedule management application.

[0124] 7. The method of any of Clauses 1 to 6, wherein the event information update includes an estimated time of arrival based on the current location of the second device associated with the second user.

[0125] 8. The method of any of Clauses 1 to 7, wherein the event information update includes an estimated arrival time for the vehicle.

[0126] 9. The method of any of Clauses 1 to 8, wherein the event information update includes schedule changes in a schedule object in a schedule management application.

[0127] 10. The method of any of Clauses 1 to 9, wherein calculating the alarm time modification includes adding a preparation time value.

[0128] 11. The method of any of Clauses 1 to 10, wherein calculating the alarm time modification includes calculating a nap time value based on the initial dynamic alarm information and the event information update, and wherein activating the device alarm includes providing a nap option via a first user interface based on the nap time value.

[0129] 12. The method of any of Clauses 1 to 11, wherein activating the device alarm includes sending a command to one or more Internet of Things (IoT) devices.

[0130] 13. An apparatus comprising:

[0131] Memory;

[0132] At least one processor, operatively coupled to the memory and configured to:

[0133] Initial dynamic alarm information and event information are received via the first user interface;

[0134] Get event information updates;

[0135] The alarm time modification is calculated based on the updated event information; and

[0136] The device alarm is activated at least in part based on the initial dynamic alarm information and the alarm time modification.

[0137] 14. The device as described in Clause 13, wherein the event information includes identification information associated with a second user.

[0138] 15. The device as described in any of Clauses 13 or 14, wherein the event information includes an indication of the rendezvous location.

[0139] 16. The apparatus of Clause 15, wherein the at least one processor is further configured to: determine an estimated travel time from the location of the first device associated with the first user to the rendezvous location, wherein the alarm time modification is based in part on the estimated travel time.

[0140] 17. The device of any of Clauses 13 to 16, wherein the event information update includes an estimated time of arrival based on the current location of the second device associated with the second user.

[0141] 18. The apparatus of any of Clauses 13 to 17, wherein the at least one processor is further configured to: calculate a nap time value based on the initial dynamic alarm information and the event information update, and to provide a nap option to the user based on the nap time value.

[0142] 19. A device for providing dynamic alarms, comprising:

[0143] A means for receiving initial dynamic alarm information and event information via a first user interface;

[0144] Device for obtaining updates to event information;

[0145] A device for calculating alarm time modifications based on the event information update; and

[0146] A means for activating a device alarm based at least in part on the initial dynamic alarm information and the alarm time modification.

[0147] 20. The device as described in Clause 19, wherein the event information includes identification information associated with the second user.

[0148] 21. The device of any of Clauses 19 or 20, wherein the event information includes an indication of the rendezvous location.

[0149] 22. The device as described in Clause 21 further includes: means for determining an estimated travel time from the location of the first device associated with the first user to the rendezvous location, wherein the alarm time modification is based in part on the estimated travel time.

[0150] 23. The device of any of Clauses 19 to 22, wherein the event information includes vehicle tracking information associated with the vehicle.

[0151] 24. The device of any of the terms 19 to 23, wherein the event information is associated with a schedule object in a schedule management application.

[0152] 25. The device of any of Clauses 19 to 24, wherein the event information update includes an estimated time of arrival based on the current location of the second device associated with the second user.

[0153] 26. The equipment of any of Clauses 19 to 25, wherein the event information update includes an estimated arrival time for the vehicle.

[0154] 27. The device of any of the terms 19 to 26, wherein the event information update includes schedule changes in a schedule object in a schedule management application.

[0155] 28. The device of any of Clauses 19 to 27, wherein the means for calculating the alarm time modification includes means for adding a preparation time value.

[0156] 29. The device of any of Clauses 19 to 28, wherein the means for calculating the alarm time modification includes means for calculating a nap time value based on the initial dynamic alarm information and the event information update, and wherein the means for activating the device alarm includes means for providing a nap option to the user based on the nap time value.

[0157] 30. A non-transient processor-readable storage medium comprising processor-readable instructions for enabling one or more processors to provide dynamic alarms, comprising:

[0158] Code used to receive initial dynamic alarm and event information via the first user interface;

[0159] Code used to obtain event information updates;

[0160] Code for calculating alarm time modifications based on the updated event information; and

[0161] Code used to activate a device alarm based at least in part on the initial dynamic alarm information and the alarm time modification.

[0162] 31. A method for providing dynamic alerts, comprising:

[0163] Receive event time, event location, and one or more event tasks via the user interface;

[0164] Determine the location of the event task for the one or more event tasks;

[0165] Route information should be calculated based at least on the event time, the event location, and the event task location;

[0166] The alarm time is calculated at least in part based on the route information; and

[0167] The device alarm is activated based on the alarm time.

[0168] 32. The method of Clause 31, wherein the one or more event tasks include an item, and determining the location of the event task includes determining the location associated with the item.

[0169] 33. The method of any of Clauses 31 or 32, wherein receiving the one or more event tasks via the user interface includes receiving one or more event tasks assigned to the user from the invitation management application.

[0170] 34. The method of any of Clauses 31 to 33, wherein calculating the route information includes receiving an estimated travel time from a route planning application based on the event time, the event location, and the event task location.

[0171] 35. The method of any of Clauses 31 to 34, wherein one or more of the event task locations are associated with the duration, and the alarm time is calculated based at least in part on the route information and the duration.

[0172] 36. The method of any of Clauses 31 to 35, wherein activating the device alarm includes providing an alarm time to the alarm bar in a schedule object in a schedule management application.

[0173] 37. An apparatus comprising:

[0174] Memory;

[0175] At least one processor, operatively coupled to the memory and configured to:

[0176] Receive event time, event location, and one or more event tasks via the user interface;

[0177] Determine the location of the event task for the one or more event tasks;

[0178] Route information should be calculated based at least on the event time, the event location, and the event task location;

[0179] The alarm time is calculated at least in part based on the route information; and

[0180] The device alarm is activated based on the alarm time.

[0181] 38. The apparatus of Clause 37, wherein the one or more event tasks include an item, and determining the location of the event task includes determining the location associated with the item.

[0182] 39. An apparatus as described in any of Clauses 37 or 38, wherein the at least one processor is further configured to receive one or more event tasks assigned to a user from an invitation management application.

[0183] 40. The apparatus of any of clauses 37 to 39, wherein the at least one processor is further configured to receive from the route planning application an estimated travel time based on the event time, the event location, and the event task location.

[0184] 41. An apparatus of any of clauses 37 to 34, wherein one or more of the event task locations are associated with a duration, and the at least one processor is further configured to calculate the alarm time based at least in part on the route information and the duration.

[0185] 42. The apparatus of any of clauses 37 to 41, wherein the at least one processor is further configured to: provide an alarm time to an alarm bar in a schedule object in a schedule management application.

[0186] 43. A device for providing dynamic alarms, comprising:

[0187] A means for receiving event time, event location, and one or more event tasks via a user interface;

[0188] A means for determining the location of an event task for the one or more event tasks;

[0189] A means for calculating route information based at least on the event time, the event location, and the event task location;

[0190] A device for calculating the alarm time based at least in part on the route information; and

[0191] A device for activating a device alarm based on the alarm time.

[0192] 44. The device as described in Clause 43 further includes means for receiving one or more event tasks assigned to a user from an invitation management application.

[0193] 45. The device of any of Clauses 43 or 44 further includes means for receiving an estimated travel time from a route planning application based on the event time, the event location, and the event task location.

[0194] 46. ​​A non-transient processor-readable storage medium comprising processor-readable instructions configured to enable one or more processors to provide dynamic alarms, comprising:

[0195] Code used to receive event time, event location, and one or more event tasks via a user interface;

[0196] Code used to determine the location of the event task for the one or more event tasks;

[0197] Code for calculating route information based at least on the event time, the event location, and the event task location;

[0198] Code for calculating alarm times based at least in part on the route information; and

[0199] The code used to activate the device alarm based on the alarm time.

[0200] 47. The non-transient processor-readable storage medium of Clause 46 further includes code for receiving one or more event tasks assigned to a user from an invitation management application.

[0201] 48. A non-transient processor-readable storage medium, such as that in any of Clauses 46 or 47, further includes code for receiving an estimated travel time from a route planning application based on event time, event location, and event task location.

Claims

1. A method for providing dynamic alerts using a mobile device (105) associated with a first user, comprising: Initial dynamic alarm information and event information are received via the first user interface (216); Periodically obtain event information updates from the network, wherein the event information updates include an estimated arrival time at the meeting location (516) based on the current location of the second device associated with the second user; Obtain the expected travel time between the location of the mobile device (105) and the meeting location (516); The alarm time modification is calculated based on the event information update and the expected travel time; and The device alarm is activated at least in part based on the initial dynamic alarm information and the alarm time modification.

2. The method of claim 1, wherein the event information includes identification information associated with the second user.

3. The method of claim 1, wherein the event information includes vehicle tracking information associated with the vehicle, and wherein the event information update includes an estimate of the vehicle's arrival.

4. The method of claim 1, wherein the event information is associated with a schedule object in a schedule management application, and wherein the event information update includes schedule changes in the schedule object in the schedule management application.

5. The method of claim 1, wherein calculating the alarm time modification includes adding a preparation time value.

6. The method of claim 1, wherein calculating the alarm time modification includes calculating a nap time value based on the initial dynamic alarm information and the event information update, and wherein activating the device alarm includes providing a nap option via the first user interface based on the nap time value.

7. A mobile device (105) associated with a first user for providing dynamic alerts, comprising: Memory (211); At least one processor (232), said at least one processor (232) being operatively coupled to the memory (211) and configured to: Initial dynamic alarm information and event information are received via the first user interface (216); Periodically obtain event information updates from the network, wherein the event information updates include an estimated arrival time at the meeting location (516) based on the current location of the second device associated with the second user; Obtain the expected travel time between the location of the mobile device (105) and the meeting location (516); The alarm time modification is calculated based on the event information update and the expected travel time; and The device alarm is activated at least in part based on the initial dynamic alarm information and the alarm time modification.

8. A non-transient processor-readable storage medium (211) including processor-readable instructions for enabling one or more processors (232) to provide dynamic alarms, comprising: Code for receiving initial dynamic alarm information and event information via a first user interface (216) of a mobile device associated with a first user; Code for periodically obtaining event information updates from the network, wherein the event information updates include an estimated arrival time at the meeting location (516) based on the current location of the second device associated with the second user; Code used to obtain the expected travel time between the location of the mobile device (105) and the meeting location (516); Code for calculating alarm time modification based on the event information update and the expected travel time; as well as Code for activating a device alarm based at least in part on the initial dynamic alarm information and the alarm time modification.