Patents by Inventor Brad M. Olenick

Brad M. Olenick 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: 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: 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
  • 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: 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: 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: 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
  • Patent number: 8275793
    Abstract: A method and system for maintaining isolated data in an application is disclosed which data to be selectively isolated until a data client orders the changes to be committed or abandoned. A computer-readable medium for constructing an application capable of localized data isolation is also disclosed. An application specification is used to determine which data entities should be isolated, and one or more transaction transforms are implemented for each data entity to be isolated.
    Type: Grant
    Filed: February 23, 2006
    Date of Patent: September 25, 2012
    Assignee: Microsoft Corporation
    Inventors: Arshad F. Ahmad, Brad M. Olenick, Clemens A. Szyperski, David G. Hunt, Terry D. Zmrhal, Yuri Rychikhin
  • Patent number: 7917547
    Abstract: The present invention extends to methods, systems, and computer program products for virtualizing objects within queries. Embodiments of the invention virtualize data access for use with queries. Virtualization can be implemented within any portion of a syntax tree. For example, data can be virtualized for a property of an object that is itself another object. Data virtualization facilitates lazy evaluation of query expressions. That is, actual property values for properties within a data construction statement are virtualized until a query specifically requests the actual property values. Further, data virtualization also conserves resources and results in more efficient query evaluations.
    Type: Grant
    Filed: June 10, 2008
    Date of Patent: March 29, 2011
    Assignee: Microsoft Corporation
    Inventors: Gregory L. Hughes, Clemens Kerer, Brad M. Olenick
  • Patent number: 7761586
    Abstract: The present invention extends to methods, systems, and computer program products for accessing and manipulating data in a data flow graph. A data flow graph includes one more transforms for transforming data from one or more data stores into different formats accessible to clients. Transforms can be configured to join and split data from the same or different data stores. A metadata tree logically represents the data flow graph including locations that provide output from transforms of the data flow graph. The locations can be referenced by clients to access transformed outputs. Clients can register dependencies on data at various locations and can request evaluation of the data in response to data changes at a corresponding data store. Clients can also request data changes be propagated back through the data flow graph to one or more data stores and implemented at the one or more data stores.
    Type: Grant
    Filed: February 6, 2006
    Date of Patent: July 20, 2010
    Assignee: Microsoft Corporation
    Inventors: Brad M. Olenick, Clemens A. Szyperski, David George Hunt, Gregory Lawrence Hughes, William A. Manis, Terry Zmrhal
  • Patent number: 7680935
    Abstract: Strategies are described for organizing the runtime components of an application into an entity domain framework. The entity domain framework includes one or more entity domains arranged in a hierarchical fashion. Each entity domain further groups one or more components together in a hierarchical fashion. Each entity domain can include one or more services that provide a policy to the components within the entity domain. Composite functionality couples the framework together, and further provides a bus-like mechanism whereby an entity can forward service requests up through the hierarchy until a domain is found that satisfies the requests. Exemplary services provided by the entity domain framework include lifetime management services, error handling services, and so forth.
    Type: Grant
    Filed: September 30, 2004
    Date of Patent: March 16, 2010
    Assignee: Microsoft Corporation
    Inventors: Clemens A. Szyperski, Brad M. Olenick, Balasubramanian Shyamsundar, Arshad F. Ahmad, Arthur H. Watson
  • Publication number: 20090307192
    Abstract: The present invention extends to methods, systems, and computer program products for virtualizing objects within queries. Embodiments of the invention virtualize data access for use with queries. Virtualization can be implemented within any portion of a syntax tree. For example, data can be virtualized for a property of an object that is itself another object. Data virtualization facilitates lazy evaluation of query expressions. That is, actual property values for properties within a data construction statement are virtualized until a query specifically requests the actual property values. Further, data virtualization also conserves resources and results in more efficient query evaluations.
    Type: Application
    Filed: June 10, 2008
    Publication date: December 10, 2009
    Applicant: Microsoft Corporation
    Inventors: Gregory L. Hughes, Clemens Kerer, Brad M. Olenick
  • Patent number: 7581225
    Abstract: Methods, systems and computer products are provided for partitioning software application components into separate domains called concurrency domains. Computationally expensive, slow or long-running methods may be deployed into such domains, thus keeping the associated application more responsive to the end user. According to one aspect of the invention, a given concurrency domain is a partition of runtime objects for providing synchronization and thread isolation within the partition and for providing concurrency with other such partitions in a data-driven dynamically composed and reconfigured application.
    Type: Grant
    Filed: February 23, 2006
    Date of Patent: August 25, 2009
    Assignee: Microsoft Corporation
    Inventors: Arshad F. Ahmad, Balasubramanian Shyamsundar, Brad M. Olenick, Clemens A. Szyperski, Simeon Cran