IP Library Granted Patent US 12,563,577
Granted Patent B2
US 12,563,577 · App. 18/239,700 · Granted Feb 24, 2026

Many-to-many wireless network ranging technique

Inventors: Oren Shani (Saratoga, CA); Josef Peery (Kadima, IL); Leonid Vainbrand (Rishon LeTsiyon, IL); Udi Atar (Tel Aviv, IL); Yoav Feinmesser (Tel Aviv, IL); Yoel Boger (Shoham, IL)
Assignee: Apple Inc.
H04W72/30H04B17/27H04L5/005H04W64/006
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,563,577
App. No.
18/239,700
Granted
Feb 24, 2026
Kind
B2
Abstract

Disclosed are methods, systems, and computer-readable medium to perform operations comprising periodically broadcasting, by a first wireless device, outgoing ranging packets on a measurement channel of a wireless network; receiving, by the first wireless device on the measurement channel and from a second wireless device, a plurality of incoming ranging data packets; and calculating, by the first wireless device and using a three ranging packet exchange with the second wireless device, a range to the second wireless device.

Claims (48)

1 . A wireless device comprising:

one or more processors configured to cause the wireless device to perform operations comprising:

periodically broadcasting, to a plurality of neighboring devices, outgoing ranging packets at respective broadcast intervals; and

receiving, on a measurement channel and from the plurality of neighboring devices, a plurality of incoming ranging data packets at respective receive times; and

calculating a respective range between the wireless device and each neighboring device of the plurality of neighboring devices using a three ranging packet exchange, wherein the three ranging packet exchange comprises three subsequent ranging packets including: (i) first and second outgoing ranging packets broadcasted by the wireless device, and (ii) an incoming ranging packet broadcasted by each respective neighboring device and received by the wireless device, the incoming ranging packet comprising an egress report indicative of a previous incoming ranging packet broadcast by the respective neighboring device and a peer ingress report indicative of a previous outgoing ranging packet broadcast by the wireless device.

2 . The wireless device of claim 1 , wherein the wireless device accesses the measurement channel in response to a trigger.

3 . The wireless device of claim 1 , wherein calculating the range to a first neighboring device comprises:

calculating the range based on a transmit time (t 1 ) of the first outgoing ranging packet, a receipt time (t 2 ) of the first outgoing ranging packet at the first neighboring device, a transmit time (t 3 ) of the incoming ranging packet by the first neighboring device, a receipt time (t 4 ) of the incoming ranging packet at the wireless device, a transmit time (t 5 ) of the second outgoing ranging packet, and a receipt time (t 6 ) of the second outgoing ranging packet at the first neighboring device.

4 . The wireless device of claim 3 , wherein calculating the range to the first neighboring device based on t 1 , t 2 , t 3 , t 4 , t 5 , and t 6 comprises:

calculating a roundtrip time (RTT) to the first neighboring device using:

RTT:(t4−T1)(1+PPM)−(t3−t2), and

RTT: −(t5−T4)(1+PPM)+(t6−t3); and

calculating, based the RTT, the range to the first neighboring device, wherein PPM is a clock offset between the wireless device and the first neighboring device.

5 . The wireless device of claim 1 , wherein the operations further comprise:

calculating, using the three ranging packet exchange with a first neighboring device, a clock offset with the first neighboring device.

6 . The wireless device of claim 1 , wherein a first outgoing ranging packet of the outgoing ranging packets comprises: (i) an egress report that includes information indicative of one or more previously broadcast outgoing ranging packets sent by the wireless device, (ii) a peer ingress report that includes information indicative of one or more previously received incoming ranging packets from the plurality of neighboring devices, and (iii) one or more local receive times associated with the one or more previously received incoming ranging packets.

7 . The wireless device of claim 1 , wherein a first incoming ranging packet of a plurality of incoming ranging packets is broadcasted by a first neighboring device, and wherein the first incoming ranging packet comprises: (i) an egress report that includes information indicative of one or more previously broadcast outgoing ranging packets sent by the first neighboring device, (ii) a peer ingress report that includes information indicative of one or more previously received incoming ranging packets from at least the wireless device, and (iii) one or more local receive times associated with the one or more previously received incoming ranging packets.

