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: 11314485Abstract: 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: GrantFiled: January 27, 2017Date of Patent: April 26, 2022Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Prabir Shrestha, Kartik Rao Polepalli, Ashwin Sathya Raghunathan, Stephen Siciliano, Anjli Chaudhry, Charles Lamanna, Merwan Vishnu Hade, Sunay Vaishnav
-
Patent number: 11256743Abstract: Methods, systems, apparatuses, and computer program products are provided for intermixing expressions with other types of data in input controls. A system includes a processor and a memory that stores program code configured to be executed by the processor. The program code comprises a step configuration interface configured to receive, via a same input control, an expression as a first segment and a different type of data from an expression as a second segment. The program code further comprises a logic generator configured to generate a serialized representation that includes a serialized version of the first segment and a serialized version of the second segment.Type: GrantFiled: January 11, 2018Date of Patent: February 22, 2022Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Stephen Siciliano, Charles W. Lamanna, You Tang, Nitish Kumar Meena, Jeffrey S. Hollan, Balasubramanian Shyamsundar, Priti Sambandam
-
Patent number: 11210068Abstract: 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: GrantFiled: January 27, 2017Date of Patent: December 28, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Prabir Shrestha, Kartik Rao Polepalli, Ashwin Sathya Raghunathan, Stephen Siciliano, Anjli Chaudhry, Charles Lamanna, Merwan Vishnu Hade, Sunay Vaishnav
-
Patent number: 10956128Abstract: 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: GrantFiled: May 21, 2019Date of Patent: March 23, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Anjli Chaudhry, Stephen Siciliano, Ashwin Sathya Raghunathan, Kartik Rao Polepalli, Merwan Vishnu Hade, Prabir K. Shrestha, Sunay Vaishnav, Charles Lamanna
-
Patent number: 10943191Abstract: 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: GrantFiled: August 15, 2019Date of Patent: March 9, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Ilya Grebnov, Charles Lamanna, Stephen Siciliano, Balasubramanian Shyamsundar, Prabir Shrestha, Kevin Lam
-
Patent number: 10846204Abstract: Methods, systems, apparatuses, and computer program products are provided for remedying design time and runtime workflow errors. During design time of a workflow, an input parameter provided via the user interface may be validated to determine if the parameter is invalid. Based on the determination, a replacement parameter may be obtained and provided to the user interface control of the workflow user interface to replace the invalid workflow parameter during development of the workflow. During runtime of a workflow, a workflow engine may generate failure information where workflow logic fails to execute successfully. The failure information generated in response to a runtime failure is received by a remediation system and may be analyzed to identify a probable cause of the runtime failure. Remediation instructions to remediate the runtime failure may be determined and transmitted to a contact address associated with the workflow, enabling the workflow to be repaired.Type: GrantFiled: May 24, 2018Date of Patent: November 24, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Sunay Vaishnav, Anjli Chaudhry, Prabir K. Shrestha, FNU Anubhav, Khetthai Laksanakorn, Stephen Siciliano
-
Patent number: 10606667Abstract: 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: GrantFiled: October 2, 2017Date of Patent: March 31, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Ilya Grebnov, Stephen Siciliano, Charles Lamanna
-
Publication number: 20200050981Abstract: 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: ApplicationFiled: August 15, 2019Publication date: February 13, 2020Inventors: Ilya Grebnov, Charles Lamanna, Stephen Siciliano, Balasubramanian Shyamsundar, Prabir Shrestha, Kevin Lam
-
Patent number: 10514824Abstract: 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: GrantFiled: December 2, 2015Date of Patent: December 24, 2019Assignee: Microsoft Technology Licensing, LLCInventors: 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: 20190369970Abstract: 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: ApplicationFiled: August 13, 2019Publication date: December 5, 2019Inventors: Kevin Lam, Balasubramanian Shyamsundar, Joon Y. Chung, Stephen Siciliano, Charles Lamanna, Ilya V. Grebnov, Priti Sambandam, Himanshu Agrawal, Prabir K. Shrestha
-
Publication number: 20190324893Abstract: Methods, systems, apparatuses, and computer program products are provided for remedying design time and runtime workflow errors. During design time of a workflow, an input parameter provided via the user interface may be validated to determine if the parameter is invalid. Based on the determination, a replacement parameter may be obtained and provided to the user interface control of the workflow user interface to replace the invalid workflow parameter during development of the workflow. During runtime of a workflow, a workflow engine may generate failure information where workflow logic fails to execute successfully. The failure information generated in response to a runtime failure is received by a remediation system and may be analyzed to identify a probable cause of the runtime failure. Remediation instructions to remediate the runtime failure may be determined and transmitted to a contact address associated with the workflow, enabling the workflow to be repaired.Type: ApplicationFiled: May 24, 2018Publication date: October 24, 2019Inventors: Sunay Vaishnav, Anjli Chaudhry, Prabir K. Shrestha, FNU Anubhav, Khetthai Laksanakorn, Stephen Siciliano
-
Patent number: 10430735Abstract: 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: GrantFiled: November 24, 2017Date of Patent: October 1, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Ilya Grebnov, Charles Lamanna, Stephen Siciliano, Balasubramanian Shyamsundar, Prabir Shrestha, Kevin Lam
-
Patent number: 10423393Abstract: 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: GrantFiled: September 23, 2016Date of Patent: September 24, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Kevin Lam, Balasubramanian Shyamsundar, Joon Y. Chung, Stephen Siciliano, Charles Lamanna, Ilya V. Grebnov, Priti Sambandam, Himanshu Agrawal, Prabir K. Shrestha
-
Publication number: 20190272154Abstract: 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: ApplicationFiled: May 21, 2019Publication date: September 5, 2019Inventors: Anjli Chaudhry, Stephen Siciliano, Ashwin Sathya Raghunathan, Kartik Rao Polepalli, Merwan Vishnu Hade, Prabir K. Shrestha, Sunay Vaishnav, Charles Lamanna
-
Patent number: 10353560Abstract: 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: GrantFiled: November 22, 2016Date of Patent: July 16, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Balasubramanian Shyamsundar, Daniel Joseph Kappes, Jesse D. Francisco, Joon Y. Chung, Stephen Siciliano, Merwan Vishnu Hade, Nitish Kumar Meena, Himanshu Agrawal
-
Patent number: 10331416Abstract: 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: GrantFiled: January 17, 2017Date of Patent: June 25, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Anjli Chaudhry, Stephen Siciliano, Ashwin Sathya Raghunathan, Kartik Rao Polepalli, Merwan Vishnu Hade, Prabir K. Shrestha, Sunay Vaishnav, Charles Lamanna
-
Publication number: 20180285476Abstract: Methods, systems, apparatuses, and computer program products are provided for intermixing expressions with other types of data in input controls. A system includes a processor and a memory that stores program code configured to be executed by the processor. The program code comprises a step configuration interface configured to receive, via a same input control, an expression as a first segment and a different type of data from an expression as a second segment. The program code further comprises a logic generator configured to generate a serialized representation that includes a serialized version of the first segment and a serialized version of the second segment.Type: ApplicationFiled: January 11, 2018Publication date: October 4, 2018Inventors: Stephen Siciliano, Charles W. Lamanna, You Tang, Nitish Kumar Meena, Jeffrey S. Hollan, Balasubramanian Shyamsundar, Priti Sambandam
-
Publication number: 20180101364Abstract: 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: ApplicationFiled: November 24, 2017Publication date: April 12, 2018Inventors: Ilya Grebnov, Charles Lamanna, Stephen Siciliano, Balasubramanian Shyamsundar, Prabir Shrestha, Kevin Lam
-
Publication number: 20180024870Abstract: 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: ApplicationFiled: October 2, 2017Publication date: January 25, 2018Inventors: Ilya GREBNOV, Stephen SICILIANO, Charles LAMANNA
-
Publication number: 20180004767Abstract: Embodiments are directed to connectors that use a common contract to expose data sources to applications. The common contract provides access to a plurality of different dataset types without requiring the applications to know the specific dataset type used by the data sources.Type: ApplicationFiled: June 30, 2016Publication date: January 4, 2018Applicant: Microsoft Technology Licensing, LLC.Inventors: Charles Lamanna, Sameer Chabungbam, Vinay Singh, Henrik Frystyk Nielsen, Steven Paul Goss, Jeffrey Scott Hollan, Stephen Siciliano