Patents by Inventor Mark Eugene Russinovich

Mark Eugene Russinovich 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: 20200236160
    Abstract: In various embodiments, methods and systems for optimizing allocation of multi-priority service instances are provided. In embodiments, a quality metric associated with each candidate node to which a service instance could be allocated is determined. An eviction cost or a survival metric associated with at least a portion of the candidate nodes to which the service instance could be allocated are determined. The eviction costs generally indicate a cost to evict a service instance from a corresponding node such that another service instance can be allocated to that node. At least a portion of the quality metrics and either the eviction costs or the survival metrics are used to select a node from the candidate nodes to which to allocate the service instance.
    Type: Application
    Filed: April 3, 2020
    Publication date: July 23, 2020
    Inventors: Thomas MOSCIBRODA, Yang CHEN, James E. JOHNSON, Ajay MANI, Mark Eugene RUSSINOVICH
  • Publication number: 20200153699
    Abstract: The present disclosure relates to systems, methods, and computer-readable media for generating a platform-neutral application model that provides a complete and accurate representation of functionality and topology for a cloud-native application. For example, systems disclosed herein analyze application data to identify platform neutral application features including resources, mesh connections, and quality of service (QoS) constraints associated with implementing a cloud-native application via a cloud computing system. The systems disclosed herein further construct a platform-neutral application model including identifiers of the application features. The platform-neutral application model facilitates convenient translation of applications between different platforms and further streamlines development and deployment of cloud-native applications across any number of platforms.
    Type: Application
    Filed: November 9, 2018
    Publication date: May 14, 2020
    Inventors: Haishi BAI, Mark Eugene RUSSINOVICH, Boris Markus SCHOLL, Yaron SCHNEIDER
  • Publication number: 20200151023
    Abstract: The present disclosure relates to systems, methods, and computer-readable media for deploying cloud-native services across a plurality of cloud-computing platforms. For example, systems disclosed herein identify resource identifiers associated with cloud-computing services (e.g., types of services) to be deployed on one or more resources capable of executing or otherwise providing cloud-native services. The systems disclosed herein further generate resource bindings including deployment specifications that include data for deploying cloud-native services on corresponding platform resources (e.g., cloud resources, edge resources). Using the resource bindings, the systems disclosed herein can deploy cloud-native services across multiple platforms via control planes configured to manage operation of resources on the different platforms.
    Type: Application
    Filed: November 13, 2018
    Publication date: May 14, 2020
    Inventors: Haishi BAI, Mark Eugene RUSSINOVICH, Boris Markus SCHOLL, Yaron SCHNEIDER
  • Patent number: 10652321
    Abstract: In various embodiments, methods and systems for optimizing allocation of dynamic resources are provided. A user service request resource instance is received at an allocator. The user service request resource instance is based on a dynamic resource protocol that supports generating and communicating resource instances between components in a resource allocation platform. The dynamic resource protocol also defines a set of rules for translating and representing resources as logical resource types and logical units. At a node, a node resource instance is generated and communicated, based on the dynamic resource protocol, from the node to the allocator. The node resource instance specifically comprises a resource interaction matrix that indicates dependencies between resource types. A resource allocation instance is generated at the allocator for the user service request resource instance.
    Type: Grant
    Filed: January 16, 2018
    Date of Patent: May 12, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mark Eugene Russinovich, James E. Johnson, Ajay Mani, Bryan W. Tuttle, Alejandro Matute Gonzalez, Huy Vu-Bao Hoang
  • Patent number: 10630765
    Abstract: In various embodiments, methods and systems for optimizing allocation of multi-priority service instances are provided. In embodiments, a packing quality metric associated with each candidate node to which a service instance could be allocated are determined. An eviction cost associated with at least a portion of the candidate nodes to which the service instance could be allocated are determined. The eviction costs generally indicate a cost to evict a service instance from a corresponding node such that another service instance can be allocated to that node. At least a portion of the packing quality metrics and the eviction costs are used to select a node from the candidate nodes to which to allocate the service instance.
    Type: Grant
    Filed: August 10, 2016
    Date of Patent: April 21, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Thomas Moscibroda, Yang Chen, James E. Johnson, Ajay Mani, Mark Eugene Russinovich
  • Patent number: 10601596
    Abstract: Techniques to secure computation data in a computing environment from untrusted code. These techniques involve an isolated environment within the computing environment and an application programming interface (API) component to execute a key exchange protocol that ensures data integrity and data confidentiality for data communicated out of the isolated environment. The isolated environment includes an isolated memory region to store a code package. The key exchange protocol further involves a verification process for the code package stored in the isolated environment to determine whether the one or more exchanged encryption keys have been compromised. If the signature successfully authenticates the one or more keys, a secure communication channel is established to the isolated environment and access to the code package's functionality is enabled. Other embodiments are described and claimed.
    Type: Grant
    Filed: February 12, 2019
    Date of Patent: March 24, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Manuel Costa, Orion Tamlin Hodson, Sriram Kottarakurichi Rajamani, Marcus Peinado, Mark Eugene Russinovich, Kapil Vaswani
  • Publication number: 20190286812
    Abstract: Various methods and systems are provided for autonomous orchestration of secrets renewal and distribution. A secrets management service (“SMS”) can be utilized to store, renew and distribute secrets in a distributed computing environment. The secrets are initially deployed, after which, SMS can automatically renew the secrets according to a specified rollover policy, and polling agents can fetch updates from SMS. In various embodiments, SMS can autonomously rollover client certificates for authentication of users who access a security critical service, autonomously rollover storage account keys, track delivery of updated secrets to secrets recipients, deliver secrets using a secure blob, and/or facilitate autonomous rollover using secrets staging. In some embodiments, a service is pinned to the path where the service's secrets are stored. In this manner, secrets can be automatically renewed without any manual orchestration and/or the need to redeploy services.
    Type: Application
    Filed: March 14, 2018
    Publication date: September 19, 2019
    Inventors: Brian S. LOUNSBERRY, Ashok CHANDRASEKARAN, Chetan S. SHANKAR, Chandan R. REDDY, Chuang WANG, Kahren TEVOSYAN, Mark Eugene RUSSINOVICH, Vyom P. MUNSHI, Pavel ZAKHAROV, Abhishek Pratap Singh CHAUHAN
  • Publication number: 20190288839
    Abstract: Various methods and systems are provided for autonomous orchestration of secrets renewal and distribution across scope boundaries. A cross-scope secrets management service (“SMS”) can be utilized to store, renew and distribute secrets across boundaries in a distributed computing environment such as regional boundaries. In some embodiments, locally scoped secrets management services subscribe to receive updates from the cross-scope secrets management service. As secrets are renewed, they are automatically propagated to a subscribing local scope and distributed by the local secrets management service. In various embodiments, SMS can autonomously rollover storage account keys, track delivery of updated secrets to secrets recipients, deliver secrets using a secure blob, and/or facilitate autonomous rollover using secrets staging. In some embodiments, a service is pinned to the path where the service's secrets are stored.
    Type: Application
    Filed: March 14, 2018
    Publication date: September 19, 2019
    Inventors: Brian S. LOUNSBERRY, Ashok CHANDRASEKARAN, Chandan R. REDDY, Chuang WANG, Kahren TEVOSYAN, Mark Eugene RUSSINOVICH, Srinivas S. NIDADAVOLU, Vyom P. MUNSHI
  • Publication number: 20190250906
    Abstract: Various methods and systems for autonomously upgrading deployed resources in a distributed computing environment are provided. An autonomous upgrade system identifies updates such as operating system image updates and virtual machine extension updates for deployment in the distributed computing environment. The autonomous upgrade system identifies eligible tenants, identifies deployed resources that may be impacted by the identified update, batches the resources and upgrades the batched resources. The autonomous upgrade system performs a diagnostic test on upgraded resources to determine whether an upgrade was successful. In some embodiments, the diagnostic test is performed by executing a diagnostic script that can be provided by a tenant. The autonomous upgrade system can stop or pause the upgrade if various success metrics are not satisfied. In some embodiments, the autonomous upgrade system tests and certifies newly published updates for deployment to the distributed computing environment.
    Type: Application
    Filed: April 25, 2019
    Publication date: August 15, 2019
    Inventors: Yunus MOHAMMED, Pritesh PATWA, Gregory Marvin DOOR, Ravikiran Janardhan REDDY, Sean David ZIMMERMAN, Xiaoxiong TIAN, Phani Soma Shekar BURELA, Mark Eugene RUSSINOVICH
  • Publication number: 20190182052
    Abstract: Techniques to secure computation data in a computing environment from untrusted code. These techniques involve an isolated environment within the computing environment and an application programming interface (API) component to execute a key exchange protocol that ensures data integrity and data confidentiality for data communicated out of the isolated environment. The isolated environment includes an isolated memory region to store a code package. The key exchange protocol further involves a verification process for the code package stored in the isolated environment to determine whether the one or more exchanged encryption keys have been compromised. If the signature successfully authenticates the one or more keys, a secure communication channel is established to the isolated environment and access to the code package's functionality is enabled. Other embodiments are described and claimed.
    Type: Application
    Filed: February 12, 2019
    Publication date: June 13, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Manuel Costa, Orion Tamlin Hodson, Sriram Kottarakurichi Rajamani, Marcus Peinado, Mark Eugene Russinovich, Kapil Vaswani
  • Patent number: 10318279
    Abstract: Various methods and systems for autonomously upgrading deployed resources in a distributed computing environment are provided. An autonomous upgrade system identifies updates such as operating system image updates and virtual machine extension updates for deployment in the distributed computing environment. The autonomous upgrade system identifies eligible tenants, identifies deployed resources that may be impacted by the identified update, batches the resources and upgrades the batched resources. The autonomous upgrade system performs a diagnostic test on upgraded resources to determine whether an upgrade was successful. In some embodiments, the diagnostic test is performed by executing a diagnostic script that can be provided by a tenant. The autonomous upgrade system can stop or pause the upgrade if various success metrics are not satisfied. In some embodiments, the autonomous upgrade system tests and certifies newly published updates for deployment to the distributed computing environment.
    Type: Grant
    Filed: May 30, 2017
    Date of Patent: June 11, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Yunus Mohammed, Pritesh Patwa, Gregory Marvin Door, Ravikiran Janardhan Reddy, Sean David Zimmerman, Xiaoxiong Tian, Phani Soma Shekar Burela, Mark Eugene Russinovich
  • Publication number: 20190087597
    Abstract: Systems, methods, and computer-readable storage media are provided for securely storing and accessing content within a public cloud. A processor manufacturer provides processors having secure enclave capability to a cloud provider. The provider makes available a listing of processor identifiers (CPUIDs) for processors available for storing content and having secure enclave capability. A content owner provides CPUIDs for desired processors from the listing to the manufacturer which provides the content owner with a processor-specific public code encryption key (CEK) for encrypting content to be stored on each processor identified. Each processor is constructed such that content encrypted with the public CEK may only be decrypted within a secure enclave thereof. The content owner encrypts the desired content with the public CEK and returns the encrypted content and the CPUID for the appropriate processor to the cloud provider. The cloud provider then stores the encrypted content on the particular processor.
    Type: Application
    Filed: March 15, 2018
    Publication date: March 21, 2019
    Inventors: GALEN CLYDE HUNT, MARK EUGENE RUSSINOVICH
  • Patent number: 10230529
    Abstract: Techniques to secure computation data in a computing environment from untrusted code. These techniques involve an isolated environment within the computing environment and an application programming interface (API) component to execute a key exchange protocol that ensures data integrity and data confidentiality for data communicated out of the isolated environment. The isolated environment includes an isolated memory region to store a code package. The key exchange protocol further involves a verification process for the code package stored in the isolated environment to determine whether the one or more exchanged encryption keys have been compromised. If the signature successfully authenticates the one or more keys, a secure communication channel is established to the isolated environment and access to the code package's functionality is enabled. Other embodiments are described and claimed.
    Type: Grant
    Filed: September 25, 2015
    Date of Patent: March 12, 2019
    Assignee: MICROSFT TECHNOLOGY LICENSING, LLC
    Inventors: Manuel Costa, Orion Tamlin Hodson, Sriram Kottarakurichi Rajamani, Marcus Peinado, Mark Eugene Russinovich, Kapil Vaswani
  • Publication number: 20180359313
    Abstract: In various embodiments, methods and systems for optimizing allocation of dynamic resources are provided. A user service request resource instance is received at an allocator. The user service request resource instance is based on a dynamic resource protocol that supports generating and communicating resource instances between components in a resource allocation platform. The dynamic resource protocol also defines a set of rules for translating and representing resources as logical resource types and logical units. At a node, a node resource instance is generated and communicated, based on the dynamic resource protocol, from the node to the allocator. The node resource instance specifically comprises a resource interaction matrix that indicates dependencies between resource types. A resource allocation instance is generated at the allocator for the user service request resource instance.
    Type: Application
    Filed: January 16, 2018
    Publication date: December 13, 2018
    Inventors: MARK EUGENE RUSSINOVICH, JAMES E. JOHNSON, AJAY MANI, BRYAN W. TUTTLE, ALEJANDRO MATUTE GONZALEZ, HUY VU-BAO HOANG
  • Publication number: 20180349130
    Abstract: Various methods and systems for autonomously upgrading deployed resources in a distributed computing environment are provided. An autonomous upgrade system identifies updates such as operating system image updates and virtual machine extension updates for deployment in the distributed computing environment. The autonomous upgrade system identifies eligible tenants, identifies deployed resources that may be impacted by the identified update, batches the resources and upgrades the batched resources. The autonomous upgrade system performs a diagnostic test on upgraded resources to determine whether an upgrade was successful. In some embodiments, the diagnostic test is performed by executing a diagnostic script that can be provided by a tenant. The autonomous upgrade system can stop or pause the upgrade if various success metrics are not satisfied. In some embodiments, the autonomous upgrade system tests and certifies newly published updates for deployment to the distributed computing environment.
    Type: Application
    Filed: May 30, 2017
    Publication date: December 6, 2018
    Inventors: Yunus MOHAMMED, Pritesh PATWA, Gregory Marvin DOOR, Ravikiran Janardhan REDDY, Sean David ZIMMERMAN, Xiaoxiong TIAN, Phani Soma Shekar BURELA, Mark Eugene RUSSINOVICH
  • Publication number: 20180262563
    Abstract: Various methods and systems for implementing an availability management system for implementing an availability management, in distributed computing systems, are provided. An availability management system implements an availability manager and an availability configuration interface to meet availability guarantees for tenant infrastructure. The availability management systems operates with availability zones, computing clusters, fault and upgrade domains to allocate and de-allocate virtual machine sets of virtual machine instances to a distributed computing system based on tenant-defined availability parameters. The availability parameters are used to generate an availability profile. The availability manager is configured to, based on an availability profile, allocate the virtual machine sets based an allocation scheme. The availability manager specifically performs scaling-out, scaling-in and rebalancing operations for allocating and de-allocating the virtual machine sets.
    Type: Application
    Filed: March 7, 2017
    Publication date: September 13, 2018
    Inventors: YUNUS MOHAMMED, JUN WANG, MARCUS FELIPE FONTOURA, MARK EUGENE RUSSINOVICH, MOHAMMAD ZEESHAN SIDDIQUI, PRITESH PATWA, SEAN DAVID ZIMMERMAN, XIAOXIONG TIAN
  • Publication number: 20180260262
    Abstract: Various methods and systems for implementing an availability management system for implementing an availability management, in distributed computing systems, are provided. An availability management system implements an availability manager and an availability configuration interface to meet availability guarantees for tenant infrastructure. The availability management systems operates with availability zones, computing clusters, fault and upgrade domains to allocate and de-allocate virtual machine sets of virtual machine instances to a distributed computing system based on tenant-defined availability parameters. The availability configuration interface of the availability management system supports receiving availability parameters that are used to generate an availability profile.
    Type: Application
    Filed: March 7, 2017
    Publication date: September 13, 2018
    Inventors: YUNUS MOHAMMED, JUN WANG, MARCUS FELIPE FONTOURA, MARK EUGENE RUSSINOVICH, MOHAMMAD ZEESHAN SIDDIQUI, PRITESH PATWA, SEAN DAVID ZIMMERMAN, XIAOXIONG TIAN
  • Publication number: 20180260261
    Abstract: Various methods and systems for implementing an availability management system for implementing an availability management, in distributed computing systems, are provided. An availability management system implements an availability manager and an availability configuration interface to meet availability guarantees for tenant infrastructure. The availability management systems operates with availability zones, computing clusters, fault and upgrade domains to allocate and de-allocate virtual machine sets of virtual machine instances to a distributed computing system based on tenant-defined availability parameters. The availability manager is configured to: based on an availability profile, allocate the virtual machine sets across the availability zones using an allocation scheme.
    Type: Application
    Filed: March 7, 2017
    Publication date: September 13, 2018
    Inventors: YUNUS MOHAMMED, JUN WANG, MARCUS FELIPE FONTOURA, MARK EUGENE RUSSINOVICH, MOHAMMAD ZEESHAN SIDDIQUI, PRITESH PATWA, SEAN DAVID ZIMMERMAN, XIAOXIONG TIAN
  • Publication number: 20180234492
    Abstract: In various embodiments, methods and systems for optimizing allocation of multi-priority service instances are provided. In embodiments, a packing quality metric associated with each candidate node to which a service instance could be allocated are determined. An eviction cost associated with at least a portion of the candidate nodes to which the service instance could be allocated are determined. The eviction costs generally indicate a cost to evict a service instance from a corresponding node such that another service instance can be allocated to that node. At least a portion of the packing quality metrics and the eviction costs are used to select a node from the candidate nodes to which to allocate the service instance.
    Type: Application
    Filed: August 10, 2016
    Publication date: August 16, 2018
    Inventors: Thomas MOSCIBRODA, Yang CHEN, James E. JOHNSON, Ajay MANI, Mark Eugene RUSSINOVICH
  • Patent number: 9922200
    Abstract: Systems, methods, and computer-readable storage media are provided for securely storing and accessing content within a public cloud. A processor manufacturer provides processors having secure enclave capability to a cloud provider. The provider makes available a listing of processor identifiers (CPUIDs) for processors available for storing content and having secure enclave capability. A content owner provides CPUIDs for desired processors from the listing to the manufacturer which provides the content owner with a processor-specific public code encryption key (CEK) for encrypting content to be stored on each processor identified. Each processor is constructed such that content encrypted with the public CEK may only be decrypted within a secure enclave thereof. The content owner encrypts the desired content with the public CEK and returns the encrypted content and the CPUID for the appropriate processor to the cloud provider. The cloud provider then stores the encrypted content on the particular processor.
    Type: Grant
    Filed: June 30, 2014
    Date of Patent: March 20, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Galen Clyde Hunt, Mark Eugene Russinovich