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: 11036551Abstract: 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: GrantFiled: May 8, 2019Date of Patent: June 15, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Samar Abbas, Balasubramanian Shyamsundar, Rohitha Hewawasam, Leon E. Welicki
-
Patent number: 10678561Abstract: 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: GrantFiled: June 23, 2019Date of Patent: June 9, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Brad M. Olenick, Leon E. Welicki, Alvaro R. Dias, Madhur Joshi
-
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: 20190347131Abstract: 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: ApplicationFiled: May 8, 2019Publication date: November 14, 2019Applicant: Microsoft Technology Licensing, LLCInventors: Samar Abbas, Balasubramanian Shyamsundar, Rohitha Hewawasam, Leon E. Welicki
-
Publication number: 20190310865Abstract: 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: ApplicationFiled: June 23, 2019Publication date: October 10, 2019Inventors: Brad M. Olenick, Leon E. Welicki, Alvaro R. Dias, Madhur Joshi
-
Patent number: 10331461Abstract: 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: GrantFiled: July 22, 2017Date of Patent: June 25, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Brad M. Olenick, Leon E. Welicki, Alvaro R. Dias, Madhur Joshi
-
Patent number: 10303513Abstract: 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: GrantFiled: November 16, 2017Date of Patent: May 28, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Samar Abbas, Balasubramanian Shyamsundar, Rohitha Hewawasam, Leon E. Welicki
-
Publication number: 20180081721Abstract: 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: ApplicationFiled: November 16, 2017Publication date: March 22, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Samar Abbas, Balasubramanian Shyamsundar, Rohitha Hewawasam, Leon E. Welicki
-
Patent number: 9846597Abstract: 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: GrantFiled: March 13, 2013Date of Patent: December 19, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Samar Abbas, Balasubramanian Shyamsundar, Rohitha Hewawasam, Leon E. Welicki
-
Publication number: 20170322822Abstract: 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: ApplicationFiled: July 22, 2017Publication date: November 9, 2017Inventors: Brad M. Olenick, Leon E. Welicki, Alvaro R. Dias, Madhur Joshi
-
Patent number: 9798738Abstract: 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: GrantFiled: February 3, 2015Date of Patent: October 24, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Leon E. Welicki, John Anthony Taylor, Clark Roberts, Kenneth David Wolf
-
Patent number: 9740512Abstract: 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: GrantFiled: December 1, 2015Date of Patent: August 22, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Brad M. Olenick, Leon E. Welicki, Alvaro R. Dias, Madhur Joshi
-
Publication number: 20170010764Abstract: 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: ApplicationFiled: December 2, 2015Publication date: January 12, 2017Inventors: 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: 20170010872Abstract: 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: ApplicationFiled: December 1, 2015Publication date: January 12, 2017Inventors: Brad M. Olenick, Leon E. Welicki, Alvaro R. Dias, Madhur Joshi
-
Publication number: 20150213052Abstract: 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: ApplicationFiled: February 3, 2015Publication date: July 30, 2015Inventors: Leon E. Welicki, John Anthony Taylor, Clark Roberts, Kenneth David Wolf
-
Patent number: 8949785Abstract: 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: GrantFiled: December 15, 2011Date of Patent: February 3, 2015Assignee: Microsoft CorporationInventors: Leon E. Welicki, John Anthony Taylor, Clark Roberts, Kenneth David Wolf
-
Patent number: 8869107Abstract: 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: GrantFiled: January 12, 2012Date of Patent: October 21, 2014Assignee: Microsoft CorporationInventors: John A. Taylor, Leon E. Welicki, Kenneth D. Wolf, Justin D. Brown
-
Publication number: 20140282577Abstract: 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: ApplicationFiled: March 13, 2013Publication date: September 18, 2014Applicant: Microsoft CorporationInventors: Samar Abbas, Balasubramanian Shyamsundar, Rohitha Hewawasam, Leon E. Welicki
-
Publication number: 20130185694Abstract: 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: ApplicationFiled: January 12, 2012Publication date: July 18, 2013Applicant: MICROSOFT CORPORATIONInventors: John A. Taylor, Leon E. Welicki, Kenneth D. Wolf, Justin D. Brown
-
Publication number: 20130159970Abstract: 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: ApplicationFiled: December 15, 2011Publication date: June 20, 2013Applicant: Microsoft CorporationInventors: Leon E. Welicki, John Anthony Taylor, Clark Roberts, Kenneth David Wolf