Patents by Inventor Andrew Whitechapel
Andrew Whitechapel 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: 12072849Abstract: In non-limiting examples of the present disclosure, systems, methods and devices for selectively virtualizing software application functions are presented. An application package for a containerized software application may be received. The application package may comprise an application manifest and a virtualization exclusion for a first location of a global file system of the computing device. The containerized software application may be installed in a container comprising a virtual file system. An indication to write a first new file at the first location may be received by the containerized software application. A determination may be made that the first location comprises the virtualization exclusion. The first new file may be written to the first location of the global file system based on the determination that the first location comprises the virtualization exclusion.Type: GrantFiled: March 23, 2021Date of Patent: August 27, 2024Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: David Andrew Whitechapel, Hart Daniel Wilson, Anis Mohammed Khaja Mohideen
-
Publication number: 20220309041Abstract: In non-limiting examples of the present disclosure, systems, methods and devices for selectively virtualizing software application functions are presented. An application package for a containerized software application may be received. The application package may comprise an application manifest and a virtualization exclusion for a first location of a global file system of the computing device. The containerized software application may be installed in a container comprising a virtual file system. An indication to write a first new file at the first location may be received by the containerized software application. A determination may be made that the first location comprises the virtualization exclusion. The first new file may be written to the first location of the global file system based on the determination that the first location comprises the virtualization exclusion.Type: ApplicationFiled: March 23, 2021Publication date: September 29, 2022Inventors: David Andrew WHITECHAPEL, Hart Daniel WILSON, Anis Mohammed KHAJA MOHIDEEN
-
Publication number: 20180129537Abstract: An example system for managing memory usage includes memory and a processor configured to publish a soft memory target for each of a plurality of applications, wherein the soft memory target is to be statically predetermined based at least on a detected state of execution of each application and a size of the memory of the system. The processor is to also detect that an application exceeds the soft memory target. Additionally, the processor is to detect that a total memory usage of the system exceeds a threshold amount. The processor is to further terminate the application based at least in part on the detected soft memory target being exceeded and in response to detecting that the total memory usage of the system exceeds the threshold amount.Type: ApplicationFiled: November 10, 2016Publication date: May 10, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Timothy Kurtzman, Jeremy Payne Robinson, Andrew Whitechapel
-
Patent number: 9201693Abstract: Innovations for resource management are described herein. For example, resource management organizes resources as pools that are associated with different types of workloads. The resource management can be implemented as part of an application layer framework and/or operating system of a computing device. A budget is established at design time for the resources of the computing device. Each type of workload primarily draws from resources dedicated to that type of workload in the associated pool under the budget, as enforced by the operating system. This can help provide acceptable performance for those workloads that are permitted to run, while preventing resources of the mobile computing device from becoming spread too thin among workloads. It can also help maintain a good overall balance among different types of workloads.Type: GrantFiled: September 4, 2012Date of Patent: December 1, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Jason Fuller, Abolade Gbadegesin, Vijayendra G. R. Vasu, Yasser Shaaban, Justin Horst, Akhilesh Kaza, Conrad Chang, David Andrew Whitechapel
-
Patent number: 9052924Abstract: A managed composite control can be directly (without intermediary hosting layers) hosted within an unmanaged hosting application. A managed control which can host managed composite controls is provided, the managed control being directly hostable within any unmanaged hosting control. An adapter (control) wraps the managed control content before the control content is moved into the unmanaged layer. Overloaded methods are provided that accept managed controls and manage communication between layers in such a way that instead of internal references expecting a user control, the internal references expect an object.Type: GrantFiled: April 15, 2008Date of Patent: June 9, 2015Assignee: Microsoft Technology Licensing, LLCInventors: David Andrew Whitechapel, Daniel A. Molina
-
Publication number: 20140068624Abstract: Innovations for quota-based resource management are described herein. For example, quota-based resource management is implemented as part of an application layer framework and/or operating system of a computing device. With the quota-based resource management, a budget is established at design time for the resources of the computing device. Each type of workload primarily draws from resources dedicated to that type of workload in the budget, as enforced by the operating system. This can help provide acceptable performance for those workloads that are permitted to run, while preventing resources of the mobile computing device from becoming spread too thin among workloads. It can also help maintain a good overall balance among different types of workloads.Type: ApplicationFiled: September 4, 2012Publication date: March 6, 2014Applicant: Microsoft CorporationInventors: Jason Fuller, Abolade Gbadegesin, Vijayendra G. R. Vasu, Yasser Shaaban, Justin Horst, Akhilesh Kaza, Conrad Chang, David Andrew Whitechapel
-
Patent number: 8296730Abstract: When objects are called by a program written in a strongly-typed language using an interface written in a loosely-typed manner, incompatibilities between the programming languages can cause problems. Extension methods can simplify the interface between objects in an object model and a program written in a strongly-typed programming language by providing method overloads that accept strongly-typed parameters. Extension methods are provided that use method overloads that accept strongly-typed parameters, improving type safety by allowing the compiler to enforce type safety rather than relying on type checking at runtime. Nullable types and object initialization may be used to provide strongly-typed optional parameters. Extension methods can be used to support parameterized properties and to support class indexers, enabling query of collections of in-memory objects.Type: GrantFiled: March 12, 2008Date of Patent: October 23, 2012Assignee: Microsoft CorporationInventors: David Andrew Whitechapel, Vladimir Morozov, Phillip Michael Hoff
-
Publication number: 20100318967Abstract: A system and method for enabling supplementary deployment actions to be performed in conjunction with a deployment of an application version. A deployment manager may download one or more supplementary deployment action (SDA) components to a user application cache. In conjunction with performing deployment actions, SDA components may be invoked from the user application cache or from a global application cache. The SDA components may perform actions specific to the application or version of the application, including actions not preconfigured in the deployment manager. An SDA component may be invoked prior to or after the deployment manager performs deployment actions. If an SDA component fails, SDA components that succeeded may be automatically invoked to roll back their actions. SDA components may be used to perform a first install, an update, a roll back, or an uninstall. SDA components may have the privileges of the application and the user corresponding to the user application cache.Type: ApplicationFiled: June 12, 2009Publication date: December 16, 2010Applicant: Microsoft CorporationInventors: Saurabh Bhatia, Jeffrey S. Young, David Andrew Whitechapel, Konstantin Eman, Jiajun Hua, Thomas Quinn, Rachel Falzone Schaw, Rolando Jimenez Salgado
-
Patent number: 7802199Abstract: Various technologies and techniques are disclosed for enabling ribbon re-loading through a proxy add-in. A ribbon proxy add-in is loaded that has ribbon customizations for a ribbon of a primary add-in. The primary add-in is also loaded. At a later point in time, the ribbon proxy add-in is unloaded and reloaded, which causes a host application to re-query the ribbon proxy add-in for the ribbon customizations. Since the ribbon proxy add-in points to the ribbon customizations of the primary add-in, the ribbon of the primary add-in is updated as a result.Type: GrantFiled: November 30, 2007Date of Patent: September 21, 2010Assignee: Microsoft CorporationInventors: Misha Shneerson, David Andrew Whitechapel
-
Publication number: 20090259951Abstract: A managed composite control can be directly (without intermediary hosting layers) hosted within an unmanaged hosting application. A managed control which can host managed composite controls is provided, the managed control being directly hostable within any unmanaged hosting control. An adapter (control) wraps the managed control content before the control content is moved into the unmanaged layer. Overloaded methods are provided that accept managed controls and manage communication between layers in such a way that instead of internal references expecting a user control, the internal references expect an object.Type: ApplicationFiled: April 15, 2008Publication date: October 15, 2009Applicant: MICROSOFT CORPORATIONInventors: David Andrew Whitechapel, Daniel A. Molina
-
Publication number: 20090234804Abstract: When objects are called by a program written in a strongly-typed language using an interface written in a loosely-typed manner, incompatibilities between the programming languages can cause problems. Extension methods can simplify the interface between objects in an object model and a program written in a strongly-typed programming language by providing method overloads that accept strongly-typed parameters. Extension methods are provided that use method overloads that accept strongly-typed parameters, improving type safety by allowing the compiler to enforce type safety rather than relying on type checking at runtime. Nullable types and object initialization may be used to provide strongly-typed optional parameters. Extension methods can be used to support parameterized properties and to support class indexers, enabling query of collections of in-memory objects.Type: ApplicationFiled: March 12, 2008Publication date: September 17, 2009Applicant: Microsoft CorporationInventors: David Andrew Whitechapel, Vladimir Morozov, Phillip Michael Hoff
-
Publication number: 20090217254Abstract: Smart tag functionality is enabled in documents at an application level. An application add-in module configured to be loaded into an application includes a recognizer module and an action module. The recognizer module is configured to recognize a textual object in a plurality of documents open in an application and to assign a smart tag to the recognized textual object. The action module is configured to indicate an action in an interface provided in a document proximate to the smart tag if a user interacts with the smart tag in the document. The action module is configured to enable the action to be performed if the user selects the action in the provided interface.Type: ApplicationFiled: February 22, 2008Publication date: August 27, 2009Applicant: MICROSOFT CORPORATIONInventors: Misha Shneerson, Andrew Whitechapel
-
Publication number: 20090144752Abstract: Various technologies and techniques are disclosed for providing communication between managed objects across application domains. When a determination is made that a communication from a first managed object to a second managed object on a different application domain is needed, an unmanaged aggregation object is created. An aggregation process is used to aggregate the second unmanaged object with the unmanaged aggregation object. Calls are then passed from the first managed object through the unmanaged aggregation object to the second managed object. The second managed object appears to be an unmanaged object through use of the unmanaged aggregation object.Type: ApplicationFiled: November 30, 2007Publication date: June 4, 2009Applicant: MICROSOFT CORPORATIONInventors: Misha Shneerson, David Andrew Whitechapel
-
Publication number: 20090144645Abstract: Various technologies and techniques are disclosed for enabling ribbon re-loading through a proxy add-in. A ribbon proxy add-in is loaded that has ribbon customizations for a ribbon of a primary add-in. The primary add-in is also loaded. At a later point in time, the ribbon proxy add-in is unloaded and reloaded, which causes a host application to re-query the ribbon proxy add-in for the ribbon customizations. Since the ribbon proxy add-in points to the ribbon customizations of the primary add-in, the ribbon of the primary add-in is updated as a result.Type: ApplicationFiled: November 30, 2007Publication date: June 4, 2009Applicant: MICROSOFT CORPORATIONInventors: Misha Shneerson, David Andrew Whitechapel
-
Publication number: 20090138846Abstract: Various technologies and techniques are disclosed for extending macro recordings. A request is received to record a macro in a macro-enabled application using an original recording engine. The request is intercepted, and the macro is recorded using a separate recording engine than the original recording engine. To record the macro using the separate recording engine, a vtable is intercepted from a macro recording mechanism used by an original recording engine. Calls contained in the vtable are then redirected to one or more functions in a separate recording engine. The macro is output to a different format than an original format of the original recording engine.Type: ApplicationFiled: November 23, 2007Publication date: May 28, 2009Applicant: MICROSOFT CORPORATIONInventors: Misha Shneerson, David Andrew Whitechapel, Nirav Shah