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: 20240146835
    Abstract: 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: Application
    Filed: November 1, 2023
    Publication date: May 2, 2024
    Inventors: Gabriel Cohen, Bernhard Poess
  • Publication number: 20230221797
    Abstract: 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: Application
    Filed: January 13, 2022
    Publication date: July 13, 2023
    Inventors: Alexander Michael Louie, Bernhard Poess, Jossie E. Tirado Arroyo, Michal Hlavac
  • Patent number: 11474861
    Abstract: 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: Grant
    Filed: November 27, 2019
    Date of Patent: October 18, 2022
    Assignee: Meta Platforms Technologies, LLC
    Inventor: Bernhard Poess
  • Patent number: 11442873
    Abstract: 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: Grant
    Filed: September 6, 2019
    Date of Patent: September 13, 2022
    Assignee: Meta Platforms Technologies, LLC
    Inventors: Bernhard Poess, Mark Lucovsky, Vadim Victor Spivak, Christoph Klee
  • Patent number: 11366720
    Abstract: 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: Grant
    Filed: August 1, 2019
    Date of Patent: June 21, 2022
    Assignee: Facebook Technologies, LLC.
    Inventors: Vadim Victor Spivak, Bernhard Poess
  • Patent number: 11347544
    Abstract: 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: Grant
    Filed: September 26, 2019
    Date of Patent: May 31, 2022
    Assignee: Facebook Technologies, LLC.
    Inventors: Vadim Victor Spivak, Bernhard Poess
  • Patent number: 11314566
    Abstract: 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: Grant
    Filed: September 6, 2019
    Date of Patent: April 26, 2022
    Assignee: Facebook Technologies, LLC.
    Inventors: Christoph Klee, Bernhard Poess, Sumit Kamath
  • Patent number: 11194706
    Abstract: 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: Grant
    Filed: September 5, 2019
    Date of Patent: December 7, 2021
    Assignee: Facebook Technologies, LLC
    Inventors: Andrew M. Rogers, Bernhard Poess, Gleb Kurtsov
  • Publication number: 20210286628
    Abstract: 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: Application
    Filed: May 4, 2021
    Publication date: September 16, 2021
    Inventors: Christoph Klee, Bernhard Poess
  • Patent number: 11119931
    Abstract: 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: Grant
    Filed: September 18, 2019
    Date of Patent: September 14, 2021
    Assignee: Facebook Technologies, LLC
    Inventors: Christoph Klee, Bernhard Poess
  • Patent number: 11099758
    Abstract: 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: Grant
    Filed: July 16, 2019
    Date of Patent: August 24, 2021
    Assignee: Facebook Technologies, LLC
    Inventors: Bernhard Poess, Vadim Victor Spivak, Christoph Klee
  • Patent number: 11029968
    Abstract: 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: Grant
    Filed: July 31, 2019
    Date of Patent: June 8, 2021
    Assignee: Facebook Technologies, LLC
    Inventors: Christoph Klee, Bernhard Poess
  • Publication number: 20210126823
    Abstract: 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: Application
    Filed: October 29, 2019
    Publication date: April 29, 2021
    Inventors: Bernhard Poess, Vadim Victor Spivak, Marc Ihaab Salem
  • Patent number: 10990439
    Abstract: 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: Grant
    Filed: September 26, 2019
    Date of Patent: April 27, 2021
    Assignee: Facebook Technologies, LLC
    Inventors: Vadim Victor Spivak, Bernhard Poess
  • Publication number: 20210097762
    Abstract: 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: Application
    Filed: September 26, 2019
    Publication date: April 1, 2021
    Inventors: Vadim Victor Spivak, Bernhard Poess
  • Publication number: 20210073116
    Abstract: 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: Application
    Filed: September 5, 2019
    Publication date: March 11, 2021
    Inventors: Andrew M. Rogers, Bernhard Poess, Gleb Kurtsov
  • Publication number: 20210073147
    Abstract: 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: Application
    Filed: September 6, 2019
    Publication date: March 11, 2021
    Inventors: Bernhard Poess, Mark Lucovsky, Vadim Victor Spivak, Christoph Klee
  • Publication number: 20210049036
    Abstract: 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: Application
    Filed: August 13, 2019
    Publication date: February 18, 2021
    Inventors: Bernhard Poess, Vadim Victor Spivak, Marc Ihaab Salem
  • Publication number: 20210034408
    Abstract: 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: Application
    Filed: August 1, 2019
    Publication date: February 4, 2021
    Inventors: Vadim Victor Spivak, Bernhard Poess
  • Publication number: 20210019068
    Abstract: 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: Application
    Filed: July 16, 2019
    Publication date: January 21, 2021
    Inventors: Bernhard Poess, Vadim Victor Spivak, Christoph Klee