Patents by Inventor Balaji Balasubramanyan

Balaji Balasubramanyan 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: 11966461
    Abstract: Environment type validation can provide a tamper-resistant validation of the computing environment within which the environment type validation is being performed. Such information can then be utilized to perform policy management, which can include omitting verifications in order to facilitate the sharing of policy, such as application licenses, from a host computing environment into a container virtual computing environment. The environment type validation can perform multiple checks, including verification of the encryption infrastructure of the computing environment, verification of code integrity mechanisms of that computing environment, checks for the presence of functionality evidencing a hypervisor, checks for the presence or absence of predetermined system drivers, or other like operating system components or functionality, checks for the activation or deactivation of resource management stacks, and checks for the presence or absence of predetermined values in firmware.
    Type: Grant
    Filed: May 11, 2022
    Date of Patent: April 23, 2024
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Tushar Suresh Sugandhi, Amber Tianqi Guo, Balaji Balasubramanyan, Abhijat Singh, Ahmed Saruhan Karademir, Benjamin M. Schultz, Hari R. Pulapaka, Gupta Shubham, Chase Thomas, Carlos Ernesto Peza Ramirez
  • Publication number: 20230334127
    Abstract: Methods for protecting software licensing information via a trusted platform module (TPM) are performed by systems and devices. When a licensing server is unreachable, a license is generated for a software application by a licensing manager. The license is generated via a secure register of the TPM using an asymmetric key, specific to the software application and policy-tied to the secure register, to generate a signature of a hashed license file for the software application. The asymmetric key is stored, mapped to the license file, and used for subsequent license validation. A licensing manager validation command is provided to validate the license using the key, as applied to the hash, to verify the signature and checking validity of the time stamp. Time stamp expiration or alteration of the license are determined to provoke invalidation indications for the validating application.
    Type: Application
    Filed: February 17, 2023
    Publication date: October 19, 2023
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Ronald AIGNER, Balaji BALASUBRAMANYAN
  • Patent number: 11586710
    Abstract: Methods for protecting software licensing information via a trusted platform module (TPM) are performed by systems and devices. When a licensing server is unreachable, a license is generated for a software application by a licensing manager. The license is generated via a secure register of the TPM using an asymmetric key, specific to the software application and policy-tied to the secure register, to generate a signature of a hashed license file for the software application. The asymmetric key is stored, mapped to the license file, and used for subsequent license validation. A licensing manager validation command is provided to validate the license using the key, as applied to the hash, to verify the signature and checking validity of the time stamp. Time stamp expiration or alteration of the license are determined to provoke invalidation indications for the validating application.
    Type: Grant
    Filed: December 24, 2019
    Date of Patent: February 21, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ronald Aigner, Balaji Balasubramanyan
  • Publication number: 20220405382
    Abstract: Environment type validation can provide a tamper-resistant validation of the computing environment within which the environment type validation is being performed. Such information can then be utilized to perform policy management, which can include omitting verifications in order to facilitate the sharing of policy, such as application licenses, from a host computing environment into a container virtual computing environment. The environment type validation can perform multiple checks, including verification of the encryption infrastructure of the computing environment, verification of code integrity mechanisms of that computing environment, checks for the presence of functionality evidencing a hypervisor, checks for the presence or absence of predetermined system drivers, or other like operating system components or functionality, checks for the activation or deactivation of resource management stacks, and checks for the presence or absence of predetermined values in firmware.
    Type: Application
    Filed: May 11, 2022
    Publication date: December 22, 2022
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Tushar Suresh SUGANDHI, Amber Tianqi GUO, Balaji BALASUBRAMANYAN, Abhijat SINGH, Ahmed Saruhan KARADEMIR, Benjamin M. SCHULTZ, Hari R. PULAPAKA, Gupta SHUBHAM, Chase THOMAS, Carlos Ernesto Peza RAMIREZ
  • Patent number: 11354402
    Abstract: Environment type validation can provide a tamper-resistant validation of the computing environment within which the environment type validation is being performed. Such information can then be utilized to perform policy management, which can include omitting verifications in order to facilitate the sharing of policy, such as application licenses, from a host computing environment into a container virtual computing environment. The environment type validation can perform multiple checks, including verification of the encryption infrastructure of the computing environment, verification of code integrity mechanisms of that computing environment, checks for the presence of functionality evidencing a hypervisor, checks for the presence or absence of predetermined system drivers, or other like operating system components or functionality, checks for the activation or deactivation of resource management stacks, and checks for the presence or absence of predetermined values in firmware.
    Type: Grant
    Filed: November 1, 2019
    Date of Patent: June 7, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Tushar Suresh Sugandhi, Amber Tianqi Guo, Balaji Balasubramanyan, Abhijat Singh, Ahmed Saruhan Karademir, Benjamin M. Schultz, Hari R. Pulapaka, Gupta Shubham, Chase Thomas, Carlos Ernesto Peza Ramirez
  • Patent number: 11200300
    Abstract: Techniques for secure sharing of data in computing systems are disclosed herein. In one embodiment, a method includes when exchanging data between the host operating system and the guest operating system, encrypting, at a trusted platform module (TPM) of the host, data to be exchanged with a first key to generate encrypted data. The method also includes transmitting the encrypted data from the host operating system to the guest operating system and decrypting, at the guest operating system, the transmitted encrypted data using a second key previously exchanged between the TPM of the host and a virtual TPM of the guest operating system.
    Type: Grant
    Filed: June 20, 2018
    Date of Patent: December 14, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Giridhar Viswanathan, Sudeep Kumar Ghosh, Ankit Srivastava, Michael Trevor Pashniak, Benjamin M Schultz, Balaji Balasubramanyan, Hari R Pulapaka, Tushar Suresh Sugandhi, Matthew David Kurjanowicz, Ahmed Saruhan Karademir
  • Patent number: 11100243
    Abstract: Technologies are described for selective persistence of data utilized by software containers. A configuration policy is defined that includes data that specifies one or more data stores for which data is not to be persisted following accesses to a software container and one or more data stores for which data is to be persisted following accesses to the software container. When the software container is first accessed, the data stores identified in the configuration policy are attached to the software container. Upon a subsequent access to the container, such as at the conclusion of a user session or upon destruction of the container, the data in the attached data stores is persisted or deleted based upon the configuration policy. When the software container is once again accessed, the data store containing the persisted data can be re-attached to the software container.
    Type: Grant
    Filed: January 15, 2018
    Date of Patent: August 24, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Margarit Simeonov Chenchev, Benjamin M. Schultz, Giridhar Viswanathan, Balaji Balasubramanyan, Yanan Zhang, Frederick Justus Smith, Hari R. Pulapaka, David Weston
  • Patent number: 11074323
    Abstract: Securely performing file operations. A method includes determining a licensing characteristic assigned to a file. When the licensing characteristic assigned to the file meets or exceeds a predetermined licensing condition, then the method includes performing a file operation on the file in a host operating system while preventing the file operation from being performed in the guest operating system. When the licensing characteristic assigned to the file does not meet or exceed the predetermined licensing condition, then the method includes performing the file operation on the file in the guest operating system while preventing the file operation from being performed directly in the host operating system.
    Type: Grant
    Filed: June 21, 2018
    Date of Patent: July 27, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Benjamin M. Schultz, Balaji Balasubramanyan, Giridhar Viswanathan, Ankit Srivastava, Margarit Simeonov Chenchev, Hari R. Pulapaka, Nived Kalappuraikal Sivadas, Raphael Gianotti Serrano dos Santo, Narasimhan Ramasubramanian, Frederick Justus Smith, Matthew David Kurjanowicz, Prakhar Srivastava, Jonathan Schwartz
  • Publication number: 20210192017
    Abstract: Methods for protecting software licensing information via a trusted platform module (TPM) are performed by systems and devices. When a licensing server is unreachable, a license is generated for a software application by a licensing manager. The license is generated via a secure register of the TPM using an asymmetric key, specific to the software application and policy-tied to the secure register, to generate a signature of a hashed license file for the software application. The asymmetric key is stored, mapped to the license file, and used for subsequent license validation. A licensing manager validation command is provided to validate the license using the key, as applied to the hash, to verify the signature and checking validity of the time stamp. Time stamp expiration or alteration of the license are determined to provoke invalidation indications for the validating application.
    Type: Application
    Filed: December 24, 2019
    Publication date: June 24, 2021
    Inventors: Ronald Aigner, Balaji Balasubramanyan
  • Publication number: 20210133312
    Abstract: Environment type validation can provide a tamper-resistant validation of the computing environment within which the environment type validation is being performed. Such information can then be utilized to perform policy management, which can include omitting verifications in order to facilitate the sharing of policy, such as application licenses, from a host computing environment into a container virtual computing environment. The environment type validation can perform multiple checks, including verification of the encryption infrastructure of the computing environment, verification of code integrity mechanisms of that computing environment, checks for the presence of functionality evidencing a hypervisor, checks for the presence or absence of predetermined system drivers, or other like operating system components or functionality, checks for the activation or deactivation of resource management stacks, and checks for the presence or absence of predetermined values in firmware.
    Type: Application
    Filed: November 1, 2019
    Publication date: May 6, 2021
    Inventors: Tushar Suresh SUGANDHI, Amber Tianqi GUO, Balaji BALASUBRAMANYAN, Abhijat SINGH, Ahmed Saruhan KARADEMIR, Benjamin M. SCHULTZ, Hari R. PULAPAKA, Gupta SHUBHAM, Chase THOMAS, Carlos Ernesto Peza RAMIREZ
  • Patent number: 10885193
    Abstract: Securely performing file operations. A method includes determining a trust characteristic assigned to a file. When the trust characteristic assigned to the file meets or exceeds a predetermined trust condition, then the method includes performing a file operation on the file in a host operating system while preventing the file operation from being performed in the container operating system. When the trust characteristic assigned to the file does not meet or exceed the predetermined trust condition, then the method includes performing the file operation on the file in the container operating system while preventing the file operation from being performed directly in the host operating system.
    Type: Grant
    Filed: February 12, 2018
    Date of Patent: January 5, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Bryan R. Born, Giridhar Viswanathan, Peteris Ledins, Balaji Balasubramanyan, Margarit Simeonov Chenchev, Benjamin M. Schultz, Hari R. Pulapaka, Frederick Justus Smith, Narasimhan Ramasubramanian, Raphael Gianotti Serrano Dos Santo, Nived Kalappuraikal Sivadas, Ravinder Thind, Matthew David Kurjanowicz
  • Patent number: 10795974
    Abstract: Techniques for memory assignment for guest operating systems are disclosed herein. In one embodiment, a method includes generating a license blob containing data representing a product key copied from a record of license information in the host storage upon receiving a user request to launch an application in the guest operating system. The method also includes storing the generated license blob in a random memory location accessible by the guest operating system. The guest operating system can then query the license blob for permission to launch the application and launching the application in the guest operating system without having a separate product key for the guest operating system.
    Type: Grant
    Filed: May 31, 2018
    Date of Patent: October 6, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ahmed Saruhan Karademir, Sudeep Kumar Ghosh, Ankit Srivastava, Michael Trevor Pashniak, Benjamin M. Schultz, Balaji Balasubramanyan, Hari R. Pulapaka, Tushar Suresh Sugandhi, Matthew David Kurjanowicz, Giridhar Viswanathan
  • Publication number: 20190392117
    Abstract: Techniques for secure sharing of data in computing systems are disclosed herein. In one embodiment, a method includes when exchanging data between the host operating system and the guest operating system, encrypting, at a trusted platform module (TPM) of the host, data to be exchanged with a first key to generate encrypted data. The method also includes transmitting the encrypted data from the host operating system to the guest operating system and decrypting, at the guest operating system, the transmitted encrypted data using a second key previously exchanged between the TPM of the host and a virtual TPM of the guest operating system.
    Type: Application
    Filed: June 20, 2018
    Publication date: December 26, 2019
    Inventors: Giridhar Viswanathan, Sudeep Kumar Ghosh, Ankit Srivastava, Michael Trevor Pashniak, Benjamin M. Schultz, Balaji Balasubramanyan, Hari R. Pulapaka, Tushar Suresh Sugandhi, Matthew David Kurjanowicz, Ahmed Saruhan Karademir
  • Publication number: 20190370436
    Abstract: Techniques for memory assignment for guest operating systems are disclosed herein. In one embodiment, a method includes generating a license blob containing data representing a product key copied from a record of license information in the host storage upon receiving a user request to launch an application in the guest operating system. The method also includes storing the generated license blob in a random memory location accessible by the guest operating system. The guest operating system can then query the license blob for permission to launch the application and launching the application in the guest operating system without having a separate product key for the guest operating system.
    Type: Application
    Filed: May 31, 2018
    Publication date: December 5, 2019
    Inventors: Ahmed Saruhan Karademir, Sudeep Kumar Ghosh, Ankit Srivastava, Michael Trevor Pashniak, Benjamin M. Schultz, Balaji Balasubramanyan, Hari R. Pulapaka, Tushar Suresh Sugandhi, Matthew David Kurjanowicz, Giridhar Viswanathan
  • Publication number: 20190347420
    Abstract: Securely storing, installing, or launching applications. A method includes determining a trust characteristic or a license characteristic assigned to an application. When the trust characteristic or the license characteristic meets or exceeds a predetermined trust condition or a predetermined license condition, then the method includes at least one of storing, installing or launching the application in a first, more secure operating system while preventing the application from, being at least one of stored, installed or launched in a second, less secure operating system. When the trust characteristic or the license characteristic does not meet or exceed the predetermined trust condition or the predetermined license condition, then the method includes at least one of storing, installing or launching the application in the second less secure operating system while preventing the application from being at least one of stored, installed or launched in the first, more secure operating system.
    Type: Application
    Filed: May 11, 2018
    Publication date: November 14, 2019
    Inventors: Benjamin M. Schultz, Matthew David Kurjanowicz, Ankit Srivastava, Ahmed Saruhan Karademir, Sudeep Kumar Ghosh, Michael Trevor Pashniak, Hari R. Pulapaka, Balaji Balasubramanyan, Tushar Suresh Sugandhi, Giridhar Viswanathan
  • Publication number: 20190180033
    Abstract: Securely performing file operations. A method includes determining a trust characteristic assigned to a file. When the trust characteristic assigned to the file meets or exceeds a predetermined trust condition, then the method includes performing a file operation on the file in a host operating system while preventing the file operation from being performed in the container operating system. When the trust characteristic assigned to the file does not meet or exceed the predetermined trust condition, then the method includes performing the file operation on the file in the container operating system while preventing the file operation from being performed directly in the host operating system.
    Type: Application
    Filed: February 12, 2018
    Publication date: June 13, 2019
    Inventors: Bryan R. BORN, Giridhar VISWANATHAN, Peteris LEDINS, Balaji BALASUBRAMANYAN, Margarit Simeonov CHENCHEV, Benjamin M. SCHULTZ, Hari R. PULAPAKA, Frederick Justus SMITH, Narasimhan RAMASUBRAMANIAN, Raphael GIANOTTI SERRANO DOS SANTO, Nived KALAPPURAIKAL SIVADAS, Ravinder THIND, Matthew David KURJANOWICZ
  • Publication number: 20190180003
    Abstract: Securely performing file operations. A method includes determining a licensing characteristic assigned to a file. When the licensing characteristic assigned to the file meets or exceeds a predetermined licensing condition, then the method includes performing a file operation on the file in a host operating system while preventing the file operation from being performed in the guest operating system. When the licensing characteristic assigned to the file does not meet or exceed the predetermined licensing condition, then the method includes performing the file operation on the file in the guest operating system while preventing the file operation from being performed directly in the host operating system.
    Type: Application
    Filed: June 21, 2018
    Publication date: June 13, 2019
    Inventors: Benjamin M. Schultz, Balaji Balasubramanyan, Giridhar Viswanathan, Ankit Srivastava, Margarit Simeonov Chenchev, Hari R. Pulapaka, Nived Kalappuraikal Sivadas, Raphael Gianotti Serrano dos Santo, Narasimhan Ramasubramanian, Frederick Justus Smith, Matthew David Kurjanowicz, Prakhar Srivastava, Jonathan Schwartz
  • Publication number: 20180349629
    Abstract: Technologies are described for selective persistence of data utilized by software containers. A configuration policy is defined that includes data that specifies one or more data stores for which data is not to be persisted following accesses to a software container and one or more data stores for which data is to be persisted following accesses to the software container. When the software container is first accessed, the data stores identified in the configuration policy are attached to the software container. Upon a subsequent access to the container, such as at the conclusion of a user session or upon destruction of the container, the data in the attached data stores is persisted or deleted based upon the configuration policy. When the software container is once again accessed, the data store containing the persisted data can be re-attached to the software container.
    Type: Application
    Filed: January 15, 2018
    Publication date: December 6, 2018
    Inventors: Margarit Simeonov CHENCHEV, Benjamin M. SCHULTZ, Giridhar VISWANATHAN, Balaji BALASUBRAMANYAN, Yanan ZHANG, Frederick Justus SMITH, Hari R. PULAPAKA, David WESTON
  • Patent number: 9355115
    Abstract: One or more techniques and/or systems are disclosed for providing a client application with access to a file based upon a local offline version of the file and/or web online version of the file. That is, a file may be shared/synchronized from a remote source, such as a web storage service. A web online version of the file may be maintained by the web storage service, while local offline versions of the file may be stored at client devices. A sync module comprising knowledge of the local and/or web versions of the file may provide a client application with access to the file based upon the local and/or web version of the file. The sync module may also delegate synchronization authorization to the client application given that the client application may comprise sophisticated file handling functionality.
    Type: Grant
    Filed: November 21, 2011
    Date of Patent: May 31, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Francisco Garcia-Ascanio, Joshua Adam Alpern Boehm, David Diffenbaugh, Daniel Vincent Fiordalis, Joseph Wiggs, Alyssa Irwin, Denise Elisabeth Signer, Adam Linkon, Allison O'Mahony, Mona Akmal, Roger Allen Lueder, Miko Arnab Sakhya Singha Bose, Balaji Balasubramanyan
  • Patent number: 9189533
    Abstract: Embodiments described herein may involve enabling applications to cooperate with a system-level sync framework. The sync framework may provide system synchronization of files between user devices and a cloud storage service. Arbitrary applications on a user computing device can communicate with the sync framework to temporarily suspend synchronization of a specified file by the sync framework. The application can register functions with the sync framework that the sync framework can invoke in relation to suspending synchronization, continuing to provide system-level access to the file for arbitrary applications, and resuming synchronization.
    Type: Grant
    Filed: May 29, 2013
    Date of Patent: November 17, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Marc Wautier, Daniel Fiordalis, Miko Arnab S. Bose, Scott Hoogerwerf, Oded Shekel, Simon Clarke, Chris Guzak, Balaji Balasubramanyan, Michael Novak