Patents by Inventor Aleksandr Gershaft

Aleksandr Gershaft 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: 11340870
    Abstract: A computer-implemented method for managing a release of a software product includes obtaining a request for the release, the request including workflow action parameter data to define a release pipeline involving a plurality of software engineering systems configured to process data indicative of the software product, and executing, with a processor, a workflow to implement the release pipeline in accordance with the workflow action parameter data. Executing the workflow includes sending a series of instructions to the plurality of software engineering systems. A successive instruction in the series of instructions is sent based on whether a gating rule for the release is met.
    Type: Grant
    Filed: January 29, 2018
    Date of Patent: May 24, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Marwan E. Jubran, Aleksandr Gershaft, Maksim Libenson
  • Patent number: 10120725
    Abstract: Methods, systems, and computer-readable media for automatically configuring an inventory of hardware to interact seamlessly with a datacenter are provided. Initially, customer-specific specifications are collected from a user, which are automatically supplemented with platform-specific specifications. These specifications are used to select the hardware inventory from a set of predefined hardware clusters, where each of the predefined hardware clusters represents compatible configurations of hardware assets and logical assets that have been demonstrated to function congruently. A cluster-configuration file is derived from data held within a stock-keeping unit (SKU) that describes the selected hardware inventory. The cluster-configuration file is populated with abstract symbolic representations that act as placeholders for expected values that are presently unknown. Network resources are assigned by automated conversion of the abstract symbolic representations into concrete values.
    Type: Grant
    Filed: June 22, 2012
    Date of Patent: November 6, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Marwan E Jubran, Aleksandr Gershaft, Weiping Hu, Vitalii Tsybulnyk
  • Patent number: 10078536
    Abstract: Building binary packages for software products, particularly large-scale software products, is a highly computation intensive process. Thus, it is desirable to distribute the workload over a large number of computing nodes so as to have the build process complete in an optimal period of time. One environment providing compute resources that can be utilized for a highly available and dynamically scalable distributed build process is an elastic compute cloud. In such an environment, virtual machines can be instantiated and destroyed as the resource requirements of the build process dictate. This has the advantage that dedicated hardware is unneeded, and excess capacity on the hardware employed can be employed for other computation tasks when the build process is idle. Presented herein are systems, methods and computer storage media for distributing a highly available and scalable build service, suitable for use in an elastic compute environment or other distributed environment.
    Type: Grant
    Filed: April 27, 2016
    Date of Patent: September 18, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Marwan E. Jubran, Vitalii Tsybulnyk, Aleksandr Gershaft, Vladimir Petrenko
  • Publication number: 20180157466
    Abstract: A computer-implemented method for managing a release of a software product includes obtaining a request for the release, the request including workflow action parameter data to define a release pipeline involving a plurality of software engineering systems configured to process data indicative of the software product, and executing, with a processor, a workflow to implement the release pipeline in accordance with the workflow action parameter data. Executing the workflow includes sending a series of instructions to the plurality of software engineering systems. A successive instruction in the series of instructions is sent based on whether a gating rule for the release is met.
    Type: Application
    Filed: January 29, 2018
    Publication date: June 7, 2018
    Inventors: Marwan E. Jubran, Aleksandr Gershaft, Maksim Libenson
  • Patent number: 9916133
    Abstract: A computer-implemented method for managing a release of a software product includes obtaining a request for the release, the request including workflow action parameter data to define a release pipeline involving a plurality of software engineering systems configured to process data indicative of the software product, and executing, with a processor, a workflow to implement the release pipeline in accordance with the workflow action parameter data. Executing the workflow includes sending a series of instructions to the plurality of software engineering systems. A successive instruction in the series of instructions is sent based on whether a gating rule for the release is met.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: March 13, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Marwan E. Jubran, Aleksandr Gershaft, Maksim Libenson
  • Patent number: 9641394
    Abstract: Methods, systems, and computer-readable media for automatically configuring an inventory of hardware to interact seamlessly with a cloud-computing fabric of a data center are provided. Initially, hardware devices within the hardware inventory are located by sending and receiving communications to network devices via serial-based connections and network-based connections, respectively. Information collected during hardware-device location is cross-referenced against a template file for purposes of validation. This information is also employed to generate an infrastructure state of the hardware inventory. The infrastructure state is shared with a controller of the fabric to integrate the hardware inventory therein.
    Type: Grant
    Filed: January 30, 2012
    Date of Patent: May 2, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Marwan E. Jubran, Aleksandr Gershaft
  • Publication number: 20170083369
    Abstract: Building binary packages for software products, particularly large-scale software products, is a highly computation intensive process. Thus, it is desirable to distribute the workload over a large number of computing nodes so as to have the build process complete in an optimal period of time. One environment providing compute resources that can be utilized for a highly available and dynamically scalable distributed build process is an elastic compute cloud. In such an environment, virtual machines can be instantiated and destroyed as the resource requirements of the build process dictate. This has the advantage that dedicated hardware is unneeded, and excess capacity on the hardware employed can be employed for other computation tasks when the build process is idle. Presented herein are systems, methods and computer storage media for distributing a highly available and scalable build service, suitable for use in an elastic compute environment or other distributed environment.
    Type: Application
    Filed: April 27, 2016
    Publication date: March 23, 2017
    Inventors: MARWAN E. JUBRAN, VITALII TSYBULNYK, ALEKSANDR GERSHAFT, VLADIMIR PETRENKO
  • Patent number: 9367360
    Abstract: Methods, systems, and computer-readable media for automatically configuring an inventory of hardware to interact seamlessly with a computing fabric of a data center are provided. Initially, a communicative coupling between a user device and computing units of the hardware inventory is established. The communicated coupling allows an engine running on the user device to provision the computing units with software that allows the hardware inventory to function as a fabric-computing cluster (FCC) of the data center. Provisioning involves deploying a computing fabric to the computing units, and deploying core infrastructure services to run on top of the computing fabric. The computing fabric enables the computing units to interact as a unified logical system, while the core infrastructure services represent operating-system-level components that provide underlying support of applications running on the FCC.
    Type: Grant
    Filed: December 14, 2012
    Date of Patent: June 14, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Marwan E Jubran, Aleksandr Gershaft, Damien S Jose
  • Patent number: 9342332
    Abstract: Building binary packages for software products, particularly large-scale software products, is a highly computation intensive process. Thus, it is desirable to distribute the workload over a large number of computing nodes so as to have the build process complete in an optimal period of time. One environment providing compute resources that can be utilized for a highly available and dynamically scalable distributed build process is an elastic compute cloud. In such an environment, virtual machines can be instantiated and destroyed as the resource requirements of the build process dictate. This has the advantage that dedicated hardware is unneeded, and excess capacity on the hardware employed can be employed for other computation tasks when the build process is idle. Presented herein are systems, methods and computer storage media for distributing a highly available and scalable build service, suitable for use in an elastic compute environment or other distributed environment.
    Type: Grant
    Filed: January 17, 2014
    Date of Patent: May 17, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Marwan E. Jubran, Vitalii Tsybulnyk, Aleksandr Gershaft, Vladimir Petrenko
  • Patent number: 9286043
    Abstract: A method for optimization of a software build includes collecting first data representative of inputs for a build process obtained by a set of data accessing operations implemented during a first execution of the build process, the set including a file accessing operation and a non-file accessing operation. A redirection routine embedded within the build process captures the inputs. The first data is compared with second data representative of the inputs obtained in connection with a second execution of the build process. If the first and second data do not match, the second data is recorded in a data store and output data generated by the second execution of the build process is stored. If the first and second data match, output data generated by the first execution of the build process is used as an output for the second execution of the build process.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: March 15, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Marwan E. Jubran, Aleksandr Gershaft, Vladimir Petrenko, Igor Avramovic
  • Patent number: 9137111
    Abstract: Methods, systems, and computer-readable media for automatically validating and configuring an inventory of hardware to interact seamlessly with a cloud-computing fabric of a data center are provided. Initially, devices internal to the hardware inventory are located by sending and receiving messages via out-of-band communication channels and network communication channels, respectively. Locating the internal devices involves establishing communication from a user device to the hardware inventory and selecting at least one of the internal devices for conducting a discovery process thereon. The discovery process involves receiving a first network identifier via the out-of-band communication channel and receiving a second network identifier via the network communication channel. When the first and second network identifiers match, the interconnection of the selected device is validated. Otherwise, one or more remedial measures are initiated with respect to the selected device.
    Type: Grant
    Filed: October 8, 2012
    Date of Patent: September 15, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Marwan E Jubran, Aleksandr Gershaft, Igor Avramovic, Vitalii Tsybulnyk
  • Patent number: 9083619
    Abstract: Methods, systems, and computer-readable media for automatically validating and configuring an inventory of hardware to interact seamlessly with a cloud-computing fabric of a data center are provided. Initially, devices internal to the hardware inventory are located by sending and receiving messages via out-of-band communication channels and network communication channels, respectively. Locating the internal devices involves establishing communication from a user device to the hardware inventory and selecting at least one of the internal devices for conducting a discovery process thereon. The discovery process involves receiving a first network identifier via the out-of-band communication channel and receiving a second network identifier via the network communication channel. When the first and second network identifiers match, the interconnection of the selected device is validated. Otherwise, one or more remedial measures are initiated with respect to the selected device.
    Type: Grant
    Filed: October 8, 2012
    Date of Patent: July 14, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Marwan E Jubran, Aleksandr Gershaft, Igor Avramovic, Vitalii Tsybulnyk
  • Publication number: 20140282353
    Abstract: A computer-implemented method for managing a release of a software product includes obtaining a request for the release, the request including workflow action parameter data to define a release pipeline involving a plurality of software engineering systems configured to process data indicative of the software product, and executing, with a processor, a workflow to implement the release pipeline in accordance with the workflow action parameter data. Executing the workflow includes sending a series of instructions to the plurality of software engineering systems. A successive instruction in the series of instructions is sent based on whether a gating rule for the release is met.
    Type: Application
    Filed: March 14, 2013
    Publication date: September 18, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Marwan E. Jubran, Aleksandr Gershaft, Maksim Libenson
  • Publication number: 20140282421
    Abstract: A computer-implemented method for validation of a software product via a distributed computing infrastructure includes receiving configuration data for a plurality of validation tasks of the validation, receiving code data representative of the software product, defining a validation pipeline to implement the plurality of validation tasks based on the configuration data, and initiating execution of the plurality of validation tasks on a plurality of virtual machines of the distributed computing infrastructure. Initiating the execution includes sending the code data and data indicative of the defined validation pipeline to configure each virtual machine in accordance with the code data and the defined validation pipeline.
    Type: Application
    Filed: March 15, 2013
    Publication date: September 18, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Marwan E. Jubran, Aleksandr Gershaft, Vladimir Petrenko, Igor Avramovic, Weiping Hu, Paul Chiang
  • Publication number: 20140282450
    Abstract: A method for optimization of a software build includes collecting first data representative of inputs for a build process obtained by a set of data accessing operations implemented during a first execution of the build process, the set including a file accessing operation and a non-file accessing operation. A redirection routine embedded within the build process captures the inputs. The first data is compared with second data representative of the inputs obtained in connection with a second execution of the build process. If the first and second data do not match, the second data is recorded in a data store and output data generated by the second execution of the build process is stored. If the first and second data match, output data generated by the first execution of the build process is used as an output for the second execution of the build process.
    Type: Application
    Filed: March 15, 2013
    Publication date: September 18, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Marwan E. Jubran, Aleksandr Gershaft, Vladimir Petrenko, Igor Avramovic
  • Publication number: 20140173060
    Abstract: Methods, systems, and computer-readable media for automatically configuring an inventory of hardware to interact seamlessly with a computing fabric of a data center are provided. Initially, a communicative coupling between a user device and computing units of the hardware inventory is established. The communicated coupling allows an engine running on the user device to provision the computing units with software that allows the hardware inventory to function as a fabric-computing cluster (FCC) of the data center. Provisioning involves deploying a computing fabric to the computing units, and deploying core infrastructure services to run on top of the computing fabric. The computing fabric enables the computing units to interact as a unified logical system, while the core infrastructure services represent operating-system-level components that provide underlying support of applications running on the FCC.
    Type: Application
    Filed: December 14, 2012
    Publication date: June 19, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: MARWAN E JUBRAN, ALEKSANDR GERSHAFT, DAMIEN S JOSE
  • Publication number: 20140137116
    Abstract: Building binary packages for software products, particularly large-scale software products, is a highly computation intensive process. Thus, it is desirable to distribute the workload over a large number of computing nodes so as to have the build process complete in an optimal period of time. One environment providing compute resources that can be utilized for a highly available and dynamically scalable distributed build process is an elastic compute cloud. In such an environment, virtual machines can be instantiated and destroyed as the resource requirements of the build process dictate. This has the advantage that dedicated hardware is unneeded, and excess capacity on the hardware employed can be employed for other computation tasks when the build process is idle. Presented herein are systems, methods and computer storage media for distributing a highly available and scalable build service, suitable for use in an elastic compute environment or other distributed environment.
    Type: Application
    Filed: January 17, 2014
    Publication date: May 15, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: MARWAN E. JUBRAN, VITALII TSYBULNYK, ALEKSANDR GERSHAFT, VLADIMIR PETRENKO
  • Publication number: 20140101467
    Abstract: Methods, systems, and computer-readable media for automatically validating and configuring an inventory of hardware to interact seamlessly with a cloud-computing fabric of a data center are provided. Initially, devices internal to the hardware inventory are located by sending and receiving messages via out-of-band communication channels and network communication channels, respectively. Locating the internal devices involves establishing communication from a user device to the hardware inventory and selecting at least one of the internal devices for conducting a discovery process thereon. The discovery process involves receiving a first network identifier via the out-of-band communication channel and receiving a second network identifier via the network communication channel. When the first and second network identifiers match, the interconnection of the selected device is validated. Otherwise, one or more remedial measures are initiated with respect to the selected device.
    Type: Application
    Filed: October 8, 2012
    Publication date: April 10, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: MARWAN E JUBRAN, ALEKSANDR GERSHAFT, IGOR AVRAMOVIC, VITALII TSYBULNYK
  • Patent number: 8635607
    Abstract: Building binary packages for software products, particularly large-scale software products, is a highly computation intensive process. Thus, it is desirable to distribute the workload over a large number of computing nodes so as to have the build process complete in an optimal period of time. One environment providing compute resources that can be utilized for a highly available and dynamically scalable distributed build process is an elastic compute cloud. In such an environment, virtual machines can be instantiated and destroyed as the resource requirements of the build process dictate. This has the advantage that dedicated hardware is unneeded, and excess capacity on the hardware employed can be employed for other computation tasks when the build process is idle. Presented herein are systems, methods and computer storage media for distributing a highly available and scalable build service, suitable for use in an elastic compute environment or other distributed environment.
    Type: Grant
    Filed: August 30, 2011
    Date of Patent: January 21, 2014
    Assignee: Microsoft Corporation
    Inventors: Marwan E. Jubran, Vitalii Tsybulnyk, Aleksandr Gershaft, Vladimir Petrenko
  • Publication number: 20130346260
    Abstract: Methods, systems, and computer-readable media for automatically configuring an inventory of hardware to interact seamlessly with a datacenter are provided. Initially, customer-specific specifications are collected from a user, which are automatically supplemented with platform-specific specifications. These specifications are used to select the hardware inventory from a set of predefined hardware clusters, where each of the predefined hardware clusters represents compatible configurations of hardware assets and logical assets that have been demonstrated to function congruently. A cluster-configuration file is derived from data held within a stock-keeping unit (SKU) that describes the selected hardware inventory. The cluster-configuration file is populated with abstract symbolic representations that act as placeholders for expected values that are presently unknown. Network resources are assigned by automated conversion of the abstract symbolic representations into concrete values.
    Type: Application
    Filed: June 22, 2012
    Publication date: December 26, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: MARWAN E. JUBRAN, ALEKSANDR GERSHAFT, WEIPING HU, VITALII TSYBULNYK