# US 12,004,042 B2 · Device to device communication and wayfinding

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,004,042 B2
- Document ID: US12004042B2
- Status: Granted
- Kind: B2
- Application number: 17/393,826
- Filed: 2021-08-04
- Published: 2021-11-25
- Granted: 2024-06-04
- Earliest claimed: 2019-09-24
- Assignees: T-Mobile USA, Inc.
- Applicants: T-Mobile USA, Inc.
- Inventors: Christopher Painter; Maikel Faltaous; Caesar Winebrenner; Andre Sacaguti
- Web page: https://patentgrep.com/patent/US12004042B2

## CPC

- H04W 4/023: {using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds}
- H04W 4/024: Guidance services
- H04W 4/025: {using location based information parameters}
- H04W 4/029: Location-based management or tracking services
- H04W 8/005: {Discovery of network devices, e.g. terminals}
- H04W 4/20: Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
- H04W 76/14: Direct-mode setup
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

Mobile device users navigate to each other by their mobile devices sharing location information, and then one or more of the mobile devices receiving or generating geographical directions for presentation to the mobile device's user to navigate to another of the mobile devices. Two mobile devices can provide geographical directions to enable their respective users to navigate toward each other, and a group of mobile devices can receive and provide or display geographical directions to variously enable their respective users to navigate to different mobile devices in the group. In one scenario, first and second mobile devices provide geographical directions to their respective locations and a third mobile device provides geographical directions to the first or second mobile device, and directions are dynamically updated as the mobile devices move.

## Claims

### Claim 1

A computer-implemented method, comprising:
determining, by a computing device, a first geographic location of a first electronic device and a second geographic location of a second electronic device;
providing, for output by the computing device and to the second electronic device, first navigation directions for navigating from the second geographic location of the second electronic device to the first geographic location of the first electronic device;
determining, by the computing device, that the first geographic location of the first electronic device has changed;
based on determining that the first geographic location of the first electronic device has changed, providing, for output by the computing device and to the second electronic device, updated first navigation directions for navigating from the second geographic location of the second electronic device to the changed first geographic location of the first electronic device;
determining, by the computing device, a time period to navigate from the second geographic location of the second electronic device to the changed first geographic location of the first electronic device;
determining, by the computing device, that the time period has elapsed before the second electronic device is at the changed first geographic location of the first electronic device;
determining, by the computing device, that a communication from the first electronic device to the second electronic device has remained unanswered after an additional time period;
based on characteristics of an environment along a portion of a route of the updated first navigation directions that is in proximity to the first geographic location of the first electronic device, determining, by the computing device, a threshold distance between the route of the updated first navigation directions and the first geographic location of the first electronic device;
determining, by the computing device, that a distance between the route of the updated first navigation directions and the first geographic location of the first electronic device is greater than the threshold distance; and
based on (i) determining that the time period has elapsed before the second electronic device is at the first geographic location of the first electronic device, (ii) determining that the communication from the first electronic device to the second electronic device has remained unanswered after an additional time period, and (iii) determining that the distance between the route of the updated first navigation directions and the first geographic location of the first electronic device is greater than the threshold distance:
determining, by the computing device, a third geographic location of a third electronic device;
providing, for output by the computing device and to the third electronic device, second navigation directions for navigating from the third geographic location of the third electronic device to the second geographic location of the second electronic device;
determining, by the computing device, that the second geographic location of the second electronic device has changed; and
based on determining that the second geographic location of the first electronic device has changed, providing, for output by the computing device and to the third electronic device, updated second navigation directions for navigating from the third geographic location of the third electronic device to the changed second geographic location of the second electronic device.

### Claim 2 (depends on 1)

The method of claim 1, comprising:
receiving, by the computing device and from the first electronic device, a request for the first navigation directions for navigating from the second geographic location of the second electronic device to the first geographic location of the first electronic device,
wherein providing, for output, the first navigation directions is in response to receiving the request.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining the time period is based on a time limit received from a user.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining the time period is based on a distance between the second geographic location of the second electronic device and the first geographic location of the first electronic device.

### Claim 5 (depends on 1)

The method of claim 1, comprising:
providing, for output by the computing device and to the second electronic device, data indicating the time period to navigate from the second geographic location of the second electronic device to the first geographic location of the first electronic device.

### Claim 6 (depends on 1)

The method of claim 1, comprising:
determining, by the computing device, the first navigation directions based on the third geographic location of the third electronic device.

### Claim 7