8 . The wireless device of claim 7 , wherein the operations further comprising:

storing in a local database associated with the first neighboring device: (i) local receive times of a subset of the plurality of incoming ranging data packets received from the first neighboring device, (ii) egress reports associated with the subset, and (iii) the receive times at the first neighboring device of the outgoing ranging packets broadcasted by the wireless device.

9 . A method comprising:

periodically broadcasting, to a plurality of neighboring devices, outgoing ranging packets at respective broadcast intervals; and

receiving, on a measurement channel and from the plurality of neighboring devices, a plurality of incoming ranging data packets at respective receive times; and

calculating a respective range between a wireless device and each neighboring device of the plurality of neighboring devices using a three ranging packet exchange, wherein the three ranging packet exchange comprises three subsequent ranging packets including: (i) first and second outgoing ranging packets broadcasted by the wireless device, and (ii) an incoming ranging packet broadcasted by each respective neighboring device and received by the wireless device, the incoming ranging packet comprising an egress report indicative of a previous incoming ranging packet broadcast by the respective neighboring device and a peer ingress report indicative of a previous outgoing ranging packet broadcast by the wireless device.

10 . The method of claim 9 , wherein calculating the range to a first neighboring device comprises:

calculating the range based on a transmit time (t 1 ) of a first outgoing ranging packet by the wireless device, a receipt time (t 2 ) of the first outgoing ranging packet at the first neighboring device, a transmit time (t 3 ) of an incoming ranging packet by the first neighboring device, a receipt time (t 4 ) of the incoming ranging packet at the wireless device, a transmit time (t 5 ) of a second outgoing ranging packet by the wireless device, and a receipt time (t 6 ) of the second outgoing ranging packet at the first neighboring device.

11 . The method of claim 10 , wherein calculating the range to the first neighboring device based on t 1 , t 2 , t 3 , t 4 , t 5 , and t 6 comprises:

calculating a roundtrip time (RTT) to the first neighboring device using:

RTT:(t4−T1)(1+PPM)−(t3−t2), and

RTT: −(t5−T4)(1+PPM)+(t6−t3); and

calculating, based the RTT, the range to the first neighboring device, wherein PPM is a clock offset between the wireless device and the first neighboring device.

12 . The method of claim 9 , further comprising calculating a clock offset between the wireless device and a first neighboring device.

13 . The method of claim 9 , wherein the method further comprises:

calculating, using the three ranging packet exchange with a first neighboring device, a clock offset with the first neighboring device.

14 . The method of claim 9 , wherein a first outgoing ranging packet of the outgoing ranging packets comprises: (i) an egress report that includes information indicative of one or more previously broadcast outgoing ranging packets broadcasted by the wireless device, (ii) a peer ingress report that includes information indicative of one or more previously received incoming ranging packets from the plurality of neighboring devices, and (iii) one or more local receive times associated with the one or more previously received incoming ranging packets.

15 . The method of claim 9 , wherein a first incoming ranging packet of the plurality of incoming ranging packets is broadcasted by a first neighboring device, and wherein the first incoming ranging packet comprises: (i) an egress report that includes information indicative of one or more previously broadcast outgoing ranging packets sent by the first neighboring device, (ii) a peer ingress report that includes information indicative of one or more previously received incoming ranging packets from at least the wireless device, and (iii) one or more local receive times associated with the one or more previously received incoming ranging packets.

16 . One or more processors configured to perform operations comprising:

periodically broadcasting, to a plurality of neighboring devices, outgoing ranging packets at respective broadcast intervals; and

receiving, on a measurement channel and from the plurality of neighboring devices, a plurality of incoming ranging data packets at respective receive times; and

calculating a respective range between a wireless device and each neighboring device of the plurality of neighboring devices using a three ranging packet exchange, wherein the three ranging packet exchange comprises three subsequent ranging packets including: (i) first and second outgoing ranging packets broadcasted by the wireless device, and (ii) an incoming ranging packet broadcasted by each respective neighboring device and received by the wireless device, the incoming ranging packet comprising an egress report indicative of a previous incoming ranging packet broadcast by the respective neighboring device and a peer ingress report indicative of a previous outgoing ranging packet broadcast by the wireless device.

