Patents by Inventor David A. Whitechapel
David A. 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: 10467069Abstract: In one embodiment, a computer system stores entries for one or more instances of an application with keys generated for the instances in storage. The instances of the application are instantiated on the computer system. The computer system receives a request from the application with a current key for a current instance and parses the storage to determine if the current key is stored in the keys associated with the application. The computer system returns a response to the application with an indication whether the current key is stored as an entry in the one or more entries. The application uses the response to determine a redirection action to one of the one or more instances of the application when the current key is associated with an instance other than the current instance.Type: GrantFiled: April 4, 2018Date of Patent: November 5, 2019Assignee: Microsoft Technology Licensing, LLCInventors: David A. Whitechapel, Anis Mohammed Khaja Mohideen, Sergei Ognerubov, Timothy M. Kurtzman
-
Publication number: 20190310903Abstract: In one embodiment, a computer system stores entries for one or more instances of an application with keys generated for the instances in storage. The instances of the application are instantiated on the computer system. The computer system receives a request from the application with a current key for a current instance and parses the storage to determine if the current key is stored in the keys associated with the application. The computer system returns a response to the application with an indication whether the current key is stored as an entry in the one or more entries. The application uses the response to determine a redirection action to one of the one or more instances of the application when the current key is associated with an instance other than the current instance.Type: ApplicationFiled: April 4, 2018Publication date: October 10, 2019Inventors: David A. WHITECHAPEL, Anis Mohammed KHAJA MOHIDEEN, Sergei OGNERUBOV, Timothy M. KURTZMAN
-
Patent number: 10182018Abstract: Resources used by a foreground process associated with an application as well as one or more background tasks associated with the application that are running as separate processes on the computing device are tracked. Historical data relating to resource usage by the application is utilized to predict a resource usage amount for the application which is then stored. A subsequent launch of the application can be conditioned upon whether the predicted resource usage amount is available. If the predicted resource usage amount is available, it can be allocated to the application and the application can be launched. If the application then exceeds the predicted resource usage amount, other processes executing concurrently therewith may be terminated to free up the resource. Regardless of how the application performs, new resource usage data is obtained for the application, which is then used to adjust the predicted resource usage amount.Type: GrantFiled: December 13, 2017Date of Patent: January 15, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Timothy M. Kurtzman, David A. Whitechapel, Abolade Gbadegesin, Adina M. Trufinescu, Jeremy P. Robinson, Samarth H. Shah, Akhilesh Kaza, Andrew Clinick
-
Publication number: 20180102981Abstract: Resources used by a foreground process associated with an application as well as one or more background tasks associated with the application that are running as separate processes on the computing device are tracked. Historical data relating to resource usage by the application is utilized to predict a resource usage amount for the application which is then stored. A subsequent launch of the application can be conditioned upon whether the predicted resource usage amount is available. If the predicted resource usage amount is available, it can be allocated to the application and the application can be launched. If the application then exceeds the predicted resource usage amount, other processes executing concurrently therewith may be terminated to free up the resource. Regardless of how the application performs, new resource usage data is obtained for the application, which is then used to adjust the predicted resource usage amount.Type: ApplicationFiled: December 13, 2017Publication date: April 12, 2018Inventors: Timothy M. Kurtzman, David A. Whitechapel, Abolade Gbadegesin, Adina M. Trufinescu, Jeremy P. Robinson, Samarth H. Shah, Akhilesh Kaza, Andrew Clinick
-
Patent number: 9871741Abstract: Resources used by a foreground process associated with an application as well as one or more background tasks associated with the application that are running as separate processes on the computing device are tracked. Historical data relating to resource usage by the application is utilized to predict a resource usage amount for the application which is then stored. A subsequent launch of the application can be conditioned upon whether the predicted resource usage amount is available. If the predicted resource usage amount is available, it can be allocated to the application and the application can be launched. If the application then exceeds the predicted resource usage amount, other processes executing concurrently therewith may be terminated to free up the resource. Regardless of how the application performs, new resource usage data is obtained for the application, which is then used to adjust the predicted resource usage amount.Type: GrantFiled: April 29, 2014Date of Patent: January 16, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Timothy M. Kurtzman, David A. Whitechapel, Abolade Gbadegesin, Adina M. Trufinescu, Jeremy P. Robinson, Samarth H. Shah, Akhilesh Kaza, Andrew Clinick
-
Patent number: 9678797Abstract: Techniques are described that enable an application executing on a computing device to dynamically control how an allocated portion of a resource of the computing device is to be divided among multiple processes associated with the application. For example, an application executing on the computing device may interact with an operating system of the computing device to dynamically control how an allocated portion of a resource of the computing device is to be divided among a foreground process associated with the application and one or more background processes associated with the application.Type: GrantFiled: April 29, 2014Date of Patent: June 13, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Timothy M. Kurtzman, David A. Whitechapel, Abolade Gbadegesin, Adina M. Trufinescu, Jeremy P. Robinson, Samarth H. Shah, Akhilesh Kaza, Andrew Clinick
-
Publication number: 20150254108Abstract: Techniques are described that enable an application executing on a computing device to dynamically control how an allocated portion of a resource of the computing device is to be divided among multiple processes associated with the application. For example, an application executing on the computing device may interact with an operating system of the computing device to dynamically control how an allocated portion of a resource of the computing device is to be divided among a foreground process associated with the application and one or more background processes associated with the application.Type: ApplicationFiled: April 29, 2014Publication date: September 10, 2015Applicant: Microsoft CorporationInventors: Timothy M. Kurtzman, David A. Whitechapel, Abolade Gbadegesin, Adina M. Trufinescu, Jeremy P. Robinson, Samarth H. Shah, Akhilesh Kaza, Andrew Clinick
-
Publication number: 20150256476Abstract: Resources used by a foreground process associated with an application as well as one or more background tasks associated with the application that are running as separate processes on the computing device are tracked. Historical data relating to resource usage by the application is utilized to predict a resource usage amount for the application which is then stored. A subsequent launch of the application can be conditioned upon whether the predicted resource usage amount is available. If the predicted resource usage amount is available, it can be allocated to the application and the application can be launched. If the application then exceeds the predicted resource usage amount, other processes executing concurrently therewith may be terminated to free up the resource. Regardless of how the application performs, new resource usage data is obtained for the application, which is then used to adjust the predicted resource usage amount.Type: ApplicationFiled: April 29, 2014Publication date: September 10, 2015Applicant: Microsoft CorporationInventors: Timothy M. Kurtzman, David A. Whitechapel, Abolade Gbadegesin, Adina M. Trufinescu, Jeremy P. Robinson, Samarth H. Shah, Akhilesh Kaza, Andrew Clinick
-
Patent number: 8793676Abstract: A method and system for dynamically identifying and loading a version of a runtime for custom code of a host application without modifying the host application is provided. A loading system dynamically identifies the version of the runtime during execution of the host application. The loading system is also dynamically linked into the host application so that its algorithm for identifying the version of the runtime can be modified without modifying the host application. When requested by the host application to load custom code, the loading system identifies a version of the runtime to load, loads the identified version of the runtime, and then requests a load component of the loaded version of the runtime to load the custom code.Type: GrantFiled: February 15, 2007Date of Patent: July 29, 2014Assignee: Microsoft CorporationInventors: Thomas E. Quinn, Richard A. Cook, Michael Shneerson, David A. Whitechapel, William A. Robertson, Pallavi Vajranabhaiah
-
Patent number: 8370740Abstract: The invention enables document level controls to be added to applications which display documents by using an application level add-in. The application level add-in tracks document opening and closing and dynamically constructs the document level control accordingly to ensure that the document level control is active only while the document is open.Type: GrantFiled: March 11, 2008Date of Patent: February 5, 2013Assignee: Microsoft CorporationInventors: Igor Zinkovsky, Michael Shneerson, David A. Whitechapel
-
Patent number: 8181188Abstract: A method and architecture for increasing version resiliency between a host application that is unmanaged code and managed code is provided. A version resiliency technique specifies that the host application and the managed code communicate via an adapter that implements a protocol to access an object exposed by the host application. The version resiliency technique specifies that when a new version of the host application that impacts an interface exposed by the object of the host application is released, a new version of the adapter that executes within the application domain of the custom code is released. A version of managed code that adheres to the protocol will correctly interact with new versions of the host application that include a new version of the object because a new implementation of the adapter is also provided.Type: GrantFiled: February 15, 2007Date of Patent: May 15, 2012Assignee: Microsoft CorporationInventors: Thomas E. Quinn, Michael Shneerson, David A. Whitechapel, William A. Robertson, Pallavi Vajranabhaiah
-
Patent number: 8146109Abstract: A method and architecture for increasing version resiliency between a host application that is unmanaged code and custom code that is managed code is provided. A host application exposes an application-level object and a document-level object. A custom code runtime provides a wrapper for the document-level object within the application domain of the custom code runtime. The custom code runtime also provides a mechanism within the application domain of the custom code runtime for providing to custom code a reference to the application-level object directly, rather than through a wrapper. Custom code can then access functionality of the application-level object directly using the reference without having to use a wrapper provided by the custom code runtime.Type: GrantFiled: February 15, 2007Date of Patent: March 27, 2012Assignee: Microsoft CorporationInventors: Michael Shneerson, David A. Whitechapel, William A. Robertson, Pallavi Vajranabhaiah
-
Patent number: 8010970Abstract: The forms hosting system allows a developer to design custom Outlook form regions containing standard and custom managed controls using popular development tools. The forms hosting system provides a runtime wrapper that appears to Outlook as a normal ActiveX control. When Outlook invokes the runtime wrapper control, the runtime wrapper control loads the managed controls defined by the developer. The runtime wrapper control translates messages received from Outlook into messages understood by the managed controls.Type: GrantFiled: April 10, 2007Date of Patent: August 30, 2011Assignee: Microsoft CorporationInventors: Dimitar Birov, Michael W. Morton, Daniel A. Molina, John Durant, Thomas E. Quinn, Michael Shneerson, David A. Whitechapel
-
Publication number: 20090235148Abstract: Document level add-ins. A computing environment may include one or more applications. The applications host documents. A method includes acts for facilitating an application level add-in to add document level controls. The method includes determining that a document has been opened or created. The method further includes determining from an application level add-in, a class of documents for which document level controls should be added. It is determined that the document that has been opened or created is in the class of documents. A document level control specified in the application level add-in is added to the document.Type: ApplicationFiled: March 11, 2008Publication date: September 17, 2009Applicant: MICROSOFT CORPORATIONInventors: Igor Zinkovsky, Michael Shneerson, David A. Whitechapel
-
Publication number: 20080256555Abstract: The forms hosting system allows a developer to design custom Outlook form regions containing standard and custom managed controls using popular development tools. The forms hosting system provides a runtime wrapper that appears to Outlook as a normal ActiveX control. When Outlook invokes the runtime wrapper control, the runtime wrapper control loads the managed controls defined by the developer. The runtime wrapper control translates messages received from Outlook into messages understood by the managed controls.Type: ApplicationFiled: April 10, 2007Publication date: October 16, 2008Applicant: Microsoft CorporationInventors: Dimitar Birov, Michael W. Morton, Daniel A. Molina, John Durant, Thomas E. Quinn, Michael Shneerson, David A. Whitechapel
-
Publication number: 20080201700Abstract: A method and architecture for increasing version resiliency between a host application that is unmanaged code and managed code is provided. A version resiliency technique specifies that the host application and the managed code communicate via an adapter that implements a protocol to access an object exposed by the host application. The version resiliency technique specifies that when a new version of the host application that impacts an interface exposed by the object of the host application is released, a new version of the adapter that executes within the application domain of the custom code is released. A version of managed code that adheres to the protocol will correctly interact with new versions of the host application that include a new version of the object because a new implementation of the adapter is also provided.Type: ApplicationFiled: February 15, 2007Publication date: August 21, 2008Applicant: Microsoft CorporationInventors: Thomas E. Quinn, Michael Shneerson, David A. Whitechapel, William A. Robertson, Pallavi Vajranabhaiah
-
Publication number: 20080201691Abstract: A method and architecture for increasing version resiliency between a host application that is unmanaged code and custom code that is managed code is provided. A host application exposes an application-level object and a document-level object. A custom code runtime provides a wrapper for the document-level object within the application domain of the custom code runtime. The custom code runtime also provides a mechanism within the application domain of the custom code runtime for providing to custom code a reference to the application-level object directly, rather than through a wrapper. Custom code can then access functionality of the application-level object directly using the reference without having to use a wrapper provided by the custom code runtime.Type: ApplicationFiled: February 15, 2007Publication date: August 21, 2008Applicant: Microsoft CorporationInventors: Michael Shneerson, David A. Whitechapel, William A. Robertson, Pallavi Vajranabhaiah
-
Publication number: 20080201759Abstract: A method and system for enforcing a security policy that is version-independent of a managed environment when loading custom code for a host application is provided. A security system of the managed environment receives an identifier of custom code to be loaded by the host application. Before loading the identified custom code, the managed environment enforces the security policy using the security system. The security system applies the security policy expressed using a version-independent indication of identifiers of untrusted custom code. If the security system determines that the trust of the custom code is unknown, then the security system requests a trust manager associated with the host application to enforce a host application-specific security policy. When the custom code is trusted, the managed environment loads the custom code.Type: ApplicationFiled: February 15, 2007Publication date: August 21, 2008Applicant: Microsoft CorporationInventors: Michael D. Downen, Darryn O. Lavery, Adriaan W. Canter, Sameer V. Bhangar, Thomas E. Quinn, Justin Kwak, David A. Whitechapel, Jeff Young, Shawn Farkas
-
Publication number: 20080201568Abstract: A method and system for dynamically identifying and loading a version of a runtime for custom code of a host application without modifying the host application is provided. A loading system dynamically identifies the version of the runtime during execution of the host application. The loading system is also dynamically linked into the host application so that its algorithm for identifying the version of the runtime can be modified without modifying the host application. When requested by the host application to load custom code, the loading system identifies a version of the runtime to load, loads the identified version of the runtime, and then requests a load component of the loaded version of the runtime to load the custom code.Type: ApplicationFiled: February 15, 2007Publication date: August 21, 2008Applicant: Microsoft CorporationInventors: Thomas E. Quinn, Richard A. Cook, Michael Shneerson, David A. Whitechapel, William A. Robertson, Pallavi Vajranabhaiah