Patents by Inventor Mark Sterin

Mark Sterin 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: 11537424
    Abstract: A system and method for dynamically configuring a virtual machine to accommodate requests of a microservice application program and executing the microservice application program in the virtual machine with optimal computing resources are provided. The method includes: creating a dynamically configurable virtual machine including a first virtual CPU, receiving microservice application code, linking the microservice application code to generate executable code, determining and assigning memory in the dynamically configurable virtual machine for executing the executable code, executing the executable code using the dynamically configurable virtual machine, determining whether the dynamically configurable virtual machine requires reconfiguration and performing reconfiguration of the dynamically configurable virtual machine responsive to determining that the virtual machine requires reconfiguration.
    Type: Grant
    Filed: May 8, 2020
    Date of Patent: December 27, 2022
    Assignee: KONTAIN INC.
    Inventors: Serge Pashenkov, Mark Sterin
  • Patent number: 11137924
    Abstract: Techniques are disclosed for providing a distributed file storage system that permits containerized applications running in distinct container hosts to read/write to the same storage volume. In one embodiment, a file sharing volume service is configured to use a container orchestrator to start a respective file server for each shared storage volume mounted for use by user-level containerized application(s). The file sharing volume service further manages the file server by creating and updating a metadata entry that specifies (1) a count of a number of times the shared storage volume has been mounted for use, and (2) a port number exposed for use in mounting path(s) to access the shared storage volume. Upon receiving a request to run a containerized application with the shared storage volume, the file sharing volume service updates the metadata entry to increase the count, and retrieves and uses the port number to mount path(s) for accessing the shared storage volume.
    Type: Grant
    Filed: July 27, 2018
    Date of Patent: October 5, 2021
    Assignee: VMware, Inc.
    Inventors: Mark Sterin, Prashant Dhamdhere, Miao Luo, Shivanshu Goswami, Tushar Thole
  • Patent number: 10963349
    Abstract: Techniques are disclosed that permit storage and availability operations, such as backup and restore, snapshot and cloning, application disaster recovery, and reporting and analytics, to be performed for stateful containerized applications. In one embodiment, a container cluster service is configured to create application instance objects that capture metadata associated with containerized applications and that (optionally) specify scripts to be run before and/or after taking an application consistent snapshot and/or an order in which to take snapshots. Application instances having the configurations specified in the application instance object may then be deployed.
    Type: Grant
    Filed: July 27, 2018
    Date of Patent: March 30, 2021
    Assignee: VMware, Inc.
    Inventors: Prashant Dhamdhere, Prashima Sharma, Mark Sterin, Sandeep Srinivasa Rao Pissay
  • Patent number: 10871925
    Abstract: A computer system has a virtualization software that supports execution of a virtual machine in which a container is run. A method of provisioning a data volume for the container in this computer system includes the steps of monitoring a designated virtual socket, detecting, based on the monitoring, a request from a plug-in of the container to create a data volume, and upon detecting the request, communicating the request to the virtualization software to cause the virtualization software to create the data volume.
    Type: Grant
    Filed: May 30, 2017
    Date of Patent: December 22, 2020
    Assignee: VMware, Inc.
    Inventors: Mark Sterin, Govindan Thirumal Thiruvengada, Ritesh H. Shukla, Andrew Stone, Prashant Dhamdhere
  • Patent number: 10866767
    Abstract: A computer system has a virtualization software that supports execution of a virtual machine in which a container is run. A method of managing allocation of storage resources to the container includes the steps of monitoring a virtual socket, detecting, based on the monitoring, a request from a plug-in of the container to create a data volume, upon detecting the request, retrieving a storage resource limit that has been set for the first virtual machine and determining if creation of the data volume causes the storage resource limit to be exceeded, and communicating the request to the virtualization software to cause the virtualization software to create the data volume if the limit is determined to be not exceeded and returning an error if the limit is determined to be exceeded.
    Type: Grant
    Filed: May 30, 2017
    Date of Patent: December 15, 2020
    Assignee: VMware, Inc.
    Inventors: Mark Sterin, Andrew Stone, Prashant Dhamdhere, Ritesh H. Shukla, Govindan Thirumal Thiruvengada
  • Patent number: 10852995
    Abstract: A computer system has a virtualization software that supports execution of a virtual machine in which a container is run. A method of provisioning first and second data volumes for the container, wherein the first data volume is backed by storage device of a first type and the second data volume is backed by storage device of a second type, includes monitoring a designated virtual socket, detecting, based on monitoring, a first request from a plug-in of the container to create a first data volume having first storage requirements, upon detecting the first request, communicating the request to the virtualization software to create the first data volume, detecting, based on monitoring, a second request from a plug-in of the container to create a second data volume having second storage requirements, and upon detecting the second request, communicating the request to the virtualization software to create the second data volume.
    Type: Grant
    Filed: May 30, 2017
    Date of Patent: December 1, 2020
    Assignee: VMware, Inc.
    Inventors: Mark Sterin, Govindan Thirumal Thiruvengada, Ritesh H. Shukla, Andrew Stone, Prashant Dhamdhere
  • Publication number: 20200356400
    Abstract: A system and method for dynamically configuring a virtual machine to accommodate requests of a microservice application program and executing the microservice application program in the virtual machine with optimal computing resources are provided. The method includes: creating a dynamically configurable virtual machine including a first virtual CPU, receiving microservice application code, linking the microservice application code to generate executable code, determining and assigning memory in the dynamically configurable virtual machine for executing the executable code, executing the executable code using the dynamically configurable virtual machine, determining whether the dynamically configurable virtual machine requires reconfiguration and performing reconfiguration of the dynamically configurable virtual machine responsive to determining that the virtual machine requires reconfiguration.
    Type: Application
    Filed: May 8, 2020
    Publication date: November 12, 2020
    Inventors: Serge Pashenkov, Mark Sterin
  • Patent number: 10354255
    Abstract: A client tracking mechanism has a log file analysis routine that may generate two tables, one having a licensable entity designator and last logged off time, and the other having a current session designator. The first table may be aggregated by a server that may collect data from multiple client tracking mechanisms to determine a licensable entity's sessions across multiple servers. The client tracking mechanism may save and resume analysis from the last analyzed log file entry, and may be able to track sessions that are both shorter and longer than the time between each analysis. In many embodiments, a licensable entity may be a user or a device, when a license arrangement is configured in a per-user or per-device basis.
    Type: Grant
    Filed: January 9, 2008
    Date of Patent: July 16, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ming Chan, Mark Sterin, Jagadeesh Kalki
  • Publication number: 20190065323
    Abstract: Techniques are disclosed that permit storage and availability operations, such as backup and restore, snapshot and cloning, application disaster recovery, and reporting and analytics, to be performed for stateful containerized applications. In one embodiment, a container cluster service is configured to create application instance objects that capture metadata associated with containerized applications and that (optionally) specify scripts to be run before and/or after taking an application consistent snapshot and/or an order in which to take snapshots. Application instances having the configurations specified in the application instance object may then be deployed.
    Type: Application
    Filed: July 27, 2018
    Publication date: February 28, 2019
    Inventors: Prashant DHAMDHERE, Prashima SHARMA, Mark STERIN, Sandeep Srinivasa Rao PISSAY
  • Publication number: 20190065096
    Abstract: Techniques are disclosed for providing a distributed file storage system that permits containerized applications running in distinct container hosts to read/write to the same storage volume. In one embodiment, a file sharing volume service is configured to use a container orchestrator to start a respective file server for each shared storage volume mounted for use by user-level containerized application(s). The file sharing volume service further manages the file server by creating and updating a metadata entry that specifies (1) a count of a number of times the shared storage volume has been mounted for use, and (2) a port number exposed for use in mounting path(s) to access the shared storage volume. Upon receiving a request to run a containerized application with the shared storage volume, the file sharing volume service updates the metadata entry to increase the count, and retrieves and uses the port number to mount path(s) for accessing the shared storage volume.
    Type: Application
    Filed: July 27, 2018
    Publication date: February 28, 2019
    Inventors: Mark STERIN, Prashant DHAMDHERE, Miao LUO, Shivanshu GOSWAMI, Tushar THOLE
  • Publication number: 20170344291
    Abstract: A computer system has a virtualization software that supports execution of a virtual machine in which a container is run. A method of provisioning first and second data volumes for the container, wherein the first data volume is backed by storage device of a first type and the second data volume is backed by storage device of a second type, includes monitoring a designated virtual socket, detecting, based on monitoring, a first request from a plug-in of the container to create a first data volume having first storage requirements, upon detecting the first request, communicating the request to the virtualization software to create the first data volume, detecting, based on monitoring, a second request from a plug-in of the container to create a second data volume having second storage requirements, and upon detecting the second request, communicating the request to the virtualization software to create the second data volume.
    Type: Application
    Filed: May 30, 2017
    Publication date: November 30, 2017
    Inventors: Mark STERIN, Govindan Thirumal THIRUVENGADA, Ritesh H. SHUKLA, Andrew STONE, Prashant DHAMDHERE
  • Publication number: 20170344292
    Abstract: A computer system has a virtualization software that supports execution of a virtual machine in which a container is run. A method of provisioning a data volume for the container in this computer system includes the steps of monitoring a designated virtual socket, detecting, based on the monitoring, a request from a plug-in of the container to create a data volume, and upon detecting the request, communicating the request to the virtualization software to cause the virtualization software to create the data volume.
    Type: Application
    Filed: May 30, 2017
    Publication date: November 30, 2017
    Inventors: Mark STERIN, Govindan Thirumal THIRUVENGADA, Ritesh H. SHUKLA, Andrew STONE, Prashant DHAMDHERE
  • Publication number: 20170344270
    Abstract: A computer system has a virtualization software that supports execution of a virtual machine in which a container is run. A method of managing allocation of storage resources to the container includes the steps of monitoring a virtual socket, detecting, based on the monitoring, a request from a plug-in of the container to create a data volume, upon detecting the request, retrieving a storage resource limit that has been set for the first virtual machine and determining if creation of the data volume causes the storage resource limit to be exceeded, and communicating the request to the virtualization software to cause the virtualization software to create the data volume if the limit is determined to be not exceeded and returning an error if the limit is determined to be exceeded.
    Type: Application
    Filed: May 30, 2017
    Publication date: November 30, 2017
    Inventors: Mark STERIN, Andrew STONE, Prashant DHAMDHERE, Ritesh H. SHUKLA, Govindan Thirumal THIRUVENGADA
  • Patent number: 9183267
    Abstract: Several local databases may be linked together to form a large database. Each database may share a common type definition, but may contain only a portion of the large database. When a local database queries information from another database, the result may be stored locally using the type system. Across the entire database, items may be identified as their local or home database along with an identifier provided by that database. Cached information may be stored locally and may refer to the source for that information through the identifier. Once the cached information is present, queries that reference the record may be satisfied by the cached information. The cached information may be refreshed from the source database or may expire to avoid stale or changed data in the cache.
    Type: Grant
    Filed: May 24, 2010
    Date of Patent: November 10, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Joel Pothering, Sandeep Phadke, Mark Sterin
  • Patent number: 8910065
    Abstract: A secondary output of a user interface created using a presentation framework may be created by making a clone of the user interface, then modifying the cloned user interface by expanding various components. The cloned user interface may also be configured to the output characteristics of the secondary output, which may be a printer or other hardcopy device. The user interface may be created with callbacks or other actions that may be executed when the cloned user interface is configured. The callbacks may cause certain user interface components to be changed on the cloned version of the user interface.
    Type: Grant
    Filed: November 8, 2010
    Date of Patent: December 9, 2014
    Assignee: Microsoft Corporation
    Inventors: Gaurav Kapila, Vipul Malhotra, Bahadir Onalan, Jagadeesh Kalki, Mark Sterin, Dan Boldo
  • Publication number: 20140040795
    Abstract: A secondary output of a user interface created using a presentation framework may be created by making a clone of the user interface, then modifying the cloned user interface by expanding various components. The cloned user interface may also be configured to the output characteristics of the secondary output, which may be a printer or other hardcopy device. The user interface may be created with callbacks or other actions that may be executed when the cloned user interface is configured. The callbacks may cause certain user interface components to be changed on the cloned version of the user interface.
    Type: Application
    Filed: November 8, 2010
    Publication date: February 6, 2014
    Applicant: Microsoft Corporation
    Inventors: Gaurav Kapila, Vipul Malhotra, Bahadir Onalan, Jagadeesh Kalki, Mark Sterin, Dan Boldo
  • Patent number: 8196210
    Abstract: Aspects of the subject matter described herein relate to software license compliance. In aspects, a configuration manager receives an indication of an intent of an software-related action and determines that a license may affect the action. The configuration manager consults with a license needs calculation engine that determines whether additional licenses are needed to perform the action. If additional licenses are needed, the configuration manager consults with a rules engine to determine whether the action is to be allowed. The rules engine applies one or more business rules to the licenses needed data and indicates a response to the intent. In either case, the configuration manager may provide information to an administrator and others regarding the action and may allow or disallow the action as indicated by the rules. If the administrator determines to take the action, the configuration manager may create an audit record.
    Type: Grant
    Filed: March 10, 2008
    Date of Patent: June 5, 2012
    Assignee: Microsoft Corporation
    Inventor: Mark Sterin
  • Publication number: 20120117498
    Abstract: A secondary output of a user interface created using a presentation framework may be created by making a clone of the user interface, then modifying the cloned user interface by expanding various components. The cloned user interface may also be configured to the output characteristics of the secondary output, which may be a printer or other hardcopy device. The user interface may be created with callbacks or other actions that may be executed when the cloned user interface is configured. The callbacks may cause certain user interface components to be changed on the cloned version of the user interface.
    Type: Application
    Filed: November 8, 2010
    Publication date: May 10, 2012
    Applicant: Microsoft Corporation
    Inventors: Gaurav Kapila, Vipul Malhotra, Bahadir Onalan, Jagadeesh Kalki, Mark Sterin, Dan Boldo
  • Publication number: 20110289055
    Abstract: Several local databases may be linked together to form a large database. Each database may share a common type definition, but may contain only a portion of the large database. When a local database queries information from another database, the result may be stored locally using the type system. Across the entire database, items may be identified as their local or home database along with an identifier provided by that database. Cached information may be stored locally and may refer to the source for that information through the identifier. Once the cached information is present, queries that reference the record may be satisfied by the cached information. The cached information may be refreshed from the source database or may expire to avoid stale or changed data in the cache.
    Type: Application
    Filed: May 24, 2010
    Publication date: November 24, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Joel POTHERING, Sandeep PHADKE, Mark STERIN
  • Publication number: 20110264703
    Abstract: A set of structured data may be stored using a format file and a data file. The format file may contain a hierarchical structure in the form of classes and relationships, while the data file may store the instances of the data in a serialized form. The format file may include projection types as well as repeating or nested types. The data file may contain instances of the structured data in the form of rows, with commas or other delimiters separating the data items. The structure of the data file may be created by traversing the format file to create a fully populated list of data items representing the structured data. An application may read the format file and data file to import complex data types and populate instances of those data types.
    Type: Application
    Filed: April 27, 2010
    Publication date: October 27, 2011
    Applicant: Microsoft Corporation
    Inventors: Neil LYDICK, Jagadeesh Kalki, Mark Sterin