17 . The one or more processors of claim 16 , wherein calculating the range to a first neighboring device comprises:

calculating the range based on a transmit time (t 1 ) of the first outgoing ranging packet, a receipt time (t 2 ) of the first outgoing ranging packet at the first neighboring device, a transmit time (t 3 ) of the incoming ranging packet by the first neighboring device, a receipt time (t 4 ) of the incoming ranging packet at the wireless device, a transmit time (t 5 ) of the second outgoing ranging packet, and a receipt time (t 6 ) of the second outgoing ranging packet at the first neighboring device.

18 . The one or more processors of claim 17 , wherein calculating the range to the first neighboring device based on t 1 , t 2 , t 3 , t 4 , t 5 , and t 6 comprises:

calculating a roundtrip time (RTT) to the first neighboring device using:

RTT:(t4−T1)(1+PPM)−(t3−t2), and

RTT: −(t5−T4)(1+PPM)+(t6−t3); and

calculating, based the RTT, the range to the first neighboring device, wherein PPM is a clock offset between the wireless device and the first neighboring device.

19 . The wireless device of claim 1 , wherein the wireless device accesses the measurement channel for a predetermined measurement period to communicate with the plurality of neighbor devices, and wherein the outgoing ranging packets are periodically broadcasted at respective broadcast intervals during the predetermined measurement period, and wherein the plurality of incoming ranging data packets are received at respective receive times during the predetermined measurement period.

20 . The method of claim 9 , further comprising accessing the measurement channel for a predetermined measurement period to communicate with the plurality of neighbor devices, wherein the outgoing ranging packets are periodically broadcasted at respective broadcast intervals during the predetermined measurement period, and wherein the plurality of incoming ranging data packets are received at respective receive times during the predetermined measurement period.

Continuity (3)
Continuation 17484567 · Sep 24, 2021
Provisional Application 63083739 · Sep 25, 2020
Related Publication 20230413293A1 · Dec 21, 2023
References Cited (25)
US 6115357A · Packer · 2000 [cited by examiner]
US 10686628B2 · Amizur · 2020 [cited by examiner]
US 11105916B2 · Chu · 2021 [cited by examiner]
US 11849468B2 · Shani et al. · 2023 [cited by applicant]
US 20010053699A1 · McCrady · 2001 [cited by examiner]
US 20030103521A1 · Raphaeli · 2003 [cited by examiner]
US 20030232620A1 · Runkle et al. · 2003 [cited by applicant]
US 20080151771A1 · Dowse · 2008 [cited by applicant]
US 20100157810A1 · Oh · 2010 [cited by examiner]
US 20100172339A1 · Duan · 2010 [cited by examiner]
US 20140043977A1 · Wiley et al. · 2014 [cited by applicant]
US 20150097983A1 · Kim et al. · 2015 [cited by applicant]
US 20160205501A1 · Lee · 2016 [cited by examiner]
US 20160274229A1 · Oh et al. · 2016 [cited by applicant]
US 20160277890A1 · Nallampatti Ekambaram · 2016 [cited by examiner]
US 20160352866A1 · Gupta · 2016 [cited by examiner]
US 20170059701A1 · Oh et al. · 2017 [cited by applicant]
US 20170251449A1 · Malik · 2017 [cited by examiner]
US 20180292518A1 · Chu · 2018 [cited by examiner]
US 20190052428A1 · Chu · 2019 [cited by examiner]
US 20200106877A1 · Ledvina · 2020 [cited by examiner]
US 20220104177A1 · Shani et al. · 2022 [cited by applicant]
US 20220286806A1 · Kandagadla · 2022 [cited by examiner]
US 20250097963A1 · Shani et al. · 2025 [cited by applicant]
Tse et al., “Timestamp Inaccuracy Due to Idle Insert/Delete for AMs,” IEEE 802.3, Geneva, Switzerland, Jan. 2020, 26 pages. [cited by applicant]