Patents by Inventor Manuel Silverio da Silva Costa

Manuel Silverio da Silva Costa 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).

  • Patent number: 11966385
    Abstract: In various examples, there is provided a computer-implemented method for writing transaction log entries to a transaction log for a database system. At least part of the database system is configured to be executed within a trusted execution environment. The transaction log is stored outside of the trusted execution environment. The method maintains a first secure count representing a number of transaction log entries which have been written to the transaction log for transactions which have been committed to the database and writes a transaction log entry to the transaction log. In other examples, there is also provided is a computer-implemented method for restoring a database system using transaction log entries received from the transaction log and a current value of the first secure count.
    Type: Grant
    Filed: August 25, 2021
    Date of Patent: April 23, 2024
    Assignee: Microsoft Technology Licensing, LLC.
    Inventors: Christian Priebe, Kapil Vaswani, Manuel Silverio da Silva Costa
  • Publication number: 20230368193
    Abstract: The disclosed technology is generally directed to code transparency. In one example of the technology, a claim associated with an application is received. The claim is a document that is signed with a claim signature and that includes evidence associated with a policy, and further includes an expected set of at least one binary measurement associated with the application. The evidence is cryptographically verifiable evidence associated with the application. A trusted execution environment (TEE) is used to provide a distributed ledger. The claim is verified. Verifying the claim includes verifying the expected set of at least one binary measurement associated with the application, verifying the claim signature, and, based at least on the evidence, verifying that the application meets the policy. Upon successful verification of the claim, the claim is appended to the distributed ledger. A ledger countersignature associated with the claim is generated.
    Type: Application
    Filed: May 10, 2022
    Publication date: November 16, 2023
    Inventors: Mark Eugene RUSSINOVICH, Sylvan W. CLEBSCH, Kahren TEVOSYAN, Antoine Jean Denis DELIGNAT-LAVAUD, Cédric Alain Marie Christophe FOURNET, Hervey Oliver WILSON, Manuel Silverio da Silva COSTA
  • Publication number: 20230370273
    Abstract: The disclosed technology is generally directed to code transparency. In one example of the technology, evidence associated with a policy is obtained. The evidence includes data that includes cryptographically verifiable evidence associated with initial source code in accordance with the policy. The initial source code is source code for a CTS. The initial binary is based on the initial source code is executed in a TEE such that a CTS instance begins operation. The CTS instance is configured to register guarantee(s) associated with code approved by the CTS instance. The TEE is used to provide a ledger. The evidence is stored on the ledger. Measurement(s) associated with the binary are provided. A service key associated with CTS instance is generated. TEE attestation of the measurement(s), the evidence, and the service key is provided.
    Type: Application
    Filed: May 10, 2022
    Publication date: November 16, 2023
    Inventors: Mark Eugene RUSSINOVICH, Sylvan W. CLEBSCH, Kahren TEVOSYAN, Antoine Jean Denis DELIGNAT-LAVAUD, Cédric Alain Marie Christophe FOURNET, Hervey Oliver WILSON, Manuel Silverio da Silva COSTA
  • Publication number: 20210382876
    Abstract: In various examples, there is provided a computer-implemented method for writing transaction log entries to a transaction log for a database system. At least part of the database system is configured to be executed within a trusted execution environment. The transaction log is stored outside of the trusted execution environment. The method maintains a first secure count representing a number of transaction log entries which have been written to the transaction log for transactions which have been committed to the database and writes a transaction log entry to the transaction log. In other examples, there is also provided is a computer-implemented method for restoring a database system using transaction log entries received from the transaction log and a current value of the first secure count.
    Type: Application
    Filed: August 25, 2021
    Publication date: December 9, 2021
    Inventors: Christian PRIEBE, Kapil VASWANI, Manuel Silverio da Silva COSTA
  • Publication number: 20210326153
    Abstract: Various technologies described herein pertain to enforcing control flow integrity by adding instrumentation when source code is compiled or binary code is rewritten. An indirect call to a control transfer target (e.g., in the source code, in the binary code, etc.) can be identified. Moreover, the instrumentation can be inserted prior to the indirect call. The instrumentation can use a bit from a bitmap maintained by a runtime to verify whether the control transfer target is valid. When an executable image that includes the inserted instrumentation runs, execution can be terminated and/or other appropriate actions can be taken when the control transfer target is determined to be invalid; alternatively, execution can continue when the control transfer target is determined to be valid.
    Type: Application
    Filed: April 30, 2021
    Publication date: October 21, 2021
    Inventors: Richard John Black, Timothy William Burrell, Miguel Oom Temudo de Castro, Manuel Silverio da Silva Costa, Kenneth Johnson, Matthew Ryan Miller
  • Patent number: 11120011
    Abstract: In various examples, there is provided a computer-implemented method for writing transaction log entries to a transaction log for a database system. At least part of the database system is configured to be executed within a trusted execution environment. The transaction log is stored outside of the trusted execution environment. The method maintains a first secure count representing a number of transaction log entries which have been written to the transaction log for transactions which have been committed to the database and writes a transaction log entry to the transaction log. In other examples, there is also provided is a computer-implemented method for restoring a database system using transaction log entries received from the transaction log and a current value of the first secure count.
    Type: Grant
    Filed: April 17, 2018
    Date of Patent: September 14, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Christian Priebe, Kapil Vaswani, Manuel Silverio da Silva Costa
  • Patent number: 11016883
    Abstract: A method of manual memory management is described which comprises enabling one or more threads to access an object created in a manual heap by storing a reference to the object in thread-local state and subsequently deleting the stored reference after accessing the object. In response to abandonment of the object, an identifier for the object and a current value of either a local counter of a thread or a global counter are stored in a delete queue and all threads are prevented from storing any further references to the object in thread-local state. Deallocation of the object only occurs when all references to the object stored in thread-local state for any threads have been deleted and a current value of the local counter for the thread or the global counter has incremented to a value that is at least a pre-defined amount more than the stored value, wherein the global counter is updated using one or more local counters.
    Type: Grant
    Filed: June 6, 2017
    Date of Patent: May 25, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Matthew John Parkinson, Manuel Silverio da Silva Costa, Dimitrios Vytiniotis, Kapil Vaswani
  • Patent number: 11016949
    Abstract: In various examples, there is a database system which comprises an operating system, a query engine, a transaction manager and components implementing database administration functionality. The query engine and the transaction manager are configured to be executed within one or more memory enclaves of a host computer system separately from the operating system and the components implementing database administration functionality.
    Type: Grant
    Filed: April 17, 2018
    Date of Patent: May 25, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Kapil Vaswani, Manuel Silverio Da Silva Costa
  • Patent number: 11003464
    Abstract: Various technologies described herein pertain to enforcing control flow integrity by adding instrumentation when source code is compiled or binary code is rewritten. An indirect call to a control transfer target (e.g., in the source code, in the binary code, etc.) can be identified. Moreover, the instrumentation can be inserted prior to the indirect call. The instrumentation can use a bit from a bitmap maintained by a runtime to verify whether the control transfer target is valid. When an executable image that includes the inserted instrumentation runs, execution can be terminated and/or other appropriate actions can be taken when the control transfer target is determined to be invalid; alternatively, execution can continue when the control transfer target is determined to be valid.
    Type: Grant
    Filed: April 19, 2012
    Date of Patent: May 11, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Richard John Black, Timothy William Burrell, Miguel Oom Temudo de Castro, Manuel Silverio da Silva Costa, Kenneth Johnson, Matthew Ryan Miller
  • Patent number: 10565129
    Abstract: In various examples a compute node is described. The compute node has a central processing unit which implements a hardware transactional memory using at least one cache of the central processing unit. The compute node has a memory in communication with the central processing unit, the memory storing information comprising at least one of: code and data. The compute node has a processor which loads at least part of the information, from the memory into the cache. The processor executes transactions using the hardware transactional memory and at least the loaded information, such that the processor ensures that the loaded information remains in the cache until completion of the execution.
    Type: Grant
    Filed: June 29, 2017
    Date of Patent: February 18, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Felix Schuster, Olga Ohrimenko, Istvan Haller, Manuel Silverio da Silva Costa, Daniel Gruss, Julian Lettner
  • Patent number: 10496534
    Abstract: A method of manual memory management is described. In response to detecting an access violation triggered by the use of an invalid reference to an object in a manual heap, a source of the access in a register or stack is identified. An updated reference for the object using stored mapping data is determined and used to replace the invalid reference in the source.
    Type: Grant
    Filed: June 15, 2017
    Date of Patent: December 3, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dimitrios Vytiniotis, Manuel Silverio da Silva Costa, Kapil Vaswani, Matthew John Parkinson, Piyus Kumar Kedia
  • Publication number: 20190236179
    Abstract: In various examples, there is provided a computer-implemented method for writing transaction log entries to a transaction log for a database system. At least part of the database system is configured to be executed within a trusted execution environment. The transaction log is stored outside of the trusted execution environment. The method maintains a first secure count representing a number of transaction log entries which have been written to the transaction log for transactions which have been committed to the database and writes a transaction log entry to the transaction log. In other examples, there is also provided is a computer-implemented method for restoring a database system using transaction log entries received from the transaction log and a current value of the first secure count.
    Type: Application
    Filed: April 17, 2018
    Publication date: August 1, 2019
    Inventors: Christian PRIEBE, Kapil VASWANI, Manuel Silverio da Silva COSTA
  • Publication number: 20190236168
    Abstract: In various examples, there is a database system which comprises an operating system, a query engine, a transaction manager and components implementing database administration functionality. The query engine and the transaction manager are configured to be executed within one or more memory enclaves of a host computer system separately from the operating system and the components implementing database administration functionality.
    Type: Application
    Filed: April 17, 2018
    Publication date: August 1, 2019
    Inventors: Kapil VASWANI, Manuel Silverio da Silva COSTA
  • Publication number: 20180341600
    Abstract: In various examples a compute node is described. The compute node has a central processing unit which implements a hardware transactional memory using at least one cache of the central processing unit. The compute node has a memory in communication with the central processing unit, the memory storing information comprising at least one of: code and data. The compute node has a processor which loads at least part of the information, from the memory into the cache. The processor executes transactions using the hardware transactional memory and at least the loaded information, such that the processor ensures that the loaded information remains in the cache until completion of the execution.
    Type: Application
    Filed: June 29, 2017
    Publication date: November 29, 2018
    Inventors: Felix Schuster, Olga Ohrimenko, Istvan Haller, Manuel Silverio da Silva Costa, Daniel Gruss, Julian Lettner
  • Publication number: 20180276120
    Abstract: A method of manual memory management is described. In response to detecting an access violation triggered by the use of an invalid reference to an object in a manual heap, a source of the access in a register or stack is identified. An updated reference for the object using stored mapping data is determined and used to replace the invalid reference in the source.
    Type: Application
    Filed: June 15, 2017
    Publication date: September 27, 2018
    Inventors: Dimitrios VYTINIOTIS, Manuel Silverio da Silva COSTA, Kapil VASWANI, Matthew John PARKINSON, Piyus Kumar KEDIA
  • Publication number: 20180253311
    Abstract: A method of manual memory management is described which comprises enabling one or more threads to access an object created in a manual heap by storing a reference to the object in thread-local state and subsequently deleting the stored reference after accessing the object. In response to abandonment of the object, an identifier for the object and a current value of either a local counter of a thread or a global counter are stored in a delete queue and all threads are prevented from storing any further references to the object in thread-local state. Deallocation of the object only occurs when all references to the object stored in thread-local state for any threads have been deleted and a current value of the local counter for the thread or the global counter has incremented to a value that is at least a pre-defined amount more than the stored value, wherein the global counter is updated using one or more local counters.
    Type: Application
    Filed: June 6, 2017
    Publication date: September 6, 2018
    Inventors: Matthew John PARKINSON, Manuel Silverio da Silva COSTA, Dimitrios VYTINIOTIS, Kapil VASWANI
  • Publication number: 20170372226
    Abstract: A multi-party privacy-preserving machine learning system is described which has a trusted execution environment comprising at least one protected memory region. An code loader at the system loads machine learning code, received from at least one of the parties, into the protected memory region. A data uploader uploads confidential data, received from at least one of the parties, to the protected memory region. The trusted execution environment executes the machine learning code using at least one data-oblivious procedure to process the confidential data and returns the result to at least one of the parties, where a data-oblivious procedure is a process where any patterns of memory accesses, patterns of disk accesses and patterns of network accesses are such that the confidential data cannot be predicted from the patterns.
    Type: Application
    Filed: August 23, 2016
    Publication date: December 28, 2017
    Inventors: Manuel Silverio da Silva Costa, Cédric Alain Marie Christophe Fournet, Aastha Mehta, Sebastian Nowozin, Olga Ohrimenko, Felix Schuster, Kapil Vaswani
  • Patent number: 8626949
    Abstract: An intelligent lookup service for a network is provided for clients of a network requesting services of the network that intelligently determines, based on a service requirement of the requested service, optimal service endpoint(s) for providing the requested service. The intelligent lookup service can incorporate predetermined mapping policy and traffic measurements into the determination. In addition, a feedback loop is provided from clients and/or service endpoints to the lookup service concerning measurements about prior connections in the network. The lookup service can include a set of beacons distributed in the network and against which measurements about the network are recorded. A client receives, from the lookup service in response to a request for a network address, a set of candidate service endpoints that pertain to the requested network address and the client connects to one of the candidate service endpoints based on policy or context.
    Type: Grant
    Filed: September 27, 2007
    Date of Patent: January 7, 2014
    Assignee: Microsoft Corporation
    Inventors: Sharad Agarwal, Najam Ahmad, Behrooz Chitsaz, Manuel Silverio Da Silva Costa, Albert Gordon Greenberg, Parantap Lahiri, Venkata N. Padmanabhan
  • Publication number: 20130283245
    Abstract: Various technologies described herein pertain to enforcing control flow integrity by adding instrumentation when source code is compiled or binary code is rewritten. An indirect call to a control transfer target (e.g., in the source code, in the binary code, etc.) can be identified. Moreover, the instrumentation can be inserted prior to the indirect call. The instrumentation can use a bit from a bitmap maintained by a runtime to verify whether the control transfer target is valid. When an executable image that includes the inserted instrumentation runs, execution can be terminated and/or other appropriate actions can be taken when the control transfer target is determined to be invalid; alternatively, execution can continue when the control transfer target is determined to be valid.
    Type: Application
    Filed: April 19, 2012
    Publication date: October 24, 2013
    Applicant: Microsoft Corporation
    Inventors: Richard John Black, Timothy William Burrell, Miguel Oom Temudo de Castro, Manuel Silverio da Silva Costa, Kenneth Johnson, Matthew Ryan Miller
  • Publication number: 20090089438
    Abstract: An intelligent lookup service for a network is provided for clients of a network requesting services of the network that intelligently determines, based on a service requirement of the requested service, optimal service endpoint(s) for providing the requested service. The intelligent lookup service can incorporate predetermined mapping policy and traffic measurements into the determination. In addition, a feedback loop is provided from clients and/or service endpoints to the lookup service concerning measurements about prior connections in the network. The lookup service can include a set of beacons distributed in the network and against which measurements about the network are recorded. A client receives, from the lookup service in response to a request for a network address, a set of candidate service endpoints that pertain to the requested network address and the client connects to one of the candidate service endpoints based on policy or context.
    Type: Application
    Filed: September 27, 2007
    Publication date: April 2, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Sharad Agarwal, Najam Ahmad, Behrooz Chitsaz, Manuel Silverio Da Silva Costa, Albert Gordon Greenberg, Parantap Lahiri, Venkata N. Padmanabhan