IP Library Granted Patent US 11,794,101
Granted Patent B2
US 11,794,101 · App. 17/871,030 · Granted Oct 24, 2023

Augmented reality mobile edge computing

Inventors: Peter James Turner (Redwood City, CA); Benjamin Peake (Mountain View, CA); David Grayson Smith (San Francisco, CA); Gandeevan Raghuraman (Santa Clara, CA); Si ying Diana Hu (Mountain View, CA)
Assignee: NIANTIC, INC.
A63F13/352A63F13/34G06T19/006H04L67/131A63F2300/5566
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 11,794,101
App. No.
17/871,030
Granted
Oct 24, 2023
Kind
B2
Abstract

Processing of actions within a shared augmented reality experience is split between an edge node of a communications network (e.g., a cell tower) and a server. As a result, computation of the current state may be sharded naturally based on real-world location, with state updates generally provided by the edge node and the server providing conflict resolution based on a master state (e.g., where actions connected to different edge nodes potentially interfere with each other). In this way, latency may be reduced as game actions are communicated between clients connected to the same edge node using a peer-to-peer (P2P) protocol without routing the actions via the game server.

Claims (52)

1. A method for providing a shared augmented reality (AR) experience by an edge node of a communications network, the method comprising:

receiving, at the edge node, a connection request from a client;

identifying a shared AR session for the client based on the connection request;

providing, to the client, map data and a local state, maintained by the edge node, of an AR experience provided by the shared AR session;

receiving an action request from the client, the action request indicating a desired interaction with a virtual item in the AR experience;

determining an outcome of the action request based on the local state of the AR experience;

providing, based on a first predetermined condition associated with the action request being satisfied, the outcome peer-to-peer to one or more of a plurality of clients connected to the edge node; and

providing, based on a second predetermined condition associated with the action request being satisfied, the outcome to a server.

2. The method of claim 1 , wherein each of the first predetermined condition and the second predetermined condition is associated with a flag in a datagram corresponding to the action request.

3. The method of claim 2 , wherein the edge node maintains a list of flags, and wherein the method further comprises:

providing the outcome peer-to-peer to the one or more of the plurality of clients based on whether the flag in the datagram corresponding to the action request is included in the list of flags maintained by the edge node.

4. The method of claim 1 , wherein each of the first predetermined condition and the second predetermined condition is associated with a location of the client.

5. The method of claim 1 , further comprising:

validating, after providing the outcome peer-to-peer, the outcome with a master state of the AR experience maintained by the server.

6. The method of claim 5 , wherein the master state is computed using a plurality of different local states, each local state maintained by a different edge node at a different real-world location.

7. The method of claim 5 , wherein validating the outcome with the master state of the AR experience comprises:

responsive to receiving an indication from the server that the outcome conflicts with the master state, updating the local state to revoke the outcome; and

sending an update to each of the one or more of the plurality of clients indicating that the outcome was revoked.

8. The method of claim 5 , wherein the validation comprises verifying that the outcome does not conflict with the master state.

9. The method of claim 1 , wherein the edge node is a cell tower connected to the plurality of clients and the server.

10. The method of claim 1 , wherein the map data includes one or more of: a point cloud model, a plane matching model, a line matching model, a geographic information system (GIS) model, a building recognition model, and a landscape recognition model.

11. A method for providing a shared augmented reality (AR) experience by an edge node of a communications network, the method comprising:

receiving, at the edge node, a connection request from a client;

identifying a shared AR session for the client based on the connection request;

providing, to the client, map data and a local state, maintained by the edge node, of an AR experience provided by the shared AR session;

receiving an action request from the client, the action request indicating a desired interaction with a virtual item in the AR experience;

receiving an additional action request from an additional client of the shared AR session, the additional action request indicating a desired interaction with the virtual item in the AR experience; and

determining an outcome of the action request from the client and an outcome of the additional action request from the additional client, based on a comparison of a timestamp associated with the action request and a timestamp associated with the additional action request.

12. The method of claim 11 , providing peer-to-peer the outcome of the action request and the outcome of the additional action request to a plurality of clients connected to the edge node.

13. The method of claim 12 , further comprising:

validating, after providing the outcomes, the outcomes with a master state of the AR experience maintained by a server.

14. The method of claim 13 , wherein validating the outcomes with the master state of the AR experience comprises:

responsive to receiving an indication from the server that the outcomes conflict with the master state, updating the local state to revoke the outcomes; and

sending an update to each of the plurality of clients indicating that the outcomes were revoked.

15. A non-transitory computer-readable storage medium comprising instructions executable by a processor, the instructions comprising:

instructions for receiving, at an edge node of a communications network, a connection request from a client;

instructions for identifying a shared AR session for the client based on the connection request;

instructions for providing, to the client, map data and a local state, maintained by the edge node, of an AR experience provided by the shared AR session;

instructions for receiving an action request from the client, the action request indicating a desired interaction with a virtual item in the AR experience;

instructions for determining an outcome of the action request based on the local state of the AR experience;

instructions for providing, based on a first predetermined condition associated with the action request being satisfied, the outcome peer-to-peer to one or more of a plurality of clients connected to the edge node; and

instructions for providing, based on a second predetermined condition associated with the action request being satisfied, the outcome to a server.

16. The non-transitory computer-readable storage medium of claim 15 , wherein each of the first predetermined condition and the second predetermined condition is associated with a flag in a datagram corresponding to the action request.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the edge node maintains a list of flags, and wherein the instructions further comprise:

instructions for providing the outcome peer-to-peer to the one or more of the plurality of clients based on whether the flag in the datagram corresponding to the action request is included in the list of flags maintained by the edge node.

18. A non-transitory computer-readable storage medium comprising instructions executable by a processor, the instructions comprising:

instructions for receiving, at an edge node of a communications network, a connection request from a client;

instructions for identifying a shared AR session for the client based on the connection request;

instructions for providing, to the client, map data and a local state, maintained by the edge node, of an AR experience provided by the shared AR session;

instructions for receiving an action request from the client, the action request indicating a desired interaction with a virtual item in the AR experience;

instructions for receiving an additional action request from an additional client of the shared AR session, the additional action request indicating a desired interaction with the virtual item in the AR experience; and

instructions for determining an outcome of the action request from the client and an outcome of the additional action request from the additional client, based on a comparison of a timestamp associated with the action request and a timestamp associated with the additional action request.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2025
From: NIANTIC, INC.
To: NIANTIC SPATIAL, INC.
Reel/Frame 071555/0833 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2022
From: TURNER, PETER JAMES; PEAKE, BENJAMIN; SMITH, DAVID GRAYSON; RAGHURAMAN, GANDEEVAN; HU, SI YING DIANA
To: NIANTIC, INC.
Reel/Frame 061368/0570 →
Continuity (3)
Continuation 16800551 · Feb 25, 2020
Provisional Application 62810115 · Feb 25, 2019
Related Publication 20220355195A1 · Nov 10, 2022