IP Library Granted Patent US 10,504,290
Granted Patent B2
US 10,504,290 · App. 15/971,101 · Granted Dec 10, 2019

User interface security in a virtual reality environment

Inventor: Justin Rogers (Redmond, WA)
Assignee: Facebook Technologies, LLC
G06T19/006G06F3/013G06F3/0346G06F3/04815G06F3/04842H04L67/20
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 10,504,290
App. No.
15/971,101
Granted
Dec 10, 2019
Kind
B2
Abstract

In one embodiment, a client system receives a request to display a user interface element in a virtual reality environment. The client system determines whether the requested user interface element is a system user interface element generated by an operating system running on the client system or a third-party user interface element that is generated by a third-party application or based on third-party content. The client system selectively displays the user interface element in a first dedicated plane or a second dedicated plane of the virtual reality environment. The requested user interface element is displayed in the first dedicated plane of the virtual reality environment upon determining that the requested user interface element is a system user interface element. The requested user interface element is displayed in the second dedicated plane of the virtual reality environment upon determining that the requested user interface element is a third-party user interface element.

Claims (58)

1. A method comprising, by a client system:

receiving a request to display a user interface element in a virtual reality environment;

determining whether the requested user interface element is a system user interface element generated by an operating system running on the client system or a third-party user interface element that is generated by a third-party application or based on third-party content; and

selectively displaying the user interface element in a first dedicated plane or a second dedicated plane of the virtual reality environment, wherein:

the requested user interface element is displayed in the first dedicated plane of the virtual reality environment upon determining that the requested user interface element is a system user interface element; or

the requested user interface element is displayed in the second dedicated plane of the virtual reality environment upon determining that the requested user interface element is a third-party user interface element;

wherein the first dedicated plane is distinct from the second dedicated plane.

2. The method of claim 1 , further comprising:

receiving, from a first third-party application, a request to access sensor data;

determining whether the first third-party application is a presently active application, wherein the presently active application is a current application with which a user associated with the client system is interfacing;

based on the determination of whether the first third-party application is the presently active application, selectively authorizing or preventing the third-party application from receiving sensor data, wherein:

the first third-party application is authorized to receive sensor data from the client system upon determining the first third-party application is the presently active application; or

the first third-party application is prevented from receiving sensor data from the client system upon determining the first third-party application is not the presently active application; and

sending the sensor data to the first third-party application in response to determining the first third-party application is authorized to receive sensor data.

3. The method of claim 2 , wherein the sensor data includes at least one of gyroscope data, accelerometer data, magnetometer data, or eye tracking data.

4. The method of claim 2 , further comprising:

receiving authorization from the user to authorize a second third-party application to receive sensor data from the client system; and

sending, while the first third-party application is the presently active application the sensor data to the second third-party application based on the authorization.

5. The method of claim 2 , wherein the authorizing of the first third-party application to receive sensor data from the client system is based on a determination that the user interface element is requested by the first third-party application.

6. The method of claim 2 , wherein the preventing of the first third-party application from receiving sensor data is based on a determination that the user interface element is not requested by the first third-party application.

7. The method of claim 2 , wherein one or more third-party applications are placed on a list to automatically authorize the one or more third-party applications to receive sensor data.

8. The method of claim 2 , wherein one or more third-party applications are placed on a list to automatically prevent the one or more third-party applications from receiving sensor data.

9. The method of claim 1 , wherein the first dedicated plane is dedicated to displaying system user interface elements generated by the operating system.

10. The method of claim 1 , wherein the first dedicated plane has a different depth relative to a viewpoint of a user than the second dedicated plane.

11. The method of claim 10 , wherein the first dedicated plane is closer to the viewpoint of the user than the second dedicated plane.

12. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

receive a request to display a user interface element in a virtual reality environment;

determine whether the requested user interface element is a system user interface element generated by an operating system running on the client system or a third-party user interface element that is generated by a third-party application or based on third-party content; and

selectively display the user interface element in a first dedicated plane or a second dedicated plane of the virtual reality environment, wherein:

the requested user interface element is displayed in the first dedicated plane of the virtual reality environment upon determining that the requested user interface element is a system user interface element; or

the requested user interface element is displayed in the second dedicated plane of the virtual reality environment upon determining that the requested user interface element is a third-party user interface element;

wherein the first dedicated plane is distinct from the second dedicated plane.

13. The media of claim 12 , wherein the software is further operable when executed to:

receive, from a first third-party application, a request to access sensor data;

determine whether the first third-party application is a presently active application, wherein the presently active application is a current application with which a user associated with the client system is interfacing;

based on the determination of whether the first third-party application is the presently active application, selectively authorize or prevent the third-party application from receiving sensor data, wherein:

the first third-party application is authorized to receive sensor data from the client system upon determining the first third-party application is the presently active application; or

the first third-party application is prevented from receiving sensor data from the client system upon determining the first third-party application is not the presently active application; and

send the sensor data to the first third-party application in response to determining the first third-party application is authorized to receive sensor data.

14. The media of claim 12 , wherein the first dedicated plane is dedicated to displaying system user interface elements generated by the operating system.

15. The media of claim 12 , wherein the first dedicated plane has a different depth relative to a viewpoint of a user than the second dedicated plane.

16. A system comprising: one or more processors; and a non-transitory memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:

receive a request to display a user interface element in a virtual reality environment;

determine whether the requested user interface element is a system user interface element generated by an operating system running on the client system or a third-party user interface element that is generated by a third-party application or based on third-party content; and

selectively display the user interface element in a first dedicated plane or a second dedicated plane of the virtual reality environment, wherein:

the requested user interface element is displayed in the first dedicated plane of the virtual reality environment upon determining that the requested user interface element is a system user interface element; or

the requested user interface element is displayed in the second dedicated plane of the virtual reality environment upon determining that the requested user interface element is a third-party user interface element;

wherein the first dedicated plane is distinct from the second dedicated plane.

17. The system of claim 16 , wherein the processors are further operable when executing the instructions to:

receive, from a first third-party application, a request to access sensor data;

determine whether the first third-party application is a presently active application, wherein the presently active application is a current application with which a user associated with the client system is interfacing;

based on the determination of whether the first third-party application is the presently active application, selectively authorize or prevent the third-party application from receiving sensor data, wherein:

the first third-party application is authorized to receive sensor data from the client system upon determining the first third-party application is the presently active application; or

the first third-party application is prevented from receiving sensor data from the client system upon determining the first third-party application is not the presently active application; and

send the sensor data to the first third-party application in response to determining the first third-party application is authorized to receive sensor data.

18. The system of claim 16 , wherein the first dedicated plane is dedicated to displaying system user interface elements generated by the operating system.

19. The system of claim 16 , wherein the first dedicated plane has a different depth relative to a viewpoint of a user than the second dedicated plane.

20. The system of claim 19 , wherein the first dedicated plane is closer to the viewpoint of the user than the second dedicated plane.

Assignments (4)
CHANGE OF NAME Recorded Jul 6, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060591/0848 →
CHANGE OF NAME Recorded Aug 8, 2019
From: OCULUS VR, LLC
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 050000/0300 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 046021 FRAME 0093. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Aug 6, 2019
From: ROGERS, JUSTIN
To: OCULUS VR, LLC
Reel/Frame 049982/0035 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2018
From: ROGERS, JUSTIN
To: FACEBOOK, INC.
Reel/Frame 046021/0093 →
Continuity (1)
Related Publication 20190340816A1 · Nov 7, 2019
Cited By (3)
US 12,254,127 US 12,517,631 US 12,608,128