IP Library Granted Patent US 11,420,116
Granted Patent B2
US 11,420,116 · App. 16/800,551 · Granted Aug 23, 2022

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/006H04L29/06034A63F2300/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,420,116
App. No.
16/800,551
Granted
Aug 23, 2022
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 (64)

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 the outcome to a plurality of clients connected to the edge node; and

validating, after providing the outcome to the plurality of clients, the outcome with a master state of the AR experience maintained by a server, wherein validation comprises verifying that the outcome does not conflict with the master state.

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

3. The method of claim 1 , wherein the action request is included in a datagram, the method further comprising:

analyzing the datagram to determine whether to send the outcome peer-to-peer based on a flag in the datagram;

responsive to determining to send the outcome peer-to-peer, providing the outcome directly to one or more of the plurality of clients at the edge node; and

responsive to determining to not send the outcome peer-to-peer, providing the outcome to the server.

4. 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 module, and a landscape recognition model.

5. The method of claim 1 , further comprising:

receiving a position of the client; and

identifying a subset of available map data to provide to the client as map data, the subset of available map data within a threshold distance of the position of the client.

6. The method of claim 1 , 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 1 , 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 plurality of clients indicating that the outcome was revoked.

8. 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 the outcome to a plurality of clients connected to the edge node; and

instructions for validating, after providing the outcome to the plurality of clients, the outcome with a master state of the AR experience maintained by a server, wherein validation comprises verifying that the outcome does not conflict with the master state.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the edge node is a cell tower connected to a plurality of clients and the server.

10. The non-transitory computer-readable storage medium of claim 8 , wherein the action request is included in a datagram, wherein the instructions further comprise:

instructions for analyzing the datagram to determine whether to send the outcome peer-to-peer based on a flag in the datagram;

responsive to determining to send the outcome peer-to-peer, instructions for providing the outcome directly to one or more of the plurality of clients at the edge node; and

responsive to determining to not send the outcome peer-to-peer, instructions for providing the outcome to the server.

11. The non-transitory computer-readable storage medium of claim 8 , 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 module, and a landscape recognition model.

12. The non-transitory computer-readable storage medium of claim 8 , wherein the instructions further comprise:

instructions for receiving a position of the client; and

instructions for identifying a subset of available map data to provide to the client as map data, the subset of available map data within a threshold distance of the position of the client.

13. The non-transitory computer-readable storage medium of claim 8 , 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.

14. The non-transitory computer-readable storage medium of claim 8 , wherein the instructions for validating, after providing the outcome to the plurality of clients, the outcome with a master game state maintained by the server comprise:

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

instructions for sending an update to each of the plurality of clients indicating that the outcome was revoked.

15. An edge node of a computing network, the edge node comprising:

a local data store storing a list of one or more clients connected to the edge node; and

a routing module configured to perform operations comprising:

receiving a connection request from an additional client;

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

providing, to the additional 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 additional 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 the outcome to the one or more clients connected to the edge node; and

validating, after providing the outcome to the one or more clients connected to the edge node, the outcome with a master state of the AR experience maintained by a server, wherein validation comprises verifying that the outcome does not conflict with the master state.

16. The edge node of claim 15 , wherein the action request is included in a datagram, wherein the operations further comprise:

analyzing the datagram to determine whether to send the outcome peer-to-peer based on a flag in the datagram;

responsive to determining to send the outcome peer-to-peer, providing the outcome directly to the one or more clients on the list; and

responsive to determining to not send the outcome peer-to-peer, providing the outcome to the server.

17. The edge node of claim 15 , 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 module, and a landscape recognition model.

18. The edge node of claim 15 , wherein the operations further comprise:

receiving a position of the additional client; and

identifying a subset of available map data to provide to the additional client as map data, the subset of available map data within a threshold distance of the position of the additional client.

19. The edge node of claim 15 , wherein the master state is determined using a plurality of different local states, each local state maintained by a different edge node at a different real-world location.

20. The edge node of claim 15 , 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 clients indicating that the outcome was revoked.

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 Jan 22, 2021
From: TURNER, PETER JAMES; PEAKE, BENJAMIN; SMITH, DAVID GRAYSON; RAGHURAMAN, GANDEEVAN; HU, SI YING DIANA
To: NIANTIC, INC.
Reel/Frame 055001/0735 →
Continuity (2)
Provisional Application 62810115 · Feb 25, 2019
Related Publication 20200269132A1 · Aug 27, 2020
Cited By (1)
US 12,675,962