-
公开(公告)号:US11995179B2
公开(公告)日:2024-05-28
申请号:US17713247
申请日:2022-04-05
Applicant: Microsoft Technology Licensing, LLC
Inventor: Alexander Shamis , Sylvan Wesley Clebsch , Felix Schuster
CPC classification number: G06F21/53 , G06F12/10 , G06F21/57 , G06F2212/1052 , G06F2212/657 , G06F2221/034 , G06F2221/2149
Abstract: In various examples there is a computing device in communication with at least one other computing device via a communications network. The computing device has a memory and a central processing unit having a trusted execution environment comprising trusted regions of the memory. The computing device has an operating system configured to create a memory mapping between a virtual address space of the memory and a memory of the at least one other computing device and to provide details of the memory mapping to the trusted execution environment. The trusted execution environment is configured to execute an application which is able to communicate with the other computing device directly using the memory mapping provided by the operating system.
-
公开(公告)号:US10768902B2
公开(公告)日:2020-09-08
申请号:US16043142
申请日:2018-07-23
Applicant: Microsoft Technology Licensing, LLC
Inventor: Sylvan Wesley Clebsch , Matthew John Parkinson
Abstract: A method of operating a computer according to an actor model, the method comprising: defining a plurality of actors, each taking form of a data structure comprising respective data and one or more respective functions for operating on the respective data; generating a wrapped message to be transmitted from a transmitting actor to multiple recipient actors, the wrapped message comprising at least one constituent message, a sorted list of the recipient actors, and an index indicating an entry in the list, the index initially being set to indicate the first recipient actor in the list; transmitting the wrapped message from the transmitting actor to the first recipient actor in the list; each of the recipient actors, except the last in the list, upon receiving the wrapped message, advancing the index and forwarding the wrapped message to the next actor in the list as indicated by the advanced index.
-
公开(公告)号:US10459778B1
公开(公告)日:2019-10-29
申请号:US16036869
申请日:2018-07-16
Applicant: Microsoft Technology Licensing, LLC
Inventor: Matthew John Parkinson , Sylvan Wesley Clebsch
Abstract: A method of communicating messages between threads. For each thread there are defined M buckets. When a transmitting thread has a message to send, it assigns the message to the bucket numbered m=Tid_r mod M to await transmission, where Tid_r is the ID of the receiving thread. The bucket m=Tid_t mod M is the home bucket, where Tid_t is the ID of the transmitting thread. After accumulating multiple messages, a batch transmission is performed, comprising a plurality of successive phases p. Each phase comprises: i) from each bucket other than the home bucket, transmitting some or all of the messages in the bucket as a batch to one of the receiving threads of the bucket, and ii) except in the last phase, incrementing the phase p by 1, and redistributing the messages remaining in the home bucket according to m=(Tid_r/M{circumflex over ( )}p) mod M.
-
公开(公告)号:US12099875B2
公开(公告)日:2024-09-24
申请号:US18162704
申请日:2023-01-31
Applicant: Microsoft Technology Licensing, LLC
Inventor: David Thomas Chisnall , Matthew John Parkinson , Sylvan Wesley Clebsch , Roy Schuster
CPC classification number: G06F9/5016 , G06F9/355 , G06F9/455 , G06F9/45533 , G06F9/45558 , G06F9/50 , G06F9/5005 , G06F9/5022 , G06F9/54 , G06F9/544 , G06F9/546 , G06F21/572 , G06F2009/45583 , G06F2009/45587
Abstract: A method of memory deallocation across a trust boundary between a first software component and a second software component is described. Some memory is shared between the first and second software components. An in-memory message passing facility is implemented using the shared memory. The first software component is used to deallocate memory from the shared memory which has been allocated by the second software component. The deallocation is done by: taking at least one allocation to be freed from the message passing facility; and freeing the at least one allocation using a local deallocation mechanism while validating that memory access to memory owned by data structures related to memory allocation within the shared memory are within the shared memory.
-
公开(公告)号:US11593169B2
公开(公告)日:2023-02-28
申请号:US16503449
申请日:2019-07-03
Applicant: Microsoft Technology Licensing, LLC
Inventor: David Thomas Chisnall , Matthew John Parkinson , Sylvan Wesley Clebsch , Roy Schuster
Abstract: A method of memory deallocation across a trust boundary between a first software component and a second software component is described. Some memory is shared between the first and second software components. An in-memory message passing facility is implemented using the shared memory. The first software component is used to deallocate memory from the shared memory which has been allocated by the second software component. The deallocation is done by: taking at least one allocation to be freed from the message passing facility; and freeing the at least one allocation using a local deallocation mechanism while validating that memory access to memory owned by data structures related to memory allocation within the shared memory are within the shared memory.
-
公开(公告)号:US11308203B2
公开(公告)日:2022-04-19
申请号:US16246434
申请日:2019-01-11
Applicant: Microsoft Technology Licensing, LLC
Inventor: Alexander Shamis , Sylvan Wesley Clebsch , Felix Schuster
Abstract: In various examples there is a computing device in communication with at least one other computing device via a communications network. The computing device has a memory and a central processing unit having a trusted execution environment comprising trusted regions of the memory. The computing device has an operating system configured to create a memory mapping between a virtual address space of the memory and a memory of the at least one other computing device and to provide details of the memory mapping to the trusted execution environment. The trusted execution environment is configured to execute an application which is able to communicate with the other computing device directly using the memory mapping provided by the operating system.
-
公开(公告)号:US10592661B2
公开(公告)日:2020-03-17
申请号:US15823435
申请日:2017-11-27
Applicant: Microsoft Technology Licensing, LLC
Inventor: Sylvan Wesley Clebsch , Marc Manuel Johannes Brockschmidt , Syed Samin Ishtiaq , Jade Ella Carla Alglave , Matthew John Parkinson , Andrew Madison Kent
IPC: G06F21/00 , G06F21/51 , G06F21/53 , G06F21/12 , H04L9/32 , H04L12/24 , H04L29/06 , G06F21/74 , G06F21/57 , G06F21/60
Abstract: In various examples, there is a computer-implemented method for providing packages for processing on a computer system. The method creates a secure connection to an enclave and retrieves a quote to verify that the enclave is genuine and that it contains a predetermined process. The predetermined process is configured to create an enclave for itself and determine that an initial state of the computer system is equivalent to a predetermined state based on a quote retrieved from a security module. The predetermined process is further configured to receive a package to be processed by the computer system and cause the processor to process the package outside of the enclave. In response to verifying the enclave, the method provides a package to be processed by the computer system.
-
-
-
-
-
-