Patents by Inventor Leon E. Welicki

Leon E. Welicki 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: 11036551
    Abstract: Aspects of the subject matter described herein relate to durable program execution. In aspects, a mechanism is described that allows a program to be removed from memory when the program is waiting for an asynchronous operation to complete. When a response for the asynchronous operation is received, completion data is stored in a history, the program is re-executed and the completion data in the history is used to complete the asynchronous operation. The above actions may be repeated until no more asynchronous operations in the history are pending completion.
    Type: Grant
    Filed: May 8, 2019
    Date of Patent: June 15, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Samar Abbas, Balasubramanian Shyamsundar, Rohitha Hewawasam, Leon E. Welicki
  • Patent number: 10678561
    Abstract: Techniques are described herein that are capable of virtualizing extension code (e.g., third-party extension code) in an application (e.g., a web application in a browser). A portal of an application is loaded. The portal has an extensibility point via which an extension is to enhance functionality of the application. The extension includes metadata and implementation code. A functionality that the implementation code is configured to provide with regard to the application is automatically determined. The metadata is automatically generated to indicate the functionality in response to the functionality being automatically determined. The metadata is loaded in response to the portal being loaded. Loading of the implementation code is delayed until an interaction indicator is received, in response to loading the metadata. The interaction indicator indicates that a user interaction occurs. The implementation code is loaded based at least in part on receipt of the interaction indicator.
    Type: Grant
    Filed: June 23, 2019
    Date of Patent: June 9, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Brad M. Olenick, Leon E. Welicki, Alvaro R. Dias, Madhur Joshi
  • Patent number: 10514824
    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: Grant
    Filed: December 2, 2015
    Date of Patent: December 24, 2019
    Assignee: Microsoft Technology Licensing, LLC
    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: 20190347131
    Abstract: Aspects of the subject matter described herein relate to durable program execution. In aspects, a mechanism is described that allows a program to be removed from memory when the program is waiting for an asynchronous operation to complete. When a response for the asynchronous operation is received, completion data is stored in a history, the program is re-executed and the completion data in the history is used to complete the asynchronous operation. The above actions may be repeated until no more asynchronous operations in the history are pending completion.
    Type: Application
    Filed: May 8, 2019
    Publication date: November 14, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Samar Abbas, Balasubramanian Shyamsundar, Rohitha Hewawasam, Leon E. Welicki
  • Publication number: 20190310865
    Abstract: Techniques are described herein that are capable of virtualizing extension code (e.g., third-party extension code) in an application (e.g., a web application in a browser). A portal of an application is loaded. The portal has an extensibility point via which an extension is to enhance functionality of the application. The extension includes metadata and implementation code. A functionality that the implementation code is configured to provide with regard to the application is automatically determined. The metadata is automatically generated to indicate the functionality in response to the functionality being automatically determined. The metadata is loaded in response to the portal being loaded. Loading of the implementation code is delayed until an interaction indicator is received, in response to loading the metadata. The interaction indicator indicates that a user interaction occurs. The implementation code is loaded based at least in part on receipt of the interaction indicator.
    Type: Application
    Filed: June 23, 2019
    Publication date: October 10, 2019
    Inventors: Brad M. Olenick, Leon E. Welicki, Alvaro R. Dias, Madhur Joshi
  • Patent number: 10331461
    Abstract: Techniques are described herein that are capable of virtualizing extension code (e.g., third-party extension code) in an application (e.g., a web application in a browser). A portal of an application is loaded. The portal has an extensibility point via which an extension is to enhance functionality of the application. The extension includes metadata and implementation code. A functionality that the implementation code is configured to provide with regard to the application is automatically determined. The metadata is automatically generated to indicate the functionality in response to the functionality being automatically determined. The metadata is loaded in response to the portal being loaded. Loading of the implementation code is delayed until an interaction indicator is received, in response to loading the metadata. The interaction indicator indicates that a user interaction occurs. The implementation code is loaded based at least in part on receipt of the interaction indicator.
    Type: Grant
    Filed: July 22, 2017
    Date of Patent: June 25, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Brad M. Olenick, Leon E. Welicki, Alvaro R. Dias, Madhur Joshi
  • Patent number: 10303513
    Abstract: Aspects of the subject matter described herein relate to durable program execution. In aspects, a mechanism is described that allows a program to be removed from memory when the program is waiting for an asynchronous operation to complete. When a response for the asynchronous operation is received, completion data is stored in a history, the program is re-executed and the completion data in the history is used to complete the asynchronous operation. The above actions may be repeated until no more asynchronous operations in the history are pending completion.
    Type: Grant
    Filed: November 16, 2017
    Date of Patent: May 28, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Samar Abbas, Balasubramanian Shyamsundar, Rohitha Hewawasam, Leon E. Welicki
  • Publication number: 20180081721
    Abstract: Aspects of the subject matter described herein relate to durable program execution. In aspects, a mechanism is described that allows a program to be removed from memory when the program is waiting for an asynchronous operation to complete. When a response for the asynchronous operation is received, completion data is stored in a history, the program is re-executed and the completion data in the history is used to complete the asynchronous operation. The above actions may be repeated until no more asynchronous operations in the history are pending completion.
    Type: Application
    Filed: November 16, 2017
    Publication date: March 22, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Samar Abbas, Balasubramanian Shyamsundar, Rohitha Hewawasam, Leon E. Welicki
  • Patent number: 9846597
    Abstract: Aspects of the subject matter described herein relate to durable program execution. In aspects, a mechanism is described that allows a program to be removed from memory when the program is waiting for an asynchronous operation to complete. When a response for the asynchronous operation is received, completion data is stored in a history, the program is re-executed and the completion data in the history is used to complete the asynchronous operation. The above actions may be repeated until no more asynchronous operations in the history are pending completion.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: December 19, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Samar Abbas, Balasubramanian Shyamsundar, Rohitha Hewawasam, Leon E. Welicki
  • Publication number: 20170322822
    Abstract: Techniques are described herein that are capable of virtualizing extension code (e.g., third-party extension code) in an application (e.g., a web application in a browser). A portal of an application is loaded. The portal has an extensibility point via which an extension is to enhance functionality of the application. The extension includes metadata and implementation code. A functionality that the implementation code is configured to provide with regard to the application is automatically determined. The metadata is automatically generated to indicate the functionality in response to the functionality being automatically determined. The metadata is loaded in response to the portal being loaded. Loading of the implementation code is delayed until an interaction indicator is received, in response to loading the metadata. The interaction indicator indicates that a user interaction occurs. The implementation code is loaded based at least in part on receipt of the interaction indicator.
    Type: Application
    Filed: July 22, 2017
    Publication date: November 9, 2017
    Inventors: Brad M. Olenick, Leon E. Welicki, Alvaro R. Dias, Madhur Joshi
  • Patent number: 9798738
    Abstract: The present invention extends to methods, systems, and computer program products for creating and manipulating custom compound data types in declarative programs. The present invention allows a developer to create and use custom compound data types without requiring the custom type to be specifically defined (e.g. via registering a custom assembly) in the underlying framework. This is accomplished by providing a data container that is configurable to represent virtually any combination of primitive or compound types defined within the framework. The present invention also provides a declarative model for interacting with data containers representing custom compound data types. This declarative model employs a path-based syntax (or other type of syntax) for accessing the elements of a custom compound data type. Multiple paths can be defined within a single unit of developer input so that multiple elements of a custom data type can be manipulated by the single unit of input.
    Type: Grant
    Filed: February 3, 2015
    Date of Patent: October 24, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Leon E. Welicki, John Anthony Taylor, Clark Roberts, Kenneth David Wolf
  • Patent number: 9740512
    Abstract: Techniques are described herein that are capable of virtualizing extension code (e.g., third-party extension code) in an application (e.g., a web application in a browser). A portal of an application that is associated with an extension is loaded. For instance, the portal may have extensibility points to enhance its functionality in a secure manner. The extension includes metadata and implementation code. The metadata is loaded. In response to the portal being loaded, the implementation code may not be loaded until a user interaction occurs.
    Type: Grant
    Filed: December 1, 2015
    Date of Patent: August 22, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Brad M. Olenick, Leon E. Welicki, Alvaro R. Dias, Madhur Joshi
  • 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: 20170010872
    Abstract: Techniques are described herein that are capable of virtualizing extension code (e.g., third-party extension code) in an application (e.g., a web application in a browser). A portal of an application that is associated with an extension is loaded. For instance, the portal may have extensibility points to enhance its functionality in a secure manner. The extension includes metadata and implementation code. The metadata is loaded. In response to the portal being loaded, the implementation code may not be loaded until a user interaction occurs.
    Type: Application
    Filed: December 1, 2015
    Publication date: January 12, 2017
    Inventors: Brad M. Olenick, Leon E. Welicki, Alvaro R. Dias, Madhur Joshi
  • Publication number: 20150213052
    Abstract: The present invention extends to methods, systems, and computer program products for creating and manipulating custom compound data types in declarative programs. The present invention allows a developer to create and use custom compound data types without requiring the custom type to be specifically defined (e.g. via registering a custom assembly) in the underlying framework. This is accomplished by providing a data container that is configurable to represent virtually any combination of primitive or compound types defined within the framework. The present invention also provides a declarative model for interacting with data containers representing custom compound data types. This declarative model employs a path-based syntax (or other type of syntax) for accessing the elements of a custom compound data type. Multiple paths can be defined within a single unit of developer input so that multiple elements of a custom data type can be manipulated by the single unit of input.
    Type: Application
    Filed: February 3, 2015
    Publication date: July 30, 2015
    Inventors: Leon E. Welicki, John Anthony Taylor, Clark Roberts, Kenneth David Wolf
  • Patent number: 8949785
    Abstract: The present invention extends to methods, systems, and computer program products for creating and manipulating custom compound data types in declarative programs. The present invention allows a developer to create and use custom compound data types without requiring the custom type to be specifically defined (e.g. via registering a custom assembly) in the underlying framework. This is accomplished by providing a data container that is configurable to represent virtually any combination of primitive or compound types defined within the framework. The present invention also provides a declarative model for interacting with data containers representing custom compound data types. This declarative model employs a path-based syntax (or other type of syntax) for accessing the elements of a custom compound data type. Multiple paths can be defined within a single unit of developer input so that multiple elements of a custom data type can be manipulated by the single unit of input.
    Type: Grant
    Filed: December 15, 2011
    Date of Patent: February 3, 2015
    Assignee: Microsoft Corporation
    Inventors: Leon E. Welicki, John Anthony Taylor, Clark Roberts, Kenneth David Wolf
  • Patent number: 8869107
    Abstract: Techniques are described herein that are capable of executing a computer program in accordance with a declarative dynamic control flow in a continuation-based runtime. A declarative dynamic control flow identifies a set of continuations. A representation of logic that corresponds to the declarative dynamic control flow is provided in accordance with execution of the computer program in the continuation-based runtime. The declarative dynamic control flow identifies a set of continuations. Each continuation identifies a respective rule, which defines a respective event, and a respective action, which is to be performed upon occurrence of the respective event. A determination is made that a specified event occurs. The set of continuations is dynamically modified based on occurrence of the specified event.
    Type: Grant
    Filed: January 12, 2012
    Date of Patent: October 21, 2014
    Assignee: Microsoft Corporation
    Inventors: John A. Taylor, Leon E. Welicki, Kenneth D. Wolf, Justin D. Brown
  • Publication number: 20140282577
    Abstract: Aspects of the subject matter described herein relate to durable program execution. In aspects, a mechanism is described that allows a program to be removed from memory when the program is waiting for an asynchronous operation to complete. When a response for the asynchronous operation is received, completion data is stored in a history, the program is re-executed and the completion data in the history is used to complete the asynchronous operation. The above actions may be repeated until no more asynchronous operations in the history are pending completion.
    Type: Application
    Filed: March 13, 2013
    Publication date: September 18, 2014
    Applicant: Microsoft Corporation
    Inventors: Samar Abbas, Balasubramanian Shyamsundar, Rohitha Hewawasam, Leon E. Welicki
  • Publication number: 20130185694
    Abstract: Techniques are described herein that are capable of executing a computer program in accordance with a declarative dynamic control flow in a continuation-based runtime. A declarative dynamic control flow identifies a set of continuations. A representation of logic that corresponds to the declarative dynamic control flow is provided in accordance with execution of the computer program in the continuation-based runtime. The declarative dynamic control flow identifies a set of continuations. Each continuation identifies a respective rule, which defines a respective event, and a respective action, which is to be performed upon occurrence of the respective event. A determination is made that a specified event occurs. The set of continuations is dynamically modified based on occurrence of the specified event.
    Type: Application
    Filed: January 12, 2012
    Publication date: July 18, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: John A. Taylor, Leon E. Welicki, Kenneth D. Wolf, Justin D. Brown
  • Publication number: 20130159970
    Abstract: The present invention extends to methods, systems, and computer program products for creating and manipulating custom compound data types in declarative programs. The present invention allows a developer to create and use custom compound data types without requiring the custom type to be specifically defined (e.g. via registering a custom assembly) in the underlying framework. This is accomplished by providing a data container that is configurable to represent virtually any combination of primitive or compound types defined within the framework. The present invention also provides a declarative model for interacting with data containers representing custom compound data types. This declarative model employs a path-based syntax (or other type of syntax) for accessing the elements of a custom compound data type. Multiple paths can be defined within a single unit of developer input so that multiple elements of a custom data type can be manipulated by the single unit of input.
    Type: Application
    Filed: December 15, 2011
    Publication date: June 20, 2013
    Applicant: Microsoft Corporation
    Inventors: Leon E. Welicki, John Anthony Taylor, Clark Roberts, Kenneth David Wolf