Patents by Inventor Charles Lamanna

Charles Lamanna 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: 9858045
    Abstract: Embodiments of facilitating creation of cloud computing applications are disclosed therein. In one embodiment, a method includes receiving user input of a plurality of workflow items as a sequence of graphical objects on a graphical user interface. The workflow items individually are related to one or more cloud computing services. The method also includes determining an execution sequence of the plurality of workflow items based on data dependencies individually between pairs of the workflow items, the determined execution sequence being different than the sequence of the graphical objects. The determined execution sequence includes executing pairs of the workflow items without data dependencies therebetween generally in parallel and sequentially executing other pairs of the workflow items with data dependencies therebetween in accordance with the data dependencies.
    Type: Grant
    Filed: March 28, 2016
    Date of Patent: January 2, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ilya Grebnov, Charles Lamanna, Stephen Siciliano, Balasubramanian Shyamsundar, Prabir Shrestha, Kevin Lam
  • Patent number: 9842039
    Abstract: Embodiments are directed to determining an optimal number of concurrently running cloud resource instances and to providing an interactive interface that shows projected operational metric measurements. In one scenario, a computer system accesses metric information which identifies operational metric measurements, and further accesses a second portion of metric information that identifies operational metric measurements for the cloud resource instances over a second period of time. The computer system then calculates projected operational metric measurements based on the identified operational metric measurements over the first period of time (e.g. for reactive tuning) and further based on the identified operational metric measurements over the second period of time (e.g. for predictive tuning). The computer system then determines, based on the projected operational metric measurements, a number of cloud resource instances that are to be concurrently running at a specified future point in time.
    Type: Grant
    Filed: June 18, 2014
    Date of Patent: December 12, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Stephen Siciliano, Charles Lamanna, Ilya Grebnov
  • Patent number: 9811392
    Abstract: Computational tasks are mapped with computational locations in a distributed system such as a cloud computing environment. Mapping does not rely on workload estimates. Instead, tasks whose prerequisite tasks or other preconditions are determined to be mutually exclusive are co-located, while other tasks are mapped to different locations than one another. Locations are servers, processor cores, virtual machines, applications, or computational processes, for example. Mutual exclusivity may be determined by detecting that preconditions require different values of a shared variable in order to be satisfied, for example, or determining that preconditions correspond to different branches of a conditional programming statement. A satisfiability engine may also provide a satisfiability determination. Co-located tasks may also be batched, for improved execution performance.
    Type: Grant
    Filed: November 24, 2015
    Date of Patent: November 7, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ilya Grebnov, Stephen Siciliano, Charles Lamanna
  • Publication number: 20170315789
    Abstract: Methods, systems, apparatuses, and computer program products are provided for developing workflows. An input control may be rendered in association with the rendered representation of a workflow step corresponding to an input parameter. A developer is enabled to interact with the input control to select a parameter value for the input parameter. A workflow is enabled to be developed that includes a push notification workflow step configured to issue a push notification when encountered in the work flow and to wait for a response before enabling the workflow to continue. A workflow saved in a user folder is enabled to be selected for insertion into further workflows. A subscription workflow step may be selected for inclusion in a second workflow that is configured to wait for output information from a subscribed-to workflow before enabling the second workflow to continue.
    Type: Application
    Filed: September 23, 2016
    Publication date: November 2, 2017
    Inventors: Kevin Lam, Balasubramanian Shyamsundar, Joon Y. Chung, Stephen Siciliano, Charles Lamanna, Ilya V. Grebnov, Priti Sambandam, Himanshu Agrawal, Prabir K. Shrestha
  • Publication number: 20170316363
    Abstract: A workflow development system is described herein that obtains information about a user and, based on at least the obtained information, recommends to the user applications and services around which to build workflows, workflow templates that can be used to quickly develop workflows, and workflow steps that can be included in a workflow under development. The workflow development system may also recommend workflow steps based on information concerning a workflow under development, such as information concerning previously-included workflow steps in the workflow under development. The workflow development system may also be configured to recommend one or more output parameters of one or more workflow steps of a workflow under development as an input parameter for another workflow step.
    Type: Application
    Filed: September 27, 2016
    Publication date: November 2, 2017
    Inventors: Stephen C. Siciliano, Charles Lamanna, Ilya V. Grebnov, Sunay Vaishnav
  • Publication number: 20170316355
    Abstract: Methods, systems, apparatuses, and computer program products are described herein that generate and assist in managing templates (pre-generated user-customizable automated workflows) that can be used to easily and efficiently develop automated workflows in an automated workflow development system. An automated workflow template for publication that includes parameters is received. At least a portion of the parameters included in the automated workflow template are automatically anonymized to generate an anonymized automated workflow template. The anonymized automated workflow template is published.
    Type: Application
    Filed: January 27, 2017
    Publication date: November 2, 2017
    Inventors: Prabir Shrestha, Kartik Rao Polepalli, Ashwin Sathya Raghunathan, Stephen Siciliano, Anjli Chaudhry, Charles Lamanna, Merwan Vishnu Hade, Sunay Vaishnav
  • Publication number: 20170315782
    Abstract: A workflow development system is described herein that embeds a workflow designer user interface of a workflow development application into a user interface of another software application, so that the workflow designer user interface can be used to generate workflows that reference and/or interact with the other software application. In some aspects, the workflow development application obtains information indicative of a context of a user within the other software application and recommends workflow templates or workflow steps for selection by a user based on the obtained information. The workflow development application may also pre-populate certain parameters of certain workflow steps based on the obtained information.
    Type: Application
    Filed: January 17, 2017
    Publication date: November 2, 2017
    Inventors: Anjli Chaudhry, Stephen Siciliano, Ashwin Sathya Raghunathan, Kartik Rao Polepalli, Merwan Vishnu Hade, Prabir K. Shrestha, Sunay Vaishnav, Charles Lamanna
  • Publication number: 20170315981
    Abstract: Methods, systems, apparatuses, and computer program products are described herein that generate and assist in managing templates (pre-generated user-customizable automated workflows) that can be used to easily and efficiently develop automated workflows in an automated workflow development system. A plurality of workflows steps in a library of workflow steps is determined. One or more workflow templates are automatically generated. Each automatically generated workflow template includes a combination of at least two of the workflow steps in the library. The one or more workflow templates are stored in a library of templates. Furthermore, one or more workflow steps compatible with a workflow step may be determined. The determined one or more workflow steps may be displayed in association with the first workflow step for selection.
    Type: Application
    Filed: January 27, 2017
    Publication date: November 2, 2017
    Inventors: Prabir Shrestha, Kartik Rao Polepalli, Ashwin Sathya Raghunathan, Stephen Siciliano, Anjli Chaudhry, Charles Lamanna, Merwan Vishnu Hade, Sunay Vaishnav
  • Publication number: 20170277516
    Abstract: Embodiments of facilitating creation of cloud computing applications are disclosed therein. In one embodiment, a method includes receiving user input of a plurality of workflow items as a sequence of graphical objects on a graphical user interface. The workflow items individually are related to one or more cloud computing services. The method also includes determining an execution sequence of the plurality of workflow items based on data dependencies individually between pairs of the workflow items, the determined execution sequence being different than the sequence of the graphical objects. The determined execution sequence includes executing pairs of the workflow items without data dependencies therebetween generally in parallel and sequentially executing other pairs of the workflow items with data dependencies therebetween in accordance with the data dependencies.
    Type: Application
    Filed: March 28, 2016
    Publication date: September 28, 2017
    Inventors: Ilya Grebnov, Charles Lamanna, Stephen Siciliano, Balasubramanian Shyamsundar, Prabir Shrestha, Kevin Lam
  • Patent number: 9722945
    Abstract: Embodiments are directed to preventing flapping when auto-scaling cloud resources. In one scenario, a computer system accesses information specifying a target operational metric that is to be maintained on a plurality of cloud resources. The computer system determines a current measured value for the target operational metric for at least some of the cloud resources. The computer system further calculates a scaling factor based on the target operational metric and the current measured value, where the scaling factor represents an amount of variance between the target operational metric and the current measured value. The computer system also calculates a delta value representing a modified quantity of cloud resources modified by the calculated scaling factor and determines whether a scaling action is to occur based on the calculated delta value.
    Type: Grant
    Filed: June 18, 2014
    Date of Patent: August 1, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Stephen Siciliano, Charles Lamanna, Ilya Grebnov
  • Publication number: 20170163564
    Abstract: Examples of the disclosure enable an availability of a resource to be discovered across regions. In some examples, a template is received from a client device. The template includes a plurality of parameters associated with a plurality of products. Based on a client location associated with the client device, a resource is identified, and, based on a first parameter, it is determined whether the identified resource is associated with the product. In response to determining that the resource is associated with the product, a feature associated with the resource is identified, and it is determined whether the identified feature satisfies the first parameter. In response to determining that the feature satisfies the first parameter, data associated with the resource is transmitted to the client device for presentation to a user. Aspects of the disclosure enable a computing device to manage one or more resources.
    Type: Application
    Filed: December 8, 2015
    Publication date: June 8, 2017
    Inventors: Vladimir Pogrebinsky, Ryan D. Jones, Sworupini Sureshkumar, Stephen C. Siciliano, Charles Lamanna, Yang Liu
  • Publication number: 20170147413
    Abstract: Computational tasks are mapped with computational locations in a distributed system such as a cloud computing environment. Mapping does not rely on workload estimates. Instead, tasks whose prerequisite tasks or other preconditions are determined to be mutually exclusive are co-located, while other tasks are mapped to different locations than one another. Locations are servers, processor cores, virtual machines, applications, or computational processes, for example. Mutual exclusivity may be determined by detecting that preconditions require different values of a shared variable in order to be satisfied, for example, or determining that preconditions correspond to different branches of a conditional programming statement. A satisfiability engine may also provide a satisfiability determination. Co-located tasks may also be batched, for improved execution performance.
    Type: Application
    Filed: November 24, 2015
    Publication date: May 25, 2017
    Inventors: Ilya GREBNOV, Stephen SICILIANO, Charles LAMANNA
  • Patent number: 9633001
    Abstract: Content is received and compared against rules for identifying a type of content. Each rule has both segmented and unsegmented patterns. The content is matched against the patterns and assigned a confidence score that is higher if the content matches a segmented pattern and lower if the content matches an unsegmented pattern.
    Type: Grant
    Filed: June 23, 2015
    Date of Patent: April 25, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mauktik Gandhi, Charles Lamanna, Vidyaraman Sankaranarayanan, Raimundo Pontes Filho
  • Patent number: 9495639
    Abstract: A classification application identifies patterns and evidences within representative documents. The application constructs a classification rule according to an entity and an affinity determined from the patterns and evidences. The application processes the representative documents with the classification rule to evaluate whether the rules meet acceptance requirements. Subsequent to a successful evaluation, the application identifies confidence levels for patterns and evidences within other documents.
    Type: Grant
    Filed: February 25, 2015
    Date of Patent: November 15, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Charles Lamanna, Mauktik Gandhi, Andrey Shur, Abhijat Kanade, Jeffrey Brown, Robledo Pontes-Filho
  • Publication number: 20160182633
    Abstract: Aspects of the present invention relate to guaranteeing delivery of replication messages in distributed storage systems. A request to perform an operation may be received. A first replication message corresponding to the request may be created, where the first replication message comprises instructions to replicate the result of the operation to one or more target storages. The replication message may be inserted in a message queue with a delayed visibility. The operation may be performed, where a result of the operation is persisted in a source storage in a data store. Upon determining that the result was successfully persisted in the source storage, a second replication message may be created, where the second replication message comprises instructions to replicate the result of the operation to the one or more target storages. The second replication message may be inserted in the message queue with an immediate visibility.
    Type: Application
    Filed: March 4, 2015
    Publication date: June 23, 2016
    Inventors: ILYA GREBNOV, SAMUEL BANINA, CHARLES LAMANNA, KEVIN LAM
  • Publication number: 20160179915
    Abstract: Embodiments are directed to replicating data in distributed storage. A replication message may be retrieved from a message queue associated with a source table. The replication message may include a row identifier. One or more target storages within a same replication group as the source table may be identified. A row from each of the one or more target storages may be obtained corresponding to the row identifier. A winning row may be determined from the obtained rows based on a latest timestamp of the row. A replication operation may be created based on the winning row. The replication operation may be performed on the obtained rows from each of the target storages.
    Type: Application
    Filed: March 4, 2015
    Publication date: June 23, 2016
    Inventors: ILYA GREBNOV, SAMUEL BANINA, CHARLES LAMANNA, KEVIN LAM
  • Publication number: 20160012037
    Abstract: Content is received and compared against rules for identifying a type of content. Each rule has both segmented and unsegmented patterns. The content is matched against the patterns and assigned a confidence score that is higher if the content matches a segmented pattern and lower if the content matches an unsegmented pattern.
    Type: Application
    Filed: June 23, 2015
    Publication date: January 14, 2016
    Inventors: Mauktik Gandhi, Charles Lamanna, Vidyaraman Sankaranarayanan, Raimundo Pontes Filho
  • Publication number: 20150278061
    Abstract: Embodiments are directed to determining an optimal number of concurrently running cloud resource instances and to providing an interactive interface that shows projected operational metric measurements. In one scenario, a computer system accesses metric information which identifies operational metric measurements, and further accesses a second portion of metric information that identifies operational metric measurements for the cloud resource instances over a second period of time. The computer system then calculates projected operational metric measurements based on the identified operational metric measurements over the first period of time (e.g. for reactive tuning) and further based on the identified operational metric measurements over the second period of time (e.g. for predictive tuning) The computer system then determines, based on the projected operational metric measurements, a number of cloud resource instances that are to be concurrently running at a specified future point in time.
    Type: Application
    Filed: June 18, 2014
    Publication date: October 1, 2015
    Inventors: STEPHEN SICILIANO, CHARLES LAMANNA, ILYA GREBNOV
  • Publication number: 20150281113
    Abstract: Embodiments are directed to preventing flapping when auto-scaling cloud resources. In one scenario, a computer system accesses information specifying a target operational metric that is to be maintained on a plurality of cloud resources. The computer system determines a current measured value for the target operational metric for at least some of the cloud resources. The computer system further calculates a scaling factor based on the target operational metric and the current measured value, where the scaling factor represents an amount of variance between the target operational metric and the current measured value. The computer system also calculates a delta value representing a modified quantity of cloud resources modified by the calculated scaling factor and determines whether a scaling action is to occur based on the calculated delta value.
    Type: Application
    Filed: June 18, 2014
    Publication date: October 1, 2015
    Inventors: STEPHEN SICILIANO, CHARLES LAMANNA, ILYA GREBNOV
  • Patent number: 9087039
    Abstract: Content is received and compared against rules for identifying a type of content. Each rule has both segmented and unsegmented patterns. The content is matched against the patterns and assigned a confidence score that is higher if the content matches a segmented pattern and lower if the content matches an unsegmented pattern.
    Type: Grant
    Filed: February 7, 2012
    Date of Patent: July 21, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mauktik Gandhi, Charles Lamanna, Vidyaraman Sankaranarayanan, Raimundo Pontes Filho