Patents by Inventor STEPHEN SICILIANO

STEPHEN SICILIANO 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: 20170315714
    Abstract: Methods, systems, apparatuses, and computer program products are provided for developing, debugging, and growing workflows. Embodiments enable the developer to test the workflow in place in a workflow designer that displays input/output parameter values for each workflow step during the test run. The developer is enabled to toggle the workflow step(s) between a development mode, where the developer may edit input parameter values, and a test mode, where the developer is displayed (but cannot edit) the input parameter values and is displayed the output parameter values at each workflow step. A record of workflow runs of a workflow is also maintained. The developer is also enabled to transition a workflow from being a business application to a robust software application having additional functionality. The workflow logic generated is transported between a visual workflow designer and a full-blown code editor.
    Type: Application
    Filed: November 22, 2016
    Publication date: November 2, 2017
    Inventors: Balasubramanian Shyamsundar, Daniel Joseph Kappes, Jesse D. Francisco, Joon Y. Chung, Stephen Siciliano, Merwan Vishnu Hade, Nitish Kumar Meena, Himanshu Agrawal
  • 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: 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: 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: 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: 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: 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
  • Publication number: 20170010764
    Abstract: Techniques are described herein that are capable of providing a pivot-based tile gallery with an adapted tile (e.g., in an application, such as a web application in a browser). A pivot is code that enables selection of a subset of tiles from multiple subsets of tiles. A pivot element is an interface element that represents a pivot. For instance, selection of the subset of tiles via the pivot may cause a user interface (UI) representation of the tile gallery to include UI representations of the tiles in the selected subset (e.g., and not UI representations of the tiles that are not included in the selected subset). An adapted tile is a tile that includes a wrapper and a second tile. The wrapper wraps the second tile. For instance, the wrapper may enable the adapted tile to use the second tile to implement functionality of an aspect of a resource.
    Type: Application
    Filed: December 2, 2015
    Publication date: January 12, 2017
    Inventors: Jesse D. Francisco, Leon E. Welicki, Mo Wang, Joshua Prentice Keckley, Adam M. Abdelhamed, Brad M. Olenick, Stephen Siciliano, William J. Staples, Jonathan Harris, Karandeep Singh Anand, Christopher Scrosati, Angela Moulden
  • 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