Patents by Inventor Bernhard Poess
Bernhard Poess has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20240146835Abstract: Techniques described herein enable a virtual mobile device representing a user's physical mobile device to be used in artificial reality, such as VR, MR, and AR. An artificial-reality head-mounted device worn by a user may present to the user a virtual mobile application on a virtual mobile device in a virtual environment. The virtual mobile application is a virtual representation of a mobile application that is native to an operating system of a physical mobile device. In particular embodiments, the mobile application may be hosted on a virtual machine for the operating system, which may be different from the operating system of the artificial-reality headset. The user may interact with the virtual mobile application in three-dimensional space. The artificial-reality device may translate the interactions into mobile-application-compatible data that can be understood by the mobile application. The mobile-application-compatible data is then sent to the native application for processing.Type: ApplicationFiled: November 1, 2023Publication date: May 2, 2024Inventors: Gabriel Cohen, Bernhard Poess
-
Publication number: 20230221797Abstract: In one embodiment, a method includes instructing sensors on an AR headset to capture data of a real-world environment, discovering a 3D location where a native application configured to run natively on an operating system is downloadable, generating and displaying a virtual object representing the native application at the 3D location, detecting a user of the AR system interacting with the virtual object, downloading a first executable portion of the native application, executing the first executable portion within a sandbox process having a predetermined set of access permissions, progressively downloading a remaining executable portion of the native application while the user is interacting with the executed first executable portion, and in response to a determination that the native application is completely downloaded, installing the native application on the operating system.Type: ApplicationFiled: January 13, 2022Publication date: July 13, 2023Inventors: Alexander Michael Louie, Bernhard Poess, Jossie E. Tirado Arroyo, Michal Hlavac
-
Patent number: 11474861Abstract: This disclosure generally relates to operating systems and methods of computing devices for managing system and function calls. An example method include determining that a fiber is requesting to wait for one or more results of an asynchronous function call, pausing execution of the fiber until the one or more results are completed, enqueuing the paused fiber in a local queue of the one or more results, determining that the one or more results are completed, accessing one or more queued fibers in the local queue of the one or more results. The one or more queued fibers comprise the fiber and resuming execution of the one or more queued fibers, and the asynchronous function call is called by a thread to execute a task without being blocked while the task is being completed.Type: GrantFiled: November 27, 2019Date of Patent: October 18, 2022Assignee: Meta Platforms Technologies, LLCInventor: Bernhard Poess
-
Patent number: 11442873Abstract: In one embodiment, a microkernel of an operating system executing on a computing system receives, from an application, a first system call requesting to communicate with a service registry. The first system call being associated with an operation request. The microkernel sends a first instruction to the service registry. The microkernel receives, from the service registry, a second system call requesting to communicate with at least one of an application service or a protocol service. The second system call being associated with the operation request. The microkernel sends a second instruction to at least one of the application service or the protocol service. The microkernel receives, from at least one of the application service or the protocol service, a third system call requesting to communicate with a driver service. The third system call being associated with the operation request. The microkernel sends a third instruction to the driver service.Type: GrantFiled: September 6, 2019Date of Patent: September 13, 2022Assignee: Meta Platforms Technologies, LLCInventors: Bernhard Poess, Mark Lucovsky, Vadim Victor Spivak, Christoph Klee
-
Patent number: 11366720Abstract: In one embodiment, a method includes generating a handle that references a checkpoint for a service, sending the handle to the service, wherein the handle is configured to be used by the service to store one or more states of the service in the checkpoint, determining that the service needs to be restarted, restarting the service, accessing the handle for the checkpoint, and sending the handle for the checkpoint to the restarted service, wherein the handle for the checkpoint is configured to be used by the restarted service to restore the one or more states.Type: GrantFiled: August 1, 2019Date of Patent: June 21, 2022Assignee: Facebook Technologies, LLC.Inventors: Vadim Victor Spivak, Bernhard Poess
-
Patent number: 11347544Abstract: In one embodiment, a method includes generating one or more queues by an application executing on a client system, wherein each queue is associated with one or more declarative attributes, wherein each declarative attribute declares a processing requirement or a processing preference, generating one or more work items to be processed, for each of the one or more work items enqueuing the work item into a selected one of the one or more queues based on the one or more declarative attributes associated with the selected queue, and providing the one or more queues to a scheduler of an operating system of the client system, wherein the scheduler is configured to schedule each of the one or more work items for processing based on one or more policies and the one or more declarative attributes of the selected queue for that work item.Type: GrantFiled: September 26, 2019Date of Patent: May 31, 2022Assignee: Facebook Technologies, LLC.Inventors: Vadim Victor Spivak, Bernhard Poess
-
Patent number: 11314566Abstract: In one embodiment, a method includes creating, by a computing device, an inter process communication (IPC) channel for communication from a producer process to a consumer process. The IPC channel includes a message buffer mapped to a first virtual address space of a kernel of an operating system and to a second virtual address space of the consumer process in a user space of the operating system. A sender handle for the message buffer is sent to the producer process. The kernel receives a request, which includes the sender handle, to send a message from the producer process to the consumer process through the IPC channel. Responsive to a determination that the request is permitted, the kernel writes the message to the message buffer using the sender handle, such that message written in the message buffer is accessible to the consumer process through the second address space.Type: GrantFiled: September 6, 2019Date of Patent: April 26, 2022Assignee: Facebook Technologies, LLC.Inventors: Christoph Klee, Bernhard Poess, Sumit Kamath
-
Patent number: 11194706Abstract: In certain embodiments, a method includes starting an application as a first process within a user space of an operating system. The application instantiates a data storage system associated with the operating system. The method also includes starting a block device service as a second process within the user space of the operating system, the block device service being configured to manage a persistent storage device of the computing device. In addition, the method includes receiving, by a kernel of the operating system, a system call request from the application to communicate with the block device service, the system call request is generated by the application using the data storage system and comprises an access request to access the persistent storage device. The method further includes providing the application, in response to the system call request, access to the block device service through the IPC channel.Type: GrantFiled: September 5, 2019Date of Patent: December 7, 2021Assignee: Facebook Technologies, LLCInventors: Andrew M. Rogers, Bernhard Poess, Gleb Kurtsov
-
Publication number: 20210286628Abstract: In one embodiment, a method includes storing thread state information associated with the first user-mode thread into a memory space associated with the first user-mode thread when executing in kernel space in response to a first system call by a first-user mode thread, executing first operations corresponding to the first system call on a processor, where data associated with executing the first operations are stored on a kernel stack associated with the processor, determining to pause the execution of the first operations, enqueuing a workload on a schedule queue for resuming execution of the first operations in a future, where the workload comprises data associated with executing a remainder of the first operations, and executing second operations corresponding to a second system call from a second user-mode thread on the processor, where data associated with executing the second operations are stored on the kernel stack associated with the processor.Type: ApplicationFiled: May 4, 2021Publication date: September 16, 2021Inventors: Christoph Klee, Bernhard Poess
-
Patent number: 11119931Abstract: In one embodiment, a method includes receiving a request to create a data pipeline by an operating system executing on a computing device. The operating system allocates a shared virtual memory region for the data pipeline. The shared virtual memory region is mapped to a first virtual address space of a first process and a second virtual address space of a second process. The mapping enables the first process and the second process to share data through the shared virtual memory region. Membership information associated with the data pipeline is updated to include the first process and the second process. An access request for accessing the shared virtual memory region is received from the first process, and the access request is granted or denied based on one or more protection policies.Type: GrantFiled: September 18, 2019Date of Patent: September 14, 2021Assignee: Facebook Technologies, LLCInventors: Christoph Klee, Bernhard Poess
-
Patent number: 11099758Abstract: In one embodiment, a method includes allocating, by an operating system of a computing device, computer-implemented memory into a discardable portion and a durable portion; receiving, from a computer-executable program, a designation indicator of a particular data file that is associated with the computer-executable program indicating that the particular file is to be stored in the discardable portion of the memory and in response, storing the particular data file in one or more particular pages of the discardable portion of the memory; identifying an occurrence of a computing condition and in response, marking the one or more particular pages that include the particular data file as invalid for the computer-executable program; receiving, from the computer-executable program, a request for the particular data file; and in response to receiving the request, providing, to the computer-executable program, a notification that the particular data file is invalid for the computer-executable program.Type: GrantFiled: July 16, 2019Date of Patent: August 24, 2021Assignee: Facebook Technologies, LLCInventors: Bernhard Poess, Vadim Victor Spivak, Christoph Klee
-
Patent number: 11029968Abstract: In one embodiment, a method includes storing thread state information associated with the first user-mode thread into a memory space associated with the first user-mode thread when executing in kernel space in response to a first system call by a first-user mode thread, executing first operations corresponding to the first system call on a processor, where data associated with executing the first operations are stored on a kernel stack associated with the processor, determining to pause the execution of the first operations, enqueuing a workload on a schedule queue for resuming execution of the first operations in a future, where the workload comprises data associated with executing a remainder of the first operations, and executing second operations corresponding to a second system call from a second user-mode thread on the processor, where data associated with executing the second operations are stored on the kernel stack associated with the processor.Type: GrantFiled: July 31, 2019Date of Patent: June 8, 2021Assignee: Facebook Technologies, LLCInventors: Christoph Klee, Bernhard Poess
-
Publication number: 20210126823Abstract: In one embodiment, an access control method includes receiving an access request that identifies a resource and an application requesting the resource. The method includes identifying permission settings associated with the application, where the permission settings include a contextual criterion. The method includes accessing context information associated with the contextual criterion. The method includes determining the context information satisfies the contextual criterion of the permission settings. The method includes allowing the application to access the resource in response to determining the context information satisfies the contextual criterion of the permission settings.Type: ApplicationFiled: October 29, 2019Publication date: April 29, 2021Inventors: Bernhard Poess, Vadim Victor Spivak, Marc Ihaab Salem
-
Patent number: 10990439Abstract: In one embodiment, a method includes allocating a shared memory region accessible by a tracing service and services running in user mode outside of a microkernel of an operating system, in which the shared memory region is used by each service to store entries of execution data from operations executed by the service and each entry of execution data has a task identifier, receiving a query for execution data with a desired task identifier by the tracing service, retrieving a set of entries of execution data from the shared memory region by the tracing service based on the desired task identifier, in which the task identifier of each entry of execution data in the set matches the desired task identifier, and returning the set of entries of execution data by the tracing service.Type: GrantFiled: September 26, 2019Date of Patent: April 27, 2021Assignee: Facebook Technologies, LLCInventors: Vadim Victor Spivak, Bernhard Poess
-
Publication number: 20210097762Abstract: In one embodiment, a method includes receiving an augmented-reality object and an associated display rule from each of a plurality of third-party systems, receiving one or more signals associated with a current view of an environment of a first user from a client system associated with the first user, selecting at least one of the augmented-reality objects received from the plurality of third-party systems based on the one or more signals and the display rule associated with the selected augmented-reality object, and sending instructions for presenting the selected augmented-reality object with the current view of the environment to the client system.Type: ApplicationFiled: September 26, 2019Publication date: April 1, 2021Inventors: Vadim Victor Spivak, Bernhard Poess
-
Publication number: 20210073116Abstract: In certain embodiments, a method includes starting an application as a first process within a user space of an operating system. The application instantiates a data storage system associated with the operating system. The method also includes starting a block device service as a second process within the user space of the operating system, the block device service being configured to manage a persistent storage device of the computing device. In addition, the method includes receiving, by a kernel of the operating system, a system call request from the application to communicate with the block device service, the system call request is generated by the application using the data storage system and comprises an access request to access the persistent storage device. The method further includes providing the application, in response to the system call request, access to the block device service through the IPC channel.Type: ApplicationFiled: September 5, 2019Publication date: March 11, 2021Inventors: Andrew M. Rogers, Bernhard Poess, Gleb Kurtsov
-
Publication number: 20210073147Abstract: In one embodiment, a microkernel of an operating system executing on a computing system receives, from an application, a first system call requesting to communicate with a service registry. The first system call being associated with an operation request. The microkernel sends a first instruction to the service registry. The microkernel receives, from the service registry, a second system call requesting to communicate with at least one of an application service or a protocol service. The second system call being associated with the operation request. The microkernel sends a second instruction to at least one of the application service or the protocol service. The microkernel receives, from at least one of the application service or the protocol service, a third system call requesting to communicate with a driver service. The third system call being associated with the operation request. The microkernel sends a third instruction to the driver service.Type: ApplicationFiled: September 6, 2019Publication date: March 11, 2021Inventors: Bernhard Poess, Mark Lucovsky, Vadim Victor Spivak, Christoph Klee
-
Publication number: 20210049036Abstract: In one embodiment, a kernel of an operating system executing on a computing system receives a system call from a process requesting to perform an operation on a kernel object. The system call includes an object handle to the kernel object. The kernel accesses, from a memory space allocated to the kernel, data associated with the object handle. The data identifies an object type of the kernel object and specifies a bit string. The kernel identifies, based on the object type and the bit string, a list of capabilities of the process. The kernel determines whether the process has permission to perform the operation on the kernel object by comparing the operation to the list of capabilities. The kernel, in response to determining the process has permission to perform the operation, allows the operation on the kernel object to be performed.Type: ApplicationFiled: August 13, 2019Publication date: February 18, 2021Inventors: Bernhard Poess, Vadim Victor Spivak, Marc Ihaab Salem
-
Publication number: 20210034408Abstract: In one embodiment, a method includes generating a handle that references a checkpoint for a service, sending the handle to the service, wherein the handle is configured to be used by the service to store one or more states of the service in the checkpoint, determining that the service needs to be restarted, restarting the service, accessing the handle for the checkpoint, and sending the handle for the checkpoint to the restarted service, wherein the handle for the checkpoint is configured to be used by the restarted service to restore the one or more states.Type: ApplicationFiled: August 1, 2019Publication date: February 4, 2021Inventors: Vadim Victor Spivak, Bernhard Poess
-
Publication number: 20210019068Abstract: In one embodiment, a method includes allocating, by an operating system of a computing device, computer-implemented memory into a discardable portion and a durable portion; receiving, from a computer-executable program, a designation indicator of a particular data file that is associated with the computer-executable program indicating that the particular file is to be stored in the discardable portion of the memory and in response, storing the particular data file in one or more particular pages of the discardable portion of the memory; identifying an occurrence of a computing condition and in response, marking the one or more particular pages that include the particular data file as invalid for the computer-executable program; receiving, from the computer-executable program, a request for the particular data file; and in response to receiving the request, providing, to the computer-executable program, a notification that the particular data file is invalid for the computer-executable program.Type: ApplicationFiled: July 16, 2019Publication date: January 21, 2021Inventors: Bernhard Poess, Vadim Victor Spivak, Christoph Klee