A system, comprising:
one or more processors; and
memory including a plurality of computer-executable components that are executable by the one or more processors to perform a plurality of actions, the plurality of actions comprising:
determining, by a computing device, a first geographic location of a first electronic device and a second geographic location of a second electronic device;
providing, for output by the computing device and to the second electronic device, first navigation directions for navigating from the second geographic location of the second electronic device to the first geographic location of the first electronic device;
determining, by the computing device, that the first geographic location of the first electronic device has changed;
based on determining that the first geographic location of the first electronic device has changed, providing, for output by the computing device and to the second electronic device, updated first navigation directions for navigating from the second geographic location of the second electronic device to the changed first geographic location of the first electronic device;
determining, by the computing device, a time period to navigate from the second geographic location of the second electronic device to the changed first geographic location of the first electronic device;
determining, by the computing device, that the time period has elapsed before the second electronic device is at the changed first geographic location of the first electronic device;
determining, by the computing device, that a communication from the first electronic device to the second electronic device has remained unanswered after an additional time period;
based on characteristics of an environment along a portion of a route of the updated first navigation directions that is in proximity to the first geographic location of the first electronic device, determining, by the computing device, a threshold distance between the route of the updated first navigation directions and the first geographic location of the first electronic device;
determining, by the computing device, that a distance between the route of the updated first navigation directions and the first geographic location of the first electronic device is greater than the threshold distance; and
based on (i) determining that the time period has elapsed before the second electronic device is at the first geographic location of the first electronic device, (ii) determining that the communication from the first electronic device to the second electronic device has remained unanswered after an additional time period, and (iii) determining that the distance between the route of the updated first navigation directions and the first geographic location of the first electronic device is greater than the threshold distance:
determining, by the computing device, a third geographic location of a third electronic device;
providing, for output by the computing device and to the third electronic device, second navigation directions for navigating from the third geographic location of the third electronic device to the second geographic location of the second electronic device;
determining, by the computing device, that the second geographic location of the second electronic device has changed; and
based on determining that the second geographic location of the first electronic device has changed, providing, for output by the computing device and to the third electronic device, updated second navigation directions for navigating from the third geographic location of the third electronic device to the changed second geographic location of the second electronic device.

### Claim 8 (depends on 7)

The system of claim 7, wherein the actions comprise:
receiving, by the computing device and from the first electronic device, a request for the first navigation directions for navigating from the second geographic location of the second electronic device to the first geographic location of the first electronic device,
wherein providing, for output, the first navigation directions is in response to receiving the request.

### Claim 9 (depends on 7)

The system of claim 7, wherein determining the time period is based on a time limit received from a user.

### Claim 10 (depends on 7)

The system of claim 7, wherein determining the time period is based on a distance between the second geographic location of the second electronic device and the first geographic location of the first electronic device.

### Claim 11 (depends on 7)

The system of claim 7, wherein the actions comprise:
providing, for output by the computing device and to the second electronic device, data indicating the time period to navigate from the second geographic location of the second electronic device to the first geographic location of the first electronic device.

### Claim 12 (depends on 7)

The system of claim 7, wherein the actions comprise:
determining, by the computing device, the first navigation directions based on the third geographic location of the third electronic device.

### Claim 13

One or more non-transitory computer-readable media of a computing device storing computer-executable instructions that upon execution cause one or more computers to perform acts comprising:
determining, by a computing device, a first geographic location of a first electronic device and a second geographic location of a second electronic device;
providing, for output by the computing device and to the second electronic device, first navigation directions for navigating from the second geographic location of the second electronic device to the first geographic location of the first electronic device;
determining, by the computing device, that the first geographic location of the first electronic device has changed;
based on determining that the first geographic location of the first electronic device has changed, providing, for output by the computing device and to the second electronic device, updated first navigation directions for navigating from the second geographic location of the second electronic device to the changed first geographic location of the first electronic device;
determining, by the computing device, a time period to navigate from the second geographic location of the second electronic device to the changed first geographic location of the first electronic device;
determining, by the computing device, that the time period has elapsed before the second electronic device is at the changed first geographic location of the first electronic device;
determining, by the first computing device, that a communication from the first electronic device to the second electronic device has remained unanswered after an additional time period;
based on characteristics of an environment along a portion of a route of the updated first navigation directions that is in proximity to the first geographic location of the first electronic device, determining, by the computing device, a threshold distance between the route of the updated first navigation directions and the first geographic location of the first electronic device;
determining, by the computing device, that a distance between the route of the updated first navigation directions and the first geographic location of the first electronic device is greater than the threshold distance; and
based on (i) determining that the time period has elapsed before the second electronic device is at the first geographic location of the first electronic device, (ii) determining that the communication from the first electronic device to the second electronic device has remained unanswered after an additional time period, and (iii) determining that the distance between the route of the updated first navigation directions and the first geographic location of the first electronic device is greater than the threshold distance:
determining, by the computing device, a third geographic location of a third electronic device;
providing, for output by the computing device and to the third electronic device, second navigation directions for navigating from the third geographic location of the third electronic device to the second geographic location of the second electronic device;
determining, by the computing device, that the second geographic location of the second electronic device has changed; and
based on determining that the second geographic location of the first electronic device has changed, providing, for output by the computing device and to the third electronic device, updated second navigation directions for navigating from the third geographic location of the third electronic device to the changed second geographic location of the second electronic device.

### Claim 14 (depends on 13)

The media of claim 13, wherein the acts comprise:
receiving, by the computing device and from the first electronic device, a request for the first navigation directions for navigating from the second geographic location of the second electronic device to the first geographic location of the first electronic device,
wherein providing, for output, the first navigation directions is in response to receiving the request.

### Claim 15 (depends on 13)

The media of claim 13, wherein determining the time period is based on a time limit received from a user.

### Claim 16 (depends on 13)

The media of claim 13, wherein determining the time period is based on a distance between the second geographic location of the second electronic device and the first geographic location of the first electronic device.

### Claim 17 (depends on 13)

The media of claim 13, wherein the acts comprise:
providing, for output by the computing device and to the second electronic device, data indicating the time period to navigate from the second geographic location of the second electronic device to the first geographic location of the first electronic device.
